HW200_14_new
Download
Report
Transcript HW200_14_new
С.Байгалтөгс
14,05,2009
[www.cdeq.mn/hw200]
Компьютерийн зохион байгуулалт, санах ойн
менежмент
Санах ой ба CPU
Санах байгууламжийн шатлал
Санах ойн чухал ойлголтууд
Санах ойн хуваарилалтын схем
◦
◦
◦
◦
Санах ойн энгийн хуваарилалт
Fixed partitions
Dynamic partitions
Санах ойн орон зайн удирдлага
[www.cdeq.mn/hw200]
Computer organization =ISA + MO
ISA – Instruction Set Architecture
MO - Machine Organization (HW)
[www.cdeq.mn/hw200]
[www.cdeq.mn/hw200]
[www.cdeq.mn/hw200]
[www.cdeq.mn/hw200]
Real memory - RAM с хамаарах
Virtual
- RAM + HDD
Logical
- SW
Physical
- HW
Blocks
- disk - c хуулах
Fragmentation - жижиг хэсүүдэд
хуваарилагдах
Partition
- хуваагдал
[www.cdeq.mn/hw200]
OS &
drivers
User Program
Үйлдлийн системийг ачаалсаны дараа,
санах ойн бусад хэсэг нь хэрэглэгчийн
програмд ашиглагдах боломжтой болно.
Хэрэглэгчийн програмын хэмжээ
боломжит санах ойгоор
тодорхойлогдоно
[www.cdeq.mn/hw200]
16M B
Extended
Memory
1M+64KB
1MB
640KB
Buffer cache, RAM Disk,
Memory for protected mode OS
HMA
Upper Memory
Area
I/O boards, ROMs, MS-DOS and
Device drivers
Conventional
MS-DOS, Device drivers, programs
Memory
0
[www.cdeq.mn/hw200]
Санах ойг зохион байгуулах гурван энгийн арга
- Нэг хэрэглэгчийн процесстой үйлдлийн
систем
[www.cdeq.mn/hw200]
OS
Process 1
F
r
a
g
m
e
n
t
Partition 1
Process 2
F
r
a
g
m
e
n
t
Partition 2
Process 3
Partition 3
Partition дугаар ба хэмжээ нь (тэнцүү
эсвэл тэнцүү биш) систем эхлэх үед
оператор тогтоодог.
[www.cdeq.mn/hw200]
F
r
a
g
m
e
n
t
Ачаалах үед үүссэн хуваалт
OS
Систем эхлэх үеийн санах ой
Process 1
Process 2
OS
Гурван процесс эхэлсэн
Process 3
Process 1
Process 3
OS
Хоёр дах процесс дуусав
Process 1
Process 3
Process 4
OS
Процесс 3 дахин байршиж дөрөв дэх том процесс орж
ирэв
[www.cdeq.mn/hw200]
Fragmentation нь ачаалах үед санах ойг
үүсгэх эсвэл устгахад тохиолдоно
Fragmentation нь дахин байршилтаар
үнэлэгдэнэ
Дахин байршилт хурдан ажиллагаатай
байх шаардлагатай
Сул (ашиглагдаагүй) санах ой нь зохион
байгуулагдсан байх ёстой
[www.cdeq.mn/hw200]
1. Ашиглагдаагүй санах ой нь
fragmentation- з.б үед үүснэ.
2. Програмын ажиллагааны үед
ашиглагдаагүй санах ой нь програмын
хэсгийг агуулж болно.
3. Процессын хэмжээ нь физик санах ойн
хэмжээгээр хязгаарлагдана
[www.cdeq.mn/hw200]
[www.cdeq.mn/hw200]
Виртуаль санах ой гэж юу вэ?
Виртуаль санах ойн менежментийн схем
Хуудаслалт
Сегментаци
Хуудаслалтай сегментаци
Хуудсын хүснэгтийн менежмент
[www.cdeq.mn/hw200]
Диск дэх процессын виртуль санах ой
Map (translate)
virtual address to real
Системийн жинхэнэ санах ой
[www.cdeq.mn/hw200]
CPU хаягийн шугам санах ойн хаяглалын
орон зайг тодорхойлно.
Хаягийн шугам - n
Хаяглалын орон зай – 2n
Үндсэн санах ой багтаамж технологиос
хамаарч бага байна
[www.cdeq.mn/hw200]
Виртуаль санах ой нь ГСТ- диск дээр
үүснэ
ВСО-н хэмжээ хязгаарлагдмал биш
(ихэвчлэн бодит санах ойн хэмжээнээс их
байдаг)
Бүх процессын хаягууд нь ВСО д хамаарна
Процесс ажиллах үед бүх ВСО хаягууд
бодит санах ой дээр map хийгдэнэ
[www.cdeq.mn/hw200]
Виртуаль болон бодит санах ой нь
хуудаслалтад хуваагдана
Сегмент хуудас- д хуваагдана
Хаяг нь хоёр бүрэлдэхүүн хэсэгтэй
(хоёул виртуаль ба бодит санах ойн )
[www.cdeq.mn/hw200]
Хаяглалтын 16 бит нь санах ой хаяг нь
64K байт гэдгийг илэрхийлнэ (0000 FFFF)
Хуудсын хэмжээ 4K байт
Сегментийг үндсэн санах ойд үүсгэж
болно.
Хуудас давхцана
Сул орон зайг ашиглана
[www.cdeq.mn/hw200]
64K Виртуаль
санах ой
32K Бодит
санах ой
[www.cdeq.mn/hw200]
Санах ойн менежментийн нэгжийн
байрлал ба функц
[www.cdeq.mn/hw200]
Дотоод үйлдэл 16 4 KB хуудас
[www.cdeq.mn/hw200]
GTD – Global Table Descriptor
LTD - Local Table Descriptor
ITD - Interrupt Table Descriptor
[www.cdeq.mn/hw200]
Хуудасны хүснэгт
0
1
2
3
4
5
6
7
8
Хүснэгтийн оролтууд
Page frame #
Page protection
Reference bit
Modification bit
Validity bit
Хуудасны хүснэгтийн индекс нь виртуаль
хуудсыг заана
[www.cdeq.mn/hw200]
Virtual memory address
Page #
Offset within page
Page Table Register
+
PT 1
PT2
Catenate
..
PTn
Real memory address
Page tables of processes
[www.cdeq.mn/hw200]
Сегментүүд ялгаатай хэмжээтэй байна
Сегмент нь логик хэлбэртэй байж болно
◦
◦
◦
◦
◦
Үндсэн програм
Зарим routine
Програмын өгөгдөл
Файл
Стек
[www.cdeq.mn/hw200]
Процессын хаягууд нь хэлбэртэй байна
Segment #
Offset within segment
• Segment Map Хүснэгт нь сегмент бүрт
нэг оролттой ба оролт бүр нь:
– Сегмент дугаар
– Физик сегментийн эхлэлийн хаяг
– Сегмент урт
[www.cdeq.mn/hw200]
Нэг хэмжээст хаягын зай
[www.cdeq.mn/hw200]
Хүснэгт бүрийг өсгөх ба багасгах боломжтой
[www.cdeq.mn/hw200]
Хуудаслалт ба сегментацийг
харьцуулах
[www.cdeq.mn/hw200]
(a)-(d) fragmentation-н хөгжүүлэлт
(e) fragmentation-г авч хаях
[www.cdeq.mn/hw200]
Динамик партишн дах ижил асуудлууд
◦ Бодит санах ой дах
Fragmentation
◦ Нягтралын үед дахин
хуваарилалт хийх нь
зайлшгүй
[www.cdeq.mn/hw200]
Виртуаль санах ойдах сегментаци, бодит
санах ойд хуудаслалт хийх
Сегмент нь хуудаснуудын бүрдэл
Хаяг нь гурван бүрэлдэхүүн хэсэгтэй
Segment #
Page #
Offset within page
• Бодит санах ой нь шаардлагатай
сегментийн хуудаснуудыг агуулах ба
бүтэн сегментийг агуулахгүй
[www.cdeq.mn/hw200]
Segment #
Segment Table
Page #
Offset within page
Page Tables
Pages
[www.cdeq.mn/hw200]
Хуудасны хүснэгт рүү заах сегмент индекс
Сегмент индекс– дугаарууд нь талбарын урт
[www.cdeq.mn/hw200]
34-бит MULTICS виртуаль хаяг
[www.cdeq.mn/hw200]
Санах ойн хаяг руу MULTICS хаягын хөрвүүлэлт хийх
[www.cdeq.mn/hw200]
MULTICS
TLB-н хялбаршуулсан хувилбар
[www.cdeq.mn/hw200]
Pentium selector
[www.cdeq.mn/hw200]
Level
Пентиум дах хамгаалалт
[www.cdeq.mn/hw200]
2
32
байт (4GB) хаягын зай
◦ 4096 байт (2 12 byte) хуудас
◦ Хуудасны оролт бүрт 4 байт
◦ Хуудасны хүснэгт 2 32/2 12 (= 2
20 ) оролт (хуудас бүрт нэг)
◦ Хуудасны хүснэгтийн хэмжээ 2
22 байт (эсвэл 4 МБайт)
[www.cdeq.mn/hw200]
Хуудасны хүснэгт нь процессын
хэмжээнээс хамаарч янз янзын урттай
байна
Хуудасны хүснэгт нь заавал санах ойд
байх ёстой
Хуудасны хүснэгт нь их хэмжээтэй
болвол (4MB), хуудасны хүснэгтүүд
виртуаль санах ойд байрлана
[www.cdeq.mn/hw200]
Виртуаль санах ой
Page #
Offset
TLB
TLB Miss
Page
Table
Page Fault
TLB Hit
Frame #
Offset
Бодит хаяг
[www.cdeq.mn/hw200]
Хөрвүүлэлтийн буффер (ХБ)нь хуудсын
хүснэгтийн оролтуудад зориулагдсан
кеш юм.
ХБ нь хүснэгтийн оролтуудыг агуулах ба
тэдгээр нь хамгийн олон ашиглагдсан
байдаг
Хуудасны хүснэгт рүү хандах бүрт
оролтууд нь ХБ руу хуулагдаж байдаг.
ХБ нь ихэвчлэн нэгдмэл санах ойн
хэлбэртэй байдаг
[www.cdeq.mn/hw200]
ХБ нь хуудаслалтыг хурдасгана
[www.cdeq.mn/hw200]