0% found this document useful (0 votes)
3 views24 pages

03 Memory

The document discusses various aspects of process management and memory management in computer systems, including CPU usage, process scheduling, and memory allocation strategies. It covers concepts such as process states, memory partitioning, and page replacement algorithms like LRU and NRU. Additionally, it explains the structure of memory management units and the importance of efficient memory utilization.

Uploaded by

Huy Lee
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views24 pages

03 Memory

The document discusses various aspects of process management and memory management in computer systems, including CPU usage, process scheduling, and memory allocation strategies. It covers concepts such as process states, memory partitioning, and page replacement algorithms like LRU and NRU. Additionally, it explains the structure of memory management units and the importance of efficient memory utilization.

Uploaded by

Huy Lee
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

Qu¶n lý bé nhí

1
QLBN trong m« h×nh ®a nhiÖm
Tû lÖ % thêi gian dïng CPU

120.0
100.0
80.0
80% chê vµo ra
60.0 50% chê vµo ra
40.0 20% chê vµo ra

20.0
0.0
0 1 2 3 4 5 6 7 8 9 10 11
Sè l−îng tiÕn tr×nh

•Tû lÖ % sö dông CPU = 1 – p^n


•n lµ sè tiÕn tr×nh, p lµ tû lÖ % thêi gian chê vµo/ra cña tiÕn tr×nh

2
§èi víi m« h×nh xö lý l«
TiÕn tr×nh
2.0 phót 0.9 0.8 0.3
1

0.9 0.8 0.3 0.9 0.1


2

0.3 0.9
3

0.3 0.9 0.1 0.7


4

0
10 15 20 22 27.6 28.2 31.7
Thêi gian b¾t ®Çu cña tiÕn tr×nh,
tÝnh tõ thêi ®iÓm tiÕn tr×nh 1
Sè l−îng tiÕn tr×nh

TiÕn Thêi gian b¾t Sè phót sö 1 2 3 4


tri`nh ®Çu dông CPU
CPU rçi .80 .64 .51 .41
1 10:00 4
CPU bËn .20 .36 .49 .59
2 10:10 3

3 10:15 2 CPU/Process .20 .18 .16 .15

4 10:20 2

3
Ph©n bæ bé nhí
•TiÕn tr×nh A ®−îc n¹p
•TiÕn tr×nh B ®−îc n¹p
C C C •TiÕn tr×nh C ®−îc n¹p
•TiÕn tr×nh A kÕt thóc
B B B B

•TiÕn tr×nh D ®−îc n¹p


A A A

HÖ ®iÒu HÖ ®iÒu HÖ ®iÒu HÖ ®iÒu HÖ ®iÒu


hµnh hµnh hµnh hµnh hµnh

4
Kh«ng gian phô
stack
cña B

rçi •TiÕn tr×nh A vµ B ®ang trong bé nhí


D÷ liÖu
cña B
•Mçi tiÕn tr×nh cÇn cã mét kho¶ng trèng ®Ó
M∙
ch−¬ng
dïng thªm khi ch¹y
tr×nh B
•Th«ng th−êng: ng¨n xÕp ph¸t triÓn xuèng,
stack cña vïng d÷ liÖu xin cÊp ®éng ph¸t triÓn lªn
A
rçi •Khi x¶y ra ®ông ch¹m gi÷a 2 vïng sÏ g©y
D÷ liÖu ra bÉy lçi thiÕu bé nhí
cña A
M∙
ch−¬ng
tr×nh A

HÖ ®iÒu
hµnh

5
Qu¶n lý b»ng b¶n ®å bit
A B C

•Mçi khèi bé nhí øng víi mét bit


11111000
trong b¶n ®å
11111111 •Bit 0: rçi
11001111
11111000 •Bit 1: chiÕm bëi tiÕn tr×nh

6
Qu¶n lý b»ng DSMN
A B C

P 0 6 H 6 4 P 10 8 H 18 2 P 20 5 H 25 10

•P: Process, H: Hole


•Mçi phÇn tö cña danh s¸ch chøa n¬i b¾t ®Çu mét vïng vµ
sè khèi rçi hoÆc ®ang bËn thuéc vïng ®ã

7
Th.to¸n QLBN víi DSMN
• First fit:chän khèi rçi phï hîp ®Çu tiªn
• Next fit: chän khèi rçi phï hîp ®Çu tiªn tiÕp theo
• Best fit: chän khèi rçi võa nhÊt
• Worst fit: chän khèi rçi thõa th·i nhÊt
• Quick fit:L−u 2 danh s¸ch: Holes vµ Processes

8
Qu¶n lý b»ng ph©n khèi
A 128 256 512
A B 64 256 512

A B 64 C 128 512

128 B 64 C 128 512

128 B D C 128 512


128 64 D C 128 512

256 C 128 512


1024

•Bé nhí gåm c¸c khèi gèc lµ 1024 bytes


•KÝch th−íc yªu cÇu cho tiÕn tr×nh ®−îc lµm trßn lªn theo mò sè 2
gÇn nhÊt vµ khèi rçi cã kÝch th−íc ®ã ®−îc cÊp cho tiÕn tr×nh
•Mét khèi rçi lín cã thÓ ®−îc ph©n thµnh c¸c khèi nhá (ch½n mò
2) ®Ó ph©n cho tiÕn tr×nh. Khèi ®−îc ph©n nhá gäi lµ buddy.

9
Ph©n tÝch hiÖu suÊt ho¸n ®æi
• LuËt 50%: tiÕn tr×nh n»m gi÷a bé nhí sÏ cã kho¶ng 50% sè lÇn
n»m c¹nh tiÕn tr×nh kh¸c vµ 50% sè lÇn n»m c¹nh khèi rçi.
• Víi n tiÕn tr×nh, cã kho¶ng n/2 khçi rçi
• Gäi f lµ tû lÖ bé nhí lµ khèi rçi; s lµ kÝch th−íc trung b×nh cña n
tiÕn tr×nh, ks lµ kÝch th−íc khèi rçi trung b×nh (k>0); m lµ sè bytes
bé nhí
• (n/2)ks = m – ns, suy ra m = ns(1+k/2), vµ:
• f = (nks/2)/m=k/(k+2)
• VÝ dô: k=1/2, f=20%

10
Memory Management Unit
CPU

Bé Bé
nhí nhí
trong ngoµi

MMU

11
Bé nhí ¶o
0-4K 2
4-8K 1 0-4K
•KÝch th−íc bé nhí
8-12K 6 4-8K
vËt lý: 32KB
12-16K 0 8-12K
16-20K 4 12-16K •KÝch th−íc bé nhí
20-24K 3 16-20K ¶o: 64KB
24-28K x 20-24K
28-32K x 24-28K
•§é lín cña mçi
32-36K x 28-32K
trang bé nhí: 4KB
36-40K 5 bé nhí •C¸c trang ‘x’ lµ c¸c
40-44K x thùc
trang hiÖn kh«ng
44-48K 7
®−îc ¸nh x¹ vµo bé
48-52K x
nhí vËt lý
52-56K x
56-60K x
60-64K x

bé nhí ¶o

12
¸nh x¹ ®Þa chØ ¶o vµ thùc
®Þa chØ 16 bit, ®¸nh ®−îc 64KB
0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
010 1
001 1 •4 bits ®Çu cña ®Þa chØ ¶o lµ chØ sè tíi
110 1 110 b¶ng ph©n trang. C¸c bits cßn l¹i lµ
000 1 ®Þa chØ offset trong vïng bé nhí vËt
B¶ng 100 1 lý
chØ 011 1
sè 000 0
•3 bits trong b¶ng ph©n trang ®−îc
ph©n 000 0 ghÐp víi ®Þa chØ offset t¹o thµnh ®Þa
trang 000 0 chØ tuyÖt ®èi trong bé nhí vËt lý (15
101 1 bits -> 32KB)
000 0
111 1
•Bit present=0/1 trong b¶ng ph©n
000 0 trang: ®¸nh dÊu sù tån t¹i cña trang
000 0 trong bé nhí
000 0
000 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0

®Þa chØ 15 bit, ®¸nh ®−îc 32KB 13


0

¸nh x¹ 2 møc
1
2
3
4
5
•Yªu cÇu ph©n trang: nhanh vµ nhá .....
1023
•§Þa chØ ¶o gåm 3 phÇn: 2 chØ sè, 1 offset
•ChØ cÇn l−u 4 b¶ng trong bé nhí thay v× 0 0
1 1
tÊt c¶ 1024 (3 b¶ng con øng víi: code,
2 2
data, stack) 3 3
4 4
5 5
pointer1 pointer1 offset
..... .....
1023 1023

0
referenced

1
present /
Modified
caching
disable

absent

protection 2
page frame number
(3 bit)
3
4
Mét dßng chØ sè tíi trang bé nhí thùc 5
.....
1023
14
Associative memory
valid virtual Modified Protectio Page
entry page n frame
1 140 1 RW 31
1 20 0 RX 38
1 130 1 RW 29
1 129 1 RW 62
1 19 0 RX 50
1 21 0 RX 45
1 860 1 RW 14
1 861 1 RW 75

Thao t¸c so s¸nh trªn associative memory ®−îc thùc hiÖn song song bëi
phÇn cøng trªn tÊt c¶ c¸c dßng
15
Page replacement
A •Dùa vµo ph−¬ng ph¸p Not
K B
Recently Used (NRU)
•Tæ chøc c¸c khèi bé nhí dïng bëi
J C c¸c tiÕn tr×nh theo danh s¸ch mãc
nèi vßng
•Xo¸ bÝt ‘Referenced’ vµ quay 1
I D
vßng, nÕu ch−a ®−îc ®Æt l¹i b»ng 1
th× khèi ®ã lµ NRU, cã thÓ swap ra
H E •Cã thÓ ph©n lo¹i theo líp
•Not referenced, not modified
G F
E •Not referenced, modified
•Referenced, not modified
•Referenced, modified

16
LRU nhê phÇn cøng
0 1 1 1 0 0 1 1 0 0 0 1
0 0 0 0 1 0 1 1 1 0 0 1
0 0 0 0 0 0 0 0 1 1 0 1
0 0 0 0 0 0 0 0 0 0 0 0

•LRU: Least Recently Used. Hç trî bëi phÇn cøng


•KÝch th−íc ma trËn vu«ng nxn víi n lµ sè khèi trong bé nhí vËt lý
•Khi khèi thø k ®−îc tham kh¶o:
•Hµng k ®−îc ®Æt b»ng c¸c bit 1
•Cét k ®−îc xo¸ bëi c¸c bit 0

17
NFU nhê phÇn mÒm
1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 1 1 0 1 1 0 0 0

page
10000000 11000000 111000000 11110000 01111000
0

page
00000000 10000000 11000000 01100000 10110000
1

page
10000000 01000000 00100000 00010000 10001000
2

page
00000000 00000000 10000000 01000000 00100000
3

page
10000000 11000000 01100000 10110000 01011000
4

page
10000000 01000000 10100000 01010000 00101000
5

(a) (b) (c) (d) (e)

NFU: Not Frequently Used. Mçi thanh ghi øng víi mét khèi bé nhí. Mçi nhÞp ®ång hå,
dÞch ph¶i mét ®¬n vÞ. §iÒn bit 1 vµo bªn tr¸i nÕu khèi ®−îc dïng gi÷a 2 nhÞp võa qua.

18
Ph©n chia theo segment

Code Data symbol Stack


segment segment seg. segment

•Gi¶ thiÕt tiÕn tr×nh cÇn 4 b¶ng riªng biÖt, lu«n ph¸t triÓn vÒ kÝch th−íc
•Ph−¬ng ph¸p ph©n trang kh«ng cho phÐp dÔ dµng më réng
•Gi¶i ph¸p: ph©n ®o¹n

19
So s¸nh ph©n trang/®o¹n
Tiªu chØ tiªu so s¸nh Ph©n trang Ph©n ®o¹n

Ng−êi lËp tri`nh phaØ biÕt râ vÒ lo¹i kü kh«ng cã


thuËt ph©n bé nhí ®−îc dïng

Sè l−îng kh«ng gian ®Þa chØ tuyÕn tÝnh 1 nhiÒu

Kh«ng gian ®Þa chØ aá lín h¬n kh«ng gian cã cã


vËt lý

Ph©n biÖt vïng ch−¬ng tri`nh vµ DL còng kh«ng cã


nh− cã c¸c chÕ ®é baá vÖ kh¸c nhau

Cã thÓ thay ®æi kÝch th−íc ba?ng dÔ dµng kh«ng cã

Cã thÓ chia sÎ vµ kÕt nèi dÔ dµng c¸c thñ tôc kh«ng cã


gi−· c¸c ch−¬ng tri`nh

Lý do sö dông kü thuËt t¹o kh«ng gian aá cho phÐp ch−¬ng trinh vµ DL


lín h¬n kh«ng gian ®−îc ph©n thµnh c¸c vïng logic
vËt lý riªng biÖt víi chÕ ®é baá vÖ
kh¸c nhau
20
Ph©n ®o¹n trong Intel 386
møc −u
tiªn 0-3
index
GDT/LDT
32 bits

Base 0-15 Limit 0-15

KiÓu cña
Limit
Base 24-31 G D 0 P DPL segment vµ b¶o Base 16-23
16-19

Limit tÝnh theo bytes: 0


Limit tÝnh theo pages: 1
Møc −u tiªn
0-3

16-bit segment: 0 segment kh«ng cã trong bé nhí: 0


32-bit segment: 1 segment ®ang trong bé nhí: 1

21
TÝnh ®Þa chØ 32-bit
§Þa chØ offset
selector
descriptor
Base address
+
Limit
C¸c tr−êng kh¸c

§Þa chØ 32 bits tuyÕn tÝnh

•§Þa chØ 32 bit thu ®−îc cã thÓ ®−îc dïng nh− lµ ®Þa chØ tuyÖt
®èi trong bé nhí hoÆc lµ ®Þa chØ ¶o trong bé nhí ¶o
•Intel 386 cho phÐp ho¹t ®éng theo chÕ ®é thuÇn segment,
thuÇn ph©n trang

22
Ph©n trang trong Intel 386

directory page frame

Dir Page
Offset
Trang t×m ®−îc
Môc t×m ®−îc tõ t×m ®−îc

........... ........... ...........

Dir (10 bits) Page (10 bits) Offset (12 bits)

23
B¶o vÖ nhiÒu møc
•C¸c thñ tôc trong cïng mét
møc cã thÓ gäi trùc tiÕp lÉn
nhau
Kernel •ViÖc gäi thñ tôc tõ møc ngoµi
vµo møc trong ph¶i th«ng
sys qua kh¸i niÖm “cæng” – t.lµ
Lib chØ ®−îc gäi nh÷ng thñ tôc
user ®−îc phÐp vµ ®−îc qu¶n lý
•Kh¸i “cæng” lµ t−¬ng tù nh−
Møc 0: nh©n hÖ thèng kh¸i niÖm bÉy vµ ng¾t.
Møc 1: Gäi thñ tôc hÖ thèng
Møc 2: Th− viÖn dïng chung
Møc 3: Ch−¬ng tr×nh ng−êi dïng

24

You might also like