SlideShare una empresa de Scribd logo
1 de 23
Системийн бүрэлдэхүүн хэсгүүд, үйлчилгээнүүд Лекц 5
Сегментчилэл Хэд хэдэн виртуаль хаягийн орон зай үүсгэж болно. Компилятор хэд хэдэн хүснэгт үүсгэж болно: ,[object Object]
Хэвлэхээр хадгалсан эх текст
Бүхэл тоон тогтмол ба хөвөгч цэгтэй тогтмол агуулсан хүснэгт
Программын синтаксийн анализ агуулсан мод
Компилятор потор процедур дуудах стекЭхний 4 нь компиляцийн явцад  өснө. 5 дахь нь таах  аргагүйгээр ихсэж багасна.
Программ маш их хувьсагч агуулсан гэе. Тэмдэгтийн хүснэгт дүүргэгдсэн ч өөр хүснэгтийн зай сул байна. Энэ тохиолдолд overlay-г гараад удирдаж мэт өөр хүснэгтийн зайнаас өьч болно. Гэхдээ энэ нь тохиромжтой биш. Иймээс маш олон хамааралгүй хаягийн орон зай үүсгэнэ. Энэ орон зайг сегмент гэнэ. Сегментийн урт ямарч байж болно. Сегмент бүр өөр өөр урттай байж болно.  Мөн сегментийн урт программын явцад өөрчлөгдөж болно.
Сегмент логик элемент бөгөөд процедур, массив, стек, скляр хувьсагчийн цуваа агуулж болох ч 1 сегмент 1 л төрлийн өгөгдөл агуулна. Мөн процедур бүр тусдаа сегментэд байрлах тул компиляцлагдаж байгаа процедуруудыг холбоход хялбар болно. n сегментээс процедур дуудан 0 үгэнд хандахад (n,0) хаяг хэрэглэнэ. Хэрэв n сегмент дэх процедурыг өөрчлөн компиляц хийсэн ба бусад процедурт өөрчлөлт хийх шаардлагагүй. Нэг хэмжээст орон зайд процедурууд хойно хойноосоо байрлах ба завсар нь зай байхгүй. Иймээс нэг процедур өөрчлөгдөхөд бусад нь өөрчлөгдөх хэрэгтэй болно. Сегментчилэл ерөнхий процедур болон өгөгдлийг хэдэн программанд салгахад амар (хаягийг хэмнэнэ) болгосон. Сегмент бүр өөр төрлийн хамгаалалттай байж болно. Жишээ нь процелуртай сегментийг зөвхөн “гүйцэтгэх” гэж тодорхойлон унш/бич хорьж болно....
Хуудсан болон сегментэн санах ойн кохион байгуулалтыг харьцуулбал:
Сегмент үүсгэх Сегментийг 2 аргаар үүсгэж болно. 1.а. Зайг шахах (гадаад фрагментац) а) 5 сегмэнттэй б) 1-р сегментийг арилган хэмжээгээр бага 7-р сегментийг байранд нь оруулсан в) сегмент 4-г сегмент 5-р солисон г) сегмент 3-г сегмент 6-р солисон д) сегмент ба хоосон зайгаар нь (нүх) ялгасан
Гадаад фрагментац хийгдэж байхад (г) сегсент 3-т хандахад хэдийгээр нүх байгаа ч тус тусдаа байгаа ба хэмжээ нь бага тул сегмент 3-г байрлуулж болохгүй. Иймээс аль нэг сегментийг арилгана. Ийм байдлаас гарахын тулд нүх үүсэх бүрд 0 хаяг руу дараагийн сегментийг ойртуулах замаар шилжүүлнэ. 1.а.  Нүхний хэмжээ сегментүүдийн эзлэх хэмжээнээс их болтол нь хүлээгээд дараа нь нягтруулна. Санах ойг нягтруулах зорилго нь  бүх жижиг нүхнүүдийг нэг том нүх болгон сегмент байрлуулж болох зай гарган авах. Энэ аргын дутагдалтай тал нь хугацаа их шаардана. Нүх үүсэх бүрийн дараа нягтруулах нь ашиггүй.
Хэрэв нягтруулахад их хугаца шаардагдаж байвал тусгай алгоритм хэрэглэн аль нүхийг тухайн сегментийг байрлуулахад хэрэглэхэд тохиромжтойг илрүүлнэ. Үүний тулд бүх хаяг болон нүхний хэмжээтэй list хэрэг болно. Хамгийн түгээмэл хэрэглэгддэг алгоримт – оптималь хөөлт буюу хэрэгтэй сегмент багтах хамгийн бага нүхийг олох. Энэ алгоримтын зорилго нь сегмент байрлуулахын тулд том нүхийг хэсэгчилэн хуваахаас зайлсхийх.   Өөр нэг түгээмэл хэрэглэгддэг алгоритм нь бүх нүхний list-ийг шалган хэмжээгээрээ таарах нүхийг илрүүлэх. Энэ нь бүх list-ийг шалган оптималь нүх олохоос бага хугацаа зарцуулна. Мөн бүтээмж ч өндөртэй (оптималь хөөлт  хэрэглээгүй жижиг нүхнүүд ихийг үүсгэнэ). Дээрх 2 алгоримт хоёулаа нүхний “дундаж” хэмжээг багасгана.
Сегментийн хэмжээ нүхний хэмжээтэй таарах нь ховор тул нүхэнд сегмент байрлуулахад хэмжээ багатай шинэ нүх үүснэ. 2. Хуудсанд хуваах – сенмент бүрийг ижил хэмжээтэй  хуудсуудад хуваах. Энэ тохиолдолд сегментийн хагас нь санах ойд хагас нь дискэн дээр байрлаж болно. Сегментийг хуудсанд хуваахын тулд тусдаа хуудасны хүснэгт үүсгэнэ. MULTICS (multiplexed information and computing service) – сегментийг хуудсанд хуваах үйлдэлтэй үйлдлийн систем.
Хаяг нь 2 хэсгээс тогтоно: сегментийн хаяг, сегмент доторх хаяг.  Процесс бүрд сегментийн дескриптор буюу сегментийг заагч хэсэгтэй. Аппарат хангамжид виртуаль хаяг очиход сегментийн номер хэрэгтэй сегментийн дескрипторыг олох сегмент дескрипторын индекс болно. Дескриптор сегментийг хуудас болгон хуваасан хуудасны хүснэгт рүү заана. Бүтээмжийг нэмэгдүүлэхийн тулд сүүлийн хэрэглэсэн сегмент болон хуудасны комбинацийг 16 элементтэй ассоциатив санах ойд хадгална. MULTICS үйлдлийн систем хэрэглэгдэхээ болисон ч Intel386-гаас эхлэн энэ системтэй ижил болсон.
PentiumIV-ийн виртуаль санах ой PentiumIV нэлээн нүсэр виртуаль санах ойтой ба хуудас хүсэлтээр дуудах, сегмент үүсгэх, сегментийг хуудсанд хуваах үйлдлүүдтэй. Виртуаль санах ой нь 2 төрлийн хүснэгттэй: LDT (Local descriptor table) GDT (Clobal descriptor table) Программ бүр өөрийн local дескрипторын хүснэгттэй ба ганц global дескрипторын хүснэгт бүх программуудад хуваагдана. LDT программ бүрийн local сегментийг (код, өгөгдөл, стек г.м.), харин GDT системийн сегмент болон өгөгдлийн системийг тодорхойлно.
Сегментэд хандахын тулд сегментийн селекторыг сегментийн регистрүүдийн нэгэнд ачаална. Программ гүйцэтгэгдэж байхад CS регистр кодын сегментийн селекторийг,  DS өгөгдлийн сегментийн селекторыг агуулна. Селектор бүр 16 бит тоо байна.  Селекторын 1 бит нь сегмент local уу global уу гэдгийг буюу аль хүснэгтэд байгааг харуулна.  13 бит нь дескриторын хүснэгтэд байгаа элементийн номерийг тодорхойлно. Иймээс хүснэгтийн хэмжээ 8К (213)-аа хэтрэхгүй. Үлдсэн 2 бит нь хамгаалалттай холбоотой.
0 дескриптор хүчингүй ба trap-г дуудна. Үүнийг сегментийн регистрт ачаалан сегментийн регистрт хандах боломжгүй байгааг харуулна. Хэрэв 0 дескрипторыг ашиглах гэвэл trap-г дуудна. Сегментийн регистрт селектор ачаалагдахад харгалзах дескриптор дуудагдан санах ойг удирдах контроллерийн дотоод регистрт хадгалагдана.  Иймээс хандахад хялбар болно. Дескриптор 8 байтаас тогтох ба сегментийн баазын хаяг, хэмжээ болон бусад мэдээллүүдийг агуулна.
Селекторын форматыг дескрипторыг олоход амар байхаар хялбаршуулсан. Эхлээд бит 2-оор селектор доторх дескрипторын local хүснэгт LDT болон global хүснэгт GDT сонгоно. Дараа нь селекторыг  санах ойг удирдах контроллерийн түр регистрт хадгална. Бага 3 бит нь 0 болсны дүнд селекторын 13 бит утгыг 8-аар үржүүлнэ. Эцэст нь энэ үр дүн дээр дескрипторын local хүснэгтээс global хүснэгтээс  эсвэл хаяг нэмэгдэн дескриптор заагч бий болно. Жишээ нь селектор 72 GDT+72 хаягтай global хүснэгтийн 9 дэх элементэд хандахад:
Селектор, шилжилтээс физик хаягт хүрэх дараалал: Аппарат хангамж мегментийн аль регистр ашиглагдаж байгааг тодорхойлмогц дотоод регистрт харгалзах бүтэн дескрипторыг олж чадна. Хэрэв ийм сегмент байхгүй (0 селектор) эсвэл тухайн агшинд санах ойд байрлаагүй (P=0) бол системийн тасалдалт буюу trap дуудагдана.  Эхний тохиолдол – программчлалын алдаа, дараагийнх нь хэрэгтэй сегмент дуудахыг үйлдлийн системээс хүснэ. Дараа нь аппарат хангамж шилжилт сегментээс гарч байгаа эсэхийг шалгана. Хэрэв гарч байвал дахин trap дуудна. Дескриптор 32 бит сегментийн хэмжээ тодорхойлох талбартай  ч тэнд 20 бит л байх тул өөр схем хэрэглэх шаардлагатай болно. Хэрэв G(granularity) талбар 0 бол LIMIT талбар сегментийн хэмжээг (1Мбайт хүртэл) илэрхийлнэ.  Хэрэв G(granularity) талбар 1 бол LIMIT талбар сегментийн хэмжээг байтаар биш хуудсаар идэрхийлнэ.
PentiumIV-ийн хуудасны хэмжээ 4 Кбайт-аас бага байдаггүй тул 232 байт хүртэл сегментийг тодорхойлоход  20 бит хангалттай. Хэрэв сегмент санах ойд байгаа бөгөөд шилжилт нь сегментийн хязгаараас хэтрээгүй бол PentiumIV шилжилттэй дескрипторт 32 бит BASE талбар нэмж шугаман хаягийг гаргаж авна:  BASE талбар 3 хэсэгт хуваагдан дескрипторт тархан BASE талбар нь 24 бит байдаг 80286 процессорыг дэмжинэ. Иймээс сегмент бүр 32 бит хаягийн талбарын дурын байрлалаас эхэлж болно.
Хуудсанд хуваахыг блоклосон (global удирдлагын регистр дэх битээр тодорхойлогдоно) бол шугаман хаяг физик хаяг шиг интерпретацлагдан санах ой руу унш/бич үйлдэл хийхээр илгээгдэнэ. Хуудсанд хуваахыг блоклосон  үед сегмент үүсгэх схем буюу сегментийн BASE хаяг дескрипторт өгөгдсөн байна. Дескрипторуудын давхардалт байгаа эсэхийг шалгах нь хугацаа их шаардах тул дескриптор давхардахыг зөвшөөрнө. Нөгөө талаас хуудсанд хуваахыг зөвшөөрөхгүй бол шугаман хаяг виртуаль хаяг шиг интерпретацлагдан хүснэгт ашигласан физик хаягаар дүрслэгдэнэ. Энэ тохиолдолд  ганц хүндрэлтэй тал нь 32 бит виртуаль хаягтай 4К сегмент 1 сая хуудас багтааж чадна. Иймээс хуудасны хүснэгтийг багасгах үүднээс 2 шатлалтай дүрслэл хэрэглэнэ.
Ажиллаж буй программ бүр 1024 ш 32 бит элементээс тогтох хуудасны хүснэгттэй байна. Энэ хүснэгтийн хаяг global регистрээр тодорхойлогдоно. Хүснэгтийн элемент бүр хуудасны кадрыг заана. а)DIR, PAGE, OFF талбарт хуваагдсан шугаман хаяг б)
DIR талбар хуудасны директор дахь индекс болж хэрэглэгдэх буюу хэрэгтэй хуудасны хүснэгтийг заана. PAGE талбар хуудасны хүснэгт дэх индекс болох буюу хуудасны кадраас физик хаягийг олоход хэрэглэгдэнэ. OFF талбар хуудасны кадрын хаягт нэмэгдэн хэрэгтэй байт болон үгийн физик хаягийг үүсгэнэ. Хуудасны хүснэгтийн элемент бүрийн хэмжээ 32 бит ба үүнээс 20 бит нь хуудасны кадрын дугаар байна. Үлдсэн битүүд access бит, өөрчлөлтийн бит, хамгаалалтын бит г.м. байна. Хуудасны хүснэгт бүр 4К хэмжээтэй 1024 хуудасны кадрын элемент агуулах тул хуудасны хүснэгт 4М байт санах ойтой ажиллана. 4Мбайт-аас богино сегмент 1 элементтэй хуудасны директортой (1 хуудастай тул энэ хуудсыг л заах). Ийм маягаар богино хуудасны бүтээмж бууруулах саатал 2 хуудас л (нэг түвшинт схем шиг сая хуудас биш) л болно.

Más contenido relacionado

Más de Muuluu

Lecture 3
Lecture 3Lecture 3
Lecture 3Muuluu
 
Өгөгдлийн бүтэц
Өгөгдлийн бүтэцӨгөгдлийн бүтэц
Өгөгдлийн бүтэцMuuluu
 
Basic software
Basic software Basic software
Basic software Muuluu
 
Wide area networks
Wide area networksWide area networks
Wide area networksMuuluu
 
NAT and PAT
NAT and PATNAT and PAT
NAT and PATMuuluu
 
Spanning tree protocol
Spanning tree protocolSpanning tree protocol
Spanning tree protocolMuuluu
 
Firewall
FirewallFirewall
FirewallMuuluu
 
User practical
User practicalUser practical
User practicalMuuluu
 
Active directory
Active directoryActive directory
Active directoryMuuluu
 
Hardware
HardwareHardware
HardwareMuuluu
 
windows server 2003
 windows server 2003 windows server 2003
windows server 2003Muuluu
 
Процессорын архитектур
Процессорын архитектурПроцессорын архитектур
Процессорын архитектурMuuluu
 
6 network devices
6 network devices6 network devices
6 network devicesMuuluu
 
Бие даалт
Бие даалтБие даалт
Бие даалтMuuluu
 
Лекц 15
Лекц 15Лекц 15
Лекц 15Muuluu
 
Лекц 14
Лекц 14Лекц 14
Лекц 14Muuluu
 
Лекц 16
Лекц 16Лекц 16
Лекц 16Muuluu
 
Лекц 15
Лекц 15Лекц 15
Лекц 15Muuluu
 
Лекц 14
Лекц 14Лекц 14
Лекц 14Muuluu
 
Лекц 13
Лекц 13Лекц 13
Лекц 13Muuluu
 

Más de Muuluu (20)

Lecture 3
Lecture 3Lecture 3
Lecture 3
 
Өгөгдлийн бүтэц
Өгөгдлийн бүтэцӨгөгдлийн бүтэц
Өгөгдлийн бүтэц
 
Basic software
Basic software Basic software
Basic software
 
Wide area networks
Wide area networksWide area networks
Wide area networks
 
NAT and PAT
NAT and PATNAT and PAT
NAT and PAT
 
Spanning tree protocol
Spanning tree protocolSpanning tree protocol
Spanning tree protocol
 
Firewall
FirewallFirewall
Firewall
 
User practical
User practicalUser practical
User practical
 
Active directory
Active directoryActive directory
Active directory
 
Hardware
HardwareHardware
Hardware
 
windows server 2003
 windows server 2003 windows server 2003
windows server 2003
 
Процессорын архитектур
Процессорын архитектурПроцессорын архитектур
Процессорын архитектур
 
6 network devices
6 network devices6 network devices
6 network devices
 
Бие даалт
Бие даалтБие даалт
Бие даалт
 
Лекц 15
Лекц 15Лекц 15
Лекц 15
 
Лекц 14
Лекц 14Лекц 14
Лекц 14
 
Лекц 16
Лекц 16Лекц 16
Лекц 16
 
Лекц 15
Лекц 15Лекц 15
Лекц 15
 
Лекц 14
Лекц 14Лекц 14
Лекц 14
 
Лекц 13
Лекц 13Лекц 13
Лекц 13
 

Lecture5

  • 1. Системийн бүрэлдэхүүн хэсгүүд, үйлчилгээнүүд Лекц 5
  • 2.
  • 4. Бүхэл тоон тогтмол ба хөвөгч цэгтэй тогтмол агуулсан хүснэгт
  • 6. Компилятор потор процедур дуудах стекЭхний 4 нь компиляцийн явцад өснө. 5 дахь нь таах аргагүйгээр ихсэж багасна.
  • 7. Программ маш их хувьсагч агуулсан гэе. Тэмдэгтийн хүснэгт дүүргэгдсэн ч өөр хүснэгтийн зай сул байна. Энэ тохиолдолд overlay-г гараад удирдаж мэт өөр хүснэгтийн зайнаас өьч болно. Гэхдээ энэ нь тохиромжтой биш. Иймээс маш олон хамааралгүй хаягийн орон зай үүсгэнэ. Энэ орон зайг сегмент гэнэ. Сегментийн урт ямарч байж болно. Сегмент бүр өөр өөр урттай байж болно. Мөн сегментийн урт программын явцад өөрчлөгдөж болно.
  • 8. Сегмент логик элемент бөгөөд процедур, массив, стек, скляр хувьсагчийн цуваа агуулж болох ч 1 сегмент 1 л төрлийн өгөгдөл агуулна. Мөн процедур бүр тусдаа сегментэд байрлах тул компиляцлагдаж байгаа процедуруудыг холбоход хялбар болно. n сегментээс процедур дуудан 0 үгэнд хандахад (n,0) хаяг хэрэглэнэ. Хэрэв n сегмент дэх процедурыг өөрчлөн компиляц хийсэн ба бусад процедурт өөрчлөлт хийх шаардлагагүй. Нэг хэмжээст орон зайд процедурууд хойно хойноосоо байрлах ба завсар нь зай байхгүй. Иймээс нэг процедур өөрчлөгдөхөд бусад нь өөрчлөгдөх хэрэгтэй болно. Сегментчилэл ерөнхий процедур болон өгөгдлийг хэдэн программанд салгахад амар (хаягийг хэмнэнэ) болгосон. Сегмент бүр өөр төрлийн хамгаалалттай байж болно. Жишээ нь процелуртай сегментийг зөвхөн “гүйцэтгэх” гэж тодорхойлон унш/бич хорьж болно....
  • 9. Хуудсан болон сегментэн санах ойн кохион байгуулалтыг харьцуулбал:
  • 10. Сегмент үүсгэх Сегментийг 2 аргаар үүсгэж болно. 1.а. Зайг шахах (гадаад фрагментац) а) 5 сегмэнттэй б) 1-р сегментийг арилган хэмжээгээр бага 7-р сегментийг байранд нь оруулсан в) сегмент 4-г сегмент 5-р солисон г) сегмент 3-г сегмент 6-р солисон д) сегмент ба хоосон зайгаар нь (нүх) ялгасан
  • 11. Гадаад фрагментац хийгдэж байхад (г) сегсент 3-т хандахад хэдийгээр нүх байгаа ч тус тусдаа байгаа ба хэмжээ нь бага тул сегмент 3-г байрлуулж болохгүй. Иймээс аль нэг сегментийг арилгана. Ийм байдлаас гарахын тулд нүх үүсэх бүрд 0 хаяг руу дараагийн сегментийг ойртуулах замаар шилжүүлнэ. 1.а. Нүхний хэмжээ сегментүүдийн эзлэх хэмжээнээс их болтол нь хүлээгээд дараа нь нягтруулна. Санах ойг нягтруулах зорилго нь бүх жижиг нүхнүүдийг нэг том нүх болгон сегмент байрлуулж болох зай гарган авах. Энэ аргын дутагдалтай тал нь хугацаа их шаардана. Нүх үүсэх бүрийн дараа нягтруулах нь ашиггүй.
  • 12. Хэрэв нягтруулахад их хугаца шаардагдаж байвал тусгай алгоритм хэрэглэн аль нүхийг тухайн сегментийг байрлуулахад хэрэглэхэд тохиромжтойг илрүүлнэ. Үүний тулд бүх хаяг болон нүхний хэмжээтэй list хэрэг болно. Хамгийн түгээмэл хэрэглэгддэг алгоримт – оптималь хөөлт буюу хэрэгтэй сегмент багтах хамгийн бага нүхийг олох. Энэ алгоримтын зорилго нь сегмент байрлуулахын тулд том нүхийг хэсэгчилэн хуваахаас зайлсхийх. Өөр нэг түгээмэл хэрэглэгддэг алгоритм нь бүх нүхний list-ийг шалган хэмжээгээрээ таарах нүхийг илрүүлэх. Энэ нь бүх list-ийг шалган оптималь нүх олохоос бага хугацаа зарцуулна. Мөн бүтээмж ч өндөртэй (оптималь хөөлт хэрэглээгүй жижиг нүхнүүд ихийг үүсгэнэ). Дээрх 2 алгоримт хоёулаа нүхний “дундаж” хэмжээг багасгана.
  • 13. Сегментийн хэмжээ нүхний хэмжээтэй таарах нь ховор тул нүхэнд сегмент байрлуулахад хэмжээ багатай шинэ нүх үүснэ. 2. Хуудсанд хуваах – сенмент бүрийг ижил хэмжээтэй хуудсуудад хуваах. Энэ тохиолдолд сегментийн хагас нь санах ойд хагас нь дискэн дээр байрлаж болно. Сегментийг хуудсанд хуваахын тулд тусдаа хуудасны хүснэгт үүсгэнэ. MULTICS (multiplexed information and computing service) – сегментийг хуудсанд хуваах үйлдэлтэй үйлдлийн систем.
  • 14. Хаяг нь 2 хэсгээс тогтоно: сегментийн хаяг, сегмент доторх хаяг. Процесс бүрд сегментийн дескриптор буюу сегментийг заагч хэсэгтэй. Аппарат хангамжид виртуаль хаяг очиход сегментийн номер хэрэгтэй сегментийн дескрипторыг олох сегмент дескрипторын индекс болно. Дескриптор сегментийг хуудас болгон хуваасан хуудасны хүснэгт рүү заана. Бүтээмжийг нэмэгдүүлэхийн тулд сүүлийн хэрэглэсэн сегмент болон хуудасны комбинацийг 16 элементтэй ассоциатив санах ойд хадгална. MULTICS үйлдлийн систем хэрэглэгдэхээ болисон ч Intel386-гаас эхлэн энэ системтэй ижил болсон.
  • 15. PentiumIV-ийн виртуаль санах ой PentiumIV нэлээн нүсэр виртуаль санах ойтой ба хуудас хүсэлтээр дуудах, сегмент үүсгэх, сегментийг хуудсанд хуваах үйлдлүүдтэй. Виртуаль санах ой нь 2 төрлийн хүснэгттэй: LDT (Local descriptor table) GDT (Clobal descriptor table) Программ бүр өөрийн local дескрипторын хүснэгттэй ба ганц global дескрипторын хүснэгт бүх программуудад хуваагдана. LDT программ бүрийн local сегментийг (код, өгөгдөл, стек г.м.), харин GDT системийн сегмент болон өгөгдлийн системийг тодорхойлно.
  • 16. Сегментэд хандахын тулд сегментийн селекторыг сегментийн регистрүүдийн нэгэнд ачаална. Программ гүйцэтгэгдэж байхад CS регистр кодын сегментийн селекторийг, DS өгөгдлийн сегментийн селекторыг агуулна. Селектор бүр 16 бит тоо байна. Селекторын 1 бит нь сегмент local уу global уу гэдгийг буюу аль хүснэгтэд байгааг харуулна. 13 бит нь дескриторын хүснэгтэд байгаа элементийн номерийг тодорхойлно. Иймээс хүснэгтийн хэмжээ 8К (213)-аа хэтрэхгүй. Үлдсэн 2 бит нь хамгаалалттай холбоотой.
  • 17. 0 дескриптор хүчингүй ба trap-г дуудна. Үүнийг сегментийн регистрт ачаалан сегментийн регистрт хандах боломжгүй байгааг харуулна. Хэрэв 0 дескрипторыг ашиглах гэвэл trap-г дуудна. Сегментийн регистрт селектор ачаалагдахад харгалзах дескриптор дуудагдан санах ойг удирдах контроллерийн дотоод регистрт хадгалагдана. Иймээс хандахад хялбар болно. Дескриптор 8 байтаас тогтох ба сегментийн баазын хаяг, хэмжээ болон бусад мэдээллүүдийг агуулна.
  • 18. Селекторын форматыг дескрипторыг олоход амар байхаар хялбаршуулсан. Эхлээд бит 2-оор селектор доторх дескрипторын local хүснэгт LDT болон global хүснэгт GDT сонгоно. Дараа нь селекторыг санах ойг удирдах контроллерийн түр регистрт хадгална. Бага 3 бит нь 0 болсны дүнд селекторын 13 бит утгыг 8-аар үржүүлнэ. Эцэст нь энэ үр дүн дээр дескрипторын local хүснэгтээс global хүснэгтээс эсвэл хаяг нэмэгдэн дескриптор заагч бий болно. Жишээ нь селектор 72 GDT+72 хаягтай global хүснэгтийн 9 дэх элементэд хандахад:
  • 19. Селектор, шилжилтээс физик хаягт хүрэх дараалал: Аппарат хангамж мегментийн аль регистр ашиглагдаж байгааг тодорхойлмогц дотоод регистрт харгалзах бүтэн дескрипторыг олж чадна. Хэрэв ийм сегмент байхгүй (0 селектор) эсвэл тухайн агшинд санах ойд байрлаагүй (P=0) бол системийн тасалдалт буюу trap дуудагдана. Эхний тохиолдол – программчлалын алдаа, дараагийнх нь хэрэгтэй сегмент дуудахыг үйлдлийн системээс хүснэ. Дараа нь аппарат хангамж шилжилт сегментээс гарч байгаа эсэхийг шалгана. Хэрэв гарч байвал дахин trap дуудна. Дескриптор 32 бит сегментийн хэмжээ тодорхойлох талбартай ч тэнд 20 бит л байх тул өөр схем хэрэглэх шаардлагатай болно. Хэрэв G(granularity) талбар 0 бол LIMIT талбар сегментийн хэмжээг (1Мбайт хүртэл) илэрхийлнэ. Хэрэв G(granularity) талбар 1 бол LIMIT талбар сегментийн хэмжээг байтаар биш хуудсаар идэрхийлнэ.
  • 20. PentiumIV-ийн хуудасны хэмжээ 4 Кбайт-аас бага байдаггүй тул 232 байт хүртэл сегментийг тодорхойлоход 20 бит хангалттай. Хэрэв сегмент санах ойд байгаа бөгөөд шилжилт нь сегментийн хязгаараас хэтрээгүй бол PentiumIV шилжилттэй дескрипторт 32 бит BASE талбар нэмж шугаман хаягийг гаргаж авна: BASE талбар 3 хэсэгт хуваагдан дескрипторт тархан BASE талбар нь 24 бит байдаг 80286 процессорыг дэмжинэ. Иймээс сегмент бүр 32 бит хаягийн талбарын дурын байрлалаас эхэлж болно.
  • 21. Хуудсанд хуваахыг блоклосон (global удирдлагын регистр дэх битээр тодорхойлогдоно) бол шугаман хаяг физик хаяг шиг интерпретацлагдан санах ой руу унш/бич үйлдэл хийхээр илгээгдэнэ. Хуудсанд хуваахыг блоклосон үед сегмент үүсгэх схем буюу сегментийн BASE хаяг дескрипторт өгөгдсөн байна. Дескрипторуудын давхардалт байгаа эсэхийг шалгах нь хугацаа их шаардах тул дескриптор давхардахыг зөвшөөрнө. Нөгөө талаас хуудсанд хуваахыг зөвшөөрөхгүй бол шугаман хаяг виртуаль хаяг шиг интерпретацлагдан хүснэгт ашигласан физик хаягаар дүрслэгдэнэ. Энэ тохиолдолд ганц хүндрэлтэй тал нь 32 бит виртуаль хаягтай 4К сегмент 1 сая хуудас багтааж чадна. Иймээс хуудасны хүснэгтийг багасгах үүднээс 2 шатлалтай дүрслэл хэрэглэнэ.
  • 22. Ажиллаж буй программ бүр 1024 ш 32 бит элементээс тогтох хуудасны хүснэгттэй байна. Энэ хүснэгтийн хаяг global регистрээр тодорхойлогдоно. Хүснэгтийн элемент бүр хуудасны кадрыг заана. а)DIR, PAGE, OFF талбарт хуваагдсан шугаман хаяг б)
  • 23. DIR талбар хуудасны директор дахь индекс болж хэрэглэгдэх буюу хэрэгтэй хуудасны хүснэгтийг заана. PAGE талбар хуудасны хүснэгт дэх индекс болох буюу хуудасны кадраас физик хаягийг олоход хэрэглэгдэнэ. OFF талбар хуудасны кадрын хаягт нэмэгдэн хэрэгтэй байт болон үгийн физик хаягийг үүсгэнэ. Хуудасны хүснэгтийн элемент бүрийн хэмжээ 32 бит ба үүнээс 20 бит нь хуудасны кадрын дугаар байна. Үлдсэн битүүд access бит, өөрчлөлтийн бит, хамгаалалтын бит г.м. байна. Хуудасны хүснэгт бүр 4К хэмжээтэй 1024 хуудасны кадрын элемент агуулах тул хуудасны хүснэгт 4М байт санах ойтой ажиллана. 4Мбайт-аас богино сегмент 1 элементтэй хуудасны директортой (1 хуудастай тул энэ хуудсыг л заах). Ийм маягаар богино хуудасны бүтээмж бууруулах саатал 2 хуудас л (нэг түвшинт схем шиг сая хуудас биш) л болно.
  • 24. Санах ойд дахин хандахгүйн тулд PentiumIV-ийн санах ойг удирдах төхөөрөмж сүүлд хэрэглэгдсэн DIR-PAGE комбинацийг илрүүлж тэдгээрийн физик хаягийг харгалзах хуудасны кадрт дүрслэх аппарат хангамжтай. Хуудсанд хуваах үед дескрипторт BASE талбарын утга 0 байж болно. BASE талбар хэрэглэж байгаа шалтгаан нь бага зэрэг шилжилт үүсгэн хуудасны директорын гол дахь элементүүдийг ашиглах. Цэвэр сегментчилэл үүсгэхийн тулд болон 80286-г дэмждэг байлгах гэж л BASE талбарыг дескрипторт байрлуулна. Ямар нэгэн хэрэглээнд сеегмент үүсгэх шаардлага байхгүй хуудасны зохион байгуулалттай 32 бит хаяг хангалттай бол хаялбархан үүсгэж болно. Бүх сегментийн регистрийг дескриптор дахь BASE талбарын утга нь 0 байх 1 ижил селектороор дүүргэн LIMIT талбарт хасгийн их утгыг өгнө. Командын шилжилт 1 хаягийн талбартай шугаман байх ёстой буюу уламжлалт хуудсан хуваалт байна.
  • 25. PentiumIV хамгаалалтын 4 түвшинтэй: 0 түвшин – хамгийн их дээд, 3- нь хамгийн доод. Момент бүрд ажиллаж багаа программ хамгаалалтын аль нэг түвшинд байх ба энэ түвшинг аппарат хангамжийн регистр дэх 2 бит PSW(program status word) тодорхойлно. Энэ бит нөхцлийн код болон төлөвийн бит агуулна. Түүнээс гадна сегсент бүр системд тодорхой түвшинд байрлана.
  • 26. Программ өөрийнхөө түвшний сегмент ашиглаж байхад бүх зүйл хэвийн байна. Мөн дээд түвшинд хандахыг ч зөвшөөрнө. Харин доод түвшинд хандахыг хориглоно. Энэ тохиолдолд системийн тасалдалт trap үүснэ. Дээд болон доод түвшний процедур дуудах боломжтой ч энэ үед маш хатуу хяналт хэрэгтэй. Өөр түвшнээс процедур дуудахад CALL команд хаягийн оронд селектор агуулах ёстой. Энэ селектор хэрэгтэй процедурын хаягийг өгөх дискрипторыг заана. Ийм маягаар дурын сегментийн гол руу өөр түвшингөөс шилжихгүй. Зөвхөн зөвшөөрөгдсөн оролтыг л ашиглана. 0 түвшин буюу үйлдлийн системийн цөм оролт-гаралтын процесс болон санах ойн ажиллагааг удирдана. 1 түвшинд системийн дуудалт байрлана. Хэрэглэгчийн программ энэ түвшингөөс хатуу тогтоогдсон процедурыг л дуудаж болно.
  • 27. 2 түвшин библиотекийн процедур агуулах ба энэ процедуруудыг хэд хэдэн программ зэрэг ашиглаж болно. Хэрэглэгчийн программ эдгээр процедурыг дуудаж болох ч өөрчлөлт хийхгүй. 3 түвшинд хэрэглэгчийн программ ажиллах ба хамгаалалтын зэрэг хамгийн багатай. PentiumIV-ийн хамгаалалтын схем MULTICS системийн санааг хадгалсан. Trap болон тасалдалт дескрипторт хандах ч абсолют хаяганд хандахгүй. Энэ дескрипторууд гүйцэтгэх шаардлагатай процедурыг заана. FIELD талбар кодын сегмент, өгөгдлийн сегмент болон логик элементүүдийг ялгах зориулалттай.