1
1
Nguyên hệđiuhành
NguynHi Châu
Khoa Công nghthông tin
Trường Đạihc Công ngh
2
Qun lý bnh
3
Gii thiu
zChương trình được HĐH đưa vào bnh,
sau đóto tiến trình để thc hin
zInput queue hàng chcác tiến trình trên
đĩa đang ch được đưa vào bnh để thc
hin
zCác chương trình ca NSD phi qua mt s
bước chun b trước khi được thc hin
4
Các bước x lý chương trình NSD
5
Chuyn đổi địa ch
zKhi dch chương trình (compile-time):Sinh mã
địa chc định; phi dch li nếu cn thay đổi
địa ch.
zKhi np chương trình (load-time):Phi sinh
mã có th định vli nếu như địa chbnh
không được biết thi đim dch chương trình
zKhi thc hin chương trình (execution-time):
Ánh x địa ch khi chương trình được thc hin
nếu như tiến trình có thchuyn gia các
segment bnh. Cn có htrtphn cng (ví
dthanh ghi base limit)
3 cách chuyn đổi địa chlnh và dliu ca chương trình vào bnh:
6
Không gian địa chlogic (o)
địa chvt lý (địa chtht)
zĐể qun lý bnhmt cách hoàn chnh, cn
hai cách nhìn địa chkhác nhau:
zĐịa chlogic (Logical address) sinh biCPU;
còn gi là địa chỉảo (virtual address).
zĐịa chvt lý (Physical address); còn gi là địa ch
tht – sinh bi đơn vqun lý bnh
zĐịa chtht và o ging nhau trong lược đồ
ánh x địa ch“compile-time” “load-time”
khác nhau trong “execution-time”.
2
7
Đơn vqun lý bnh(MMU)
z thiết bphn cng dùng để ánh x địa ch
o sang địa chvt lý
zTrong MMU, có thanh ghi relocation (định v
li) dùng để tính toán địa chthc (vt lý) t
địa o ca mt tiến trình ca NSD
zChương trình ca NSD làm vic trên địa ch
o và không bao gibiết địa chvt lý
8
Sdng thanh ghi relocation
9
Np chương trình động
(Dynamic loading)
zCác hàm, thtc không được np cho đến
khi được sdng (được gi đến)
zCách np động này sdng bnhhiu qu
hơn: Các hàm, thtc không dùng đến
không bao gi được np vào bnh
zHu ích khi có mt đon mã ln được s
dng vi tn sut thp
zKhông cn có các đặc đim đặc bit th
điu hành vphn cng/phn mm
10
Liên kết động (dynamic linking) và
thư vin chung (shared library)
zLiên kết chương trình được thc hin khi chương
trình được thc hin.
zMt đon mã ngn (stub) được dùng để định vcác
hàm tương ng đã được np sn trong bnh
zStub được thay thếbng địa chca hàm/thtc
cn thiết, sau đóthc hin hàm/thtc đó
zHĐH cn kim tra các hàm/thtc đã được np
chưa
zLiên kết động rt có li khi xây dng các thư vin
chung, khi sa li (các miếng vá patch)
11
Overlays
zCh lưu trong bnhcác phn lnh và d
liu phi sdng trong sut quá trình thc
hin
zSdng khi tiến trình có yêu cu bnhln
hơn dung lượng được cp phát.
zCài đặt bi người sdng, lp trình overlays
rt phc tp
12
dvoverlays
3
13
Swapping
zSwapping: Đưa mt tiến trình ra backing store để
lưu trtm thi, sau đó đưa trli bnh trong để
thc hin.
zBacking store Vùng đĩa có tc độ truy cp cao, đủ ln để
cha được nhiu tiến trình ca NSD, có thtruy cp trc
tiếp
zRoll out, roll in –Phương án swap dành cho lp lch
ưu tiên: Tiến trình ưu tiến thp: roll out, ưu tiên
cao: roll in để tiếp tc thc hin
zThi gian swap tlthun vi dung lượng bnh
được swap vào/ra
zUNIX, Linux, and Windows sdng swapping
14
Minh ha swapping
15
Cp phát liên tc
(Contiguous allocation)
16
Cp phát bnhliên tc
zBnh trong thường được chia thành 2 phn:
zPhn dành cho h điu hành (resident) thường
dùng phn thp ca bnhvi các ngt
zNSD dùng phn cao ca bnh. Mi tiến trình
được cp phát mt vùng liên tc ca bnh
zThanh ghi relocation dùng để bo vcác tiến
trình ca NSD và để tránh thay đổi mã và d
liu ca HĐH
zThanh ghi relocation cha giá trnhnht ca
địa chvt lý, thanh ghi limit cha độ ln ca
min địa chỉảo (địa chỉảo < limit)
17
Minh ha thanh ghi relocation, limit
18
Cp phát liên tc (tiếp): MFT
zBnh được chia thành các khi vi cc
định, mi tiến trình được cp phát mt khi
zKhi tiến trình kết thúc, khi bnh đã cp
phát cho tiến trình được gii phóng để cp
phát cho tiến trình khác
zMc độ đa chương trình bhn chếbi các
khi
zCca tiến trình bhn chếbi cca khi
zCác HĐH/máy tính sdng MFT: IBM/360
4
19
Cp phát liên tc (tiếp): MVT
zCp phát MVT
zHole –khi bnhri; các khi ri vi kích ckhác
nhau ri rác trong bnh
zMt tiến trình s được cp phát mt khi bnh đủ
ln để thc hin
zHĐH có thông tin vcác khi đã cp phát và khi ri
HĐH
Tiến trình 5
Tiến trình 8
Tiến trình 2
HĐH
Tiến trình 5
Tiến trình 2
HĐH
Tiến trình 5
Tiến trình 2
HĐH
Tiến trình 5
Tiến trình 9
Tiến trình 2
Tiến trình 9
Tiến trình 10
20
Các chiến lược cp phát
zFirst-fit: Cp phát khi nh đầu tiên tha
mãn điu kin.
zBest-fit: Cp phát khi nh nht tha
mãn điu kin: Phi duyt toàn bdanh sách
khi nh
zWorst-fit: Cp phát khi nhln nht tha
mãn điu kin: Phi duyt toàn bdanh sách
khi nh
zFirst-fit và best-fit tt hơn worst-fit theo nghĩa
tc độ tn dng bnh
21
Vn đề phân mnh
zExternal Fragmentation (Phân mnh ngoài): Tng
dung lượng đáp ng được nhu cu cp phát nhưng
các khi không liên tc
zInternal Fragmentation (Phân mnh trong)
Dung lượng bnh đã cp phát cho tiến trình
không được sdng hết
zGim phân mnh ngoài: Compaction
zXáo trn các khi để các khi nhri nm liên tc
zCompaction chthc hin được khi relocation là động, và
được thc hin execution-time
z d: Tin ích Defragmentation ca Windows 22
Phân trang (Paging)
23
Phân trang (paging)
zPhân trang là chiến lược cp phát bnhcho phép không
gian địa chlogic ca mt tiến trình có thkhông liên tc;
tiến trình được cp phát bnhvt lý khi có bnhri
zBnhvt lý được chia thành các frame cc định, nh
(là lũy tha ca 2, ví d512, 1024, 8192)
zChia bnhớảo thành các khi cùng cgi là trang (page)
zHĐH có danh sách các frame ri
zĐể thc hin mt chương trình cntrang, cn tìm nframe
ri để np chương trình
z mt bng trang để ánh xtrangframe
zBng trang: chung trong HĐH, mi tiến trình có mt copy 24
Cách đánh địa chtheo trang
zĐịa ch được đánh mt cách phân cp:
zShiu trang (Page number -p)–Được sdng làm chs
đến phn ttrong bng trang cha địa ch cơ sca các
frame trong bnhvt lý
zOffset trang (Page offset - d) – Địa ch tương đối trong trang
zĐịa chỉảo có mbit, sdng m-nbit cao làm shiu
trang và nbit thp làm offset
zKhông có phân mnh ngoài, có phân mnh trong:
zGim ctrangGim phân mnh trongGim hiu năng
zTăng ctrangTăng hiu sutTăng phân mnh trong
5
25
Chuyn đổi địa ch
26
dphân trang 1
27
dphân trang 2
Cca
mt trang
4 bytes
28
Bng frame ri
Trước cp phát Sau cp phát
29
Cài đặt bng trang
zBng trang được lưu bnhtrong
zThanh ghi cơ sbng trang (page-table base
register)(PTBR) tr đến bng trang
zThanh ghi độ dài bng trang (page-table
length register)(PTLR) lưu cbng trang
zSdng bng trang, mi thao tác truy cp
dliu/lnh cn ti 2 ln truy cp bnh(1
cho bng trang, 1 cho dliu/lnh)
30
Cài đặt bng trang (tiếp)
zTruy cp bnhhai ln: Gim tc độ
zGii quyết vn đề 2 ln truy cp bnh: S
dng phn cng cache tc độ truy cp
cao gi là bnhkết hp (associative
memory) hoc vùng đệm htrchuyn đổi
(translation look-aside buffers -TLB)
zMi phn ttrong TLB có hai phn: khóa và
giá tr
zS lượng các phn tca TLB thường t 64
đến 1024