Jump to content

Хэрэглэгчийн яриа:Khaliu7n

Page contents not supported in other languages.
Сэдэв нэмэх
Википедиа — Чөлөөт нэвтэрхий толь

Системийг эхлүүлэгч

[кодоор засварлах]

Удирдлагын систем нь техник хангамжийг бий болгодог. Бас кернел нь( үйлдлийн системийн цохилох зүрх кернел нь тоног төхөөрөмжийг программистын удирдлагаар системийг унтрааж асаадаг) программ хангамж техник хангамжийн хооронд гүүр болдог. Boot (компьютерийн эхлүүлдэг программыг уншиж дуусны дараа ажилддаг) систем нь керенелийг уншиж дуусны дараа дэд системийг эхлүүлдэг. Ихэнх компьютерийн системд Bootstrap, Bootstrap loader программ (bootstrap буюу эхлүүлэгч (эхлүүлэлт) гэдэг ойлголт нь үйлдлийн системийг ачаалахад ашиглагддаг арга замд хэрэглэгддэг байсан бөгөөд “booting буюу ачаалах” гэж богиноссон юм) нь кернелд байралдаг, гүйцэтгэл эхэлхэд үндсэн санах ойгоос уншина. Зарим компьютер гүйцэтгэхийн тулд эхлээд дискнээс керенелээс уншиж bootstrap буюу boot эхлэдэг. CPU –с хүлээн авах үйл ажилгаанд оруулах- шаардлагад нийцэн цааш үргэлжлэх эсвэл boot-руу буцах- гүйцэтгэл эхлэхдээ зааварчилгааны регистер уншихnдаа санах ойгоос дахин уншина. Эхлээд bootstrap –аас эхлэж уншина. Зарим систем нь - PDA удирдлагын төрлийн нарийн ширхэгтэй утас Personal Digital Assistans) үйлдвэрлэдэг юм. Palm OS нь олон үйлдлийг зэрэг гүйцэтгэж чаддаггүй бөгөөд зөвхөн нэг удаад ганц л үйлдлийг хийдэг байна. – ROM удирдлагын төв, Энэ программ нь ROM (read only programm) иймд хэрэв санах ой байхгүй бол мэдээлэл боловсруулах боломжгүй болно. Өөрөөр хэлбэл компьютер ажиллахгүй гэсэн үг. Компьютерийн санах ой дахь мэдээлэл компьютерийг унтраахад арилдаг. Ийм чанартай санах ойгоос гадна орчин үеийн компьютерт санасан мэдээлэл нь өөрчлөгддөггүй байнга тогтмол хадгалагдаж байдаг санах ой байдаг. Энэ санах ой дахь мэдээлэл зөвхөн уншиж ашиглахад зориулагдсан байдаг.RAM нь комманда далдуур зарлахад шинээр эхэлдэг прогрмм юм. ROM –ийн тухайд гэвэл энд бэлтгэл хэрэггүй бас компьютерт вирус халдварлахгүй. Bootstrap программ нь олон төрлийн гүйцэтгэл биелүүлдэг. Зорилго нь машинаар оношыг нь тогтоох. Энэ онош тодорхойлогдож байж хийх алхам нь тодорхой болно. Үйлдлийн систем нь санах ой руу ачаалагддаг бөгөөд компьютерийн хүчин чадлыг зохицуулж, хувиарлахаас гадна компьютерийн гарнаас өгөгдсөн командыг дэлгэц рүү илгээх, дискэн дээр файл болон директоруудыг хадгалах мөн дагалдах төхөөрөмжүүд болох принтер, хулгана, уян болон хатуу дискний ажиллагааг хянадаг. Үйлдлийн системүүдийн төрлүүд: Dos, Windows, Unix, Linux, Mac OS, Palm Os гэх мэт. Зарим төрлийн үйлдлийн системд олон хувилбарууд байдаг.

Deadlock(түгжрэл) ба Starvation (гачигдал)

[кодоор засварлах]

Гүйцэтгэлийн семафор нь дарааллыг хүлээн магадгүй нөхцөл нь 2 тохиолдолд нэг процессороор дамжина. Энэ тохиолдолд нөхцөлийг signal() оператороор биелүүлнэ. Түгжрэл(deadlock) тодорхой бүтэцийг дамжужлах

Семафор гэж юу юу вэ? Семефор нь сигнал дамжуулах зорилгоор хэрэглэгддэг.процесс нь сигналыг дамжуулах хүлээлтийн горминд орно.Семафорыг хүлээж байгаа процессуудыг агуулах зорилгоох дараалал ашигладаг.

Түгэжрэл яагаад үүсдэг вэ? Процессуудын хоорондын харилцан хамааралыг (mutual exlusion mutex): Нэг процессын эзэмшиж буй нөөцийг өөр нэгэн процесс эзэмшихийг хүсч болно. Энэ тохиолдолыг эгзэгтэй муж (critical section) гэж үзэн шийдвэрлэнэ.

Түгжрэл (deadlock): Хоѐр процесс хоѐр нөөцийг дараалан эзэмших тохиолдолд түгжрэл үүсдэг.
Гачигдал (starvation): Гурван процесс нэг нөөцийг эзэмшихийн төлөө өрсөлдөж байгаа. Энэ тохиолдолд 2 процесс нь тухайн нөөцийг ээлжлэн эзэмшинэ.Гурав дах процесс нь цаашид хэвийн ажиллахад хүндрэл үүсч гачигдалд орж байна.

Хэрхэн түгжрэл үүсгэхгүй байх вэ?

Солбицолд тавих шаардлага:Солбицолд тавих шаардлага. Нөөцийг эзэмшиж буй процессуудаас зөвхөн нэг нь л эгзэгтэй мужид байх: -нөөцийг зөвхөн нэг л процесс давуу эрхтэйгээр эзэмшинэ.

Эгзэгтэй мужид орохыг хүссэн процесс тодорхой бус шалтгаанаар зогсож болохгүй: -эгзэгтэй мужид орохыг хүсэд эрхээ авсан процесс тасарвал бусад процессын хувьд эгзэгтэй мужийг эзэмших эрхгүй байх ба эгзэгтэй мужийг эзэмших эрх хэзээ ч сэргэхгүй. Ингэснээр бусад процессын хувьд гачигдал,түгжрэл үүсч болно.

Өөрийн эгзэгтэй бус мужид байгаа процесс тасарвал бусад процессын үйл ажиллагаанд саад болдоггүй байх - хэрэв процесс хэн нэгнийг хүлээх юм бол гачигдал үүснэ. Үүнд магадгүй дахин өөр ямар ч процесс эгзэгтэй мужид орохгүй бол энх хүсэлт тавьсан процесс хүлээсээр гачигдалд орно.
Процессын хурд, процессын тоо гэх мэтийг тооцохгүй байх: - үйлдлийн системийг зохион бүтээхдээ уян хатан байлгах үүднээс энэ шаардлагыг тавьдаг.• Процесс бүр тодорхой хугацаанд л эгзэгтэй муждаа байх ѐстой: - хэрэв процесс эгзэгтэй мужийг тодорхойгүй хугацаагаар эзэмших бол уг нөөцөд хандахыг хүссэн бусад процесс гачигдалд орно.

Солбицлын асуудлыг шийдэх: Тасалдал хорих: үйлдлийн системд процесс нь үйлдлийн системийн үйлчилгээ эсвэл тасалдал дуудагдтал үргэлжлэн ажиллана. Иймээс солбилцлыг баталгаажуулахын тулд тасалдал хориход л хангалттай. Олон процессыг системд буюу зэрэгцээ боловсруулалтыг үед нэг л процесс дээх тасалдалыг хорих солбицлыг баталгаажуулах үйл ажиллагаа болж чадахгүй. Солбицлын асуудлыг шийдэх

 машины тусгай команд: олон процессорын системд бүх процессорт тасалдал хорих аргаар солбицлыг баталгаажуулж болно. Мөн олон процессорын системий архтектур бүх процессор санах ойн нэг л мужийг хамтран эзэмшдэг билээ. Техник хангамжийг ямар нэгэн санах ойн мужид ашиглаж болохуйцаар солбилцлыг баталгаажуулах асуудлыг шийдхэд хэдэн энгийн командыг зохион бүтээсэн байдаг.

Энэ тодорхойлтонд харуулснаар 2 системийг бүрэлдэн тогтоохыг авч үздэг. P0 ба P1 нь тус бүрдээ 2 сефераторын S ба Q ээр нэг хувьсагчаар авч үздэг. P0 P1 wait(S); wait(Q); wait(Q) ; wait(S); . . . . . . signal(S) ; signal(Q); P0 –ийг wait(s)-ээр авч үздэг ба P1 –ийг wait(Q) ээр авч үзэж байна. Хэзээ P0 –ийг хэрэглэх вэ гэхлээр wait(Q) энэ нь зайлшгүй үед хэрэглэнэ. Дараа нь signal() дараа P0 ба P1 биелүүлэж болохгүй.

Компиляци хөрвүүлэгч

[кодоор засварлах]

Програмчлалын хэлээр бичсэн текстийг машины хэл рүү хөрвүүлээгүй цагт компьютерт ойлгомжгүй хэвээрээ байх болно. Хөрвүүлэлтийн үр дүнд биелэх файл (execution file) үүснэ. Энэ нь програмчлалын эцсийн бүтээгдэхүүн бөгөөд 100% машины хэлээр дүрслэгдсэн, жинхэнэ процессорын биелүүлэх ёстой заавруудыг агуулсан тэр хэлбэр юм. Биелэх файлыг ачаалснаар програм биелэгдэж эхлэнэ. Хөрвүүлэлтийн (translation) хоёр хэлбэр бий:

• Компиляци (compilation)


• Интерпретаци (interpretation)

Компиляци бол текстийг бүхлээр нь нэг удаа хөрвүүлэх хэлбэр юм. Бүрэн хөрвүүлэгдсэнийхээ дараа програм биелж эхлэнэ. Интерпретаци бол текстийг бүхлээр нь нэг удаа биш харин мөр мөрөөр хөрвүүлэх хэлбэр юм. Хөрвүүлэгдсэн мөр тэр дороо биелэнэ. Ө.х. хөрвүүлэлт, биелэлт хоёр зэрэгцэн явагдана. Компиляцийг компилятор (compiler) хэмээх хөрвүүлэгч програмаар гүйцэтгэнэ. Хэл болгон өөрийн гэсэн хөрвүүлэгчтэй байна. Хэл ба хөрвүүлэгч нь салшгүй ойлголтууд юм. Өнөө үед олон төрлийн компьютер, мөн тэдгээрт суух олон янзын үйлдлийн системүүд (платформууд) байгаагаас шалтгаалан нэг програмчлалын хэлний хэд хэдэн ялгаатай хөрвүүлэгч байх жишээтэй. Ж.нь UNIX/Linux-т зориулсан хөрвүүлэгч, MS-DOS үйлдлийн системд зориулсан хөрвүүлэгч, Windows-т зориулсан хөрвүүлэгч г.м. Хөрвүүлэгдээгүй байгаа текстийг эх код (source code), түүнийг бүхлээр нь хөрвүүлэхэд үүсэх машины кодыг объект код (object code) гэж нэрлэдэг. Програм бичихдээ бид эдгээр нэр томъёог байнга ашиглах болно. Дээд төвшний хэл болгон өөрийн гэсэн “зөв бичих” (Syntax) дүрэмтэй. Хэрэв хөрвүүлж буй эх кодонд дүрэм зөрчсөн алдаанууд байвал хөрвүүлэгч “энд ийм ийм алдаа байна” гэсэн мэдээлэл гаргаад, хөрвүүлэлт тасалдана. Эдгээр алдааг арилгасан тохиолдолд л хөрвүүлэлт амжилттай болдог.

Тоололтонд үндэслэсэн алгоритм

[кодоор засварлах]

1. хамгийн олон хандсан (MFU) алгоритм нь санах ойд хамгийн олон хандсан, санах ойд хамгийн удаан байрлагдсан гэсэн үг юм. Энэ нь хамгийн бага хэмжээгээр байрлана. Энэ нь олон хандсан хандалтын ард нь байна.


2. хамгийн цөөн удаа хандсан (LFU ) Анх санах ойд ачааллахад маш олон хандаад цааш нь хандаагүй хуудас санаадгүй байх магадлалтай. Энэ хүндрэллийг нэмэлт бит ашиглснаар buffer тоог заана. Тухайн хуудсанд хэр их давтамжтай хандаж байгаа тухайн мэдээллийн хуудса зөөхийг зааж өгвөл хялбар нэг ёсондоо buffer оноосон битээ хуудасны зүүн талд нэмнэ.

Баруун тийш нэг орон шилжүүлнэ (shift right) хамгийн олон хандсан нь санах ойд хамгийн удаан байрласан байх 

ёстой гэсэн үндэслэл ашигладаг


Энэ алгоритм нь хуудсыг бага тоололтонд оруулдаг. Учир нь хамгийн бага хандалт нь их хандсан хуудсын ард нь байрладаг. Ард нь орсон хандалтыг дуудхад хэцүү байдаг. Зарим үе санах ойгоос алга болох үе ч байдаг. Том давтамж (тоолол) нь санах ойгоос эргэн санахад тийм ч уртгүй буюу (bit)эзэлэхгүй

       MFU                                                              LFU