Системийн дуудлага ба функцийн дуудлага
Ердийн процессор зааварчилгааг нэг нэгээр нь гүйцэтгэдэг. Гэхдээ процессор нь одоогийн зааврыг зогсоож, өөр програм эсвэл кодын сегментийг (өөр газар байрладаг) гүйцэтгэх шаардлагатай болдог. Үүнийг хийсний дараа процессор хэвийн ажиллагаа руугаа буцаж, зогссон газраасаа үргэлжлүүлнэ. Системийн дуудлага болон функцийн дуудлага нь ийм тохиолдол юм. Системийн дуудлага нь системд суулгасан дэд програм руу залгах явдал юм. Функцийн дуудлага гэдэг нь тухайн программ доторх дэд програм руу залгах явдал юм.
Системийн дуудлага гэж юу вэ?
Системийн дуудлага нь компьютер дээр ажиллаж байгаа программуудыг үйлдлийн системтэй харилцах интерфейсээр хангадаг. Програм нь үйлдлийн системийн цөмөөс үйлчилгээ (үүнийг өөрөө хийх зөвшөөрөлгүй) хүсэх шаардлагатай үед системийн дуудлагыг ашигладаг. Хэрэглэгчийн түвшний процессууд нь үйлдлийн системтэй шууд харьцдаг процессуудтай ижил зөвшөөрөлтэй байдаггүй. Жишээлбэл, гадаад оролт/гаралтын төхөөрөмжтэй холбогдох эсвэл бусад процессуудтай харилцахын тулд програм нь системийн дуудлагыг ашигладаг.
Функцын дуудлага гэж юу вэ?
Функцийн дуудлагыг дэд программын дуудлага гэж бас нэрлэдэг. Дэд програм (мөн процедур, функц, арга, горим гэж нэрлэдэг) нь тодорхой ажлыг гүйцэтгэх үүрэгтэй томоохон программын нэг хэсэг юм. Томоохон программ нь ажлын ачаалал ихтэй байж болох ба дэд программ нь үлдсэн програмын кодчилолоос хамааралгүй энгийн нэг ажлыг гүйцэтгэж байж болно. Функцийг олон удаа, өөр өөр газраас (бусад функц дотроос ч) дуудаж болох байдлаар кодлодог. Функцийг дуудах үед процессор тухайн функцийн код байгаа газар руу очиж функцийн зааврыг нэг нэгээр нь гүйцэтгэж болно. Функцуудыг гүйцэтгэсний дараа процессор яг зогссон газар руугаа буцаж, дараагийн зааварчилгаанаас эхлэн гүйцэтгэлийг үргэлжлүүлнэ. Функцууд нь кодыг дахин ашиглах гайхалтай хэрэгсэл юм. Орчин үеийн олон програмчлалын хэлүүд функцуудыг дэмждэг. Функцийн цуглуулгыг номын сан гэж нэрлэдэг. Номын сангуудыг ихэвчлэн програм хангамжийг хуваалцах, арилжаалах хэрэгсэл болгон ашигладаг. Зарим тохиолдолд бүхэл програм нь дэд программуудын дараалал байж болно (жишээ нь, урсгалтай код эмхэтгэл).
Системийн дуудлага болон функцийн дуудлага хоёрын ялгаа нь юу вэ?
Системийн дуудлага нь системд суулгасан дэд програм руу залгах бол функцийн дуудлага нь программ доторх дэд програм руу залгах явдал юм. Функцын дуудлагаас ялгаатай нь системийн дуудлагыг програм нь ямар нэгэн даалгаврыг гүйцэтгэх шаардлагатай үед ашигладаг бөгөөд үүнд давуу эрх байхгүй. Системийн дуудлага нь үйлдлийн системийн цөмд нэвтрэх цэгүүд бөгөөд програмтай холбоогүй (функцын дуудлага гэх мэт). Системийн дуудлагаас ялгаатай нь функцийн дуудлага нь зөөврийн байдаг. Системийн дуудлагын хугацаа нь функцын дуудлагын нэмэлт зардлаас их байдаг, учир нь хэрэглэгчийн горим ба цөмийн горимын хооронд шилжилт хийх ёстой. Системийн дуудлагыг цөмийн хаягийн зайд гүйцэтгэдэг бол функцийн дуудлагыг хэрэглэгчийн хаягийн зайд гүйцэтгэдэг.