Simu ya Mfumo dhidi ya Simu ya Kitendaji
Kichakataji cha kawaida hutekeleza maagizo moja baada ya nyingine. Lakini kunaweza kuwa na hafla ambapo kichakataji lazima kisimamishe maagizo ya sasa na kutekeleza programu nyingine au sehemu ya msimbo (inayoishi mahali pengine). Baada ya kufanya hivi, kichakataji kinarudi kwa utumiaji wa kawaida na kuendelea kutoka mahali kilipoacha. Simu ya mfumo na simu ya utendaji ni hafla kama hizo. Simu ya mfumo ni wito kwa utaratibu mdogo uliojengwa ndani ya mfumo. Simu ya kukokotoa ni wito kwa utaratibu mdogo ndani ya programu yenyewe.
Simu ya Mfumo ni nini?
Simu za mfumo hutoa kiolesura cha programu zinazoendeshwa kwenye kompyuta ili kuzungumza na mfumo wa uendeshaji. Wakati programu inahitaji kuuliza huduma (ambayo haina ruhusa ya kufanya hivyo yenyewe) kutoka kwa kernel ya mfumo wa uendeshaji, hutumia simu ya mfumo. Michakato ya kiwango cha mtumiaji haina ruhusa sawa na michakato inayoingiliana moja kwa moja na mfumo wa uendeshaji. Kwa mfano, ili kuwasiliana na kifaa cha I/O cha nje au kuingiliana na michakato mingine yoyote, programu hutumia simu za mfumo.
Wito Kazi ni nini?
Simu ya kukokotoa pia inaitwa simu ya kawaida. Utaratibu mdogo (pia unajulikana kama utaratibu, kazi, mbinu au utaratibu) ni sehemu ya programu kubwa ambayo inawajibika kutekeleza kazi maalum. Programu kubwa zaidi inaweza kutekeleza mzigo mkubwa wa kazi, na subroutine inaweza kufanya kazi rahisi tu, ambayo pia haitegemei usimbaji wa programu iliyobaki. Chaguo za kukokotoa huwekwa msimbo kwa njia ambayo inaweza kuitwa mara nyingi na kutoka sehemu tofauti (hata kutoka ndani ya vitendaji vingine). Kitendakazi kinapoitwa, kichakataji kinaweza kwenda mahali msimbo wa chaguo za kukokotoa unakaa na kutekeleza maagizo ya kitendakazi kimoja baada ya kingine. Baada ya kukamilisha utendakazi, kichakataji kitarudi mahali kilipoachia na kuendelea na utekelezaji kuanzia maagizo yanayofuata. Kazi ni zana nzuri ya kutumia tena msimbo. Lugha nyingi za kisasa za programu zinasaidia kazi. Mkusanyiko wa kazi huitwa maktaba. Maktaba mara nyingi hutumiwa kama njia ya kushiriki na biashara ya programu. Katika baadhi ya matukio, programu nzima inaweza kuwa mfuatano wa subroutines (k.m. mkusanyiko wa msimbo wa nyuzi).
Kuna tofauti gani kati ya Simu ya Mfumo na Simu ya Utendaji?
Simu ya mfumo ni wito kwa utaratibu mdogo uliojengwa ndani ya mfumo, wakati simu ya utendaji ni wito kwa utaratibu mdogo ndani ya programu. Tofauti na simu za utendaji, simu za mfumo hutumiwa wakati programu inahitaji kufanya kazi fulani, ambayo haina upendeleo. Simu za mfumo ni sehemu za kuingia kwenye kiini cha mfumo wa uendeshaji na hazijaunganishwa na programu (kama vile simu za kukokotoa). Tofauti, simu za mfumo, simu za kazi zinaweza kubebeka. Upeanaji wa muda wa simu ya mfumo ni zaidi ya kichwa cha simu cha utendaji kwa sababu mpito kati ya modi ya mtumiaji na modi ya kernel lazima ufanyike. Simu za mfumo hutekelezwa katika nafasi ya anwani ya kernel, huku simu za chaguo za kukokotoa zinatekelezwa katika nafasi ya anwani ya mtumiaji.