Submit Search
Upload
Unix3
•
Download as KEY, PDF
•
1 like
•
379 views
T
Takaya Kotohata
Follow
http://tkot.hatenablog.com/ 詳解UNIXプログラミングの学習用メモです。
Read less
Read more
Report
Share
Report
Share
1 of 16
Download now
Recommended
Knct-SG #1 Parser入門
Knct-SG #1 Parser入門
y1r96 Ueno
20010901
20010901
小野 修司
詳解UNIXプログラミング 第4章 ファイルとディレクトリ
詳解UNIXプログラミング 第4章 ファイルとディレクトリ
Takaya Kotohata
Scope Exit
Scope Exit
Akira Takahashi
Unix1
Unix1
Takaya Kotohata
Python02
Python02
XMLProJ2014
Javaセキュアコーディングセミナー東京第3回演習
Javaセキュアコーディングセミナー東京第3回演習
JPCERT Coordination Center
Online schema change in mysql casual #1(2010/12/11)
Online schema change in mysql casual #1(2010/12/11)
Naritoshi Hayashi
Recommended
Knct-SG #1 Parser入門
Knct-SG #1 Parser入門
y1r96 Ueno
20010901
20010901
小野 修司
詳解UNIXプログラミング 第4章 ファイルとディレクトリ
詳解UNIXプログラミング 第4章 ファイルとディレクトリ
Takaya Kotohata
Scope Exit
Scope Exit
Akira Takahashi
Unix1
Unix1
Takaya Kotohata
Python02
Python02
XMLProJ2014
Javaセキュアコーディングセミナー東京第3回演習
Javaセキュアコーディングセミナー東京第3回演習
JPCERT Coordination Center
Online schema change in mysql casual #1(2010/12/11)
Online schema change in mysql casual #1(2010/12/11)
Naritoshi Hayashi
ユーザ目線の実践的BPM
ユーザ目線の実践的BPM
Shigeaki Wakizaka
20161026_超高層大気観測データのメタデータ作成実験経過報告
20161026_超高層大気観測データのメタデータ作成実験経過報告
Yasuyuki Minamiyama
マインドハック研究会 ライフハック編 20100512
マインドハック研究会 ライフハック編 20100512
tosch0718
名古屋アジャイル勉強会トヨタ生産方式に学ぶカイゼン
名古屋アジャイル勉強会トヨタ生産方式に学ぶカイゼン
hiroyuki Yamamoto
IGDA_Sig-BoardGame_ワークショップ用資料
IGDA_Sig-BoardGame_ワークショップ用資料
Ryosuke Sugawara
社内Gtd勉強会 20101022
社内Gtd勉強会 20101022
tosch0718
理系女子の恋愛と結婚 「東大で理系の恋愛を語ろう」
理系女子の恋愛と結婚 「東大で理系の恋愛を語ろう」
Marika UCHIDA
関西ライフハック研究会×アイデアプラント
関西ライフハック研究会×アイデアプラント
Rikie Ishii
バージョン管理入門
バージョン管理入門
Masafumi Yokoyama
ふり返りハック ~ ライフをハッキングするために
ふり返りハック ~ ライフをハッキングするために
虹 父
Software Foundation:形式的証明と非形式的証明
Software Foundation:形式的証明と非形式的証明
T T
TO LOVE IN'~人生のパートナーを見つける旅~
TO LOVE IN'~人生のパートナーを見つける旅~
Shuhei Hinoshita
GTD 残業を減らす方法
GTD 残業を減らす方法
Gaddict
Unix2
Unix2
Takaya Kotohata
X hago3
X hago3
YAMANE Toshiaki
DXライブラリのすゝめ
DXライブラリのすゝめ
Daisuke Nikura
『スクラムを活用したアジャイルなプロダクト管理』第1回読書会 振り返り結果 POStudy ~プロダクトオーナーシップ勉強会~
『スクラムを活用したアジャイルなプロダクト管理』第1回読書会 振り返り結果 POStudy ~プロダクトオーナーシップ勉強会~
満徳 関
ライフハック研究会Lt大会20120519
ライフハック研究会Lt大会20120519
Yasutaka Nariki
NetBSDとは
NetBSDとは
miwarin
『トヨタ・仕事の基本大全』の気になったポイント
『トヨタ・仕事の基本大全』の気になったポイント
Ayumu Kohiyama
More Related Content
Viewers also liked
ユーザ目線の実践的BPM
ユーザ目線の実践的BPM
Shigeaki Wakizaka
20161026_超高層大気観測データのメタデータ作成実験経過報告
20161026_超高層大気観測データのメタデータ作成実験経過報告
Yasuyuki Minamiyama
マインドハック研究会 ライフハック編 20100512
マインドハック研究会 ライフハック編 20100512
tosch0718
名古屋アジャイル勉強会トヨタ生産方式に学ぶカイゼン
名古屋アジャイル勉強会トヨタ生産方式に学ぶカイゼン
hiroyuki Yamamoto
IGDA_Sig-BoardGame_ワークショップ用資料
IGDA_Sig-BoardGame_ワークショップ用資料
Ryosuke Sugawara
社内Gtd勉強会 20101022
社内Gtd勉強会 20101022
tosch0718
理系女子の恋愛と結婚 「東大で理系の恋愛を語ろう」
理系女子の恋愛と結婚 「東大で理系の恋愛を語ろう」
Marika UCHIDA
関西ライフハック研究会×アイデアプラント
関西ライフハック研究会×アイデアプラント
Rikie Ishii
バージョン管理入門
バージョン管理入門
Masafumi Yokoyama
ふり返りハック ~ ライフをハッキングするために
ふり返りハック ~ ライフをハッキングするために
虹 父
Software Foundation:形式的証明と非形式的証明
Software Foundation:形式的証明と非形式的証明
T T
TO LOVE IN'~人生のパートナーを見つける旅~
TO LOVE IN'~人生のパートナーを見つける旅~
Shuhei Hinoshita
GTD 残業を減らす方法
GTD 残業を減らす方法
Gaddict
Unix2
Unix2
Takaya Kotohata
X hago3
X hago3
YAMANE Toshiaki
DXライブラリのすゝめ
DXライブラリのすゝめ
Daisuke Nikura
『スクラムを活用したアジャイルなプロダクト管理』第1回読書会 振り返り結果 POStudy ~プロダクトオーナーシップ勉強会~
『スクラムを活用したアジャイルなプロダクト管理』第1回読書会 振り返り結果 POStudy ~プロダクトオーナーシップ勉強会~
満徳 関
ライフハック研究会Lt大会20120519
ライフハック研究会Lt大会20120519
Yasutaka Nariki
NetBSDとは
NetBSDとは
miwarin
『トヨタ・仕事の基本大全』の気になったポイント
『トヨタ・仕事の基本大全』の気になったポイント
Ayumu Kohiyama
Viewers also liked
(20)
ユーザ目線の実践的BPM
ユーザ目線の実践的BPM
20161026_超高層大気観測データのメタデータ作成実験経過報告
20161026_超高層大気観測データのメタデータ作成実験経過報告
マインドハック研究会 ライフハック編 20100512
マインドハック研究会 ライフハック編 20100512
名古屋アジャイル勉強会トヨタ生産方式に学ぶカイゼン
名古屋アジャイル勉強会トヨタ生産方式に学ぶカイゼン
IGDA_Sig-BoardGame_ワークショップ用資料
IGDA_Sig-BoardGame_ワークショップ用資料
社内Gtd勉強会 20101022
社内Gtd勉強会 20101022
理系女子の恋愛と結婚 「東大で理系の恋愛を語ろう」
理系女子の恋愛と結婚 「東大で理系の恋愛を語ろう」
関西ライフハック研究会×アイデアプラント
関西ライフハック研究会×アイデアプラント
バージョン管理入門
バージョン管理入門
ふり返りハック ~ ライフをハッキングするために
ふり返りハック ~ ライフをハッキングするために
Software Foundation:形式的証明と非形式的証明
Software Foundation:形式的証明と非形式的証明
TO LOVE IN'~人生のパートナーを見つける旅~
TO LOVE IN'~人生のパートナーを見つける旅~
GTD 残業を減らす方法
GTD 残業を減らす方法
Unix2
Unix2
X hago3
X hago3
DXライブラリのすゝめ
DXライブラリのすゝめ
『スクラムを活用したアジャイルなプロダクト管理』第1回読書会 振り返り結果 POStudy ~プロダクトオーナーシップ勉強会~
『スクラムを活用したアジャイルなプロダクト管理』第1回読書会 振り返り結果 POStudy ~プロダクトオーナーシップ勉強会~
ライフハック研究会Lt大会20120519
ライフハック研究会Lt大会20120519
NetBSDとは
NetBSDとは
『トヨタ・仕事の基本大全』の気になったポイント
『トヨタ・仕事の基本大全』の気になったポイント
Unix3
1.
詳解UNIXプログラミング
3. ファイル入出力
2.
ファイル記述子 カーネルがオープンしたファイルを参照する際 に使う file descriptorの0,1,2はUNIXの多くのアプリ ケーションでは標準入出力に割り当てられる ファイルだけでなくディレクトリやソケットな ども抽象化される
3.
open関数 int open(const char
*pathname, int oflag, .../* , mode_t mode */); int fd = open(“./hoge.txt”, O_RDONLY); ファイルをオープンしたり作成したりする 成功したらfdを返し、失敗したら-1を返す
4.
creat関数 int creat(const char
*pathname, mode_t mode); UNIXの初期のバージョンではopenで作成でき なかった open(pathname, O_RDONLY | O_CREAT | O_TRUNC, mode);と同じ
5.
close関数 int close(int fd); プロセスが終了すると自動的にカーネルがク ローズしてくれるので明示的に用いなくてもよ い
6.
lseek関数 ストリームがつながっているファイルの位置 (current file offset)を操作する off_t
lseek(int fd, off_t offset, int whence); ファイルオフセットはファイルのその時点のサ イズを超えても良い
7.
read関数 ssize_t read(int fd,
void *buff, size_t nbytes); オープンしたファイルからデータを読み取る 読み取ったバイト数分オフセットを増加させ る
8.
write関数 ssize_t write(int fd,
const void *buff, size_t nbytes); 書き込み操作は通常current file offsetから開始
9.
ファイル共有 異なるプロセス間でオープンしたファイルを共 有できる 各プロセスごとプロセステーブルを保持 オープンされたすべてのファイルに対し、カー ネルがファイルテーブルを保持 オープンされた各ファイルに対し、vノード構 造体が存在
10.
プロセステーブル ファイル記述子ごとにレコードが存在 各レコードは(a)ファイル記述子のフラグ (b) ファイルテーブルへのポインタ を持つ
11.
ファイルテーブル (読み取り、書き込みなど)ファイル状態フラグ カレントファイルオフセット ファイルに対するvノードテーブルのポインタ ファイルオフセットが異なるために各プロセス ごとに独立したファイルテーブルを持つ
12.
vノードテーブル ファイルに関する情報や、ファイルに作用する 関数へのポインタが含まれる ファイルのiノードも含まれる iノードにはファイルの所有者やファイルのサ イズ、実位置を示すポインタが含まれる
13.
アトミック操作
ファイル末尾の位置決めと書き込みのような論 理的に不可分な2つ以上の処理=>アトミック化 openする際にO_APPENDを設定するなど if ( fd= open(pathname, O_WRONLY)) < 0) if (errno == ENOENT) { if( (fd = creat(pathname, mode)) < 0) fprintf(stderr, “creat errorn”); }else fprintf(stderr, “open errorn”);
14.
dupとdum2関数 ファイル記述子を複製する int dup(int fd); 同じファイルテーブルを共有する 同一のカレントファイルオフセットを持つ ファイル記述子フラグは独立する
15.
fcntl関数 オープンしているファイルの属性を変更する int fcntl(int fd,
int cmd, ... /* int arg */ ); (a) fdの複製、(b) fdフラグのget/set、(c) ファ イル状態フラグのget/set、(d) 非同期入出力の 所有者のget/set、(e) レコードロックのget/set
16.
ioctl関数 入出力操作に関する多機能関数 磁気テープやソケットなどの装置を扱うユー ティリティ
Editor's Notes
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Download now