MLFMLF
Linux 2 6 のスケジューリングLinux 2.6 のスケジューリング
Linux 2.6 のスケジューリング
active expired
高
CPU
優 先 度 度
Linux 2 6 のスケジューリング Linux 2.6 のスケジューリング
active expired
高
CPU
優 先 度
度 クオンタムが残っている:
←activeへ
クオンタムを使い切った:
クオンタ を使 切 た expiredへ→
低
Linux 2 6 のスケジューリング Linux 2.6 のスケジューリング
active expiredactive
expired 高
CPU
優 先 度 度
演習
演習
演習
まとめ:スケジューリング方式 まとめ:スケジューリング方式
FIFO (Fi t I Fi t O t)
• FIFO (First In First Out)
– 到着順スケジューリング,FCFS
SPTF (Sh t t P i Ti Fi t)
• SPTF (Shortest Processing Time First)
– 処理時間順スケジューリング
PS (P i it S h d li )
• PS (Priority Scheduling)
– 優先度順スケジューリング
RR (R d R bi )
• RR (Round Robin)
– ラウンドロビン
MLF (M lti L l F db k)
• MLF (Multi‐Level Feedback)
– 多重フィードバック
まとめ:処理時間順 まとめ:処理時間順
処 時 ジ グ
• 処理時間順スケジューリング
– 理論上,応答時間を最小にできる理論 ,応答時間を最小 きる – 実装が不可能
• 近似により処理時間順を実現
– 多重レベルフィードバック
まとめ:プロセス優先度 まとめ:プロセス優先度
静的優先度
• 静的優先度
– プロセス生成時に決定成時 決定
• 動的優先度
実行中に変化 – 実行中に変化
• 優先度スケジューリング
優先度の低いプロセスがstarvationに陥る可能性 – 優先度の低いプロセスがstarvationに陥る可能性 – aging等で解決
第 5 回 第 5 回
• シェルとアクセス権権
• 標準入出力 フィルタコマンド シェルスクリプ標準入出力、フィルタコマンド、シェルスクリプ ト、ファイルのバックアップ、アクセス権、ドライ ブ ディレクトリ ファイル open/read/write
ブ、ディレクトリ、ファイル、open/read/write
• ファイルのメモリへのマッピング、アクセス制 御、権限、空き領域管理
シェルのジョブの状態
• フォアグラウンド
– 直接端末から入出力を行える状態.
• バックグラウンド
フォアグラウンドジョブの裏で同時に実行している状態 – フォアグラウンドジョブの裏で同時に実行している状態
• 中断中断
– 実行中に一時停止された状態
• 終了
– 終了した、または終了させられた状態
バックグラウンドジョブ バックグラウンドジョブ
• プロンプトの裏で実行されているジョブ
– 起動時に起動時に && を付けるを付ける
通常:
% /a out が終了するまで次の
バックグラウンド:
% ./a.out a.out が終了するまで次の
コマンドは実行不可
% ./a.out &
% a.out の実行中も次のコマンドを
実行可能
ジョブの状態の切り替え
フォアグラウンド ォ グラウ
fg %ジョブ番号 C‐c C‐z
fg %ジョブ番号
バックグラウンド 中断
C c
bg %ジョブ番号 fg %ジョブ番号
kill –KILL %ジョブ番号 kill –KILL %ジョブ番号
終了
ジョブ管理のコマンド キー操作 ジョブ管理のコマンド、キー操作
• コマンド
fg %番号 中断やバックグラウンドのジョブを再開 bg %番号 中断状態のジョブをバックグラウンド
で再開
kill KILL %番号 指定した番号のジョブを強制終了 kill –KILL %番号 指定した番号のジョブを強制終了
jobs バックグラウンドで実行中のジョブ,
及び中断状態のジョブを表示 及び中断状態のジョブを表示
fg と bg で %番号 を省略すると,jobsコマンドで + がついたジョブが対象
• キー操作
ジョブ管理:使用例 ジョブ管理 使用例
• 一旦起動したプログラムをバックグラウンドに変更
% ./hello C‐z
[1] + 19277 Suspended ./hello
Ctrlキーを押しながら z
% bg
[1] ./hello &
%
• 不要なジョブを強制終了
% jobs
[1] Running ./hello
[2] + Running /a out
[2] + Running ./a.out [3] ‐ Running emacs
% kill –KILL %2
%
%
ファイルに関する操作 ファイルに関する操作
イ 関する操作
• ファイルに関する操作
– アクセス権の設定
– ファイルの取りまとめ、圧縮 – ファイルの探索
– ファイル内の文字列探索
ファイルのアクセス権 ファイルのアクセス権
ご 権を指定 能
• ファイルごとにアクセス権を指定可能
ユーザ ユーザ
A
ユ ザ B 見える 見える
見えない 見える 見える
見える
file1 file2
ファイルのアクセス権 ファイルのアクセス権
• 各ファイルについて
- ユーザのカテゴリ毎に
- アクセス権を 設定可能
ユーザのカテゴリ アクセス権
•読み出し権
•書き込み権
•ファイルの所有者
•同じグループ •書き込み権
•同じグル プ
ファイルのアクセス権表示 ls ‐l
実行例
このファイルの所有者
イ 所属グ プ
• 実行例
% ls –l hello.txt
1 79999 989 M 22 19 26 h ll t t
このファイルの所属グループ
‐rw‐‐‐‐‐‐‐ 1 a79999a usr 989 May 22 19:26 hello.txt
所有者のアクセス権 同じグループのユーザ のアクセス権
アクセス権の表記
r 読出し権 それ以外のユーザ
のアクセス権
r 読出し権
w 書込み権
x 実行権
- 通常ファイル デ レクトリ
ファイルの種類
d ディレクトリ
アクセス権の変更 chmod
• 利用方法方法
chmod アクセス権を変更するファイル
変更するカテゴリ 所有者
変更するアクセス権 読み出し権
権利の与奪
+ 権利を与える u 所有者
g 同じグループの利用者 o それ以外の利用者
a 全ての利用者
r 読み出し権 w 書き込み権 x 実行権
+ 権利を与える
‐ 権利を与えない a 全ての利用者
アクセス権の変更 chmod
• 利用例利用例
– 例1) ファイルの所有者に実行権を与える
% chmod u+x hello.txt
– 例2) 同じグループのユーザーに読み出し権と 書き込み権を与える
% chmod u+x hello.txt
書き込み権を与える
% chmod g+rw hello.txt
– 例3) 所有者以外の全てのアクセスを禁止
% chmod go‐rwx hello.txt
– 例4) ディレクトリ全体のアクセス権を変更
g
% chmod ‐R go‐rwx work
ディレクトリのアクセス権 ディレクトリのアクセス権
• ファイルのアクセス権とディレクトリのファイルのアクセス権とディレクトリの アクセス権は少し意味が異なる.
– 読み出し権:読み出し権:
そのディレクトリにあるファイルの名前を閲覧する権利
– 書き込み権:
そのディレクトリでファイルの削除や新規作成をする権 利
利
– 実行権:
– 実行権:
アクセス権 アクセス権
フ イルとデ レクトリのアクセス権の操作
• ファイルとディレクトリのアクセス権の操作
– 読み出し権 – 書き込み権 – 実行権実行権
ファイルのとりまとめと圧縮
• 多数のファイルを保管したり他の計算機に転送 するとき
するとき,
一つのファイルにまとめて,圧縮(サイズを小さく)
すると便利 すると便利.
たくさんの ファイルや ディレクトリ
まとめる 圧縮
ィ リ
ファイルの取りまとめと展開 tar
複数 を ま る
• 複数のファイルを一つにまとめる
– 本来はテープに保存する(本来はテ 保存する(tape archivep )コマンド) ン
複数のフ イル つのフ イル 複数のファイル、
ディレクトリ
一つのファイル
ディレクトリ
tar ファイル
ディレクトリ ディレクトリ
ディレクトリ file1
file2 file3
tar
file1 file2 file3 file4 file4
ファイルの取りまとめと展開
• 利用法
tar
tar file1 file2 ...
処理内容 どれか一つ
処 容
c 1つのファイルにまとめる
t まとめられたファイルの内容表示 x まとめられたファイルの展開
どれか つ
表示に関する指示
v 詳細情報表示 オプション
(処理内容で表示が異なる)
c の場合:まとめられる各ファイル名 t の場合:まとめられたファイルの
ズ
サイズなどの詳細情報
ファイルのとりまとめと展開 tar
• 利用例
– 例1) カレントディレクトリの work と tmp ディレクトリを test.tar というファイルにまとめる.
ファイル名の末尾を .tar としておくと tar でまとめたファイル であることが分か て便利です
% tar cf test.tar work tmp
であることが分かって便利です. – 例2) test.tar の中身を表示
(詳細情報も表示)
(詳細情報も表示)
– 例3) test.tar を元の形に展開
% tar tvf test.tar
例3) test.tar を元の形に展開
(展開される各ファイルも表示)
% tar xvf test.tar
tar でディレクトリをまとめるときの 注意
• ディレクトリは相対パスで指定した方が良い
% tar cvf test.tar test
– 任意の位置に展開することができる
→ バックアップや他の計算機での利用が容易
→ バックアップや他の計算機での利用が容易 もし絶対パスで指定した場合
– もし絶対パスで指定した場合
全く同じ絶対パスにしか展開できない
% tar cvf test.tar /home/user3/k70043a/test
全く同じ絶対パスにしか展開できない。
ファイルの圧縮 解凍 ファイルの圧縮 , 解凍
縮 中 な部分を削
• 圧縮:ファイル中の冗長な部分を削って サイズを小さくする.
• 解凍:削られた冗長部分を補って 元のファイルに戻す
元のファイルに戻す.
縮
ファイル
圧縮 解凍 ファイル ファイル
解凍
ファイルの圧縮,解凍 gzip
利用法 圧縮
• 利用法: 圧縮
圧縮結果は 元のフ イル名の末尾に が
gzip 圧縮するファイル名
– 圧縮結果は,元のファイル名の末尾に .gz が 付いたファイルに格納される.
– 例) hello.txt を圧縮する.( hello.txt.gz が作成される.)例) e o t t を圧縮する ( e o t t g が作成される )
利用法 解凍
% gzip hello.txt
• 利用法: 解凍
例) h ll t t を解凍する (h ll t t が作成される )
gzip ‐d 解凍するファイル名
– 例) hello.txt.gz を解凍する.(hello.txt が作成される.)
圧縮するファイルの選択 圧縮するファイルの選択
を 縮する 点
• ファイルを圧縮する利点
– ファイルの転送が速いァイル 転送 速
– ディスクを有効に利用できる
• 不便な点
– 通常、使用する前に復元(解凍)が必要
通常,他の計算機に転送するファイルや しばらく利用しないフ イルを圧縮する しばらく利用しないファイルを圧縮する