Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
1
MUL
TICS
の34
ビット仮
想アドレス
Operating System
201
6
186
10
0..001
10(=6)
60xC0
0
0..000
(=0)
0PF
2
クイズ解
答MULTICSで
の仮
想ア
ドレ
ス(
2進
)が
、000000000000000110
000000
0000100010
だと
する
(先
頭か
ら順
にセ
グメ
ント
番号
、ペ
ージ
番号
、オ
フセ
ット
とす
る)
時、
以下
の説
明文
の空
欄を
埋め
よ。
その
際に
カッ
コ内
の指
示に
従っ
た語
句又
は数
字で
答え
る事
。ペ
ージ
サイ
ズは4KBと
する
。セ
グメ
ント
番号
が6
であ
るの
で、
まず
その
セグ
メン
ト番
号の
セグ
メン
トデ
ィス
クリ
プタ
を参
照す
る。
ここ
では
その
内容
の上
位1
8ビ
ット
が000000110000000000
であ
った
とし
よう
。こ
の時
、こ
のセ
グメ
ント
のペ
ージ
テー
ブル
の開
始ア
ドレ
スは0
x0
0C0
0で
ある
。こ
こで
仮想
ペー
ジと
物理
ペー
ジフ
レー
ムの
対応
がそ
れぞ
れ、(0,2),(1,3),(2,1),(3,X)
だっ
たと
する
(前
者が
仮想
ペー
ジ番
号)
と、
求め
るペ
ージ
は、
仮想
ペー
ジ番
号が
0で
ある
ので
ペー
ジフ
レー
ム2
にあ
る。
ここ
にオ
フセ
ット
を加
え、
最終
的に
アク
セス
する
アド
レス
は8
22
6(
81
92
+3
4)
0x
20
22
になる。
0..010
0010
(=34
)
34 0x22
8192
0x20
00
8226
0x20
22
セグメント番号
ページ番号
オフセット
オペレーティングシステム
146.
3 ファイル
システムの
実装
(途
中)
6.3.
1 ファイル
システムの
配置
ファイルシステムはディスク上に置く
ディスクの多くは複数の区画に分割される
各区画はそれ自身がファイルシステムである
Operating System
201
63
ブート情
報
区画
情報
OSをロードす
るプログラム
ファイルシステム
の重要な情報
ファイルシステム中
のファイル
実体
ファイル
システムと
OSロ
ード
ディスクのセクタ0は
”MBR
”と呼ばれ,コンピュータ
のブート時に,ロードする
OSに
関する情報を保持
M
BRに続く領域は区画テーブル
各区画の開始位置,終了位置を与える
テーブル
中に“アクティブ印
”が
あると,ブート時
にBI
OS
がこの
区画
から
OSを
ロードする
M
BRは最初にアクティブな区画を見つけ,ブートブ
ロックと呼ぶ最初のブロックを読み出し,実行する
ブートブロックは
その
区画
にある
OSを
ロードする
Operating System
201
64
6.3.
2 ファイル
の実
装
どのディスクブロックがどのファイルに属しているか
を示す経路の保持は,ファイルシステムの実装にお
いて重要な問題.
ディスク上
のファイル
をどの
ように組
織化
するか
?ディスク上ファイルを保存するための適切なデータ構造は
何か
?実現性のある三つのアプローチ
Co
ntig
uous
allo
catio
n連続割り当て
Li
nked
list
allo
catio
n連結リストの割り当て
i-n
ode
iノード
Operating System
201
65
連続
割り当
て
ディスク上
の一
つの
連続
したディスクブロックにファイル
を保
存
ユーザ
はあらか
じめ、ファイル
のサ
イズを宣
言しなけれ
ばなら
ない
ある種の適当なアルゴリズムを使用して、ファイルが保存可能
であるディスクの領域の場所を見つける
利点
速い順アクセス
: 連続
したディスク・ブロックの
間でシークが
少ない
ランダムアクセスが
容易
:ファイル
ブロックの
位置
計算
が容
易
欠点
ファイル削除による断片化
大きなディスクスペースの獲得が困難
割
り当
て後
に成
長するファイル
スペース問
題
Operating System
201
66
連続
割り当
て
Operating System
201
67
ファイル
のヘッダは
とても単
純な構
成
ファイル
の最
初の
ブロックの
アドレスとブロック数
(a)
Con
tiguo
us a
lloca
tion
of d
isk sp
ace
for 7
file
s(b
) St
ate o
f the
disk
afte
r file
s Dan
d F
have
bee
n re
mov
ed
断片
断片
na me
start
leng
th
A0
4
B4
3
C7
6
D13
5
E18
12
F30
6
G36
3
na me
start
leng
th
A0
4
B4
3
C7
6
E18
12
G36
3
連結
リスト割
り当
て
Operating System
201
68
各
ファイル
はディスクブロックの
連結
リストとして保
持各
ブロックの
最初
のワードは
,次
のブロックを指
すポインタ
ディスク・ブロックは隣接している必要はない
Allo
catio
nSt
orin
g a
file
as a
link
ed li
st o
f di
sk b
lock
s
連結
リストの
是非
利
点
断片化なし
順アクセスは高速
欠
点
ランダムアクセスは
非常
に遅
い
データ保存領域が2のべき乗でなくなる(次ポインタ必
要)
欠
点の
克服
→U
se F
ile A
lloca
tion
Tabl
e (F
AT)
インデックス付与
FA
Tをメモリに置くので高速
Operating System
201
69
メモリ上
のテーブル
を用
いた連
結リスト割
当
Operating System
201
610
連結リストは,ファイル割り当てテーブ
ルとしてメモリ上に置く
・テーブル
をFAT(File Allo
catio
n Table)
と呼ぶ
・ブロック全体をデータに割り当て
(前
出問
題の
解決
!)
・ランダムアクセスが可能。ファイル内
オフセット検出のためチェーンを
たどる必要がある
・テーブル
の肥
大化
!20
GB,1KB
ブロックなら20
00万
エントリ
つまり80
MB必
要(4B/エントリ)
↓ディスクブロックを大きく,たとえば
1KBか
ら32
KBへして対応
・MS‐DO
Sで採
用
・ディスク容
量が
大きくなるとテーブ
ルをメモリに置
くの
が困
難
4→7→
2→10
→12
6→3→
11→14
ファイル
Aの終端
ファイル
Bの終端
i-nod
e on
Mul
ti-le
vel I
ndex
ed F
iles
i-n
ode(
inde
x no
de)は
各ファイルの属性
とブロックアドレスを列
挙したもの
大
きさが
決まっている
使用(オープン)しているファイル分の
み必要
ディスクの
大きさによらない!
利点
最後のポインタにより、ファイルを容易
に伸縮できる
小
さいファイル
は深
い木
走査
のオー
バーヘッドが無い
欠点
大きなファイルは多くのブロックが必要
Operating System
201
611
An example i‐n
ode
6.3.
3 ディレクトリの
実装
(1)
ディレクトリは
その
中にファイル
に関
するエントリを含
む
主
たる機
能は
,データの
場所
を発
見するの
に必
要な情
報にファイルの
ASC
II名を写
像することである
N
ame ➞
disk
add
ress
of t
he e
ntire
file
N
ame ➞
the
num
ber o
f firs
t bl
ock
(for l
inke
d lis
t sch
emes
)
Nam
e➞
the
num
ber o
f the
i-n
ode
どこに、ファイルの属性を保つか
?
2つの
方法
が有
効:
ディレクトリのエントリ中
該
当する
i-nod
e の
中
Operating System
201
612
ディレクトリの
実装
(2)
Operating System
201
613
(a)
簡単なディレクトリ:固定長のエントリ、ディスクアドレス、属性を保持
(b)ディレクトリ中の各エントリは対応する
i-nod
eの参照に利用
iノード番
号
固定長サイズのフィールド中に入りきれない長いファイル名ではどうなるか?
ディレクトリ中
の長
い名
前問
題の
解決
法は
次の
二つ!
(a) I
n-lin
eブロック内部に保持
(b) I
n a
heap
ヒープに展開
ディレクトリの
実装
(3)
長い名前の問題
M
S-D
OS
:1-8文
字の
基本
名+
1-3文
字の付加的な拡張子
U
NIX
V7
:拡張子も含めて
1-14
文字
更
に:制
限を設
けて
~25
6文字
解決
:ディレクトリエントリの
長さを予
め決
めない
インライン
ヒープ
エントリ長
●ファイル1へのポインタ
ファイル属性
●ファイルの属性
ディレクトリ名
+Ӵ
0”
欠点
:
ファイルを削除した後の断片化
ページ境界を跨ることによるページフォルト
ファイル名の順探索の遅さ
Operating System
201
614
デイレクトリの
実装
(4)
Operating System
201
615
Two ways o
f han
dling long
file nam
es in
dire
ctor
In‐line
In a hea
p
長いディレクトリ名の場合,探査の過程を早くするためにさまざまなテクニック
を使
うことが
できる
ハ
ッシュテーブル
の活
用探査結果のキャッシング
6.3.
4 共
有ファイル
二人のユーザがひとつのファイルをリンクで共有
一方の更新を他方が知り得ないと言う問題
解
決案
:ディスクブロックディレクトリに
置か
ずファイル
自身
に配
置
ディレクトリは
これ
を指
し示
す
Bの
ディレクトリには
シンボリックを置く
Operating System
201
616
共有
ファイル
Operating System
201
617
(a) リ
ンク前の状況
(b) リ
ンク作成後
(c)元
の所有者が削除した場合
ファイル
は通
常ディスク上
に保
存され
る.その
結果
,ファイル
管理
が必
要である.
メモリ空
間管
理と同
様の
問題
がある
連続割り当ては成長するファイルの場合は難しい
連結リスト割り当ては順アクセスが遅い
しか
し,ディスクアクセスが
はるか
に遅
いことが
より困
難である
共有
ファイル
i-n
odeに
関する課
題
所有者がファイルを削除するまでの間,ファイルを残す
シンボリックリンクに関
する課
題
Extra
I/O
ove
rhea
d余
分な
I/Oオーバーヘッド
余
分に
i-nod
e an
d di
sk b
lockが
必要
共有ファイルに伴う課題
あるディレクトリ下にリンクされたファイルを複数回発見
その結果,バックアップ時に同じファイルを何回も記録する
Operating System
201
618
6.3.
5 ディスク空
間の
管理
Bloc
k Si
ze
多くの
ファイル
システムは
固定
サイズの
ブロック方
式を採
用
ファイル
ブロックは
どれ
くらいの
大きさか
?
大き過ぎると内部浪費となる
: 低い空
間利
用率
小
さすぎとディスクシークの
頻発
を誘
う: 低
いデータ転
送レート
Operating System
201
619
・Da
rk line
(left h
and scale) gives data rate of a
disk
・Do
tted lin
e (righ
t han
d scale) gives disk
space efficiency
・All files 2
KB
空きブロックの
管理
Operating System
201
620
(a) 空
きリストを連結リストに格納
(b) ビ
ットマップ
256個
のブロック
を保持
空きブロックの
管理
空
きリストの
ポインタが
1ブロック分
だけ必
要
ファイル
が作
られ
るとき,ポインタの
詰まったブロックか
ら必
要なブロック
を取
ってくる
それ
が無
くなれ
ば,ディスクか
らブロックをとってくる
Operating System
201
621
(a)で
はメモリ内
のポインタブロックに空
きが
二つしか
ない.この
状況
で3ブ
ロックの
大きさの
ファイル
が開
放され
ると,ポインタブロックが
溢れ
ディスクに書
き出
され
(b)に
なる.これ
は大
量の
入出
力の
原因
となる.こ
れを防
ぐには
,メモリ上
のポインタブロックを半
分に分
割し片
方をディスクに書
き込
み,残
りに
3ブロックを
追加
する.
新たに3
ブロック
ディスクの
クォータ機
構
人
々が
あまりに多
くの
ディスクスペースを得
るの
を防
ぐ
op
en fi
le ta
ble 構
造の
中に第
二の
テーブル
を利
用
Operating System
201
622
Quo
tas for kee
ping
track of each user’s disk use
/ColorImageDict > /JPEG2000ColorACSImageDict > /JPEG2000ColorImageDict > /AntiAliasGrayImages false /CropGrayImages true /GrayImageMinResolution 300 /GrayImageMinResolutionPolicy /OK /DownsampleGrayImages true /GrayImageDownsampleType /Bicubic /GrayImageResolution 300 /GrayImageDepth -1 /GrayImageMinDownsampleDepth 2 /GrayImageDownsampleThreshold 1.50000 /EncodeGrayImages true /GrayImageFilter /DCTEncode /AutoFilterGrayImages true /GrayImageAutoFilterStrategy /JPEG /GrayACSImageDict > /GrayImageDict > /JPEG2000GrayACSImageDict > /JPEG2000GrayImageDict > /AntiAliasMonoImages false /CropMonoImages true /MonoImageMinResolution 1200 /MonoImageMinResolutionPolicy /OK /DownsampleMonoImages true /MonoImageDownsampleType /Bicubic /MonoImageResolution 1200 /MonoImageDepth -1 /MonoImageDownsampleThreshold 1.50000 /EncodeMonoImages true /MonoImageFilter /CCITTFaxEncode /MonoImageDict > /AllowPSXObjects false /CheckCompliance [ /None ] /PDFX1aCheck false /PDFX3Check false /PDFXCompliantPDFOnly false /PDFXNoTrimBoxError true /PDFXTrimBoxToMediaBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXSetBleedBoxToMediaBox true /PDFXBleedBoxToTrimBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXOutputIntentProfile () /PDFXOutputConditionIdentifier () /PDFXOutputCondition () /PDFXRegistryName () /PDFXTrapped /False
/CreateJDFFile false /Description > /Namespace [ (Adobe) (Common) (1.0) ] /OtherNamespaces [ > /FormElements false /GenerateStructure false /IncludeBookmarks false /IncludeHyperlinks false /IncludeInteractive false /IncludeLayers false /IncludeProfiles false /MultimediaHandling /UseObjectSettings /Namespace [ (Adobe) (CreativeSuite) (2.0) ] /PDFXOutputIntentProfileSelector /DocumentCMYK /PreserveEditing true /UntaggedCMYKHandling /LeaveUntagged /UntaggedRGBHandling /UseDocumentProfile /UseDocumentBleed false >> ]>> setdistillerparams> setpagedevice