本を読んで理解できない愚痴と整理(色々)

興味のあるところから掘り下げていくことにする。

下記は備忘記録として記載。 

 

14章 ファイルシステム

名前はわかりやすい章だが、中身は今までの内容がわかっていないと辛い。

 

14.1 デバイススペシャルファイル

バイススペシャルファイル:

システムに接続されたデバイスに対応するファイル

 

バイスは大きく分けて2種類

・実デバイス(マウス、ディスク、テープドライブ)

・仮想デバイス(virtual device、擬似デバイス)

 

プロセスとシステムコールファイルシステムの関係は?

 

アプリケーション 仮想ファイルシステム(VFS)   各ファイルシステム

 

14.6 ジャーナリンクファイルシステム

メタデータ

ディレクトリ、i-node、ファイルブロックポインタなど

 

 15章 ファイルの属性

ファイルが持つ多種多様な属性(メタデータアトリビュート)を解説。

ファイル情報の大部分はi-nodeが保持し、これを取得するシステムコールにstat()、lstat()、fstat()がある。

 

16章 ファイルの属性拡張

まずなんのこっちゃ。

 

56章ソケット基礎

さっぱりわからん。

ただネットワーク通信のロジックが書かれている。

ファイルディスクリプタがわかっていないと辛い。

よって4章、5章のファイルI/Oを読み返した。

・アプリケーションはソケットを作成する

・サーバはソケットをwell-knownアドレスへバインドする。

  クライアンどはwell-knownアドレスによりサービスを特定する。

 

ソケットを作成するのはsocket( )システムコールです。戻り値hソケットを表すファイルディスクリプタです。

(通信ドメイン

 

(ソケットの種類)

 

(ソケットシステムコール

単一のシステムコールsocketcall( )のみを実装し、上記でシステムコールと記述した関数はいずれも内部でsocketcall( )を実行するライブラリ関数

 

 

  • 5章ファイルI/O:その詳細

アトミック:システムコールは他から割り込まれず、1ステップとして実行するシステム

コール動作。

→他から割り込まれないとは?

 

ファイルディスクリプタ、オープンしたファイルがカーネル内でどのように表現されるか、その内部データ。

オープンしたファイルにセットするオープンファイルステータスフラグ

 

ファイルデイスクリプタが異なっていてもオープンファイル情報が同じならば、ファイルオフセット情報は共有される。

 

オープンファイルステータスフラグ

この辺りいきなりすぎないか。わかりにくい。

せっかく具体的に書いているのに。

 

4章 ファイルI/O:統一されたインターフェース

I/Oを処理する全てのシステムコールは、オープンしたファイルを、ファイルディスクリプタにより参照する。

ファイルに関するシステムコール

ファイルディスクリプタ、統一されたI/Oインターフェースを実現するシステムコール

 

4.1概要

I/Oを処理するシステムコールはオープンしたファイルをファイルディスクリプタにより参照する。

 

ファイルI/Oの基礎となるシステムコールは4つ。

プログラミング言語やソフトウェアパッケージはI/Oライブラリなどを用い、これらのシステムコールを間接的に使用するのが一般的である。

・fd=open(pathname,flags,mode)

pathnameに指定されたファイルをオープンし、ファイルディスクリプタを返す。以降はこのファイルディスクリプタをオープンしたファイルを意味するものとして使用される。

 

open()が返すファイルディスクリプタ

 

ファイルディスクリプタ、i-node、