Eleza kwa ufupi hatua kuu katika mageuzi ya mifumo ya uendeshaji. Maendeleo ya mifumo ya uendeshaji kwa aina mbalimbali za kompyuta. Kompyuta za kibinafsi. Classic, mtandao na mifumo iliyosambazwa


Historia fupi ya Ukuzaji wa Mifumo ya Uendeshaji

Kuibuka na hatua kuu za maendeleo ya mifumo ya uendeshaji

Kompyuta za kwanza zilijengwa na kupatikana matumizi ya vitendo katika miaka ya 40 ya karne ya 20. Hapo awali, zilitumiwa kutatua shida moja - kuhesabu trajectory ya makombora ya ufundi katika mifumo ya ulinzi wa anga. Kutokana na maalum ya maombi (kutatua tatizo moja), kompyuta za kwanza hazikutumia mfumo wowote wa uendeshaji. Wakati huo, utatuzi wa shida kwenye kompyuta ulifanywa haswa na watengenezaji wa kompyuta wenyewe, na mchakato wa kutumia kompyuta haukuwa suluhisho la shida iliyotumika kama kazi ya utafiti katika uwanja wa teknolojia ya kompyuta.

BIOS ni hatua ya kwanza ya kuunda mifumo ya uendeshaji

Hivi karibuni, kompyuta zilianza kutumika kwa mafanikio kutatua matatizo mengine: uchambuzi wa maandishi na kutatua matatizo magumu yaliyotumika katika uwanja wa fizikia. Mduara wa watumiaji wa huduma za kompyuta umeongezeka kwa kiasi fulani. Hata hivyo, kutatua kila mmoja kazi maalum Wakati huo, ilikuwa ni lazima kuandika tena sio tu kanuni ya kutekeleza algorithm ya ufumbuzi, lakini pia taratibu za pembejeo-pato na taratibu nyingine za kudhibiti mchakato wa hesabu. Gharama kubwa za mbinu hii zilionekana wazi hivi karibuni:
- kanuni za taratibu za I/O kawaida huwa nyingi na ni ngumu kusuluhisha (mara nyingi iligeuka kuwa sehemu kubwa zaidi ya programu), na katika tukio la hitilafu katika utaratibu wa I/O, matokeo ya muda mrefu na mahesabu ya gharama kubwa yanaweza kupotea kwa urahisi;
- hitaji la kuandika tena kila wakati ni kubwa kabisa nambari ya msaidizi huchelewesha muda na huongeza ugumu wa kuendeleza programu za maombi.
Kwa hiyo, ili kutatua matatizo haya, maktaba maalum ya taratibu za pembejeo-pato (BIOS - Base Input-Output System) ziliundwa. Ratiba zilizopangwa kwa uangalifu na bora kutoka kwa BIOS zinaweza kutumika kwa urahisi na programu zozote mpya bila kutumia muda na bidii kuunda na kurekebisha taratibu za kawaida za uingizaji na utoaji wa data.
Kwa hiyo, pamoja na ujio wa BIOS, programu iligawanywa katika mfumo na programu ya maombi. Zaidi ya hayo, programu ya programu inalenga moja kwa moja katika kutatua matatizo muhimu, wakati programu ya mfumo inalenga tu kusaidia kazi na kurahisisha maendeleo ya programu ya maombi.
Walakini, BIOS bado sio mfumo wa kufanya kazi, kwa sababu ... haifanyi kazi muhimu zaidi kwa mfumo wowote wa uendeshaji - kusimamia mchakato wa hesabu ya programu ya maombi. Kwa kuongeza, BIOS haitoi kazi nyingine muhimu za mfumo wa uendeshaji - kuhifadhi na kuzindua programu za maombi. BIOS na maktaba ya taratibu za hisabati, ambazo zilionekana karibu wakati huo huo, ziliwezesha tu mchakato wa kuendeleza na kurekebisha programu za maombi, na kuzifanya kuwa rahisi na za kuaminika zaidi. Walakini, uundaji wa BIOS ulikuwa hatua ya kwanza kuelekea kuunda mfumo kamili wa kufanya kazi.

Mfumo wa usindikaji wa kundi - mfano wa mfumo wa uendeshaji wa kisasa

Pamoja na maendeleo zaidi ya kompyuta za elektroniki, pamoja na upanuzi wa upeo wa matumizi yao, tatizo la ufanisi wa kutosha katika kutumia kompyuta za gharama kubwa lilikuja haraka.
Katika miaka ya 50 hapakuwa na kompyuta za kibinafsi bado, na kompyuta yoyote ilikuwa ya gharama kubwa sana, kubwa na ya nadra sana. Ratiba maalum iliandaliwa kwa ajili ya kuipata na taasisi mbalimbali za kisayansi. Kwa wakati uliowekwa, mtayarishaji alilazimika kuja kwenye chumba cha kompyuta, kupakia kazi yake kutoka kwa safu ya kadi zilizopigwa, subiri mahesabu yakamilike, na uchapishe matokeo.
Katika kutumia ngumu ratiba, ikiwa programu hakuwa na muda wa kukamilisha mahesabu kwa wakati uliopangwa, bado alipaswa kuachilia mashine, kwa kuwa kazi mpya ilipangwa kwa ajili yake. Lakini hii ina maana kwamba muda wa kompyuta ulipotea - hakuna matokeo yaliyopatikana! Ikiwa kwa sababu fulani mahesabu yalikamilishwa mapema kuliko ilivyotarajiwa, basi mashine ilisimama tu bila kazi.
Ili kuepuka upotevu wa muda wa processor ambao hauepukiki wakati wa kufanya kazi kwa mujibu wa ratiba, dhana ya usindikaji wa kundi la kazi ilitengenezwa, kiini chake ambacho kinaelezwa katika takwimu ifuatayo (Mchoro 1).

Kielelezo 1 Muundo wa mfumo wa kompyuta na usindikaji wa kundi

Mfumo wa kundi ulianzishwa kwanza katikati ya miaka ya 50 na General Motors kwa mashine za IBM 701. Inaonekana, hii ilikuwa mfumo wa kwanza wa uendeshaji. Wazo la msingi la usindikaji wa bechi ni kukabidhi usimamizi wa programu za upakiaji na uchapishaji wa matokeo kwa mashine za satelaiti zenye nguvu kidogo na za bei nafuu ambazo zimeunganishwa kwa mashine kubwa (kuu) kupitia chaneli za elektroniki za kasi kubwa. Katika kesi hii, kompyuta kuu itasuluhisha tu shida iliyopokelewa kutoka kwa mashine ya satelaiti, na baada ya kukamilisha kazi hiyo, sambaza matokeo kupitia njia ya kasi kwa mashine nyingine ya satelaiti kwa uchapishaji.
Mashine za satelaiti hufanya kazi kwa kujitegemea, zikitoa processor ya kati kutoka kwa hitaji la kudhibiti vifaa vya nje vya polepole. Katika kesi hii, uchapishaji wa matokeo ya kazi ya awali unaweza kutokea wakati wa ufumbuzi wa kazi ya sasa, na wakati huo huo kazi inayofuata inaweza kusomwa kwenye kumbukumbu ya elektroniki ya mashine ya satelaiti. Mpangilio huu wa mfumo wa usindikaji wa kazi wa kundi unajulikana kama mfumo rahisi wa batch.
Mifumo ya usindikaji wa kazi ya kundi iliyotekelezwa katika miaka ya 50 ikawa mfano wa mifumo ya uendeshaji ya kisasa. Walikuwa wa kwanza kutekeleza programu iliyotumiwa kudhibiti utekelezaji wa programu za programu.
Pia tunaona hapa kwamba mbinu iliyoelezwa ya kujenga H / W imehifadhiwa kabisa hadi leo. Vifaa vya kisasa vya pembeni, na, juu ya yote, anatoa za diski ngumu, zina uwezo wa kuhamisha kiasi kikubwa cha data bila processor ya kati. Kuangalia mbele, tunasema kwamba ni shukrani tu kwa mali hii ya vifaa vya kompyuta kwamba mifumo ya kisasa ya uendeshaji wa multitasking ipo na inafanya kazi kwa ufanisi.

Mifumo ya uendeshaji ya multitasking

Mifumo ya kwanza ya kufanya kazi nyingi ilionekana katika miaka ya 60 kama matokeo ya maendeleo zaidi ya mifumo ya usindikaji wa kazi ya kundi. Kichocheo kikuu cha kuonekana kwao kilikuwa uwezo mpya wa vifaa vya kompyuta.
Kwanza, media mpya ya uhifadhi wa ufanisi ilionekana ambayo utafutaji wa data inayohitajika inaweza kuwa automatiska kwa urahisi: kanda za magnetic, silinda za magnetic na disks magnetic. Hii, kwa upande wake, ilibadilisha muundo wa programu za maombi - sasa wanaweza kupakia data ya ziada kwa mahesabu au taratibu kutoka kwa maktaba ya kawaida wakati wa operesheni.
Wacha tukumbuke kwamba mfumo rahisi wa kundi, baada ya kukubali kazi, huihudumia hadi kukamilika, ambayo inamaanisha kuwa wakati data ya ziada au nambari inapakiwa, processor haina kazi, na gharama ya wakati wa uvivu wa processor huongezeka na utendaji wake, kwani zaidi processor yenye nguvu inaweza kufanya kazi muhimu zaidi wakati wa kupumzika.
Pili, utendaji wa processor umeongezeka kwa kiasi kikubwa, na upotevu wa muda wa processor katika mifumo rahisi ya batch imekuwa kubwa isiyokubalika.
Katika suala hili, kuibuka kwa mifumo ya kundi la multitasking ilikuwa hatua ya kimantiki. Hali ya lazima ya kuunda mifumo ya multitasking ni kumbukumbu ya kutosha ya kompyuta. Kwa multitasking, kiasi cha kumbukumbu lazima kutosha kwa ajili ya malazi, kulingana na angalau, programu mbili kwa wakati mmoja.
Wazo la msingi la kufanya kazi nyingi ni dhahiri - ikiwa programu ya sasa imesimamishwa wakati wa kusubiri I/O ikamilike, kichakataji kinaendelea kufanya kazi na programu nyingine ambayo iko tayari kutekelezwa kwa sasa.
Hata hivyo, mpito kwa kazi nyingine lazima ifanyike kwa namna ambayo inawezekana kurudi kazi iliyoachwa baada ya muda fulani na kuendelea na kazi yake kutoka kwa mapumziko. Ili kutekeleza kipengele hiki, ilikuwa ni lazima kuanzisha muundo maalum wa data katika mfumo wa uendeshaji unaofafanua Hali ya sasa kila kazi - muktadha wa mchakato. Muktadha wa mchakato unafafanuliwa katika mfumo wowote wa uendeshaji wa kisasa kwa njia ambayo data kutoka kwake itakuwa ya kutosha kupona kamili kazi ya kazi iliyokatishwa.
Kuibuka kwa kazi nyingi kulihitaji utekelezaji wa mifumo ndogo kadhaa ya kimsingi ndani ya mfumo wa uendeshaji, ambayo pia iko katika mfumo wowote wa kisasa wa kufanya kazi. Hebu tuorodheshe:
1) mfumo mdogo wa usimamizi wa processor - huamua ni kazi gani na kwa wakati gani inapaswa kuhamishiwa kwa processor kwa matengenezo;
2) mfumo mdogo wa usimamizi wa kumbukumbu - inahakikisha matumizi ya kumbukumbu bila migogoro na programu kadhaa mara moja;
3) mfumo mdogo wa udhibiti wa mchakato - inahakikisha kugawana bila migogoro ya rasilimali za kompyuta (kwa mfano, disks za magnetic au taratibu za jumla) na programu kadhaa mara moja.
Kozi hii itachunguza kwa undani utekelezaji wa mifumo hii ndogo katika mifumo ya kisasa ya uendeshaji.
Karibu mara tu baada ya ujio wa mifumo ya uendeshaji ya multitasking, iligunduliwa kuwa multitasking ni muhimu kwa zaidi ya kuongeza tu matumizi ya CPU. Kwa mfano, kwa kuzingatia multitasking, unaweza kutekeleza mode ya watumiaji wengi wa uendeshaji wa kompyuta, i.e. kuunganisha vituo kadhaa kwa wakati mmoja, na kwa mtumiaji katika kila terminal udanganyifu kamili utaundwa kuwa anafanya kazi na mashine peke yake. Kabla ya enzi ya matumizi makubwa ya kompyuta za kibinafsi, hali ya watumiaji wengi ilikuwa njia kuu ya kufanya kazi kwa karibu kompyuta zote. Msaada ulioenea kwa hali ya watumiaji wengi ulipanua sana mzunguko wa watumiaji wa kompyuta, na kuifanya kupatikana kwa watu wa fani mbalimbali, ambayo hatimaye ilisababisha mapinduzi ya kisasa ya kompyuta na kuibuka kwa PC.
Zaidi ya hayo, kulingana na algorithms ya msingi ya uendeshaji wa mfumo mdogo wa udhibiti wa processor, mfumo wa uendeshaji, na pamoja na kompyuta nzima, hupata mali tofauti. Kwa mfano, mfumo wa batch multitasking ambayo hubadilisha kazi nyingine tu wakati haiwezekani kuendelea sasa inaweza kutoa upeo wa juu wa kompyuta, i.e. kuongeza idadi ya wastani ya kazi zinazotatuliwa kwa kila wakati wa kitengo, lakini kwa sababu ya kutotabirika kwa nyakati za majibu, mfumo wa bechi wa kufanya kazi nyingi haufai kabisa kwa mfumo wa mwingiliano ambao hujibu mara moja kwa uingizaji wa mtumiaji.
Mfumo wa kufanya mambo mengi na kutokuwepo kwa kazi kwa lazima baada ya kipande cha muda ni bora kwa mfumo shirikishi, lakini hautoi utendaji wa juu kwa kazi za kompyuta.
Wakati wa kusoma mada ya "usimamizi wa processor" katika kozi hii, sifa za algorithms nyingi maalum zitazingatiwa, na suluhisho za maelewano zinazofaa kwa mifumo ya uendeshaji zima inayolenga kutatua shida nyingi zitaonyeshwa.
Kama hitimisho, tunaona kuwa kuibuka kwa kazi nyingi kulisababishwa na hamu ya kutumia kichakataji kwa kiwango cha juu zaidi, kuondoa wakati wake wa kupungua ikiwezekana, na kwa sasa kufanya kazi nyingi ni ubora muhimu wa karibu mfumo wowote wa kisasa wa uendeshaji.

Mifumo ya uendeshaji inaungwa mkono kumbukumbu halisi

Ujio wa mfumo wa kumbukumbu wa kawaida mwishoni mwa miaka ya 60 ulikuwa hatua ya mwisho kuelekea mifumo ya kisasa ya uendeshaji. Muonekano uliofuata wa miingiliano ya picha ya mtumiaji na hata usaidizi wa mwingiliano wa mtandao haukuwa suluhisho kama hilo la mapinduzi, ingawa ziliathiri sana ukuzaji wa vifaa vya kompyuta na ukuzaji wa mifumo ya uendeshaji yenyewe.
Msukumo wa kuibuka kwa kumbukumbu halisi ulikuwa ugumu wa usimamizi wa kumbukumbu katika mifumo ya uendeshaji ya multitasking. Shida kuu hapa ni:
- Programu, kama sheria, zinahitaji eneo la kumbukumbu kwa uwekaji wao. Wakati wa operesheni, programu inapoisha, inafungua kumbukumbu, lakini eneo hili la kumbukumbu haifai kila wakati kwa kushughulikia programu mpya. Ni ama ndogo sana, na kisha unapaswa kutafuta sehemu katika eneo lingine la kumbukumbu ili kuweka programu, au ni kubwa sana, na kisha baada ya kuweka programu mpya kutakuwa na kipande kisichotumiwa. Wakati mfumo wa uendeshaji unafanya kazi, vipande vingi vile vinaundwa hivi karibuni - jumla ya kumbukumbu ya bure ni kubwa, lakini haiwezekani kuweka programu mpya kwa sababu hakuna eneo moja la kutosha la kutosha la bure. Jambo hili linaitwa kugawanyika kwa kumbukumbu.
- Katika kesi ambapo programu kadhaa ni wakati huo huo katika kumbukumbu ya pamoja, vitendo vibaya au makusudi kwa upande wa programu yoyote inaweza kuharibu utekelezaji wa programu nyingine, kwa kuongeza, data au matokeo ya baadhi ya programu inaweza kusomwa na programu nyingine bila idhini.
Kama itakavyoonyeshwa baadaye katika kozi hii, kumbukumbu ya kawaida sio tu kutatua shida kama hizo, lakini pia hutoa fursa mpya za uboreshaji zaidi wa mfumo mzima wa kompyuta.
Sharti kuu la kuibuka kwa mfumo wa kumbukumbu ya kawaida ilikuwa utaratibu wa kubadilishana (kutoka Kiingereza hadi kubadilishana - kubadilisha, kubadilishana).
Wazo la kubadilishana ni kupakua programu zilizoondolewa kwa muda kutoka kwa utekelezaji kutoka kwa RAM hadi kumbukumbu ya pili (kwenye diski ya sumaku), na kuzipakia tena kwenye RAM zinapokuwa tayari kwa utekelezaji zaidi. Kwa hivyo, kuna kubadilishana mara kwa mara ya mipango kati ya RAM na kumbukumbu ya sekondari.
Kubadilisha kunakuruhusu kutoa nafasi kwenye RAM kwa kupakia programu mpya kwa kusukuma programu ambazo haziwezi kutekelezwa kwa sasa kwenye kumbukumbu ya pili. Kubadilishana kwa ufanisi kabisa kutatua tatizo la ukosefu wa RAM na kugawanyika, lakini haina kutatua tatizo la usalama.
Kumbukumbu halisi pia inategemea kusukuma baadhi ya programu na data kutoka kwa RAM hadi kwenye kumbukumbu ya pili, lakini ni ngumu zaidi kutekeleza na inahitaji usaidizi wa lazima kutoka kwa vifaa vya processor. Taratibu mahususi za utendakazi wa kumbukumbu halisi zitajadiliwa zaidi.
Hatimaye, mfumo wa kumbukumbu ya kawaida hupanga nafasi yake ya anwani kwa kila mmoja programu inayoendesha, ambayo inaitwa nafasi ya anwani pepe. Katika kesi hii, sehemu za nafasi ya anwani ya mtandaoni, kwa hiari ya mfumo wa uendeshaji, zinaweza kupangwa kwa sehemu za RAM au kwa sehemu za kumbukumbu ya pili (ona Mchoro 2).


Kielelezo cha 2 Kuchora Ramani ya Nafasi ya Anwani

Unapotumia kumbukumbu pepe, programu hazitaweza kupata data kimakosa au kimakusudi kutoka kwa programu zingine au mfumo wa uendeshaji yenyewe - mfumo mdogo wa kumbukumbu huhakikisha ulinzi wa data. Kwa kuongeza, maeneo ya sasa ambayo hayajatumiwa ya nafasi ya anwani ya virtual yanapangwa kwenye kumbukumbu ya sekondari, i.e. data kutoka kwa maeneo haya huhifadhiwa sio kwenye RAM, lakini katika kumbukumbu ya sekondari, ambayo hutatua tatizo la kutosha kwa RAM. Hatimaye, maeneo ya nafasi ya anwani pepe yanaweza kuchorwa kwa sehemu za kiholela za RAM bila maeneo ya karibu ya nafasi ya anwani pepe kulazimika kuwa karibu na RAM, ambayo hutatua tatizo la kugawanyika.
Kama ilivyoelezwa tayari, kumbukumbu halisi ilitumiwa kwanza katika mifumo halisi ya uendeshaji mwishoni mwa miaka ya 60, lakini kumbukumbu halisi ilienea tu katika miaka ya 80 (UNIX, VAX / VMS), na ilianza kutumika sana katika kompyuta za kibinafsi tu katikati ya miaka ya 90. 's (OS/2, Linux, Windows NT). Hivi sasa, kumbukumbu ya kawaida, pamoja na multitasking, ni sehemu muhimu ya karibu mfumo wowote wa uendeshaji wa kisasa.

Violesura vya mchoro vya mtumiaji

Tangu mwishoni mwa miaka ya 1980, kompyuta za kibinafsi zimekuwa kila mahali, na watu wengi kutoka asili mbalimbali wamehusika katika jumuiya ya watumiaji wa PC. Wengi wao hawakuwa na mafunzo maalum ya kompyuta, lakini walitaka kutumia kompyuta katika kazi zao, kwa sababu ... kutumia kompyuta ilitoa manufaa yanayoonekana kwa biashara zao.
Kwa upande mwingine, kuongezeka kwa utata wa mifumo ya uendeshaji na programu za maombi kulifanya kuwasimamia kuwa kazi ngumu sana hata kwa wataalamu, na interface ya mstari wa amri, ambayo kwa wakati huu imekuwa kiwango cha mifumo ya uendeshaji, haikukidhi mahitaji ya vitendo tena.
Hatimaye, uwezo mpya wa vifaa umeonekana: wachunguzi wa picha za rangi, vidhibiti vya juu vya utendaji wa picha na vidhibiti vya aina ya panya.
Kwa hivyo, mwishoni mwa miaka ya 80, hali zote zilikuwa mahali pa mpito ulioenea kwa kiolesura cha kielelezo cha mtumiaji: kwa upande mmoja, kulikuwa na haja ya utaratibu rahisi na rahisi zaidi wa udhibiti wa kompyuta, kwa upande mwingine, maendeleo ya kompyuta. vifaa vilifanya iwezekane kuunda utaratibu kama huo.
Wazo la msingi la GUI ni kama ifuatavyo.
- kwa mtumiaji, kulingana na hali ya sasa, unaombwa kuchagua mojawapo ya chaguo kadhaa mbadala vitendo zaidi;
- chaguzi zinazowezekana kwa vitendo vya mtumiaji zinawasilishwa kwenye skrini ya kompyuta kwa namna ya mistari ya maandishi (menus) au michoro za michoro (pictograms);
- kuchagua moja ya chaguo kwa vitendo zaidi, panga tu pointer (mshale) kwenye skrini ya kufuatilia na kipengee cha menyu au ikoni na ubonyeze kitufe kilichoainishwa (kawaida.<пробел>, <ввод>au kitufe cha kipanya) kufahamisha mfumo kuhusu chaguo lililofanywa.
Kiolesura cha kwanza cha picha kilitengenezwa mnamo 1981 huko Xerox. Inasemekana kuwa ziara ya Mkurugenzi Mkuu wa Microsoft Bill Gates kwa Xerox na maendeleo yake katika violesura vya picha vilihimiza Microsoft kuunda violesura vyake vya picha vya watumiaji.
Hivi sasa, mifumo ya uendeshaji ya familia ya Windows inaonekana kuwa na kiolesura cha hali ya juu zaidi cha picha; miingiliano hii ya picha ni, kama ilivyokuwa, viwango vya ukweli vya miingiliano ya picha ya mtumiaji.
Kutumia kiolesura cha picha imeonekana kuwa rahisi na angavu kwamba kompyuta sasa zinatumiwa kwa ufanisi katika kazi zao na watu ambao hawana hata wazo lolote kuhusu usanifu wa kompyuta yenyewe, mfumo wa uendeshaji au programu ya maombi.
Hatimaye, kuibuka kwa miingiliano ya picha ya mtumiaji kama sehemu ya mifumo ya uendeshaji na programu za utumaji imekuwa na athari kubwa katika uwekaji kompyuta wa jamii ya kisasa.

Usaidizi wa mtandao uliojengwa

Usaidizi wa mtandao uliojengewa ndani kama sehemu ya mifumo ya uendeshaji madhumuni ya jumla kwanza ilionekana katikati ya miaka ya 90, na awali ilitoa tu upatikanaji wa faili za mbali ziko kwenye diski za kompyuta nyingine. Hapo awali, msaada wa mtandao ulihitajika tu katika ofisi ndogo kwa ushirikiano wa kompyuta kadhaa kwenye hati moja.
Hata hivyo, maendeleo ya mtandao haraka yalisababisha haja ya kujenga msaada wa mtandao hata kwenye mifumo ya uendeshaji kwa kompyuta za nyumbani. Zaidi ya hayo, ni ya kuvutia kutambua kwamba kuendelea kushuka kwa gharama ya kompyuta nyumbani katika miaka iliyopita kuletwa maisha mitandao ya kompyuta nyumbani, wakati familia moja inatumia kompyuta kadhaa na uwezo kugawana printa iliyoshirikiwa, skana au vifaa vingine.
Kilele cha ushirikiano katika mitandao ni mifumo ya uendeshaji ya mtandao inayochanganya rasilimali za kompyuta zote kwenye mtandao kuwa rasilimali ya kawaida ya mtandao inayopatikana kwa kompyuta yoyote kwenye mtandao. Matumizi ya busara ya mfumo wa uendeshaji wa mtandao hukuruhusu kutatua shida ngumu za utaftaji au uboreshaji wakati kuna idadi kubwa ya kutosha ya kompyuta kwenye mtandao, ambayo kila mmoja haiwezi kutatua shida kwa wakati unaokubalika.

Historia ya mifumo ya uendeshaji ya kawaida

chumba cha upasuaji Mfumo wa UNIX

Mfumo wa uendeshaji wa UNIX ni mfumo wa kwanza wa uendeshaji wa kisasa. Ufumbuzi wa kiufundi, iliyoingia hata katika matoleo ya kwanza kabisa ya UNIX, baadaye ikawa ufumbuzi wa kawaida kwa mifumo mingi ya uendeshaji ya baadaye, na sio tu kwa familia ya UNIX. Algoriti nyingi zilizopachikwa katika mfumo mdogo wa usimamizi wa rasilimali wa UNIX bado ni bora zaidi na zinaigwa katika mifumo mbalimbali ya uendeshaji.
Hebu tuangalie historia ya kuibuka na maendeleo ya UNIX kwa undani zaidi.

Mradi wa mfumo wa uendeshaji wa Multics

Katika mradi wa Multics kutoka 1965 hadi 1969. Bell Labs na General Electric walishiriki kwa pamoja. Lengo la mradi wa Multics lilikuwa kuunda mfumo mpya wa mwingiliano wa watumiaji wengi, wenye kazi nyingi ambao unachanganya urahisi wa utumiaji na nguvu na mfumo wa ufanisi usimamizi wa rasilimali. Multics ilitokana na suluhu zifuatazo za kiufundi:
- kumbukumbu halisi na shirika la ukurasa wa sehemu ambalo linadhibiti haki za ufikiaji za kuandika, kusoma au kutekeleza kwa kila sehemu;
- mfumo wa faili wa kati ambao hutoa shirika la data, hata iko kwenye tofauti vifaa vya kimwili, kwa namna ya muundo wa mti mmoja wa saraka/faili;
- kupanga yaliyomo kwenye faili katika nafasi ya anwani pepe ya mchakato kwa kutumia mbinu za usimamizi wa kumbukumbu.
Suluhisho hizi zote ni za kawaida kwa mifumo ya uendeshaji ya kisasa. Hata hivyo, mradi wa Multics haukukamilika. Usimamizi wa Bell Labs uliamua kuacha mradi huo, kwa kuzingatia ufadhili zaidi wa mradi huo haufai, kwani pesa nyingi ambazo tayari zimewekezwa katika mradi hazikuleta faida yoyote.
Licha ya kusitishwa kwake mapema, mradi wa Multics ulifafanua kanuni za msingi za usimamizi wa rasilimali na usanifu wa mfumo wa uendeshaji ambazo zinatumiwa kwa mafanikio hadi leo, na wataalamu wanaoshiriki katika mradi huo walipata uzoefu muhimu sana. Miongoni mwa wachangiaji wa mradi wa Multics walikuwa Ken Thompson na Dennis Ritchie, waandishi wa baadaye wa toleo la kwanza la UNIX.

Kuibuka kwa mfumo wa uendeshaji wa UNIX

Baada ya mradi wa Multics kutelekezwa, Ken Thompson, Dennis Ritchie, na wafanyikazi wengine kadhaa wa Bell Labs waliendelea na kazi yao ya utafiti katika uwanja wa mifumo ya uendeshaji, na hivi karibuni walikuja na wazo la kuboresha mfumo wa faili. Kwa bahati mbaya, Bell Labs wakati huo ilikuwa na hitaji la haraka la urahisi na njia za ufanisi hati, na mfumo mpya wa faili unaweza kuwa muhimu hapa.
Mnamo mwaka wa 1969, Ken Thompson alitekeleza mfumo wa uendeshaji kwenye mashine ya PDP-7 iliyojumuisha mfumo mpya wa faili, pamoja na zana maalum za mchakato na usimamizi wa kumbukumbu ambazo ziliruhusu watumiaji wawili kufanya kazi kwenye mashine moja ya PDP-7 mara moja katika hali ya kugawana wakati. . Watumiaji wa kwanza wa mfumo mpya wa uendeshaji walikuwa wafanyikazi wa idara ya hataza ya Bell Labs.
Brian Kernighan alipendekeza kupiga simu mfumo mpya UNICS - Mfumo wa Habari na Kompyuta Usioeleweka. Wasanidi walipenda jina, kwa kiasi pia kwa sababu lilikuwa sawa na Multics. Hivi karibuni jina lilianza kuandikwa kama UNIX - linatamkwa sawa, lakini kiingilio ni kifupi kwa herufi moja. Jina hili limehifadhiwa hadi leo.
Mnamo 1971, baada ya UNIX kuingizwa kwa PDP-11, toleo la kwanza la nyaraka lilitolewa, na mfumo mpya wa uendeshaji ulionekana rasmi.
Toleo la kwanza la UNIX liliandikwa kwa lugha ya kusanyiko, ambayo ilileta matatizo fulani wakati wa kuhamisha mfumo wa uendeshaji kwenye majukwaa mengine, hivyo kufanya kazi kwenye toleo la pili la UNIX, Ken Thompson alianzisha lugha yake ya programu B. Toleo la pili lilitolewa mwaka wa 1972 na zilizomo njia za programu, hukuruhusu kuanzisha mwingiliano kati ya programu zinazoendesha wakati huo huo kwenye kompyuta.
Kuonekana kwa mfumo wa uendeshaji ambao haujaandikwa katika lugha ya kusanyiko ilikuwa hatua ya mapinduzi katika uwanja wa programu ya mifumo, lakini lugha ya B ilikuwa na vikwazo kadhaa ambavyo vilipunguza matumizi yake. Kwa hiyo mwaka wa 1973, Dennis Ritchie alianzisha lugha ya C na mfumo wa uendeshaji ukaandikwa upya katika lugha hiyo mpya.
Ya kwanza ilionekana mnamo 1975 toleo la kibiashara UNIX, inayojulikana kama UNIX v.6 na UNIX ilianza maandamano yake ya ushindi duniani kote.

Hatua kuu za maendeleo ya UNIX

1976. Kundi la wanafunzi na maprofesa waliunda katika Chuo Kikuu cha Berkeley na wakapendezwa sana na mfumo wa UNIX. Baadaye, kikundi katika Chuo Kikuu cha Berkeley kilianzisha tawi lake la maendeleo ya UNIX OS - BSD UNIX (Berkeley Software Distribution). Tawi la BSD lilianzisha kwa mara ya kwanza vipengele vinavyojulikana vya UNIX kama mhariri wa maandishi vi, mrundikano wa itifaki ya TCP/IP, utaratibu wa ukurasa katika mfumo wa usimamizi wa kumbukumbu.
1977. Uzoefu wa kwanza katika kuhamisha UNIX hadi jukwaa lingine la maunzi (mbali na PDP-11). Katika Chuo Kikuu cha Wollongong huko Australia, Profesa Juris Reindfelds aliingiza UNIX kwa mashine ya 32-bit.
1978: Thompson na Ritchie katika Bell Labs walibeba bandari kamili ya UNIX kwa mashine ya 32-bit. Uhamisho huo uliambatana na mabadiliko makubwa katika shirika la mfumo, ambayo ilifanya iwezekane kurahisisha bandari zilizofuata za UNIX kwa majukwaa mengine. Wakati huo huo, lugha ya C ilipanuliwa karibu na hali yake ya kisasa.
1978. Kitengo cha USG (UNIX Support Group) kiliundwa mahususi ili kusaidia UNIX katika Bell Labs.
1982. USG ilitoa UNIX System III, ambayo ilikusanya suluhisho bora zilizowasilishwa matoleo tofauti UNIX, inayojulikana wakati huo. Vituo vya programu vilivyopewa jina vinatambulishwa kwa mara ya kwanza.
1983: Unix System V ilitolewa. Ilianzisha semaphores, kushiriki kumbukumbu, na foleni za ujumbe kwa mara ya kwanza, na ikatumia akiba ya data kuboresha utendakazi.
1984. USG ilibadilishwa kuwa maabara ya maendeleo ya UNIX - USDL (Unix System Development Laboratories). Toleo la 2 la Mfumo wa V wa UNIX (SVR2) limetolewa. Mfumo una uwezo wa kufunga faili na kunakili kurasa za kumbukumbu zilizoshirikiwa wakati wa kuandika.
1986. Kuibuka kwa kiolesura cha picha cha mifumo ya uendeshaji ya UNIX - mfumo wa picha wa X Windows.
1987 USDL ilitoa toleo la 3 la UNIX System V (SVR3). Kwa mara ya kwanza, uwezo wa kisasa wa mawasiliano ya mwingiliano, kujitenga faili zilizofutwa, usindikaji wa ishara.
1989. UNIX System V Release 4 (SVR4) iliyotolewa. UNIX ilitekelezwa kwanza kulingana na dhana ya microkernel. Msaada wa michakato ya wakati halisi na michakato nyepesi imeanzishwa.

Mfumo wa uendeshaji wa Linux

Hivi sasa, mfumo wa uendeshaji wa Linux unapitia kipindi cha maendeleo ya haraka. Na ingawa huu ni mfumo mdogo wa uendeshaji, zaidi ya miaka 10, tayari umepata kutambuliwa kutoka kwa maelfu ya watumiaji.
Asili ya mfumo wa uendeshaji wa Linux ilikuwa Linus Torvalds, kisha mwanafunzi wa mwaka wa kwanza, ambaye mwishoni mwa 1991 alichapisha mfumo mdogo wa uendeshaji wa Linux alioutengeneza kwenye mtandao na alialika kila mtu kushiriki katika maendeleo ya mfumo huu. Matokeo yake, waandaaji programu wengi wenye vipaji walijiunga na mradi huo, na kupitia jitihada za pamoja za idadi kubwa ya watu wanaoingiliana kupitia mtandao, mfumo wa uendeshaji wa juu sana ulitengenezwa.
KATIKA Msingi wa Linux Suluhu zingine zilitegemea UNIX BSD 4.2, na kwa hivyo Linux kawaida huzingatiwa kama tawi huru la mifumo ya uendeshaji kama UNIX.
Hivi sasa, Linux inaendelea ndani ya mfumo wa teknolojia Chanzo Huria- chanzo wazi, kinapatikana kwa kila mtu. Mtu yeyote anaweza kutengeneza na kuwasilisha mabadiliko au nyongeza kwa Linux, na usakinishaji wa Linux unaweza kupatikana bila malipo kupitia Mtandao.
Hivi sasa, Linux pia imegawanyika katika matawi kadhaa ya kujitegemea, kati ya ambayo bado kuna mengi sawa, lakini kuna tofauti katika utekelezaji wa baadhi ya vipengele, katika kernel ya mfumo na katika huduma mbalimbali.
Mfumo wa uendeshaji wa Linux sasa unazingatiwa na watu wengi kama mbadala mbaya kwa familia ya Windows ya mifumo ya uendeshaji. Mfumo wa Linux ni thabiti na hutoa utendaji wa juu. Kitu pekee ambacho bado kinazuia kuenea kwa Linux ni ukosefu wa programu za ofisi kama vile vichakataji vya maneno na lahajedwali. Lakini katika Hivi majuzi idadi ya programu kama hizo inakua kwa kasi, na ubora wa miingiliano ya watumiaji inakaribia ile inayojulikana kwa watumiaji wa Windows.
Shida nyingine ya mfumo wa Linux ni kwamba inaelekea kubaki nyuma katika kusaidia vifaa vya hivi karibuni, lakini kuna maelezo kwa hilo pia. Watengenezaji wa vifaa hivi daima hutoa habari juu yao kwa wazalishaji wanaoongoza wa mfumo wa uendeshaji hata kabla ya kutolewa kwa vifaa hivi. vifaa kwenye soko, ndiyo sababu Windows, kwa mfano, kawaida hutoa msaada kwa vifaa vipya mara tu inapoingia sokoni. Sifa ya Linux kati ya watengenezaji wa vifaa inakua kwa kasi, kwa hivyo tunaweza kutumaini kuwa shida ya usaidizi wa vifaa hivi karibuni itatatuliwa.

chumba cha upasuaji Mfumo wa Windows

Hivi sasa, familia ya Windows ya mifumo ya uendeshaji ni mfumo wa uendeshaji maarufu zaidi kwa kompyuta za kibinafsi. Mifumo hii yote ya uendeshaji ina interface sawa (na ya juu sana!) ya kielelezo cha mtumiaji, lakini inatofautiana kwa kiasi kikubwa katika muundo wa ndani.
Katika familia ya Windows, mifumo ya uendeshaji ya Windows 95/98/Me inawakilisha tawi la mifumo ya uendeshaji ya watumiaji inayolenga hasa matumizi ya nyumbani, wakati mfumo wa Windows XP unalenga hasa jukwaa la 64-bit, na hutofautiana katika utekelezaji wa 32-bit kutoka. Windows 2000 haswa kwenye kiolesura.
Mfumo wa uendeshaji wa kisasa wa Windows 2000 ni mfumo endeshi wa kawaida wa multitasking ambao unaauni kumbukumbu pepe, mfumo wa faili, mtandao, kiolesura cha picha cha mtumiaji, na medianuwai. Imeshuka moja kwa moja kutoka kwa Windows NT na haina uhusiano wowote na mfumo wa uendeshaji wa MS-DOS ambao ulienea takriban muongo mmoja uliopita. Hata hivyo, maendeleo ya uendeshaji Mifumo ya Microsoft ilitokea kwa mfuatano, na ni jambo la busara zaidi kuanza historia yao kutoka kwa DOS.
1983: Mfumo wa uendeshaji wa MS-DOS 2.0 ulitolewa, ikiwa ni pamoja na usaidizi wa hifadhi ya diski ngumu, mfumo wa faili na muundo wa jina la faili la hierarkia, na viendeshi vya kifaa vinavyoweza kupakiwa. Baadaye, matoleo yote ya Windows, hadi Windows NT, yalifanya kazi kama nyongeza kwa toleo la DOS sio chini ya 2.0, kwa kutumia mfumo wake wa faili na kazi za mfumo kufanya kazi na vifaa vya kompyuta.
1985. Toleo la kwanza la Windows linatolewa - Windows 1.01. Wakati huo, Windows bado sio mfumo kamili wa uendeshaji na inahitaji mfumo wa uendeshaji kwa uendeshaji wake. Mfumo wa DOS 2.0. Windows 1.01 inasaidia tu madirisha yasiyoingiliana na inaruhusu watumiaji kubadili kati ya programu bila kuwasha upya. Hadi sasa kuibuka kwa Windows 1.01, ganda kadhaa za picha za DOS tayari ziko kwenye soko, lakini zote, kama Windows, sio maarufu sana kwa sababu ya ukosefu wa programu. Kwa kuongeza, kufanya kazi katika madirisha yasiyo ya kuingiliana haifai.
1987: Windows 2.0 inatolewa, kusaidia madirisha yanayoingiliana. Wakati huo huo na kutolewa kwa Windows 2.0, elektroniki Jedwali la Microsoft Excel na maandishi Kichakataji cha maneno 1.0 ni programu ambayo ni rahisi kutumia kwa Windows. Shukrani kwa kielelezo chake cha kielelezo cha urahisi na upatikanaji wa programu muhimu za programu, toleo la Windows 2.0 linakuwa maarufu, na kuuza nakala milioni katika nusu mwaka.
1988. Toleo la Windows 2.1 linatolewa, kuunga mkono kumbukumbu iliyopanuliwa kwenye processor ya 80286 na multitasking kwenye processor ya 80386. Kwa toleo hili, inakuwa ya lazima kwa kompyuta kuwa na diski ngumu (hapo awali diski za floppy zilikuwa za kutosha).
1990: Windows 3.0 ilitolewa. Inatumika katika hali ya kichakataji iliyolindwa na inasaidia kubadilishana kwa programu na data kulingana na maelezo ya kizuizi cha kumbukumbu. Wakati huo huo, wakati data kutoka kwa kizuizi fulani cha kumbukumbu haihitajiki, mfumo unaweza, kwa hiari yake, kuhamisha kizuizi hiki kwenye kumbukumbu na hata kufuta data yake kwenye diski. Lakini wakati programu yoyote inahitaji data hii, lazima ionyeshe hii kwa mfumo na kuipitisha maelezo ya kuzuia kumbukumbu ili kutambua kizuizi kinachohitajika (wakati kizuizi cha kumbukumbu kinatolewa, mfumo unarudi maelezo yake). Baada ya kupokea ombi la kufikia kumbukumbu, mfumo huzuia block hii kwenye kumbukumbu na hupitisha programu kiashiria hadi mwanzo wa kizuizi. Mfumo hauwezi tena kuhamisha kizuizi hicho cha kumbukumbu hadi programu ifahamishe kuwa kupata data kutoka kwa kizuizi hicho cha kumbukumbu hakuhitajiki tena. Kuanzia na Windows 3.0, programu za MS-DOS zinaweza kuendeshwa kwenye dirisha.
1992: Windows 3.1 ilitolewa, ambayo ni uboreshaji zaidi kwenye Windows 3.0, lakini ni toleo la kwanza la Windows kutumika sana nchini Urusi. Hivi karibuni, Windows 3.1 ikawa mfumo maarufu zaidi kwa suala la idadi ya usakinishaji nchini Merika na kubaki na uongozi wake hadi 1997.
1993: Windows 3.11 inatolewa, na kuongeza usaidizi wa mitandao (barua pepe, kugawana faili, vikundi vya kazi).
1993. Mfumo wa uendeshaji wa Windows NT (NT - Teknolojia Mpya) inatolewa - mfumo wa kwanza wa uendeshaji kamili wa familia ya Windows ambayo hauhitaji msingi katika mfumo wa MS-DOS kwa uendeshaji wake. Windows NT inahitaji kichakataji cha angalau 80386 ili kufanya kazi; ina kumbukumbu kamili ya mtandaoni, shughuli nyingi za mapema, na mfumo mpya wa faili. Kuanzia na Windows NT, matawi ya watumiaji na wataalamu yalitenganishwa.
1995. Mfumo wa uendeshaji wa Windows 95 unatolewa, kuwa zaidi maendeleo ya Windows 3.11, inakuwa mtumiaji wa kwanza Toleo la Windows, ambayo haihitaji DOS kufanya kazi. Windows 95 inatanguliza kwa mara ya kwanza kiolesura kipya cha kielelezo ambacho ni rahisi sana, angavu, na huweka Windows katika mstari wa mbele ulimwenguni kwa urahisi wa matumizi na ubora wa kiolesura cha mtumiaji.
1996. Mfumo wa uendeshaji wa Windows NT4 unatolewa. Ni maendeleo zaidi ya Windows NT na inapokea desturi Kiolesura cha Windows 95. Hivi karibuni mfumo wa uendeshaji wa Windows NT4 utakuwa mojawapo ya maarufu zaidi kwa kazi ya kitaaluma.
2000. Mfumo wa uendeshaji wa Windows 2000. Kwa kiasi kikubwa urithi wa usanifu wa ndani wa Windows NT, lakini idadi ya huduma za ziada zilianzishwa, kwa mfano, msaada kwa kompyuta iliyosambazwa.
2000. Mfumo wa uendeshaji wa Windows Me unatolewa, ambayo ni maendeleo zaidi ya Windows 95/98. Hata hivyo, inatangazwa kuwa itakuwa toleo la mwisho la watumiaji wa Windows. Tawi la walaji, ambalo lilijitenga mwaka wa 1993, linaunganishwa tena na tawi la kitaaluma, na tawi moja la Windows XP litaendelea kuendeleza.
na kadhalika. Nakadhalika.
2006. Vista

Historia ya OS inarudi karibu nusu karne. Ilikuwa na imedhamiriwa kwa kiasi kikubwa na maendeleo ya msingi wa kipengele na vifaa vya kompyuta.

Kizazi cha kwanza.

40s. Kompyuta za kwanza za dijiti bila OS. Shirika la mchakato wa kompyuta huamua na programu kutoka kwa jopo la kudhibiti.

Kizazi cha pili.

50s. Kuibuka kwa mfano wa OS - kufuatilia mifumo inayotekeleza mfumo wa usindikaji wa kundi kwa kazi.

Hali ya kundi

Uhitaji wa matumizi bora ya rasilimali za gharama kubwa za kompyuta ulisababisha kuibuka kwa dhana ya "mode ya kundi" kwa ajili ya utekelezaji wa programu. Njia ya kundi inachukua uwepo wa foleni ya programu za utekelezaji, na OS inaweza kuhakikisha kuwa programu hiyo inapakiwa kutoka. vyombo vya habari vya nje data katika RAM, bila kusubiri programu ya awali ili kukamilisha utekelezaji, ambayo huepuka kupungua kwa processor.

Kizazi cha tatu.

1965-1980 Mpito kwa mizunguko iliyounganishwa. IBM/360. Takriban dhana zote za kimsingi katika mifumo ya uendeshaji ya kisasa zinatekelezwa: kugawana wakati Na kufanya kazi nyingi, mgawanyo wa madaraka, Muda halisi, miundo ya faili na mifumo ya faili. Utekelezaji wa programu nyingi ulihitaji kuanzishwa kwa mabadiliko muhimu sana kwa vifaa vya kompyuta: njia za upendeleo na za watumiaji, njia za kulinda maeneo ya kumbukumbu, na mfumo wa usumbufu ulioendelezwa.

Kushiriki wakati na kufanya kazi nyingi

Tayari hali ya kundi katika toleo lake la maendeleo inahitaji mgawanyiko wa muda wa processor kati ya utekelezaji wa programu kadhaa. Haja ya kushiriki wakati (kufanya kazi nyingi, upangaji programu nyingi) iliongezeka zaidi kwa kuenea kwa teletypes (na vituo vya baadaye vilivyo na vionyesho vya miale ya cathode) kama vifaa vya kuingiza/vya kutoa (miaka ya 1960). Kwa sababu kasi ingizo la kibodi(na hata kusoma kutoka skrini) data na operator ni chini sana kuliko kasi ya usindikaji data hii na kompyuta, kwa kutumia kompyuta katika hali ya "kipekee" (na operator mmoja) inaweza kusababisha kupungua kwa rasilimali za gharama kubwa za kompyuta.

Kushiriki kwa muda kuruhusiwa kuunda mifumo ya "watumiaji wengi", ambayo processor moja (kawaida) ya kati na block ya RAM iliunganishwa kwenye vituo vingi. Katika hali hii, baadhi ya kazi (kama vile kuingiza au kuhariri data na opereta) zinaweza kufanywa katika hali ya mazungumzo, na kazi nyingine (kama vile hesabu kubwa) zinaweza kufanywa katika hali ya bechi.

Mgawanyo wa madaraka

Kuenea kwa mifumo ya watumiaji wengi ilihitaji kutatua shida ya mgawanyiko wa madaraka, ambayo inafanya uwezekano wa kuzuia uwezekano wa kurekebisha programu inayoweza kutekelezwa au data ya programu moja kwenye kumbukumbu ya kompyuta ya mwingine (iliyo na kosa au iliyoandaliwa vibaya) , pamoja na urekebishaji wa OS yenyewe na programu ya programu.

Utekelezaji wa mgawanyo wa madaraka katika OS uliungwa mkono na watengenezaji wa processor ambao walipendekeza usanifu na njia mbili za uendeshaji za processor - "halisi" (ambayo programu inayoweza kutekelezwa nafasi nzima ya anwani ya kompyuta inapatikana) na "imelindwa" (ambayo upatikanaji wa nafasi ya anwani ni mdogo kwa upeo uliotengwa wakati programu inazinduliwa kwa ajili ya utekelezaji).

Muda halisi

Maombi kompyuta za ulimwengu wote ili kudhibiti michakato ya uzalishaji ilihitaji utekelezaji wa "wakati halisi" ("wakati halisi") - maingiliano ya utekelezaji wa programu na michakato ya nje ya mwili.

Kuingizwa kwa kazi za wakati halisi katika OS ilifanya iwezekanavyo kuunda mifumo ambayo hutumikia wakati huo huo michakato ya uzalishaji na kutatua matatizo mengine (katika hali ya kundi na (au) katika hali ya kugawana wakati).

Mifumo hii ya uendeshaji inaitwa Mifumo ya uendeshaji yenye kuratibu kwa wakati halisi au RTOS kwa kifupi.

Mifumo ya faili na muundo

Ubadilishaji wa taratibu wa midia ya ufikiaji (tepu zilizopigwa, kadi zilizopigwa na tepi za sumaku) na viendeshi vya ufikiaji nasibu (diski ya sumaku)

Kizazi cha nne.

Mwisho wa 70s. Toleo la kufanya kazi la rafu ya itifaki ya TCP/IP imeundwa. Iliwekwa sanifu mnamo 1983. Uhuru wa mtengenezaji, kubadilika na ufanisi uliothibitishwa kazi yenye mafanikio Mtandao umefanya mrundikano huu wa itifaki kuwa mrundikano mkuu kwa mifumo mingi ya uendeshaji.

Mapema 80s. Ujio wa kompyuta za kibinafsi. Ukuaji wa haraka wa mitandao ya ndani. Msaada kazi za mtandao ikawa hali ya lazima.

miaka ya 80. Viwango vya msingi vya teknolojia za mawasiliano mitandao ya ndani: Ethernet, Pete ya Ishara, FDDI. Hii ilifanya iwezekanavyo kuhakikisha utangamano wa mifumo ya uendeshaji ya mtandao katika viwango vya chini.

Mapema miaka ya 90. Takriban mifumo yote ya uendeshaji imekuwa mtandao. Mifumo maalum ya uendeshaji wa mtandao imeonekana (kwa mfano, IOS inayoendesha kwenye ruta)

Muongo uliopita. Uangalifu hasa kwa mifumo ya uendeshaji ya mtandao wa ushirika, ambayo ina sifa ya shahada ya juu scalability, msaada wa mtandao, zana za juu za usalama, uwezo wa kufanya kazi katika mazingira tofauti, upatikanaji wa zana za utawala wa kati.

  • II. Kanuni za msingi na sheria za mwenendo rasmi wa watumishi wa serikali wa Huduma ya Ushuru ya Shirikisho
  • II. Malengo makuu na malengo ya Programu, kipindi na hatua za utekelezaji wake, viashiria vya lengo na viashiria
  • II. Hatua kuu za maendeleo ya fizikia.Malezi ya fizikia (hadi karne ya 17).
  • III.2.1) Dhana ya uhalifu, sifa zake kuu.
  • Historia ya maendeleo ya mifumo ya uendeshaji inarudi zaidi ya nusu karne na inaunganishwa bila usawa ngazi ya kiufundi maendeleo ya umeme, sayansi ya vifaa, hisabati, taaluma zote za sayansi na teknolojia, bila ambayo ni jambo lisilofikirika kujenga tata ya kompyuta. Kwa hiyo, hatua za maendeleo ya mifumo ya uendeshaji ni karibu kuhusiana na hatua fulani maendeleo ya kisayansi na kiteknolojia katika eneo hili.

    Kipindi cha kwanza (1945-1955)

    Kompyuta za kwanza za elektroniki zilionekana baada ya Vita vya Kidunia vya pili. Mnamo miaka ya 1940, vifaa vya kwanza vya kompyuta kulingana na zilizopo viliundwa, na kanuni ya programu iliyohifadhiwa kwenye kumbukumbu ya mashine ilionekana (Howard Aiken wa Chuo Kikuu cha Harvard, John von Neumann wa Taasisi ya Utafiti wa Juu huko Princeton, na wengine, Juni 1945). Kompyuta zilikuwa nyingi, zilichukua vyumba kadhaa. Muundo wao ulihusisha matumizi ya mirija ya utupu elfu kadhaa. Kufanya kazi na kompyuta ilikuwa ngumu vile vile. Kundi moja la watu wakati huo huo walifanya matengenezo yao, uendeshaji na programu. Mashine kama hizo zinaweza kuainishwa kwa urahisi kuwa za majaribio, na hesabu zilizofanywa juu yake zilikuwa, badala yake, za asili ya majaribio (ya majaribio). Upangaji ulifanyika kwenye lugha ya mashine, i.e. ingizo la kufuatana la amri na misimbo ya data kutoka kwa vitufe, na hakukuwa na mazungumzo ya mfumo wowote au programu ya programu. Programu ilipakiwa kwenye kumbukumbu ya mashine kwa kutumia paneli ya kiraka au kutoka kwa safu ya kadi zilizopigwa. Vifaa vilivyopo vifaa vya kuingiza/vya kutoa havikuwa sanifu na vilikuwa vidhibiti vya mbali vilivyo na seti ya swichi, vitufe na viashirio. Rasilimali zote za kompyuta zilisimamiwa na wafanyikazi wake, ambao walizindua programu hiyo kwa mikono, waliitenga kiasi kinachohitajika cha kumbukumbu, na kuangalia mchakato mzima wa hesabu. Mfumo wa kompyuta ulifanya operesheni moja tu kwa wakati mmoja (pembejeo-pato au mahesabu halisi). Urekebishaji wa programu ulifanyika kutoka kwa jopo la kudhibiti kwa kusoma hali ya kumbukumbu na rejista za mashine. Walakini, tayari katika kipindi hiki cha wakati, maktaba za programu za hisabati na matumizi ziliundwa ambazo programu inaweza kufikia wakati wa kutekeleza programu kuu.



    Mwishoni mwa kipindi hiki, programu ya kwanza ya mfumo inaonekana: mwaka 1951-1952. prototypes za watunzi wa kwanza kutoka kwa lugha za mfano (Fortran, nk) zilionekana, na mnamo 1954 Nat Rochester alitengeneza mkusanyiko wa IBM-701.

    Sehemu kubwa ya wakati ilitumika kuandaa kuzindua programu, na programu zenyewe zilitekelezwa kwa mfuatano madhubuti. Njia hii ya uendeshaji inaitwa usindikaji wa data mfululizo. Kwa ujumla, kipindi cha kwanza kina sifa ya sana gharama kubwa mifumo ya kompyuta, idadi yao ndogo na ufanisi mdogo wa matumizi. Kwa hiyo, kompyuta ya UNIVAC I, iliyotengenezwa Machi 1951, ilikuwa na taa 5,000 na inaweza kufanya kazi kwa kasi ya shughuli 1,000 kwa pili. Gharama ya mashine kama hiyo ilikuwa dola za Kimarekani 159,000.

    Kipindi cha pili (1955 - mapema 60s).

    Katikati ya miaka ya 50 ya karne ya ishirini, kipindi kipya kilianza katika maendeleo ya teknolojia ya kompyuta. Relays na taa zilibadilishwa na transistors za semiconductor. Hii ilifanya iwezekanavyo kuongeza utendaji wa wasindikaji, kiasi cha RAM na kumbukumbu ya nje iliongezeka kwa kasi, na kimsingi vifaa vipya vya interface vilionekana. Kwa ujumla, mfumo wa kompyuta umekuwa mgumu zaidi, ambao umebadilisha mtazamo wa waendeshaji kuelekea hilo. Kuna haja ya automatisering kazi ya hesabu na, kwa sababu hiyo, kurahisisha mchakato wa programu yenyewe. Katika miaka hii, lugha za kwanza za algorithmic na kuandamana na programu maalum - watafsiri - zilionekana. Kati ya lugha za wakati huo, ALGOL na Fortran zilitumika sana.



    Kufanya mahesabu yoyote sasa kunahusisha zaidi operesheni ya mfululizo, yaani: kuingiza maandishi ya programu, kupakia mtafsiri anayetaka, kuunganisha programu na taratibu za maktaba, kupata programu inayotokana na msimbo wa mashine, kupakia msimbo kwenye RAM, kuzindua programu na, hatimaye, kutoa matokeo kwa kifaa cha nje. Hiyo ni, mchakato wa hesabu yenyewe huchukua moja tu vipengele katika shughuli nyingi za kimahesabu. Hii ilihitaji kuanzishwa kwa waendeshaji wa kompyuta waliohitimu sana katika wafanyikazi wa vituo vya kompyuta.

    Ni wazi kwamba bila kujali jinsi waendeshaji wa haraka na wa kuaminika hufanya kazi, utendaji wa vifaa vya kompyuta ni wa juu. Kwa hivyo, sehemu ya wakati mashine inakaa tu bila kufanya kitu, ikingojea vitendo vifuatavyo vya mwendeshaji. Ili kutatua tatizo hili, mifumo ya kwanza ya usindikaji wa kundi ilitengenezwa, ambayo ilifanya automatiska mlolongo mzima wa vitendo vya operator ili kuandaa mchakato wa kompyuta. Hizi zilikuwa programu za kwanza za mfumo - prototypes za mifumo ya kisasa ya uendeshaji. Mfumo wa usindikaji wa kundi uliwakilisha seti ya kawaida ya maagizo, ikiwa ni pamoja na ishara ya kuanza kwa kazi tofauti, wito kwa mfasiri, wito kwa kipakiaji, na ishara ya mwanzo na mwisho wa data ya chanzo. Ili iwe rahisi kufanya kazi na maagizo, lugha rasmi ya udhibiti wa kazi (mfano wa amri za DOS) ilitengenezwa. Opereta hukusanya kifurushi cha kazi ambazo zinazinduliwa kwa kufuatana kwa utekelezaji na programu maalum ya kudhibiti - mfuatiliaji. Kichunguzi kinaweza kushughulikia hali za dharura kwa uhuru na kudhibiti matumizi ya RAM. Kifurushi kawaida kilikuwa seti ya kadi zilizopigwa, yaliyomo ambayo yaliingizwa kwa mpangilio kwenye mashine kwa kutumia kifaa maalum. Kumbuka kwamba kifaa kiliruhusu ufungaji wa vifurushi kadhaa vya kadi zilizopigwa ndani yake, kwa hiyo, kwa kweli, jina la seti hii ya maagizo - mifumo ya usindikaji wa kundi.

    Mifumo ya usindikaji wa kundi iliharakisha kwa kiasi kikubwa utekelezaji wa vitendo vya usaidizi ili kuandaa mchakato wa kompyuta, lakini watengeneza programu wa watumiaji walipoteza ufikiaji wa moja kwa moja kwa mashine, ambayo ilipunguza ufanisi wa watengeneza programu wenyewe. Marekebisho yoyote katika programu wakati wa utatuzi wake yalihitaji muda mwingi. Njia moja au nyingine, mahesabu yenyewe yalidhibitiwa na wengine - wafanyakazi wa matengenezo ya vituo vya kompyuta.

    Kompyuta za kizazi cha pili zilitumiwa kimsingi kwa hesabu za kisayansi na kiufundi, kama vile kutatua milinganyo tofauti. Upangaji programu ulifanyika Fortran au Assembly, na mifumo ya uendeshaji ya kawaida ilikuwa FMS (Fortran Monitor System) na IBSYS (mfumo wa uendeshaji wa IBM kwa kompyuta ya IBM 7094).

    Kipindi cha tatu (mapema 60s - 1980).

    Muonekano wa 1965-1975 wa kompyuta kulingana na nyaya zilizounganishwa ilifungua ukurasa mpya katika maendeleo ya teknolojia ya kompyuta. Mashine mpya zilikuwa na usanifu tata, ulioendelezwa, karibu na usanifu kompyuta za kisasa. Kwa wakati huu tumeamua kabisa juu ya kuu vifaa vya pembeni. Wawakilishi wa kawaida wa mashine hizo ni mfululizo wa IBM/360 wa kompyuta au analogues zao za ndani - kompyuta za familia ya EC. Kwa kuwa mashine katika mfululizo huu zilikuwa na muundo sawa na seti ya amri, mipango iliyoandikwa kwa kompyuta moja inaweza, kimsingi, kufanya kazi kwa wengine wote. Faida nyingine ya mfululizo wa IBM/360 wa kompyuta ni kwamba kompyuta hizi zinaweza kutumika kwa madhumuni ya kisayansi (hesabu za nambari za sayansi na teknolojia) na kwa madhumuni ya kisayansi. matumizi ya kibiashara(kuchambua na kuchapisha data). Hii ilitanguliza mafanikio ya IBM, ambayo ilijitangaza kuwa kiongozi wa ulimwengu katika soko la kompyuta. Watengenezaji wengine walianza kukubali wazo la familia ya kompyuta zinazolingana. Mfumo wa uendeshaji wa OS/360 uliundwa kufanya kazi kwenye kompyuta zote za familia fulani ya mashine, bila kujali madhumuni ambayo kompyuta iliyotumiwa ilikuwa na (kuhesabu utabiri wa hali ya hewa au kunakili tu habari kutoka kwa kadi zilizopigwa hadi kwenye tepi za sumaku).

    Licha ya ukweli kwamba mfumo wa uendeshaji wa OS/360 ulikuwa mkubwa sana na ngumu (mamilioni ya mistari ya lugha ya kusanyiko), ilikuwa katika kipindi hiki ambapo karibu mifumo yote ya msingi iliyojengwa katika mifumo ya kisasa ya uendeshaji ilitekelezwa: multitasking, msaada kwa watumiaji wengi. mode, kumbukumbu halisi, mfumo wa faili na kadhalika. Kutoka kwa mwelekeo wa hisabati inayotumika inayohusishwa na programu, tawi tofauti linasimama - programu ya mfumo. Katika hali ya nguvu ya kompyuta iliyoongezeka sana, kufanya kazi moja tu kwa wakati hakukuwa na ufanisi. Suluhisho lilipatikana katika multiprogramming (multitasking) - njia ya kuandaa mchakato wa kompyuta ambayo kazi kadhaa huwekwa kwenye RAM wakati huo huo, lakini hutekelezwa kwa processor moja. Multiprogramming ilitekelezwa katika matoleo mawili: katika mfumo wa usindikaji wa kundi uliothibitishwa vizuri na katika mfumo wa kugawana wakati (ulioandaliwa na Taasisi ya Teknolojia ya Massachusetts, IBM 7094), shukrani ambayo kila mtumiaji alikuwa na terminal yake ya maingiliano.

    Matumizi ya nyaya zilizounganishwa imefanya iwezekanavyo kupunguza kwa kiasi kikubwa ukubwa wa kompyuta. Kompyuta hizi zilijulikana kama kompyuta ndogo (PDP-1, DEC Corporation, 1961), na ingawa ziligharimu takriban $120,000, zilifanikiwa kibiashara na zinahitajika sana. Gharama yao ilikuwa 5% ya gharama ya kompyuta ya IBM 7094, hata hivyo, kompyuta za mfululizo wa PDP zilifanya shughuli fulani kwa kasi sawa.

    Ilikuwa kwa mfululizo wa PDP-7 wa kompyuta ambapo mtaalamu wa Bell Labs Ken Thompson alitengeneza toleo la mtumiaji mmoja la mfumo wa uendeshaji wa MULTICS, ambao baadaye ulikua mfumo wa uendeshaji wa UNIX, ambao wakati huo ulikuwa na aina za System V (AT&T Corporation), BSD. (Taasisi ya Berkeley ya California) na wengine. Kwa mfumo wa uendeshaji wa UNIX, Ken Thompson na Denis Ritchie walitengeneza lugha ya C, ambayo bado ni kiongozi katika uwanja wa programu za mifumo. Mnamo 1974, walichapisha nakala "Mfumo wa Ugawaji wa Wakati wa UNIX" katika jarida la Commun. ya ACM, ambayo ilifanya mfumo wa UNIX kuwa maarufu.

    Kipindi cha kwanza (1945 -1955). Katikati ya miaka ya 40, vifaa vya kwanza vya kompyuta vilivyo na taa viliundwa (huko USA na Uingereza); huko USSR, kompyuta ya kwanza iliyo na taa ilionekana mnamo 1951. Upangaji ulifanyika katika lugha ya mashine pekee. Msingi wa kipengele - mirija ya utupu na paneli za mawasiliano. Hakukuwa na mifumo ya uendeshaji; kazi zote za kupanga mchakato wa kompyuta zilitatuliwa kwa mikono na mpangaji programu kutoka kwa paneli dhibiti. Programu ya mfumo - maktaba ya utaratibu wa hisabati na matumizi.

    Kipindi cha pili (1955 - 1965). Tangu katikati ya miaka ya 50, kipindi kipya kilianza katika maendeleo ya teknolojia ya kompyuta, inayohusishwa na kuibuka kwa msingi mpya wa kiufundi - vipengele vya semiconductor(transistors). Katika miaka hii, lugha za kwanza za algorithmic na, kwa hiyo, programu za kwanza za mfumo - wakusanyaji - zilionekana. Gharama ya muda wa CPU imeongezeka, na kuhitaji kupunguzwa kwa muda kati ya uendeshaji wa programu. Mifumo ya kwanza ya usindikaji wa kundi ilionekana, na kuongeza sababu ya mzigo wa processor. Mifumo ya usindikaji wa kundi ilikuwa mfano wa mifumo ya uendeshaji ya kisasa; ikawa ya kwanza programu za mfumo, iliyoundwa kudhibiti mchakato wa kompyuta. Lugha rasmi ya usimamizi wa kazi ilitengenezwa. Utaratibu wa kumbukumbu halisi umeonekana.

    Kipindi cha tatu (1965 - 1975). Mpito kwa nyaya zilizounganishwa. Uundaji wa familia za mashine zinazoendana na programu (Mfumo wa IBM/360 mfululizo wa mashine, analog ya Soviet - mashine za mfululizo wa EC). Katika kipindi hiki cha muda, karibu dhana zote za msingi zilizo katika mifumo ya uendeshaji ya kisasa zilitekelezwa: multiprogramming, multiprocessing, multi-terminal mode, kumbukumbu virtual, mfumo wa faili, udhibiti wa upatikanaji na mitandao. Wachakataji sasa wana njia za upendeleo na za watumiaji, rejista maalum za kubadilisha muktadha, njia za kulinda maeneo ya kumbukumbu, na mfumo wa kukatiza. Ubunifu mwingine ni spooling. Spooling wakati huo ilifafanuliwa kama njia ya kupanga mchakato wa kompyuta, kulingana na ambayo kazi zilisomwa kutoka kwa kadi zilizopigwa kwenye diski kwa kasi ambayo walionekana kwenye kituo cha kompyuta, na kisha, wakati kazi inayofuata imekamilika, mpya. kazi ilipakiwa kutoka kwa diski hadi kwa kizigeu cha bure. Aina mpya ya OS imeonekana - mifumo ya kugawana wakati. Mwishoni mwa miaka ya 60, kazi ilianza kuunda mtandao wa kimataifa wa ARPANET, ambao ukawa mwanzo wa mtandao. Kufikia katikati ya miaka ya 70, kompyuta ndogo zilienea. Usanifu wao umerahisishwa kwa kiasi kikubwa ikilinganishwa na mainframes, ambayo yalionyeshwa kwenye OS yao. Ufanisi wa gharama na upatikanaji wa kompyuta ndogo ulitumika kama motisha yenye nguvu kwa uundaji wa mitandao ya kwanza ya ndani. Tangu katikati ya miaka ya 70, matumizi makubwa ya UNIX OS ilianza. Mwishoni mwa miaka ya 70, toleo la kazi la itifaki ya TCP / IP iliundwa, na mwaka wa 1983 ilikuwa sanifu.


    Kipindi cha nne (1980-sasa). Kipindi kinachofuata katika mageuzi ya mifumo ya uendeshaji inahusishwa na ujio wa nyaya za kuunganisha kwa kiasi kikubwa (LSI). Katika miaka hii, kulikuwa na ongezeko kubwa la kiwango cha ushirikiano na kupunguza gharama ya microcircuits. Enzi ya kompyuta za kibinafsi imefika. Kompyuta zimetumika sana na wasio wataalamu. Kiolesura cha picha cha mtumiaji (GUI) kimetekelezwa, nadharia ambayo ilitengenezwa miaka ya 60. Tangu 1985, Windows ilianza kutengenezwa, ilikuwa ya picha shell ya MS-DOS hadi 1995, wakati mfumo kamili wa uendeshaji wa Windows 95 ulipotolewa. IBM na Microsoft kwa pamoja walitengeneza mfumo wa uendeshaji wa OS/2. Iliauni shughuli nyingi za mapema, kumbukumbu pepe, kiolesura cha picha cha mtumiaji, na mashine pepe ya kuendesha programu za DOS. Toleo la kwanza lilitolewa mwaka wa 1987. Baadaye, Microsoft iliacha OS/2 na kuanza Maendeleo ya Windows N.T. Toleo la kwanza lilitolewa mnamo 1993.

    Mwaka 1987 Mfumo wa uendeshaji wa MINIX (Mfano wa LINUX) ulitolewa; ilijengwa juu ya kanuni ya usanifu wa microkernel.

    Katika miaka ya 80, viwango kuu vya vifaa vya mawasiliano kwa mitandao ya ndani vilipitishwa: mwaka wa 1980 - Ethernet, mwaka wa 1985 - Gonga la Token, mwishoni mwa miaka ya 80 - FDDI. Hii ilifanya iwezekane kuhakikisha utangamano wa mifumo ya uendeshaji ya mtandao katika viwango vya chini, na pia kusawazisha kiolesura cha mfumo wa uendeshaji na viendeshi vya adapta za mtandao.

    Katika miaka ya 90, karibu mifumo yote ya uendeshaji ikawa msingi wa mtandao. Mifumo maalum ya uendeshaji imeonekana ambayo imeundwa kwa ajili ya kutatua matatizo ya mawasiliano pekee (IOS kutoka kwa Cisco Systems). Ujio wa Mtandao Wote wa Ulimwenguni (WWW) mnamo 1991 ulitoa msukumo mkubwa kwa umaarufu wa mtandao. Maendeleo ya mifumo ya uendeshaji ya mtandao wa ushirika inakuja mbele. Utengenezaji wa Mfumo wa Uendeshaji wa Mfumo mkuu unaanza tena. Mwaka 1991 LINUX ilitolewa. Baadaye kidogo, FreeBSD ilitolewa (msingi wake ulikuwa BSD UNIX).


    Taasisi ya Fedha na Uchumi ya Mawasiliano ya Urusi Yote

    Kitivo: fedha - mikopo

    Utaalam: kikundi cha jioni cha fedha na mkopo

    Kazi ya kozi

    Katika taaluma "Informatics"

    Juu ya mada "Kusudi, uainishaji na mabadiliko ya mifumo ya uendeshaji"

    Moscow - 2008

    Utangulizi
    1 Madhumuni ya mifumo ya uendeshaji 5

    2 Hebu tuorodhe kazi kuu za mifumo ya uendeshaji 9

    2.2 Kuhudumia shughuli zote za I/O 9

    3 Mageuzi na uainishaji wa OS
    Hitimisho 2
    Marejeleo 22

    Utangulizi

    Mfumo wa uendeshaji (OS) ni msingi wa programu ya mfumo, ambayo inadhibiti boot ya awali ya kompyuta, inasimamia uendeshaji wa vifaa vyake vyote na kuangalia utendaji wao, inasimamia mfumo wa faili wa kompyuta, na buti. maombi maalum na usambazaji wa rasilimali za kompyuta kati yao, usaidizi wa interface ya mtumiaji, nk Familia zinazojulikana za mifumo ya uendeshaji ni pamoja na DOS, WINDOWS, UNIX, NETWARE, nk.

    Mfumo wa uendeshaji (OS) ni seti ya programu zinazofanya kazi mbili: kumpa mtumiaji urahisi wa mashine ya kawaida na kuongeza ufanisi wa kutumia kompyuta wakati wa kusimamia rasilimali zake kwa busara.

    Kichakataji cha kompyuta hutekeleza maagizo yaliyotolewa kwa lugha ya mashine. Maandalizi ya moja kwa moja ya amri hizo huhitaji mtumiaji kuwa na ujuzi wa lugha na maalum ya ujenzi na mwingiliano wa maunzi. Kwa hivyo, kwa mfano, kupata habari iliyohifadhiwa kwenye njia ya sumaku, inahitajika kuonyesha nambari za kuzuia kwenye diski na nambari za sekta kwenye wimbo, kuamua hali ya injini ya utaratibu wa kusonga vichwa vya kurekodi vilivyosomwa. , tambua uwepo na aina za makosa, fanya uchambuzi wao, nk. Zinahitaji ujuzi huu kutoka kwa kila mtu watumiaji ni karibu haiwezekani. Kwa hivyo, hitaji liliibuka kuunda OS - seti ya programu zinazoficha kutoka kwa mtumiaji sifa za eneo la habari la habari na kufanya usindikaji wa usumbufu, usimamizi wa timer na RAM. Matokeo yake, mtumiaji hutolewa na mashine ya kawaida ambayo inatekeleza kazi kiwango cha kimantiki.

    1 Madhumuni ya mifumo ya uendeshaji

    Mifumo ya uendeshaji inarejelea programu ya mfumo. Programu zote zimegawanywa katika mfumo na matumizi. Programu ya mfumo kawaida inajumuisha programu kama hizo na tata za programu ambazo ni za kawaida, bila ambayo haiwezekani kutekeleza au kuunda programu zingine. Historia ya kuibuka na ukuzaji wa programu ya mfumo ilianza tangu wakati watu waligundua kuwa programu yoyote inahitaji shughuli za pembejeo / pato. Hii ilitokea katika miaka ya 50 ya karne iliyopita. Mifumo ya uendeshaji yenyewe ilionekana baadaye kidogo.

    Vile vile, matokeo ya matokeo yanaweza kupangwa, kwa mfano, kwenye vifaa vinavyofaa na kwa fomu inayofaa kwa mtazamo wa kibinadamu. Au matokeo ya hesabu yatatumwa na programu kwa watendaji wengine ambao wanadhibitiwa na kompyuta. Hatimaye, tunaweza kupanga kurekodi maadili yaliyopatikana kwenye baadhi ya vifaa vya kuhifadhi data (kwa madhumuni ya usindikaji wao zaidi).

    Utengenezaji wa programu za I/O ni mojawapo ya maeneo yanayotumia muda mwingi katika ukuzaji wa programu. Hii haihusu kutumia kauli kama SOMA au ANDIKA katika lugha ngazi ya juu. Tunazungumza juu ya hitaji la kuunda programu ndogo katika mfumo wa mashine, tayari kwa kutekelezwa kwenye kompyuta, na haijaandikwa kwa kutumia mfumo fulani wa programu (hakukuwa na mifumo ya programu wakati huo), programu ndogo ambayo, badala ya mahesabu ya kawaida, inadhibiti kifaa ambacho kinapaswa kushiriki katika data ya shughuli za uingizaji au hitimisho la matokeo. Ikiwa kuna utaratibu mdogo kama huu, mtayarishaji programu anaweza kuufikia mara nyingi kama idadi ya shughuli za I/O kwenye kifaa hiki anachohitaji. Ili kufanya kazi hii, haitoshi kwa programu kuwa na ujuzi mzuri wa usanifu wa tata ya kompyuta na kuwa na uwezo wa kuunda programu katika lugha ya mkutano. Anapaswa kujua kikamilifu kiolesura ambacho kifaa kinaunganishwa na sehemu ya kati ya kompyuta, na algorithm ya uendeshaji wa kifaa cha kudhibiti kifaa cha I/O.

    Ni wazi, ilifanya akili kuunda seti ya taratibu za kusimamia shughuli za I/O na kuzitumia katika programu zako, ili kutolazimisha watayarishaji programu kupanga upya shughuli hizi zote kila wakati. Hapa ndipo historia ya programu ya mfumo ilianza. Baadaye, seti ya taratibu za pembejeo-pato zilianza kupangwa kwa namna ya maktaba maalum ya pembejeo-pato, na kisha mifumo ya uendeshaji yenyewe ilionekana. Sababu kuu ya kuonekana kwao ilikuwa hamu ya kurekebisha mchakato wa kuandaa tata ya kompyuta kwa utekelezaji wa programu.

    Katika miaka ya 50, mwingiliano wa mtumiaji na mfumo wa kompyuta ulikuwa tofauti kabisa kuliko ilivyo sasa. Mratibu wa programu (kutoka kwa msimbo wa Kiingereza - encoder) - mtaalamu aliyefunzwa maalum ambaye anajua usanifu wa kompyuta na lugha ya programu - alikusanya maandishi ya programu baada ya ombi, mara nyingi kwa kutumia algoriti iliyotengenezwa tayari. programu-algorithmist. Maandishi ya programu hii kisha yalitolewa kwa operator, ambaye aliiandika kwenye vifaa maalum na kuihamisha kwenye vyombo vya habari vinavyofaa. Mara nyingi, kadi zilizopigwa au mkanda uliopigwa zilitumiwa kama vyombo vya habari. Ifuatayo, staha iliyo na kadi zilizopigwa ilihamishiwa kwenye chumba cha kompyuta, ambapo hatua zifuatazo zilihitajika kwa mahesabu kwa kutumia programu hii:

    1. Opereta wa tata ya kompyuta kutoka kwa udhibiti wa kijijini aliingia kwenye rejista za kazi za processor ya kati na kwenye RAM ya kompyuta programu ya awali ambayo ilifanya iwezekanavyo kusoma kwenye kumbukumbu mpango wa kutafsiri nambari za chanzo na kupata mashine (binary) mpango (kwa maneno mengine, mtafsiri, ambayo pia ilihifadhiwa kwenye kadi zilizopigwa au mkanda uliopigwa).

    2. Mfasiri alisoma programu ya chanzo, akafanya uchanganuzi wa kileksia wa matini chanzi, na matokeo ya kati ya mchakato wa tafsiri mara nyingi pia yalitolewa kwa kadi zilizopigwa (mkanda uliopigwa). Tafsiri ni mchakato changamano, mara nyingi huhitaji kupita nyingi. Wakati mwingine, kufanya kupita inayofuata, ilikuwa ni lazima kupakia sehemu inayofuata ya mtafsiri na matokeo ya kati ya tafsiri kutoka kwa kadi zilizopigwa kwenye kumbukumbu ya kompyuta. Baada ya yote, matokeo ya tafsiri pia yalikuwa pato kwa vyombo vya habari vya kuhifadhi, kwa kuwa kiasi cha RAM kilikuwa kidogo, na kazi ya tafsiri ilikuwa kazi ngumu sana.

    3. Opereta alipakia data iliyopokelewa kwenye kumbukumbu ya RAM ya kompyuta. nambari za binary, programu iliyotafsiriwa na kupakia misimbo ya jozi ya taratibu hizo za mfumo ambazo zilitekeleza udhibiti wa shughuli za I/O. Baada ya hapo programu tayari, iliyoko kwenye kumbukumbu, inaweza yenyewe kusoma data ya chanzo na kufanya mahesabu muhimu. Ikiwa makosa yaligunduliwa katika mojawapo ya hatua hizi au baada ya kuchambua matokeo yaliyopatikana, mzunguko mzima ulipaswa kurudiwa.

    Ili kuharakisha kazi ya programu (coder), lugha maalum za kiwango cha juu cha algorithmic zilianza kutengenezwa, na kuhariri kazi ya opereta tata wa kompyuta, programu maalum ya udhibiti ilitengenezwa, kwa kuipakia kwenye kumbukumbu mara moja, opereta anaweza kuitumia mara kwa mara na haitaji tena kurejelea utaratibu wa upangaji wa kompyuta kupitia kidhibiti cha mbali. Ilikuwa ni programu hii ya udhibiti ambayo ilikuja kuitwa mfumo wa uendeshaji. Baada ya muda, kazi zaidi na zaidi zilianza kupewa, na ilianza kukua kwa kiasi. Awali ya yote, waendelezaji walitafuta kuhakikisha kuwa mfumo wa uendeshaji unasambaza rasilimali za kompyuta za kompyuta kwa ufanisi iwezekanavyo, kwa sababu katika mifumo ya uendeshaji ya miaka ya 60 tayari ilifanya iwezekanavyo kuandaa utekelezaji sambamba wa programu kadhaa. Mbali na matatizo ya usambazaji wa rasilimali, matatizo ya kuhakikisha kuaminika kwa mahesabu yameonekana. Kufikia mapema miaka ya 70, hali ya maingiliano ya kufanya kazi na kompyuta ikawa kubwa, na mifumo ya uendeshaji ilianza kukuza uwezo wa kiolesura haraka. Neno kiolesura hurejelea seti nzima ya vipimo vinavyofafanua njia mahususi ambayo mtumiaji anaweza kuingiliana na kompyuta.

    Leo inaweza kusemwa kuwa mfumo wa uendeshaji (OS) ni seti ya udhibiti wa mfumo na programu za usindikaji, ambazo, kwa upande mmoja, hufanya kama kiunganishi kati ya vifaa vya kompyuta na mtumiaji na kazi zake, na kwa upande mwingine. zimeundwa kwa ajili ya matumizi bora zaidi ya mfumo wa kompyuta wa rasilimali na shirika la kompyuta ya kuaminika.

    2 Tunaorodhesha kazi kuu za mifumo ya uendeshaji

    Mapokezi na mtumiaji (au operator wa mfumo) wa kazi, au amri zilizoundwa katika lugha inayofaa, na usindikaji wao. Kazi zinaweza kupitishwa kwa namna ya maagizo ya maandishi (amri) ya operator au kwa namna ya maagizo yaliyofanywa kwa kutumia manipulator (kwa mfano, kwa kutumia panya). Amri hizi zinahusishwa na kuzindua (kusimamisha, kusimamisha) programu, na uendeshaji kwenye faili (pata orodha ya faili kwenye saraka ya sasa, kuunda, kubadilisha jina, nakala, kuhamisha faili fulani, nk), ingawa kuna amri nyingine.

    Ugawaji wa kumbukumbu, na katika hali nyingi mifumo ya kisasa na shirika la kumbukumbu halisi.

    Kuendesha programu (kuhamisha udhibiti kwake, na kusababisha processor kutekeleza programu).

    Mapokezi na matumizi maombi mbalimbali kutoka kwa programu zinazoendesha. Mfumo wa uendeshaji unaweza kufanya idadi kubwa sana ya kazi za mfumo (huduma) ambazo zinaweza kuombwa kutoka kwa programu inayoendesha. Huduma hizi zinapatikana kulingana na sheria zinazofaa zinazofafanua interface programu ya programu(Kiolesura cha Programu ya Maombi, API) ya mfumo huu wa uendeshaji.

    2.2 Utunzaji wa shughuli zote za I/O

    Kuhakikisha uendeshaji wa mifumo ya usimamizi wa faili (FMS) na/au mifumo ya usimamizi wa hifadhidata (DBMS), ambayo inaweza kuongeza kwa kiasi kikubwa ufanisi wa programu zote.

    Kutoa hali ya multiprogramming, yaani, kuandaa utekelezaji sambamba wa programu mbili au zaidi kwenye processor moja, na kuunda kuonekana kwa utekelezaji wao wa wakati mmoja.

    Kupanga na kutuma kazi kwa mujibu wa zile zilizoainishwa kati ya programu zinazoendesha.

    Mifumo ya uendeshaji ya mtandao ina sifa ya kazi ya kuhakikisha mwingiliano wa kompyuta zilizounganishwa.

    Mpangilio wa mifumo ya kubadilishana ujumbe na data kati ya programu zinazoendesha.

    Kulinda programu moja kutokana na ushawishi wa mwingine, kuhakikisha usalama wa data, kulinda mfumo wa uendeshaji yenyewe kutoka kwa programu zinazoendesha kwenye kompyuta.

    Uthibitishaji wa mtumiaji na uidhinishaji (kwa mifumo mingi ya uendeshaji inayoingiliana). Uthibitishaji unarejelea utaratibu wa kuangalia jina la mtumiaji na nenosiri dhidi ya maadili yaliyohifadhiwa kwenye akaunti yake. Kwa wazi, ikiwa jina la mtumiaji la kuingia na nenosiri ni sawa, basi uwezekano mkubwa utakuwa mtumiaji sawa. Neno idhini ina maana kwamba kwa mujibu wa akaunti ya mtumiaji ambaye amepitisha uthibitishaji, yeye (na maombi yote ambayo yataenda kwa mfumo wa uendeshaji kwa niaba yake) hupewa haki fulani (mapendeleo) ambayo huamua kile anachoweza kufanya kwenye kompyuta.

    Hukutana na vikwazo vikali vya wakati halisi wa kujibu (kawaida ya OS ya wakati halisi).

    Kuhakikisha uendeshaji wa mifumo ya programu ambayo watumiaji huandaa programu zao.

    Kutoa huduma katika kesi ya kushindwa kwa mfumo wa sehemu.

    Mfumo wa uendeshaji hutenganisha vifaa vya kompyuta kutoka kwa programu za maombi ya mtumiaji. Mtumiaji na programu zake huingiliana na kompyuta kupitia miingiliano ya mfumo wa uendeshaji.

    3 Mageuzi na uainishaji wa OS

    Mageuzi ya OS ni kwa kiasi kikubwa kutokana na uboreshaji wa vifaa vya kompyuta.

    Upangaji wa bomba vifaa vya kompyuta iliyoelekezwa katika kutatua shida maalum zilizotumika, ilifanywa kwa lugha ya mashine (lugha ya programu ambayo inawakilisha programu katika fomu inayoruhusu kutekelezwa moja kwa moja kwa njia za kiufundi za usindikaji wa data). Shirika la mchakato wa kompyuta katika kesi hii lilifanywa na wafanyakazi wa matengenezo kwa manually kutoka kwa jopo la kudhibiti. Hakukuwa na mifumo ya uendeshaji kwa kompyuta hizi.

    Kompyuta zilizojengwa kwa vipengele vya semiconductor zikawa ngumu zaidi, za kuaminika na zilitumiwa kutatua darasa pana la matatizo yaliyotumiwa. Lugha za kwanza za algorithmic, wakusanyaji (wakusanyaji ni programu zinazotumiwa kwa mkusanyiko - tafsiri ya programu iliyoandikwa kwa lugha ya algorithmic katika lugha iliyo karibu na lugha ya mashine) na mifumo ya usindikaji wa kundi ilionekana. Mifumo hii ilikuwa mfano wa mifumo ya uendeshaji ya kisasa. Kusudi lao kuu ni kuongeza mzigo wa processor.

    Mpito kutoka kwa vipengele vya semiconductor binafsi kama vile transistors hadi saketi zilizounganishwa ziliambatana na uundaji wa familia za mashine zinazoendana na programu, kwa mfano, familia ya IBM/360, kompyuta za EC. Mifumo ya uendeshaji ya kompyuta hizi ililenga kuhudumia mifumo ya kompyuta na vifaa mbalimbali vya pembeni na katika nyanja mbalimbali za shughuli. Kipengele cha mifumo hiyo ya uendeshaji ni multiprogramming - njia ya kuandaa mchakato wa kompyuta ambayo maombi kadhaa hutekelezwa kwa processor moja. Kwa mfano, wakati programu moja inatekeleza shughuli za I/O, kichakataji kinafanya shughuli za kukokotoa kwenye nyingine. Aina mpya ya OS imeibuka - mfumo wa kugawana wakati ambao unaruhusu kila mtumiaji kuunda udanganyifu wa kufanya kazi peke yake na kompyuta. Ujio wa mizunguko mikubwa iliyojumuishwa (LSI) na mizunguko mikubwa sana iliyojumuishwa (VLSI) ilihakikisha matumizi makubwa ya kompyuta na matumizi yao na wataalamu wasio wa programu. Hii ilihitaji uundaji wa kiolesura cha programu cha kirafiki na angavu. Uendelezaji wa njia za mawasiliano umesababisha maendeleo ya mifumo ya uendeshaji ya mtandao.

    Mahitaji yafuatayo yanatumika kwa mifumo ya uendeshaji ya kisasa:

    Utangamano - OS lazima iwe pamoja na zana za kuendesha programu zilizoandaliwa kwa mifumo mingine ya uendeshaji;

    Portability - kuhakikisha uwezo wa kuhamisha OS kutoka jukwaa moja la vifaa hadi lingine;

    Kuegemea na uvumilivu wa makosa - inahusisha kulinda OS kutoka kwa ndani na makosa ya nje, kushindwa na kushindwa;

    Usalama - OS lazima iwe na njia za kulinda rasilimali za watumiaji wengine kutoka kwa wengine;

    Upanuzi - OS inapaswa kutoa urahisi wa kufanya mabadiliko na nyongeza zifuatazo;

    Utendaji - mfumo lazima uwe na kasi ya kutosha.

    Uainishaji wa OS. Kwa kawaida, mawasiliano kati ya mtumiaji na mashine hutokea hali ya mwingiliano. Katika kesi hii, kasi ya utatuzi wa shida imedhamiriwa na majibu ya mtumiaji. Ikiwa tunadhania kuwa wakati wa majibu ya mtumiaji ni mara kwa mara, basi tunaweza kudhani kuwa ugumu wa kazi ni mdogo na kasi. njia za kiufundi(ikiwa ni lazima, imeongezeka kwa njia nyingi: matumizi ya msingi wa kipengele cha kasi, matumizi ya mifumo ya multiprocessor au multi-mashine). Lakini hii ni mbinu ya upande mmoja. Fursa kubwa ziko katika hatua za shirika, ambazo ni pamoja na uchaguzi wa njia bora za uendeshaji na taaluma za huduma; zote mbili zinatekelezwa na mifumo ya uendeshaji.

    Njia za uendeshaji za PC zinatambuliwa hasa na idadi ya kazi zinazotatuliwa kwa sambamba kwenye mashine (programu zinazotekelezwa). Kulingana na kigezo hiki, mifumo ya uendeshaji imegawanywa katika kazi nyingi na moja-tasking, kusaidia na si kusaidia usindikaji wa nyuzi nyingi, watumiaji wengi na mtumiaji mmoja, wasindikaji wengi na wasindikaji mmoja.

    Kulingana na idadi ya kazi zilizofanywa wakati huo huo, mifumo ya uendeshaji inajulikana:

    Mifumo ya uendeshaji ya kazi moja (MS-DOS, matoleo ya mapema PS DOS);

    Multitasking (OS/2, UNIX, Windows).

    Mfumo wa Uendeshaji wa kazi moja humpa mtumiaji mashine pepe na inajumuisha usimamizi wa faili, udhibiti wa kifaa cha pembeni na zana za mawasiliano ya mtumiaji. Mfumo wa uendeshaji wa Multitasking pia hudhibiti mgawanyo wa rasilimali zilizoshirikiwa kati ya kazi. Miongoni mwa chaguzi za kutekeleza multitasking, kuna vikundi viwili vya algorithms ya usambazaji wa wakati wa processor:

    Kufanya kazi nyingi zisizo mapema (NetWare, Windows 3. x na 9. x);

    Kufanya kazi nyingi mapema (Windows NT, OS/2, UNIX).

    Katika kesi ya kwanza, baada ya kukamilika, mchakato wa kazi yenyewe huhamisha udhibiti kwa OS ili kuchagua mchakato mwingine kutoka kwenye foleni. Katika pili, uamuzi wa kubadili mchakato kutoka kwa mchakato mmoja hadi mwingine haufanywa na mchakato wa kazi, lakini kwa OS.

    Usaidizi wa thread nyingi unamaanisha uwezo wa kutekeleza baadhi ya amri za programu karibu wakati huo huo. OS yenye nyuzi nyingi hugawanya wakati wa processor sio kati ya kazi, lakini kati ya matawi tofauti (nyuzi) ya algorithms ya kuzitatua (multitasking ndani ya kazi moja).

    Kulingana na idadi ya watumiaji wanaotumia wakati mmoja, mifumo ya uendeshaji inajulikana:

    Mtumiaji mmoja (MS-DOS, Windows 3. x, matoleo ya awali ya OS/2);

    Watumiaji wengi (UNIX, Windows NT).

    Tofauti kati ya mifumo ya watumiaji wengi ni upatikanaji wa njia za kulinda habari za mtumiaji kutoka kwa ufikiaji usioidhinishwa.

    Multiprocessing inahusisha usaidizi wa uendeshaji wa vichakataji kadhaa na inakaribishwa katika Solaris 2. x OS kutoka Sun, OS/2 kutoka IBM, Windows NT kutoka Microsoft, NetWare 4.1. Novell, nk.

    Mifumo ya uendeshaji ya Multiprocessor imegawanywa katika asymmetric na symmetric. Mfumo wa Uendeshaji usiolinganishwa huendeshwa kwenye mojawapo ya vichakataji vya mfumo, na kusambaza kazi za programu kwenye vichakataji vilivyosalia. Mfumo wa Uendeshaji linganifu hugatuliwa na hutumia vichakataji vyote, mfumo wa kugawanya na kazi za utumaji kati yao.

    Ni dhahiri kwamba OS ya kompyuta binafsi ni ngumu kidogo kuliko OS ya mainframes na kompyuta kubwa. Tofauti kati ya OS ya mtandao na OS ya ndani ni njia ya kusambaza data kati ya kompyuta juu ya mistari ya mawasiliano na kutekeleza itifaki za uhamisho wa data, kwa mfano IP, IPX, nk.

    Mbali na kulenga OS aina fulani jukwaa la vifaa, kuna mifumo ya uendeshaji ya simu ambayo ni rahisi kubeba kwa aina tofauti za kompyuta. Katika OS hiyo (kwa mfano, UNIX), maeneo yanayotegemea vifaa yanajanibishwa na wakati mfumo unahamishiwa jukwaa jipya wanatuma ujumbe mfupi. Sehemu inayojitegemea ya vifaa inatekelezwa katika lugha ya kiwango cha juu cha programu katika C, na inajumuishwa tena wakati wa kuhamia kwenye jukwaa lingine.

    Ugawaji upya wa nguvu wa rasilimali za PC kati ya kazi kadhaa (mbinu ya matumizi ya pamoja) inahakikisha ama kupunguzwa kwa muda wa jumla wa kutatua kazi kadhaa, au kupunguzwa kwa muda wa kuanza kwa usindikaji wa kazi. Wote kwa "kifaa cha huduma" kimoja, kwa mfano processor au printer, hupatikana kwa kuongeza muda inachukua kutatua kazi moja (kila). Mpangilio wa kazi katika mashine huamua njia za utekelezaji wa njia ya matumizi ya pamoja: usindikaji wa kundi na kugawana wakati. Usindikaji wa Kundi Inajumuisha kutatua shida kadhaa kwa takriban hali ile ile ambayo mwalimu hufanya kazi wakati wa mtihani wa mdomo - umakini wake unachukuliwa na mmoja wa wanafunzi. Baada ya kukamilika kwa utafiti, umakini hubadilika hadi ufuatao (tunadhani kuwa kuwahudumia wanafunzi ndio suluhisho la tatizo).

    Katika hali ya kugawana wakati, mchakato wa utekelezaji wa programu umegawanywa katika mizunguko. Ndani ya kila mzunguko, yafuatayo lazima yaonekane (ikiwa bado hayajatatuliwa): kazi ya msingi, ambayo mzunguko huu umetengwa. Matatizo yaliyobaki yanaweza kutatuliwa katika mzunguko huo, ikiwa ufumbuzi wao hauingilii na suluhisho la msingi. Vitanzi vya jirani vinatengwa ili kutatua matatizo tofauti, hivyo muda unaohitajika kutatua kila mmoja wao huongezeka kwa kiasi kikubwa. Wakati huo huo, si zaidi ya mizunguko ya N-1 inayotumiwa kusubiri sehemu inayofuata ya kazi kukamilika (N ni idadi ya mizunguko tofauti iliyotengwa kutatua N kazi tofauti). Kwa uchaguzi unaofaa wa muda wa mzunguko, mtumiaji (kutokana na hali yake) hujenga udanganyifu wa kufanya kazi kwa wakati halisi. Kazi ya wakati halisi ni hali ya uendeshaji ambayo kuna vikwazo vya juu kwa muda unaohitajika kutatua tatizo, lililowekwa na mazingira ya nje. Kwa mfumo wa udhibiti, hii ina maana kwamba usindikaji wa habari lazima uendelee kwa kasi inayozidi kasi ya mchakato halisi uliodhibitiwa, ili kuna muda fulani wa kufanya maamuzi na kuunda vitendo vya udhibiti vinavyofaa.

    Ni kawaida kwa hali halisi ya kufanya kazi kwamba wakati ambapo kazi zinapokelewa kwa usindikaji haziamuliwa na kiwango cha uendeshaji wa kifaa cha kuhudumia (PC, printa, nk), lakini kwa michakato inayotokea nje yake. Kwa mujibu wa hili, kifaa cha kuhudumia lazima kutatua seti fulani ya kazi (kukabiliana na kushindwa kwa vifaa, maombi ya mawasiliano kwenye mtandao, kuundwa kwa nakala ya kulazimishwa, nk).

    Kwa kasi ya mwisho ya kifaa cha kuhudumia, maombi yanayoingia hayawezi kutekelezwa mara moja, lakini yanapangwa. Mchakato wa kuchagua ombi kutoka kwa seti ya wale wanaosubiri huduma inaitwa kupeleka, na sheria ya kupeleka inaitwa nidhamu ya huduma. Kuna taaluma nyingi za huduma, kwa mfano, "kwa mpangilio wa kuwasili" (FIFO - Pato la Kwanza la Pembejeo), "katika mpangilio wa nyuma" (LIFO - Pato la Mwisho la Kuingiza Kwanza), nk. Ili kupunguza muda wa kusubiri (muda unaotumika kwenye foleni) , maombi ya mtu binafsi hupewa haki za kipaumbele kwa huduma, inayoitwa kipaumbele, ambayo ina sifa ya integer chanya. Kipaumbele cha juu kinapewa OS.

    Kwa hiyo, wakati wa kuunda mipango ya mashine ya binary watengenezaji programu inaweza isijue kabisa maelezo mengi ya kudhibiti rasilimali mahususi za mfumo wa kompyuta, lakini lazima tu ifikie baadhi ya mfumo mdogo wa programu na simu zinazofaa na upokee utendaji na huduma muhimu kutoka kwake. Mfumo huu wa programu ni mfumo wa uendeshaji, na seti ya kazi na huduma zake, pamoja na sheria za kuzipata, huunda dhana ya msingi ambayo tunaita mazingira ya uendeshaji. Tunaweza kusema kwamba neno "mazingira ya uendeshaji" linamaanisha miingiliano inayolingana muhimu kwa programu na watumiaji kufikia sehemu ya udhibiti (usimamizi) ya mfumo wa uendeshaji ili kupata huduma fulani.

    Kuna kazi nyingi za mfumo; huamua uwezo ambao mfumo wa uendeshaji hutoa kwa programu zinazoendesha chini ya udhibiti wake. Ya aina hiyo maombi ya mfumo(simu za uendeshaji wa mfumo au kazi) huandikwa kwa uwazi katika maandishi ya programu na waandaaji wa programu, au hubadilishwa kiotomatiki na mfumo wa programu yenyewe katika hatua ya kutafsiri maandishi ya chanzo cha programu inayotengenezwa. Kila mfumo wa uendeshaji una aina zake za vipengele vya mfumo; wanaitwa ipasavyo, kwa mujibu wa sheria zilizokubaliwa katika mfumo. Seti ya simu za mfumo na sheria ambazo zinapaswa kutumiwa hufafanua kwa usahihi kiolesura cha programu ya programu (API). Kwa wazi, programu iliyoundwa kutekeleza mfumo mmoja wa uendeshaji haitawezekana kufanya kazi kwenye mfumo mwingine wa uendeshaji, kwani API za mifumo hiyo ya uendeshaji ni tofauti. Kujaribu kuondokana na upungufu huu, watengenezaji wa mfumo wa uendeshaji walianza kuunda kinachojulikana mazingira ya programu. Mazingira ya programu (mfumo) yanapaswa kueleweka kama mazingira fulani ya programu ya mfumo ambayo hukuruhusu kutimiza maombi yote ya mfumo kutoka kwa programu ya programu. Mazingira ya programu ya mfumo ambayo huundwa moja kwa moja na msimbo wa mfumo wa uendeshaji inaitwa mazingira kuu, asili, au asili. Mbali na mazingira kuu ya uendeshaji, mazingira ya ziada ya programu yanaweza kupangwa katika mfumo wa uendeshaji (kwa kuiga mazingira mengine ya uendeshaji). Ikiwa mfumo wa uendeshaji unapanga kazi na mazingira mbalimbali ya uendeshaji, basi katika mfumo huo inawezekana kuendesha programu zilizoundwa sio tu kwa hili, bali pia kwa mifumo mingine ya uendeshaji. Tunaweza kusema kwamba programu zinaundwa kufanya kazi katika mazingira fulani ya uendeshaji. Kwa mfano, unaweza kuunda programu ya kukimbia Mazingira ya DOS. Ikiwa programu kama hiyo inafanya kazi zote zinazohusiana na shughuli na shughuli za I / O na maombi ya kumbukumbu sio yenyewe, lakini kwa kupata kazi za mfumo wa DOS, basi (katika hali nyingi) itatekelezwa kwa mafanikio katika MS DOS na PS. DOS, na katika Windows 9x, na katika Windows 2000, na katika OS/2, na hata kwenye Linux.

    Kwa hiyo, kuwepo kwa sambamba ya maneno "mfumo wa uendeshaji" na "mazingira ya uendeshaji" ni kutokana na ukweli kwamba mfumo wa uendeshaji unaweza kusaidia mazingira kadhaa ya uendeshaji. Takriban mifumo yote ya uendeshaji ya kisasa ya 32-bit iliyoundwa kwa ajili ya kompyuta binafsi inasaidia mazingira mengi ya uendeshaji. Kwa hivyo, mfumo wa uendeshaji wa OS/2 Warp, ambao wakati mmoja ulikuwa bora zaidi katika suala hili, unaweza kuendesha programu zifuatazo:

    Programu za kimsingi zilizoundwa kwa kuzingatia kiolesura cha programu cha "asili" cha 32-bit cha mfumo huu wa uendeshaji;

    Programu za 16-bit zilizoundwa kwa mifumo ya kizazi cha kwanza cha OS/2;

    Programu za 16-bit iliyoundwa kufanya kazi kwenye mfumo wa uendeshaji wa MS DOS au PS DOS;

    Programu za 16-bit iliyoundwa kwa ajili ya mazingira ya uendeshaji ya Windows 3. x;

    Shell ya uendeshaji yenyewe ni Windows 3. x na tayari ndani yake ni mipango iliyoundwa kwa ajili yake.

    Na mfumo wa uendeshaji wa Windows XP inakuwezesha kukimbia, pamoja na programu kuu zilizoundwa kwa kutumia Win32API, maombi ya 16-bit kwa Windows 3. x, maombi ya DOS 16-bit, maombi ya 16-bit kwa toleo la kwanza la OS/2.

    Mazingira ya uendeshaji yanaweza kujumuisha miingiliano kadhaa: mtumiaji na programu. Ikiwa tunazungumza juu ya watumiaji, kwa mfano, mfumo wa Linux una miingiliano ya mstari wa amri kwa mtumiaji (unaweza kutumia "ganda" kadhaa - ganda), kama Kamanda wa Norton, kwa mfano X-Window na wasimamizi mbalimbali wa dirisha - KDE, Gnome, nk. Ikiwa tunazungumzia violesura vya programu, basi katika mifumo ya uendeshaji sawa na jina la kawaida Programu za Linux inaweza kufikia mfumo wa uendeshaji kwa huduma na vitendakazi vinavyofaa, na mfumo mdogo wa michoro (ikiwa unatumika). Kutoka kwa mtazamo wa usanifu wa processor (na kompyuta za kibinafsi kwa ujumla), programu ya binary iliyoundwa kutekeleza Mazingira ya Linux, hutumia amri na miundo ya data sawa na programu iliyoundwa kufanya kazi katika mazingira ya Windows NT. Hata hivyo, katika kesi ya kwanza tuna upatikanaji wa mazingira moja ya uendeshaji, na kwa pili - kwa mwingine. Na programu iliyoandikwa moja kwa moja kwa Windows haitafanya kazi kwenye Linux; Ikiwa mazingira kamili ya uendeshaji wa Windows yamepangwa katika Linux OS, basi programu yetu ya Windows inaweza kutekelezwa. Kwa ujumla, mazingira ya uendeshaji ni mazingira ya programu ya mfumo ambayo programu zinazoundwa kulingana na sheria za uendeshaji wa mazingira haya zinaweza kutekelezwa.

    Hitimisho

    Kwa hivyo, mfumo wa uendeshaji hufanya kazi za kusimamia mahesabu kwenye kompyuta, husambaza rasilimali za mfumo wa kompyuta kati ya michakato mbalimbali ya kompyuta na kuunda mazingira ya programu, ambamo hufanywa programu za maombi watumiaji. Mazingira haya yanaitwa mazingira ya uendeshaji. Mwisho unapaswa kueleweka kwa maana kwamba wakati programu itazinduliwa, itawasiliana na mfumo wa uendeshaji na maombi sahihi ya kufanya vitendo au kazi fulani. Mfumo wa uendeshaji hufanya kazi hizi kwa kuzindua moduli maalum za programu za mfumo ambazo ni sehemu yake.

    Hivi sasa, karibu 90% ya kompyuta za kibinafsi hutumia Windows OS, ambayo ina faida kadhaa na imewalazimisha washindani kutoka kwa sehemu hii ya soko. Darasa pana la Mfumo wa Uendeshaji linalenga kutumika kwenye seva. Aina hii ya mifumo ya uendeshaji inajumuisha: familia ya Unix, maendeleo kutoka Microsoft, bidhaa za mtandao kutoka Novell na IBM Corporation.

    Rasilimali za kompyuta ni pamoja na: wasindikaji, kumbukumbu, anatoa diski, mawasiliano ya mtandao, vichapishaji na vifaa vingine. Kazi ya OS ni kusambaza rasilimali hizi kati ya michakato ili kuhakikisha ufanisi mkubwa wa kompyuta.

    Orodha ya fasihi iliyotumika

    Gordeev A.V. Mifumo ya Uendeshaji: Kitabu cha kiada kwa vyuo vikuu. Toleo la 2. - St. Petersburg: Peter, 2005.

    Misingi ya sayansi ya kompyuta: Kitabu cha maandishi. posho / A.N. Morozevich, N.N. Govyadinova, V.G. Levashenko na wengine; Imeandaliwa na A.N. Morozevich. - Toleo la 2., Mch. - M.: Maarifa mapya, 2003.

    Evsyukov V.V. Taarifa za kiuchumi: Proc. mwongozo - Tula: Nyumba ya Uchapishaji "Graf na K", 2003.

    Informatics katika uchumi: Proc. mwongozo / Ed. Prof. B.E. Odintsova, Prof. A.N. Romanova. - M.: Kitabu cha kiada cha Chuo Kikuu, 2008.