Оролт гаралт: Засвар хоорондын ялгаа

Content deleted Content added
No edit summary
Мөр 20:
 
==Interlock==
Зарим тохиолдолд санах ой дахь хуудсуудыг түгжих шаардлагатай байдаг учир нь хуудсууд нь хуудаслагдаагүй байдаг.
Шаардсан хуудаслалт хэрэглэгдэх үед бид хааяа зарим нэг хуудсуудыг санах ой дотор түгжих шаардлагатай болдог. Жишээ нь: Оролт гаралтын үйлдэл-хүрээ нь солигдох шаардлагагүй бичигдэхээр төлөвлөгдсөн оролт гаралтын төхөөрөмж рүү орох оруулж ирсэн шинэ хуудас - хараахан хандагдаагүй болон тодорхойлогдоогүй учир хуудсыг солих шаардлагатай. Ийм төрлийн нэг байдал нь гэвэл оролт гаралт хийгдсэн үед. Оролт/Гаралт нь ихэнхдээ салангад оролт гаралт аас бүрддэг. Заримдаа оролт гаралтын хүсэлт нь төхөөрөмжийн дарааллийн оройд нэмэгдэхэд оролт гаралт нь заагч хаягийг үзүүлнэ. Гэсэн хэдий боловч хүрээ нь бусад процесст харьяалагдаж буй өөр хуудаст ашиглагдсаар байна. Энэхүү асуудлыг шийдвэрлэхэд хоёр төстэй арга байна. Үүнд: Хэрэглэгчийн санах ойд оролт гаралтыг биелүүлэхгүй байх. Оронд нь өгөгдөлийг системийн санах ой болон хэрэглэгчийн санах ойн хооронд хуулах. Оролт гаралт нь зөвхөн системийн санах ой болон оролт гаралтын төхөөрөмжийн хооронд явагдана. Соронзон туузанд блокийг бичихэд эхлээд блокыг системийн санах ой руу хуулаад дараа нь соронзон туузанд бичнэ. Энэхүү нэмэлт хуулалтын үр дүн нь илүү ашиггүй зардлыг бий болгоно. Нөгөө арга нь санах ой руу түгжигдэх хуудсыг зөвшөөрөх. Үүнд түгжээний бит хүрээ болгонтой холбогдоно. Хэрэв хүрээ цоожлогдвол сонгогдож эсвэл солигдох боломжгүй болно. Энэ аргын дагуу соронзон туузанд блокыг бичихэд түгжигдсэн хуудсыг агуулж буй санах ой руу түгжих хэрэгтэй болно. Ингээд систем хэвийн үргэлжилнэ.
 
Жишээ нь: Оролт гаралтын үйлдэл-хүрээ нь солигдох шаардлагагүй бичигдэхээр төлөвлөгдсөн оролт гаралтын төхөөрөмж рүү орох Оруулж ирсэн шинэ хуудас - хараахан хандагдаагүй болон тодорхойлогдоогүй учир хуудсыг солих шаардлагатай.
 
Шаардлагатай хуудаслалт ашиглагдсан үед санах ойд зарим хуудсуудыг түгжих хэрэгтэй болдог. Энэхүү нөхцөл нь виртуал санах ойд эсвэл ойгоос оролт гаралт хийгдсэн үед үүсдэг. Оролт гаралт нь ихэвчлэн оролт гаралтын тусгай процессороор хэрэгжүүлэгддэг. Жишээлбэл: USB хадгалах төхөөрөмжийн контроллер нь ерөнхийдөө буфферт зориулсан санах ойн хаяг болон дамжуулах байтын дугаарыг олгодог. Дамжуулалт бүрэн хийгдсэн үед CPU түүнийг таслана. Процесс нь оролт гаралтын хүсэлт илгээж, оролт гаралтын төхөөрөмжид дараалал илгээнэ. Энэ хооронд CPU өөр процессуудыг жагсаана. Процессууд нь хуудасны алдаанаас болж хүлээгдэж буй процесст санах ойн буфферт агуулагдах хуудсийг солино. Хуудсууд хуудаслагдаж дуусна.
 
Шаардсан хуудаслалт хэрэглэгдэх үед бид хааяа зарим нэг хуудсуудыг санах ой дотор түгжих шаардлагатай болдог. Жишээ нь: Оролт гаралтын үйлдэл-хүрээ нь солигдох шаардлагагүй бичигдэхээр төлөвлөгдсөн оролт гаралтын төхөөрөмж рүү орох оруулж ирсэн шинэ хуудас - хараахан хандагдаагүй болон тодорхойлогдоогүй учир хуудсыг солих шаардлагатай. Ийм төрлийн нэг байдал нь гэвэл оролт гаралт хийгдсэн үед. Оролт/Гаралт нь ихэнхдээ салангад оролт гаралт аас бүрддэг. Заримдаа оролт гаралтын хүсэлт нь төхөөрөмжийн дарааллийн оройд нэмэгдэхэд оролт гаралт нь заагч хаягийг үзүүлнэ. Гэсэн хэдий боловч хүрээ нь бусад процесст харьяалагдаж буй өөр хуудаст ашиглагдсаар байна. Энэхүү асуудлыг шийдвэрлэхэд хоёр төстэй арга байна. Үүнд: Хэрэглэгчийн санах ойд оролт гаралтыг биелүүлэхгүй байх. Оронд нь өгөгдөлийг системийн санах ой болон хэрэглэгчийн санах ойн хооронд хуулах. Оролт гаралт нь зөвхөн системийн санах ой болон оролт гаралтын төхөөрөмжийн хооронд явагдана. Соронзон туузанд блокийг бичихэд эхлээд блокыг системийн санах ой руу хуулаад дараа нь соронзон туузанд бичнэ. Энэхүү нэмэлт хуулалтын үр дүн нь илүү ашиггүй зардлыгзардалыг бий болгоно. Нөгөө арга нь санах ой руу түгжигдэх хуудсыг зөвшөөрөх. Үүнд түгжээний бит хүрээ болгонтой холбогдоно. Хэрэв хүрээ цоожлогдвол сонгогдож эсвэл солигдох боломжгүй болно. Энэ аргын дагуу соронзон туузанд блокыг бичихэд түгжигдсэн хуудсыг агуулж буй санах ой руу түгжих хэрэгтэй болно. Ингээд систем хэвийн үргэлжилнэ. Түгжигдсэн хуудсуудыг солих боломжгүй. Оролт гаралт бүрэн дууссан үед хуудсуудын түгжээ үгүй болно. Түгжээний битүүд олон төрлийн төлөвт хэрэглэгдэнэ. Олонхи үйлдлийн системд кернелээс үүдэлтэй хуудасны алдаа гардаг учир зарим эсвэл бүх үйлдлийн системийн кернел нь санах ойд түгжигдсэн байдаг. Түгжээний бит нь энгийн хуудас солилтын үед хэрэглэгдэнэ. Доорх дараалсан байдлыг авч үзвэл: Бага зэрэглэлтэй процесс алдаа заана. Солилтын хүрээг сонгож хуудаслалтын систем санах ой руу шаардлагатай хуудсыг уншина. Үргэлжлүүлэхдээ бэлдэн, бага зэрэглэлтэй процесс дараалалд орохдоо бэлдэн CPU г хүлээнэ. Бага зэрэглэлтэй процессээс хойш CPU-н цаг төлөвлөгчөөр сонгогдоогүй байж болно. Бага зэрэглэлтэй процесс хүлээгдэж байх зуур өндөр зэрэглэлтэй процесс гачигдана. Түгжээний битийг ашиглах нь аюултай байж болно. Үүнийг асааж болох боловч хэзээ ч унтрааж болдоггүй. Үүнээс үүдэн түгжигдсэн хүрээ хэрэглэж болохооргүй болох аюултай.
 
[[Ангилал:Үйлдлийн систем]]