オペレーティングシステム (7)

オペレーティングシステム (7)
鈴木健一
東北工業大学情報通信工学科
http://www.ca.rsc.tohtech.ac.jp/~suzuki/lecture/os.html
Dec. 1, 2015
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
1 / 36
IPA 修了試験に関する連絡
12 月 20 日 (日) 9:30∼12:00 八木山キャンパス 937 教室
9 時 20 分までに入室すること
鉛筆またはシャープペンシル (HB か F),消しゴム,学生証
第 2 回試験 (1 月 24 日) については,掲示等で連絡する.
補習 (担当: 渋谷正行先生)
12 月 2 日 (水)
16:20∼18:00
12 月 9 日 (水)
16:20∼18:00
12 月 16 日 (水) 16:20∼18:00
12 月 19 日 (土)
8:30∼16:00
鈴木健一 (東北工大)
八木山キャンパス 925 教室
八木山キャンパス 925 教室
八木山キャンパス 925 教室
八木山キャンパス 925 教室
オペレーティングシステム (7)
Dec. 1, 2015
2 / 36
期末試験についての連絡
15 週目に実施予定
1 月 19 日 (火) 1 講時 131 教室 (予定.掲示に注意)
1, 2 組合同実施
持ち込み不可,再試験は実施しない.
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
3 / 36
仮想記憶
主記憶の時間多重化により
プロセスが使用できる主記憶容量の制限をなくす
結果的に,各プロセスが独立したメモリ空間も持つことに
仮想アドレス: プロセスから仮想的に利用できる,
記憶容量に制限のないアドレス
(論理アドレスと同意)
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
4 / 36
仮想記憶実現のための操作
スワップイン
実行中のプロセスが,
必要となる領域を二次記憶から主記憶に転送する操作
スワップアウト
スワップイン時に必要となる空き領域を確保するために,
しばらく使わないと予想される領域を
主記憶から二次記憶に転送する操作
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
5 / 36
ページング
メモリページ
スワップイン,スワップアウトを行なうときの単位サイズ
← 小さすぎると,スワップイン/アウトが頻繁に発生
← 大きすぎると,無駄な部分をメモリに置いてしまう
現在の OS では 4KB ∼ 16KB が主流
メモリページを使ったページ管理 = ページング
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
6 / 36
ページングの実際
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
7 / 36
ページングの実際
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
8 / 36
ページングの実際
仮想アドレス空間
0x0000
0x0FFF
0x1000
0x1FFF
0x2000
0x2FFF
0x3000
0x3FFF
0x4000
0x4FFF
0x5000
0x5FFF
0x6000
0x6FFF
0x7000
00
01
02
03
物理アドレス空間
0x0000
0x0FFF
0x1000
0x1FFF
0x2000
0x2FFF
0x3000
00
01
02
03
0x3FFF
04
05
06
07
12
ページサイズ: 4KB =2 B のとき
下位12ビットを除いたものが
ページ番号になる
ページ番号 =
(アドレス AND 0xF000) >> 12
右シフト
ページオフセット =
アドレス AND 0x0FFF
0x7FFF
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
9 / 36
アドレス変換
プロセスがメモリを使うには
ほんもののメモリ (物理メモリ) の上でのアドレス (物理アドレス) を
知る必要
→ メモリ関数
ページングによる仮想記憶では
ページ毎に,どの仮想ページがどの物理ページに対応しているかの表
→ ページテーブル (アドレス変換表)
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
10 / 36
アドレス変換の例
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
11 / 36
アドレス変換の例
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
12 / 36
アドレス変換の例
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
13 / 36
ページテーブル
アドレス変換情報
仮想ページ番号,物理ページ番号
主記憶上にあるか,ないか
→ V フラグ (Virtual memory flag)
アクセス条件
→ P フラグ (Permission flag)
読み出し可,書き込み可,など
主記憶上で,変更されたか,されていないか
→ C フラグ (Change flag)
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
14 / 36
スワップイン/アウトの例
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
15 / 36
スワップイン/アウトの例
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
16 / 36
スワップイン/アウトの例
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
17 / 36
スワップイン/アウトの例
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
18 / 36
スワップイン/アウトの例
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
19 / 36
スワップイン/アウトの例
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
20 / 36
スワップイン/アウトの例
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
21 / 36
スワップイン/アウトの例
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
22 / 36
スワップイン/アウトの例
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
23 / 36
スワップイン/アウトの例
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
24 / 36
スワップイン/アウトの例
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
25 / 36
スワップイン/アウトの例
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
26 / 36
スワップイン/アウトの例
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
27 / 36
スワップイン/アウトの例
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
28 / 36
スワップイン/アウトの例
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
29 / 36
スワップイン/アウトの例
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
30 / 36
V フラグ
仮想ページが主記憶上にあるかどうかを示す
ある場合には,そのままアクセス可能
ない場合には,スワップインが必要
主記憶上にないページへのアクセス
→ ページフォルト例外を発生
→ そのプロセスは中断される
→ 必要であれば,スワップアウト
→ スワップイン
二次記憶は主記憶に対し 1000 倍以上低速
→スワップ操作はできるだけ避けたい
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
31 / 36
C フラグ
そのページがスワップインされた後で,変更 (書き込み) を受けたか
変更されていれば,
スワップアウトのときに,そのページを二次記憶へ
の書き戻す必要あり
変更されていなければ,
スワップアウトのときの書き戻しを省略できる
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
32 / 36
P フラグ
ページ毎のアクセス制御
読み出し
書き込み
実行
これにより,セグメンテーションと同様の効果を得ることができる
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
33 / 36
まとめ (1)
主記憶管理
ユーザ (プロセス) に独立した論理アドレス空間を提供
論理アドレス空間の要件
→ サイズ無限大
→ プロセスごとに固有
→ プロセス間で共有可能
→ 複数の 1 次元アドレス (プログラム部,データ部等の分離)
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
34 / 36
まとめ (2)
仮想記憶: 主記憶の空間多重化と時間多重化
ページング
主記憶再配置の仕組み
仮想アドレスの上位桁 (仮想ページ番号) を
物理アドレスの上位桁 (物理ページ番号) に変換
フラグメンテーションも大きく改善
ページテーブル
アドレス変換情報
ページ毎のフラグ (V フラグ,P フラグ,C フラグ)
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
35 / 36
修了試験向け演習
ページング方式の仮想記憶において,主記憶に存在しないページをア
クセスした場合の処理や状態の順番として,適切なものはどれか.こ
こで,主記憶には現在,空きのページ枠はないものとする.
ア 置換え対象ページの決定→ページイン→
ページフォールト→ページアウト
イ 置換え対象ページの決定→ページフォールト→
ページアウト→ページイン
ウ ページフォールト→置換え対象ページの決定→
ページアウト→ページイン
エ ページフォールト→置換え対象ページの決定→
ページイン→ページアウト
鈴木健一 (東北工大)
オペレーティングシステム (7)
Dec. 1, 2015
36 / 36