Системийн дуудлага ба тасалдал
Ердийн процессор зааварчилгааг нэг нэгээр нь гүйцэтгэдэг. Гэхдээ процессор түр зогсоод одоогийн зааврыг барьж, өөр програм эсвэл кодын сегментийг (өөр газар байрладаг) гүйцэтгэх тохиолдол гардаг. Үүнийг хийсний дараа процессор хэвийн ажиллагаа руугаа буцаж, зогссон газраасаа үргэлжлүүлнэ. Системийн дуудлага болон тасалдал нь ийм тохиолдол юм. Системийн дуудлага нь системд суулгасан дэд програм руу залгах явдал юм. Тасалдал нь гадны техник хангамжийн үйл явдлаас үүдэлтэй программыг удирдах тасалдал юм.
Системийн дуудлага гэж юу вэ?
Системийн дуудлага нь компьютер дээр ажиллаж байгаа программуудыг үйлдлийн системтэй харилцах интерфейсээр хангадаг. Хөтөлбөр нь үйлдлийн системийн цөмөөс үйлчилгээ хүсэх шаардлагатай үед (үүнд зөвшөөрөлгүй байдаг) системийн дуудлагыг ашигладаг. Хэрэглэгчийн түвшний процессууд нь үйлдлийн системтэй шууд харьцдаг процессуудтай ижил зөвшөөрөлтэй байдаггүй. Жишээлбэл, гадаад оролт/гаралтын төхөөрөмжтэй холбогдох эсвэл бусад процессуудтай харилцахын тулд програм нь системийн дуудлагыг ашиглах ёстой.
Тасалдал гэж юу вэ?
Компьютерийн программыг хэвийн ажиллуулах явцад CPU-г түр зогсооход хүргэж болзошгүй үйл явдал гарч болзошгүй. Иймэрхүү үйл явдлуудыг тасалдал гэж нэрлэдэг. Тасалдал нь програм хангамж эсвэл техник хангамжийн алдаанаас үүдэлтэй байж болно. Техник хангамжийн тасалдлыг (энгийн) тасалдал гэж нэрлэдэг бол програм хангамжийн тасалдлыг Exceptions эсвэл Traps гэж нэрлэдэг. Тасалдал (програм хангамж эсвэл техник хангамж) үүссэний дараа хяналт нь тасалдлаас үүссэн нөхцөл байдлыг зохицуулж чадах ISR (Тасалдлын үйлчилгээний журам) хэмээх тусгай дэд програм руу шилждэг.
Дээр дурдсанчлан тасалдал гэдэг нэр томьёо нь ихэвчлэн техник хангамжийн тасалдалд зориулагдсан байдаг. Эдгээр нь гадны техник хангамжийн үйл явдлуудаас үүдэлтэй програмын хяналтын тасалдал юм. Энд CPU-ийн гаднах гадаад гэсэн үг. Техник хангамжийн тасалдал нь ихэвчлэн таймер чип, захын төхөөрөмж (гар, хулгана гэх мэт), оролт гаралтын портууд (цуваа, зэрэгцээ гэх мэт), дискний хөтчүүд, CMOS цаг, өргөтгөлийн картууд (дууны карт, видео) гэх мэт олон янзын эх сурвалжаас ирдэг. карт гэх мэт). Энэ нь гүйцэтгэх програмтай холбоотой зарим үйл явдлын улмаас техник хангамжийн тасалдал бараг хэзээ ч тохиолддоггүй гэсэн үг юм. Жишээлбэл, хэрэглэгчийн гар дээрх товчлуур дарах, эсвэл дотоод техник хангамжийн таймерын хугацаа хэтэрсэн зэрэг нь ийм төрлийн тасалдлыг нэмэгдүүлж, тодорхой төхөөрөмжид анхаарал хандуулах шаардлагатай байгааг CPU-д мэдэгддэг. Ийм нөхцөлд CPU хийж байсан бүхнээ зогсооно (жишээ нь одоогийн програмыг түр зогсооно), төхөөрөмжид шаардлагатай үйлчилгээг үзүүлж, хэвийн програм руугаа буцна.
Системийн дуудлага болон тасалдал хоёрын ялгаа юу вэ?
Системийн дуудлага нь системд суулгасан дэд програм руу залгах бөгөөд тасалдал нь процессорыг одоогийн гүйцэтгэлийг түр зуур барихад хүргэдэг үйл явдал юм. Гэсэн хэдий ч нэг гол ялгаа нь системийн дуудлага синхрон байдаг бол тасалдал нь тийм биш юм. Энэ нь системийн дуудлагууд тогтсон цагт (ихэвчлэн програмистаар тодорхойлогддог) тохиолддог гэсэн үг боловч хэрэглэгч гар дээрх товчлуурыг дарах зэрэг гэнэтийн үйл явдлын улмаас ямар ч үед тасалдал үүсч болно. Тиймээс, системийн дуудлага ирэх бүрт процессор зөвхөн хаашаа буцаж очихоо санах хэрэгтэй, харин тасалдсан тохиолдолд процессор буцаж очих газар болон системийн төлөвийг хоёуланг нь санах ёстой. Системийн дуудлагаас ялгаатай нь тасалдал нь одоогийн програмтай ямар ч холбоогүй байдаг.