Linux
作成日時:2024-08-01以前
更新日時:2025-09-11
コマンド
- cd -:直前までのディレクトリに移動
- cd ~:ホーム
- ls -1:1行表示
- strings:バイナリファイルの文字列部分を抽出
- sh -x a.sh:デバッグモード
iノード
書籍
Unix
- メモリー空間
- ユーザー空間: アプリが使う
- カーネル空間: カーネルが使う
全てがファイル。
ソケットもファイルの一種として扱われる。
ファイルディスクリプター。
ネットから来るデータの「ストリーム」を扱うための窓口。
ソケットを識別する番号となる。
chunk転送はFDに断続的にデータを流している感じ
OS起動とプログラム実行は下記の認識でよいか。
OS起動
- UEFIなどでOSプログラムがメモリに読み込まれる
- OSが起動。様々なリソースを管理
プログラム実行
- プロセスを作成。
- カーネルがプロセスごとにメモリを確保
- ヒープとかスタックとか
- 補助記憶装置からプログラムをメモリにロード
- 順次命令を読み込んで実行
- カーネルがプロセスごとにメモリを確保
- システムコール系
- プログラムがカーネルに処理を依頼
- 必要次第でマザーボードを通していろいろデバイスにアクセス
- ネットならNICに
- ファイル読み書きはHDD/SSDとかに
コンテキストスイッチ
- CPUがプロセスを実行
- プリエンプティブ方式により切り替える時間が来る
- プリエンプティブ: タスクの割り込みあり
- ノンプリエンプティブ: タスクが終わるまで切り替わらない
- CPUの状態を退避
- レジスタに次のプロセスの情報を書き込み