コンピュータ科学 II 担当 : 武田敦志 <takeda@cs.tohoku gakuin.ac.jp> http://takeda.cs.tohoku gakuin.ac.jp/
今日の話 オペレーティングシステム コンピュータを利用するための基本ソフト オペレーティングシステムの役割 プロセスの管理主記憶の管理出入力の管理ファイルの管理 タイムシェアリングシステム仮想記憶排他制御ディレクトリ構造 ( 木構造 ) page 2
オペレーティングシステム (1) オペレーティングシステムハードウェアとアプリケーションを管理するためのソフトウェア Internet Explorer Microsoft Word ウイルスバスター Microsoft Windows Linux ディスプレイハードディスク CPU アプリケーション オペレーティングシステム ハードウェア page 3
オペレーティングシステム (2) オペレーティングシステムの役割 ファイルの管理コンピュータで利用するデータを ファイル として管理する プロセスの管理コンピュータで利用するアプリケーションの動作を管理する リソースの管理コンピュータのリソース ( 機器 ) の状態を管理する page 4
プロセスの管理 (1) プロセスの管理 コンピュータで実行される複数のプロセスを管理する 1 台のコンピュータで実行されるプロセス ( アプリケーション ) は数十個以上 1 台のコンピュータが持つ CPU は 1 個 ~ 数個 すべてのプロセスを同時に実行することは出来ない プロセス管理が必要 page 5
プロセスの管理 (2) シングルタスク方式 複数のプロセスを逐次処理する 実行時間 時間 前のプロセスの実行中は 次のプロセスを実行できない page 6
プロセスの管理 (3) マルチタスク方式タイムシェアリングシステム複数のプロセスを並列 ( に見せかけて ) 処理する 実行時間 時間 複数のアプリケーションが並列に動作しているように見える 小さい時間で見ると 並列に動作しているわけではない page 7
プロセスの管理 (6) プロセスの状態 ( マルチタスク OS) 待機状態 何らかの入力を待っている状態 入出力の完了 実行可能状態 他のプロセスが CPU を使用 CPU 割り当て CPU 解放 入出力の完了待ち 実行状態 CPU を使って計算処理を実行 page 8
プロセスの管理 (5) 優先制御重要なプログラムを優先的に実行する優先度 : 低優先度 : 低 優先度 : 高 優先度はオペレーティングシステムで設定 時間 タスクマネージャ (Windows) page 9
プロセスの管理 (6) 優先すべきプロセス次のうち 優先実行されるプロセスはどれか? (1) マウスの入力を受け付けるプロセス : マウスが動かなくなると操作出来なくなる (2) ソフトウェアを更新するプロセス : 長時間連続動作する処理は優先度を低くする (3) 動画を再生するプロセス : リアルタイム性の高いプロセスは優先する page 10
メモリと仮想記憶 (1) プログラムの読み込み コンピュータは主記憶装置にあるプログラムを実行する 補助記憶装置 (HDD など ) に記録されているプログラムを主記憶装置 ( メモリ ) にコピーする プログラムをロードする 主記憶装置の容量が十分ではないかもしれない主記憶装置 ( メモリ ): 価格高い 容量少ない 速度早い補助記憶装置 (HDD): 価格安い 容量大きい 速度遅い実行していないプログラムは補助記憶装置で記憶する page 11
メモリと仮想記憶 (2) ページング ( スワップ ) 実行していないプログラムを補助記憶装置に移動させる 仮想的な主記憶 : 仮想記憶 大きなプログラムを使用可能 仮想記憶へのアクセスは遅い ページアウト ページイン 仮想記憶領域 デフラグツールでの解析結果 page 12
出入力制御 (1) リソース ( 機器 ) の管理 リソースへのアクセスを仲介する Windows の場合は デバイスドライバが仲介する オペレーティングシステム アプリケーション アプリケーション デバイスドライバ デバイスドライバ デバイスドライバ キーボード モニタ プリンタ page 13
出入力制御 (2) 排他制御 1 個のリソースを 2 個以上のプロセスが 同時に 利用することは出来ない 同時に利用することがないように管理する アプリケーション (1) オペレーティングシステム デバイスドライバ プリンタ アプリケーション (2) アクセスさせない ( 排他制御 ) page 14
出入力制御 (3) 排他制御 排他制御を行ったときのプロセス デバイスドライバアプリケーション (1) アプリケーション (2) ( プリンタ ) 命令 命令 結果 結果 page 15
ファイルシステム (1) ファイルの管理 コンピュータで利用するデータを ファイル として管理する ファイルシステム : ファイルを管理する仕組み NTFS:Windows のファイルシステム ext4:linux のファイルシステム UTF3:FreeBSD のファイルシステム page 16
ファイルシステム (2) ファイルシステム 木構造を用いてファイルを管理する page 17
ファイルシステム (3) 木構造 木の形をしたグラフ ( データ構造 ) 地域構想学科 情報科学科 言語文化学科 人間科学科 英文学科 歴史学科 教養学部 文学部 実際の木 東北学院大学 木構造のデータ page 18
ファイルシステム (4) 木構造の読み方 通常は Root を上側に記述する 各要素を Node( 節点 ) と呼ぶ 東北学院大学 最上位のノードを Root( 根 ) と呼ぶ 各要素の繋がりを Edge( 枝 ) と呼ぶ 教養学部 文学部 情報科学科 人間科学科 歴史学科 末端の要素は Leaf( 葉 ) とも呼ぶ 地域構想学科 言語文化学科 英文学科 page 19
ファイルシステム (5) ファイルシステムのデータ構造ディレクトリを Node として表現ファイルを Leaf として表現 C: Program Files Program Files (x86) Windows EPSON... Mozilla Firefox...... explorer.exe............ System32... install.log firefox.exe cmd.exe...... page 20
ファイルシステム (6) ファイルを探す C: Program Files Program Files (x86) Windows EPSON... Mozilla Firefox.................. System32... explorer.exe install.log firefox.exe cmd.exe...... page 21
ファイルシステム (7) ファイルパス パスを用いてファイルの位置を表現する C: Program Files Program Files (x86) Windows EPSON... Mozilla Firefox...... explorer.exe............ System32... install.log firefox.exe cmd.exe...... C:\Program Files (x86)\mozilla Firefox\firefox.exe page 22
ファイルシステム (8) UNIXのファイルパスパス区切り文字は Windows と異なる / etc usr home rc.d passwd... bin local...... user1...... httpd.sh... ls mv bin lib...... cprog memo... perl ruby libdb.so kada1.c kada2.c /usr/local/bin/perl page 23
ファイルシステム (9) 演習問題 (a) (b) (c) の箇所のパス表現を示せ (OS は UNIX とする ) (a) / etc usr home rc.d passwd... bin local...... user1... (c)... httpd.sh... ls mv bin (b) lib...... cprog memo... (a) / (b) /usr/bin/mv (c) /home/user1 /home/user1/ page 24