SlideShare une entreprise Scribd logo
1  sur  15
Үйлдлийн системийн төрөл, оролт гаралтын бүтэц Лекц 3
Үйлдлийн системийн түвшин Үйлдлийн систем – командын түвшинд нэмэлт команд болон онцлог үйлдэл үүсгэх программ. Үйлдлийн системийн түвшний команд – хэрэглээний программист хандах боломжтой командуудын багц Доод түвшнүүдийнхээ командуудыг агуулахаас гадна шинэ командуудтай. Энэ шинэ командуудыг системийн дуудалт (systemcall) гэнэ. Үйлдлийн системийн түвшин интерпретацлагдана.
Виртуаль санах ой Гүйцэтгэх программ санах ойгоос их хэмжээтэй бол overlay гэж нэрлэгдэх арга хэрэглэдэг байсан. Энэ аргыг программист удирддаг байсан. 1961 онд автоматаар нэмэх арга буюу виртуаль санах ой хэрэглэх арга гарч ирсэн.
Санах ойн хуудсан зохион байгуулалт 4096 санах ойн үгтэй, 16 бит командын хаягийн талбартай компьютер 65536 (216=65536) санах ойн үгэнд хандана. Виртуаль санах ой гарахаас өмнө санах ойн талбар ба санах ойн хаяг ялгаатай биш байсан. Дурын агшинд 0-4095 үгэнд хандаж болох ч энэ үгнүүд санах ойн 0-4095 хаягт харгалзах албагүй.
8192-12287 хаягт хандахад: 4096-8191 дэх үгнүүд дискэнд хадгалагдана. 8192-12287 үгнүүд үндсэн санах ойд хадгалагдана. Хаягийн байрлал өөрчлөгдөнө: одоо 8192-12287 дахь хаяг 0-4095 хаягтай санах ойн cell-д харгалзана. Программ үргэлжлэн гүйцэтгэгдэнэ. Ингэж автоматаар нэмэхийг хуудсан зохион байгуулалт гэх ба дискнээс уншигдаж байгаа хэсгийг хуудас гэнэ. Өөр нэг арга: программ хандаж болох хаягийг виртуаль хаяг гэж нэрлээд санах ойн бодит хаягийг физик хаяг гэж нэрлэх. Санах ой ба хуудасны хүснэгтийг тусгаарлах нь виртуаль хаяг ба физик хаягийг салгахтай харгалзана. Энэ тохиолдолд дискэн дээр виртуаль хаягийг багтаах хангалттай зай бий гэж үзнэ.
Санах ойн хуудас  үүсгэх Виртуаль санах ойд программ болон өгөгдөл хадгалах диск хэрэгтэй. Виртуаль санах ойг 512÷64Кбайт хүртэл ижил хэмжээтэй хуудсуудад хуваана. Заримдаа 4Мбайт ч байна. а) 64К      хуудас – 4К б) 32К      хуудас – 4К
32бит виртуаль хаяг -> физик хаяг MMU (memory  management unit) ,[object Object],дээр эсвэл хажууд нь  байрлана.
- 32 бит хаягийг 20 бит виртуаль хуудасны хаяг, 12 бит хуудас доторх шилжилтэд (хуудас олох индекс) хуваана. ,[object Object]
Сонгосон элементээс мөрний кадрын утгыг авч 15бит гаралтын регистрийн ахлах 3 битэд хуулна.
Дээрхтэй параллелиар виртуал хаягийн бага 12 бит нь гаралтын регистрийн бага 12 битэд хуулагдана.
Үүссэн 15бит хаягийг кэш эсвэл үндсэн санах ойд илгээнэ.,[object Object]
Хуудас дуудах ба ажлын олонлог Үндсэн санах ойд виртуаль хуудас байхгүй үед энэ хуудсыг дуудахад алдаа гарна. Ийм алдаа гарахад үйлдлийн систем дискнээс хуудсыг уншиж хуудасны хүснэгтэд шинэ физик хаяг нэмээд командыг давтана. Виртуаль санах ойтой машин программын нэг ч хэсэг нь үндсэн санах ойд байхгүй байхад уг программыг ачаалж чадна. Энэ тохиолдолд хуудасны хүснэгт бүх виртуаль хуудас туслах санах ойд байгаа гэдгийг заах ёстой. Төв процессор эхний командыг дуудах гэж оролдоод хуудас байхгүй гэсэн алдааны хариуг авахад эхний командыг агуулсан хуудас санах ойп ачаалагдан хүснэгтэд бичигдэнэ. Үүний дараа эхний команд гүйцэтгэгдэнэ. Хэрэв эхний команд 2 хаяг агуулаад энэ 2 хаяг нь командтай хуудсанд байхгүй ба өөр өөр хуудсанд байгаа бол хаягтай 2 хуудас команд гүйцэтгэгдэж дуусахаас өмнө үндсэн санах ойд ачаалагдана.
Дараагийн команд ахин нэлээн хэдэн алдаа үүсгэж болно. Виртуаль санах ойтой ингэж ажиллахыг хүсэлтээр дуудах гэнэ. Арай өөрөөр хандах арга бас бий. Хугацааны t момент бүрд сүүлийн k удаа ашиглагдсан хуудастай багц байна. Энэ багцыг ажлын олонлог гэнэ. Ажлын олонлог маш удаан өөрчлөгдөх тул дараагийн программ ачаалахахд ямар хуудаснууд ачаалагдахыг урьдчилан тааварлаж болно. Иймээс урьдаас хуудсуудыг ачаална.
Хуудас өөрчлөх Ажлын олонлогийг урьдчилан санах ойд хадгалсан ч программист ямар хуудас санах ойд байгааг мэдэхгүй. Иймээс үйлдлийн систем дахин дахин энэ олонлогийг харуулж байх хэрэгтэй болно. Программ санах ойд байхгүй хуудаст хандахад дискнээс дуудна. Гэхдээ энэ хуудсыг ачаалахын тулд өөр нэг хуудсыг буцаана. Иймээс аль хуудсыг буцаахыг тодорхойлох алгоритм хэрэгтэй болно. Хамгийн эхэнд хэрэглэгдсэн хуудаснуудыг нэг нэгээр нь буцаана. Энэ алгоритмыг LRU (least recently used) гэнэ.  Энэ алгоритмын ажиллагаанд заримдаа алдаа гарна. Жишээ нь 9 хуудас циклтэй программыг ажиллуулахад 8 хуудас л үндсэн санах ойд байрлах боломжтой байг.
7-р хуудасдуудагдахад 0-7 хуудаснууд санах ойд хуулагдсан байна. 8-р виртуаль хуудас дуудагдахад 0-р хуудсыг хамгийн эхэнд хэрэглэгдсэн болохоор устган 8-р хуудсыг хуулна. 8-р хуудаснаас команд гүйцэтгэсний дараа циклийн эхэнд (0 хуудас) очих бол энэ алхам алдаа заана. LRU алгоритмаар 1-р хуудсыг арилган 0 хуудсыг дахин бичнэ. Хэсэг хугацааны дараа 1-р хуудсанд дахин хандахад ахиад л алдаа заана.... LRU алгоритм энэ тохиолдолд таарахгүй тул FIFO (first-in first-out) алгоримт хэрэглэнэ. Энэ алгоримт хуудасны кадртай холбоотой тоолууртай ба тоолуур эхлээд 0 байна. Хуудас байхгүй алдаа гарахад тоолуурын утга 1-ээр нэмэгдэн дуудагдсан хуудас 0 дугаартай болно. Хуудас арилгахдаа хамгийн их дугаартайгаас арилгана.

Contenu connexe

Plus de Muuluu

Lecture 2
Lecture 2Lecture 2
Lecture 2Muuluu
 
Lecture 5
Lecture 5Lecture 5
Lecture 5Muuluu
 
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
 

Plus de Muuluu (20)

Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Lecture 5
Lecture 5Lecture 5
Lecture 5
 
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
 

Lecture3

  • 1. Үйлдлийн системийн төрөл, оролт гаралтын бүтэц Лекц 3
  • 2. Үйлдлийн системийн түвшин Үйлдлийн систем – командын түвшинд нэмэлт команд болон онцлог үйлдэл үүсгэх программ. Үйлдлийн системийн түвшний команд – хэрэглээний программист хандах боломжтой командуудын багц Доод түвшнүүдийнхээ командуудыг агуулахаас гадна шинэ командуудтай. Энэ шинэ командуудыг системийн дуудалт (systemcall) гэнэ. Үйлдлийн системийн түвшин интерпретацлагдана.
  • 3. Виртуаль санах ой Гүйцэтгэх программ санах ойгоос их хэмжээтэй бол overlay гэж нэрлэгдэх арга хэрэглэдэг байсан. Энэ аргыг программист удирддаг байсан. 1961 онд автоматаар нэмэх арга буюу виртуаль санах ой хэрэглэх арга гарч ирсэн.
  • 4. Санах ойн хуудсан зохион байгуулалт 4096 санах ойн үгтэй, 16 бит командын хаягийн талбартай компьютер 65536 (216=65536) санах ойн үгэнд хандана. Виртуаль санах ой гарахаас өмнө санах ойн талбар ба санах ойн хаяг ялгаатай биш байсан. Дурын агшинд 0-4095 үгэнд хандаж болох ч энэ үгнүүд санах ойн 0-4095 хаягт харгалзах албагүй.
  • 5. 8192-12287 хаягт хандахад: 4096-8191 дэх үгнүүд дискэнд хадгалагдана. 8192-12287 үгнүүд үндсэн санах ойд хадгалагдана. Хаягийн байрлал өөрчлөгдөнө: одоо 8192-12287 дахь хаяг 0-4095 хаягтай санах ойн cell-д харгалзана. Программ үргэлжлэн гүйцэтгэгдэнэ. Ингэж автоматаар нэмэхийг хуудсан зохион байгуулалт гэх ба дискнээс уншигдаж байгаа хэсгийг хуудас гэнэ. Өөр нэг арга: программ хандаж болох хаягийг виртуаль хаяг гэж нэрлээд санах ойн бодит хаягийг физик хаяг гэж нэрлэх. Санах ой ба хуудасны хүснэгтийг тусгаарлах нь виртуаль хаяг ба физик хаягийг салгахтай харгалзана. Энэ тохиолдолд дискэн дээр виртуаль хаягийг багтаах хангалттай зай бий гэж үзнэ.
  • 6. Санах ойн хуудас үүсгэх Виртуаль санах ойд программ болон өгөгдөл хадгалах диск хэрэгтэй. Виртуаль санах ойг 512÷64Кбайт хүртэл ижил хэмжээтэй хуудсуудад хуваана. Заримдаа 4Мбайт ч байна. а) 64К хуудас – 4К б) 32К хуудас – 4К
  • 7.
  • 8.
  • 9. Сонгосон элементээс мөрний кадрын утгыг авч 15бит гаралтын регистрийн ахлах 3 битэд хуулна.
  • 10. Дээрхтэй параллелиар виртуал хаягийн бага 12 бит нь гаралтын регистрийн бага 12 битэд хуулагдана.
  • 11.
  • 12. Хуудас дуудах ба ажлын олонлог Үндсэн санах ойд виртуаль хуудас байхгүй үед энэ хуудсыг дуудахад алдаа гарна. Ийм алдаа гарахад үйлдлийн систем дискнээс хуудсыг уншиж хуудасны хүснэгтэд шинэ физик хаяг нэмээд командыг давтана. Виртуаль санах ойтой машин программын нэг ч хэсэг нь үндсэн санах ойд байхгүй байхад уг программыг ачаалж чадна. Энэ тохиолдолд хуудасны хүснэгт бүх виртуаль хуудас туслах санах ойд байгаа гэдгийг заах ёстой. Төв процессор эхний командыг дуудах гэж оролдоод хуудас байхгүй гэсэн алдааны хариуг авахад эхний командыг агуулсан хуудас санах ойп ачаалагдан хүснэгтэд бичигдэнэ. Үүний дараа эхний команд гүйцэтгэгдэнэ. Хэрэв эхний команд 2 хаяг агуулаад энэ 2 хаяг нь командтай хуудсанд байхгүй ба өөр өөр хуудсанд байгаа бол хаягтай 2 хуудас команд гүйцэтгэгдэж дуусахаас өмнө үндсэн санах ойд ачаалагдана.
  • 13. Дараагийн команд ахин нэлээн хэдэн алдаа үүсгэж болно. Виртуаль санах ойтой ингэж ажиллахыг хүсэлтээр дуудах гэнэ. Арай өөрөөр хандах арга бас бий. Хугацааны t момент бүрд сүүлийн k удаа ашиглагдсан хуудастай багц байна. Энэ багцыг ажлын олонлог гэнэ. Ажлын олонлог маш удаан өөрчлөгдөх тул дараагийн программ ачаалахахд ямар хуудаснууд ачаалагдахыг урьдчилан тааварлаж болно. Иймээс урьдаас хуудсуудыг ачаална.
  • 14. Хуудас өөрчлөх Ажлын олонлогийг урьдчилан санах ойд хадгалсан ч программист ямар хуудас санах ойд байгааг мэдэхгүй. Иймээс үйлдлийн систем дахин дахин энэ олонлогийг харуулж байх хэрэгтэй болно. Программ санах ойд байхгүй хуудаст хандахад дискнээс дуудна. Гэхдээ энэ хуудсыг ачаалахын тулд өөр нэг хуудсыг буцаана. Иймээс аль хуудсыг буцаахыг тодорхойлох алгоритм хэрэгтэй болно. Хамгийн эхэнд хэрэглэгдсэн хуудаснуудыг нэг нэгээр нь буцаана. Энэ алгоритмыг LRU (least recently used) гэнэ. Энэ алгоритмын ажиллагаанд заримдаа алдаа гарна. Жишээ нь 9 хуудас циклтэй программыг ажиллуулахад 8 хуудас л үндсэн санах ойд байрлах боломжтой байг.
  • 15. 7-р хуудасдуудагдахад 0-7 хуудаснууд санах ойд хуулагдсан байна. 8-р виртуаль хуудас дуудагдахад 0-р хуудсыг хамгийн эхэнд хэрэглэгдсэн болохоор устган 8-р хуудсыг хуулна. 8-р хуудаснаас команд гүйцэтгэсний дараа циклийн эхэнд (0 хуудас) очих бол энэ алхам алдаа заана. LRU алгоритмаар 1-р хуудсыг арилган 0 хуудсыг дахин бичнэ. Хэсэг хугацааны дараа 1-р хуудсанд дахин хандахад ахиад л алдаа заана.... LRU алгоритм энэ тохиолдолд таарахгүй тул FIFO (first-in first-out) алгоримт хэрэглэнэ. Энэ алгоримт хуудасны кадртай холбоотой тоолууртай ба тоолуур эхлээд 0 байна. Хуудас байхгүй алдаа гарахад тоолуурын утга 1-ээр нэмэгдэн дуудагдсан хуудас 0 дугаартай болно. Хуудас арилгахдаа хамгийн их дугаартайгаас арилгана.
  • 16. Хуудасны хэмжээ ба фрагментчилах Хэрэв программ ба өгөгдөл ижил бүхэл тоон хуудас дүүргэх бол санах ойд ачаалагдсаны дараа сул зай үлдэхгүй. Харин ижил бүхэл тоон хуудас дүүргэхгүй бол ашиглагдаагүй зай үлдэнэ. Жишээ нь: Программ ба өгөгдөл 4096 байт хуудастай машин дээр 26000 байт зай эзлэх бол эхний 6 хуупас дүүрэхэд 6×4096байт болно. 7-р хуудас 2600-24576=1424 байт ачаалагдаж 2672 байт сул үлдэнэ. Санах ойд 7-р хуудас ачаалагдсан байхад энэ сул байт ачаалагдсан байх ч ямар ч функц гүйцэтгэхгүй. Энэ проблемийг дотоод фрагментац гэнэ. Хэрэв хуудасны хэмжээ n байт, сул байт ачаалагдсан зай n/2 бол бага хэмжээтэй хуудас хэрэглэх шаардлага гарна. Нөгөө талаа бага хэмжээтэй хуудас ашиглахад хуудасны тоо олон байх хэрэгтэй болж хуудасны хүснэгт томорно.
  • 17. Хуудасны хүснэгт аппарат хангамжид байрлах бол их олон тооны регистр шаардлагатай болно. Мөн ачаалах болон зогсооход хугацаа их шаардана. Мөн жижиг хуудас дискний нэвтрүүлэх чадварыг багасгана. Дискнээс мэдээлэл дамжуулахад 10мс хүлээх шаардлагатай тул (search+seek) мэдээллийг их хэмжээгээр дамжуулах нь ашигтай. Гэхдээ жижиг хуудас өөрийн давуу талтай. Ажлын олонлог хол хол байрлах виртуаль санах ойн жижиг мужуудаас тогтох бол thrashing гарахгүй.