600 likes | 1.44k Views
Санах ой. С.Байгалтөгс 14,05,2009. Лекц – 1 4 Санах ойн удирдлага, Хийсвэр санах ой . Үндсэн санах ой. Компьютерийн зохион байгуулалт, санах ойн менежмент Санах ой ба CPU Санах байгууламжийн шатлал Санах ойн чухал ойлголтууд Санах ойн хуваарилалтын схем
E N D
Санах ой С.Байгалтөгс 14,05,2009 Лекц – 14 Санах ойн удирдлага, Хийсвэр санах ой [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]
MO - Machine Organization (HW) [www.cdeq.mn/hw200]
CPU ба санах ой [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]
DOScанах ойн давхарга [www.cdeq.mn/hw200]
Санах ойн үндсэн удирдлага(Монопрограмчлал) Санах ойг зохион байгуулах гурван энгийн арга - Нэг хэрэглэгчийн процесстой үйлдлийн систем [www.cdeq.mn/hw200]
Process 1 F r a g m e n t Process 2 F r a g m e n t Process 3 F r a g m e n t OS Partition 1 Partition 2 Partition 3 Fixed Partition-бүхий мультипрограмчлал • Partition дугаар ба хэмжээ нь (тэнцүү эсвэл тэнцүү биш) систем эхлэх үед оператор тогтоодог. [www.cdeq.mn/hw200]
OS Систем эхлэх үеийн санах ой OS Process 1 Process 2 Process 3 Гурван процесс эхэлсэн OS Process 1 Process 3 Хоёр дах процесс дуусав OS Process 1 Process 3 Process 4 Процесс 3 дахин байршиж дөрөв дэх том процесс орж ирэв Dynamic Partition-той мультипрограмчлал • Ачаалах үед үүссэн хуваалт [www.cdeq.mn/hw200]
Dynamic Partition-н асуудлууд • 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 бит(64K виртуаль санах ой) харин физик хаяг нь 15 бит(32K бодит санах ой) Дотоод үйлдэл 16 4 KB хуудас [www.cdeq.mn/hw200]
Хүснэгтүүд • GTD – Global Table Descriptor • LTD - Local Table Descriptor • ITD - Interrupt Table Descriptor [www.cdeq.mn/hw200]
Хүснэгтийн оролтууд Хуудасны хүснэгт 0 Page frame # 1 2 3 Page protection 4 5 Reference bit 6 Modification bit 7 8 Validity bit Хуудасны хүснэгтүүд • Хуудасны хүснэгтийн индекс нь виртуаль хуудсыг заана [www.cdeq.mn/hw200]
Virtual memory address Page Table Register + PT 1 Catenate PT2 . . Page # Offset within page PTn Page tables of processes Хуудаслалтанд хаягын мап хийх Real memory address [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 Tables Pages Page # Offset within page Хуудаслалттай сегментацийг хаяглах [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 (1) Pentium selector [www.cdeq.mn/hw200]
Хуудаслалттай сегментаци: Pentium (5) Пентиум дах хамгаалалт 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]
Шууд mapping-н асуудлууд • Хуудасны хүснэгт нь процессын хэмжээнээс хамаарч янз янзын урттай байна • Хуудасны хүснэгт нь заавал санах ойд байх ёстой • Хуудасны хүснэгт нь их хэмжээтэй болвол(4MB), хуудасны хүснэгтүүд виртуаль санах ойд байрлана [www.cdeq.mn/hw200]
Виртуаль санах ой Page # Offset TLB TLB Hit Page Table TLB Miss Frame # Offset Бодит хаяг Page Fault Хөрвүүлэлтийн буфер [www.cdeq.mn/hw200]
Хөрвүүлэлтийн буфер • Хөрвүүлэлтийн буффер (ХБ)нь хуудсын хүснэгтийн оролтуудад зориулагдсан кеш юм. • ХБ нь хүснэгтийн оролтуудыг агуулах ба тэдгээр нь хамгийн олон ашиглагдсан байдаг • Хуудасны хүснэгт рүү хандах бүрт оролтууд нь ХБ руу хуулагдаж байдаг. • ХБ нь ихэвчлэн нэгдмэл санах ойн хэлбэртэй байдаг [www.cdeq.mn/hw200]
Хөрвүүлэлтийн буфер ХБ нь хуудаслалтыг хурдасгана [www.cdeq.mn/hw200]