おいも貴婦人ブログ

生物系博士課程満期退学をしたAIエンジニアのブログ。

LINUXカーネル(LINUXを理解するために(2))

ファイル

  • バイトの列として構造化された情報の器

ハードリンクとソフトリンク

  • ハードリンクの二つの制限:ディレクトリのハードリンクを作成することはできない。同じファイルシステム内に含まれているファイルに対してのみ作成可能

ファイルの種類

    • 通常ファイル
    • ディレクトリ
    • シンボリックリンク
    • ブロック型デバイスファイル
    • キャラクタ型デバイスファイル
    • パイプ、名前付きパイプ
    • ソケット

ファイルディスクリプタとiノード

  • iノード:ファイルを取り扱うために必要になるすべての情報を保持するデータ構造

アクセス権とファイルモード

  • suid(set user ID):実行ファイルのIDが実行者ではなく、所有者になる。
  • sgid(set group ID):実行ファイルのIDが、ファイルのユーザグループIDで実行される。
  • sticky:実行が終了したあともメモリにプログラムが残る。

ファイルを取り扱うシステムコール

  • ファイルを操作するとき、ハードウェアのブロック型で伊波すに保存されているデータにアクセスする。
    • fd=open(path,flag,mode);
    • newoffset=lseek(fd,offset,whence);
    • nread=read(fd,buf,count);
    • res=close(fd);
    • res=rename(oldpath,newpath);
    • res=unlink(pathname);