Хэрэглэгчийн яриа:Monhuush11
Сэдэв нэмэхҮндсэн техник хангамж
[кодоор засварлах]Процессорт суурилагдсан гол санах ой болон регистерүүд нь СPU шууд хандаж болох санах ой юм. санах ойд ханддаг кодууд байдаг боловч шууд дискенд ханддаггүй. Тиймээс гүйцэтгэгдэж байгаа ямар нэгэн код мөн эдгээр кодуудын ашиглаж байгаа ямар нэгэн өгөгдөлүүд нь эдгээр шууд хандах санах ойнуудад байрладаг. Хэрэв өгөгдөл санах ойнд байхгүй бол тэдэндээр СPU боловсоруулалт хийхээс өмнө тэднийг тэнд байрлуулсан байх шаардлагатай. СPU-нд суурилуулагдсан регистерүүд нь ерөнхийдөө СPU-ийн нэг циклд ажиллах боломжтой байдаг. Ихэнх СPU-ууд цаг цохилох бүрт нэг болон түүнээс олон үйлдэл гүйцэтгэх хурдтайгаар регистерүүддээр кодыг тайлж энгийн үйл ажиллагааг гүйцэтгэдэг. Гол санах ой үүнтэй ижил биш, энэ нь мэдээллээ дамжуулах шугамуудаар дамжуулдаг. Санах ойгоос мэдээлэл дамжуулахад СPU-ээс хэд хэдэн циклийн хурд шаарддаг. Энэ тохиолдолд СPU-нд кодыг гүйцэтгэхэд шаардлагатай өгөгдөл байхгүй учир процессор саатах хэрэгтэй болдог. Санах ойн мэдээлэл хандахаас болоод энэхүү үйл ажиллагаа нь боломжгүй юмн. Энэхүү асуудлыг шийдэх арга нь СPU болон үндсэн санах ойн дунд хурдан санах ой нэмж өгөх хэрэгтэй юм. хурдыг ихэсгэхийн тулд ашиглагддаг санах ойн буферийг кэйш гэдэг бөгөөд 1.8.3-р хэсэгт дүрсэлсэн байна. Бодит санах ойд хандах хурданд санаа зовохоос гадна, үйлдлийн системийг хэрэглэгчидийн хандалтаас мөн нэг хэрэглэгчийг нөгөөгөөс нь хамгаалж байгаа эсэхийг найдвартай байлгах хэрэгтэй. Энэхүү хамгаалалтыг техник хангамжаар хийдэг. Үүнийг хэд хэдэн аргаар хийж болно эдгээрийг бид цаашид үзэх болно. энэ хэсэгт нэг боломжит аргыг тодотгож байна. Хамгийн түрүүнд бид үйл ажиллагаа бүр өөрийн гэсэн тусдаа санах ойтой эсэхийг шалгах хэрэгтэй. Ингэхийн тулд бид үйл ажиллагаа ханддаг лэгал хаягуудын цар хүрээг тодорхойлж чаддаг байх хэрэгтэй мөн энэ үйл ажиллагаа нь зөвхөн энэ санах ойдоо хандаж байгааг найдвартай шалгах хэрэгтэй. Бид зураг 8.1-т заасны дагуу хоёр регистерийг ашигладаг. Гол гегистер нь хамгийн бага гол бодит санах ойн хаягийг агуулдаг. Хязгаарлах регистер нь хэмжээг илэрхийлдэг. Жишээ нь хэрэв суурь гегистер 300040-ийг агуулж байгаа ба хязгаар нь 120900 бол программ нь 300040-аас эхлээд 420940 хүртэл бүх хаягийг агуулдаг.
Түгжих протокол
[кодоор засварлах]Найдвартай байдлыг хангахын тулд өгөгдөл бүрийг түгжиж түгжих протоколыг дамжуулалт бүр дагалдуулах хэрэгтэй. Эдгээр түгжих протоколууд нь хэрхэн түгжих тайлах зэрэг мэдээллийг агуулсан байдаг. Өгөгдлийг түгжиж болох олон төрлийн арга байдаг. Энэ хэсэгт бид хоёр арга дээр анхаарлаа хандуулна. Бид дамжуулалт бүрийг цоожилсон байхыг шаарддаг. Найдвартай байдлыг хангадаг нэг протокол бол хоёр алхамт түгжих протокол юм. энэ протокол нь дамжуулах асуудал бүрт түгжих тайлах асуудлыг гүйцэтгэдэг. • Ихэсгэх шат. Дамжуулалт нь цоожлогдсон байх боловч ямар нэгэн түлхүүр агуулаагүй байж болно. • Багасгах шат. Дамжуулалт нь ямар нэгэн түгжээнүүдийг тайлж болох ч ямар нэгэн өөр шинэ түгжээ агуулаагүй байж болно.