Kirjeldage lühidalt operatsioonisüsteemide arengu peamisi etappe. Erinevat tüüpi arvutite operatsioonisüsteemide areng. Personaalarvutid. Klassikalised, võrgu- ja hajutatud süsteemid


Operatsioonisüsteemide arengu lühiajalugu

Operatsioonisüsteemide tekkimine ja peamised arenguetapid

Esimesed arvutid ehitati ja leidsid praktilise rakenduse 20. sajandi 40ndatel. Algselt kasutati neid ühe konkreetse probleemi lahendamiseks - õhutõrjesüsteemide suurtükimürskude trajektoori arvutamiseks. Tulenevalt rakenduse spetsiifikast (ühe probleemi lahendamine) ei kasutatud esimestes arvutites ühtegi operatsioonisüsteemi. Toona tegelesid arvutites ülesannete lahendamisega peamiselt arvutiarendajad ise ning arvutite kasutamise protsess ei olnud niivõrd rakendusliku probleemi lahendamine, kuivõrd uurimistöö arvutitehnoloogia vallas.

BIOS on esimene samm operatsioonisüsteemide loomisel

Peagi hakati arvuteid edukalt kasutama ka muude ülesannete lahendamiseks: tekstianalüüsiks ja füüsika valdkonna keerukate rakendusülesannete lahendamiseks. Arvutiteenuste tarbijate ring on mõnevõrra laienenud. Siiski, et lahendada iga konkreetne ülesanne Sel ajal oli vaja ümber kirjutada mitte ainult lahendusalgoritmi realiseeriv kood, vaid ka sisend-väljund protseduurid ja muud arvutusprotsessi juhtimise protseduurid. Selle lähenemisviisi märkimisväärsed kulud ilmnesid peagi:
- I/O protseduuride kood on tavaliselt üsna mahukas ja raskesti silutav (sageli osutus see programmi suurimaks fragmendiks) ning I/O protseduuris esineva tõrke korral on tulemuseks pikaajaline ja kallid arvutused võivad kergesti kaduma minna;
- vajadus iga kord uuesti kirjutada on üsna suur abikood lükkab aega ja muudab rakendusprogrammide arendamise keerukamaks.
Seetõttu loodi nende probleemide lahendamiseks spetsiaalsed sisend-väljundprotseduuride teegid (BIOS - Base Input-Output System). Hoolikalt häälestatud ja tõhusaid BIOS-i rutiine saab hõlpsasti kasutada uute programmidega, kulutamata aega ja vaeva andmete sisestamise ja väljastamise standardrutiinide väljatöötamisele ja silumisele.
Nii jagunes tarkvara BIOS-i tulekuga süsteemi- ja rakendustarkvaraks. Pealegi on rakendustarkvara keskendunud otseselt kasulike probleemide lahendamisele, süsteemitarkvara aga ainult töö toetamisele ja rakendustarkvara arendamise lihtsustamisele.
BIOS ei ole aga veel operatsioonisüsteem, sest... ei täida ühegi operatsioonisüsteemi jaoks kõige olulisemat funktsiooni – rakendusprogrammi arvutusprotsessi haldamist. Lisaks ei paku BIOS muid operatsioonisüsteemi olulisi funktsioone – rakendusprogrammide salvestamist ja käivitamist. Umbes samal ajal ilmunud BIOS ja matemaatiliste protseduuride teegid hõlbustasid lihtsalt rakendusprogrammide arendamise ja silumise protsessi, muutes need lihtsamaks ja töökindlamaks. BIOS-i loomine oli aga esimene samm täisväärtusliku operatsioonisüsteemi loomise suunas.

Partiitöötlussüsteem - kaasaegse operatsioonisüsteemi prototüüp

Elektrooniliste arvutite edasiarendades, nende kasutusala laienedes kerkis kiiresti päevakorda kallite arvutite kasutamise ebapiisava efektiivsuse probleem.
50ndatel polnud veel personaalarvuteid ja iga arvuti oli väga kallis, mahukas ja suhteliselt haruldane masin. Erinevate teadusasutuste juurdepääsuks koostati spetsiaalne ajakava. Määratud ajal pidi programmeerija tulema arvutituppa, laadima perfokaartide pakist oma ülesande, ootama arvutuste valmimist ja printima tulemused.
Kell kasutades kõvasti ajakava, kui programmeerijal ei olnud aega arvutusi ettenähtud aja jooksul teha, pidi ta ikkagi masina vabastama, kuna selle jaoks oli kavandatud uus ülesanne. See aga tähendab, et arvutiaeg läks raisku – tulemusi ei saadud! Kui arvutused said mingil põhjusel oodatust varem valmis, siis seisis masin lihtsalt jõude.
Vältimaks graafiku alusel töötades vältimatut protsessori ajakadu, töötati välja tööde partiitöötluse kontseptsioon, mille olemust selgitab alljärgnev joonis (joonis 1).

Joonis 1 Pakktöötlusega arvutussüsteemi struktuur

Partiisüsteemi töötas esmakordselt välja 50. aastate keskel General Motors masinatele IBM 701. Ilmselt oli see esimene operatsioonisüsteem. Partiitöötluse põhiidee on usaldada programmide laadimise ja tulemuste printimise haldamine väikese võimsusega ja suhteliselt odavatele satelliitmasinatele, mis on kiirete elektrooniliste kanalite kaudu ühendatud suure (põhi)masinaga. Sel juhul lahendab põhiarvuti ainult satelliidi masinast saadud probleemi ja edastab pärast ülesande täitmist tulemused kiire kanali kaudu printimiseks teise satelliidi masinasse.
Satelliitmasinad töötavad iseseisvalt, vabastades keskprotsessori aeglaste välisseadmete juhtimise vajadusest. Sel juhul võib käimasoleva ülesande lahendamise käigus tekkida eelmise ülesande tulemuste väljatrükk ja samal ajal saab järgmise ülesande lugeda satelliidi masina elektroonilisse mällu. Sellist paketttöö töötlemise süsteemi paigutust tuntakse lihtsa pakettsüsteemina.
50ndatel juurutatud partiitöö töötlemise süsteemid said kaasaegsete operatsioonisüsteemide prototüübiks. Nad olid esimesed, kes rakendasid rakendusprogrammide täitmise kontrollimiseks kasutatavat tarkvara.
Samuti märgime siinkohal, et kirjeldatud lähenemine H/W ehitamisele on tänaseni täielikult säilinud. Kaasaegsed välisseadmed ja ennekõike kõvakettad on võimelised edastama suuri andmemahtusid ilma keskprotsessor. Tulevikku vaadates juhime tähelepanu sellele, et ainult tänu sellele arvutiriistvara omadusele eksisteerivad ja töötavad tõhusalt kaasaegsed multitegumtöötlussüsteemid.

Multitegumtöötlussüsteemid

Esimesed multitegumtöötlussüsteemid ilmusid 60ndatel pakettülesannete töötlemise süsteemide edasiarendamise tulemusena. Peamiseks stiimuliks nende ilmumiseks olid arvutite uued riistvaralised võimalused.
Esiteks ilmusid uued tõhusad andmekandjad, millelt sai vajalike andmete otsimist lihtsalt automatiseerida: magnetlindid, magnetsilindrid ja magnetkettad. See omakorda muutis rakendusprogrammide ülesehitust – nüüd said nad töö käigus laadida standardsetest raamatukogudest lisaandmeid arvutuste või protseduuride jaoks.
Pangem nüüd tähele, et lihtne pakksüsteem, olles ülesande vastu võtnud, teenindab seda kuni lõpetamiseni, mis tähendab, et täiendavate andmete või koodi laadimise ajal on protsessor jõude ja protsessori jõudeaja hind tõuseb koos selle jõudlusega, kuna rohkem võimas protsessor saaks seisaku ajal kasulikumaid töid teha.
Teiseks on protsessori jõudlus märkimisväärselt suurenenud ja protsessori ajakadu lihtsates partiisüsteemides on muutunud lubamatult suureks.
Sellega seoses oli multitegumtööga partiisüsteemide tekkimine loogiline samm. Multitegumtöötlussüsteemide loomise vajalik tingimus on piisav arvutimälu. Multitegumtöötluse jaoks peab mälumaht olema piisav, et mahutada vastavalt vähemalt, kaks programmi korraga.
Multitegumtöötluse põhiidee on üsna ilmne – kui praegune programm peatatakse, oodates I/O valmimist, liigub protsessor edasi tööle mõne muu programmiga, mis on hetkel täitmiseks valmis.
Üleminek teisele ülesandele tuleb aga teha nii, et mõne aja möödudes oleks võimalik naasta mahajäetud ülesande juurde ja jätkata oma tööd vaheajapunktist. Selle funktsiooni rakendamiseks oli vaja operatsioonisüsteemi sisestada spetsiaalne andmestruktuur, mis määratleb Praegune seis iga ülesanne – protsessi kontekst. Protsessi kontekst on igas kaasaegses operatsioonisüsteemis defineeritud nii, et selle andmetest piisaks täielik taastumine katkestatud ülesande töö.
Multitegumtöötluse tekkimine eeldas mitmete põhiliste alamsüsteemide rakendamist operatsioonisüsteemi sees, mis on olemas ka igas kaasaegses operatsioonisüsteemis. Loetleme need:
1) protsessori haldamise alamsüsteem - määrab, milline ülesanne ja mis ajal tuleb protsessorile hoolduseks üle anda;
2) mäluhalduse alamsüsteem – tagab konfliktivaba mälukasutuse mitme programmi poolt korraga;
3) protsesside juhtimise alamsüsteem - tagab arvutiressursside (näiteks magnetketaste või üldrutiinide) konfliktivaba jagamise mitme programmi poolt korraga.
Sellel kursusel uuritakse üksikasjalikult nende alamsüsteemide rakendamist kaasaegsetes operatsioonisüsteemides.
Peaaegu kohe pärast multitegumtöötluse operatsioonisüsteemide tulekut märgati, et multitegumtöötlus on kasulik rohkem kui lihtsalt protsessori kasutuse suurendamiseks. Näiteks saab multitegumtöötluse põhjal realiseerida mitme kasutaja arvuti töörežiimi, s.t. ühendage sellega mitu terminali korraga ja iga terminali kasutaja jaoks luuakse täielik illusioon, et ta töötab masinaga üksi. Enne personaalarvutite massilise kasutamise ajastut oli mitme kasutaja režiim peaaegu kõigi arvutite peamine töörežiim. Mitme kasutaja režiimi laialdane tugi laiendas järsult arvutikasutajate ringi, muutes selle kättesaadavaks erinevate elukutsete inimestele, mis viis lõpuks kaasaegse arvutirevolutsiooni ja personaalarvutite ilmumiseni.
Veelgi enam, sõltuvalt protsessori juhtimise alamsüsteemi töö aluseks olevatest algoritmidest omandab operatsioonisüsteem ja koos sellega kogu arvuti erinevad omadused. Näiteks multitegumtööga partiisüsteem, mis lülitub teisele ülesandele alles siis, kui praegust pole võimalik jätkata, suudab tagada arvuti maksimaalse läbilaskevõime, s.t. maksimeerida ajaühikus lahendatud ülesannete keskmist arvu, kuid reageerimisaegade ettearvamatuse tõttu ei sobi multitegumtööga partiisüsteem interaktiivsele süsteemile, mis reageerib koheselt kasutaja sisendile.
Multitegumtöötlussüsteem, mis võimaldab ülesande sunniviisiliselt ennetada pärast ajalõiku, sobib ideaalselt interaktiivse süsteemi jaoks, kuid ei paku maksimaalne jõudlus arvutusülesannete jaoks.
Õppides sellel kursusel "protsessorihalduse" teemat, vaadeldakse paljude spetsiifiliste algoritmide omadusi ning näidatakse universaalsetele operatsioonisüsteemidele sobivaid kompromisslahendusi, mis on keskendunud väga paljude probleemide lahendamisele.
Kokkuvõtteks märgime, et multitegumtöö tekkimist tingis soov protsessorit maksimaalselt ära kasutada, võimalusel välistades selle seisakuid ning praegu on multitegumtöötlus peaaegu iga kaasaegse operatsioonisüsteemi lahutamatu kvaliteet.

Toetatud operatsioonisüsteemid Virtuaalne mälu

Virtuaalse mälusüsteemi tulek 60ndate lõpus oli viimane samm kaasaegsete operatsioonisüsteemide suunas. Hilisem graafiliste kasutajaliideste ilmumine ja isegi võrgusuhtluse toetamine ei olnud enam nii revolutsioonilised lahendused, kuigi mõjutasid oluliselt arvutiriistvara arengut ja operatsioonisüsteemide endi arengut.
Virtuaalmälu tekkimise tõukejõuks oli mäluhalduse keerukus multitegumtöötlussüsteemides. Peamised probleemid on siin järgmised:
- Programmid nõuavad nende paigutamiseks reeglina külgnevat mäluala. Töötamise ajal, kui programm lõpeb, vabastab see mälu, kuid see mälupiirkond ei sobi alati uue programmi mahutamiseks. See on kas liiga väike ja siis tuleb programmi paigutamiseks otsida mingi osa teisest mälualast või on see liiga suur ja siis jääb peale uue programmi paigutamist kasutamata fragment. Kui operatsioonisüsteem töötab, tekib peagi palju selliseid fragmente - vaba mälu kogumaht on suur, kuid uut programmi pole võimalik paigutada, kuna pole ainsatki piisavalt pikka pidevat vaba ala. Seda nähtust nimetatakse mälu killustatuks.
- Juhul, kui ühismälus on samaaegselt mitu programmi, võivad mis tahes programmi ekslikud või tahtlikud tegevused teiste programmide täitmist häirida, lisaks võivad mõned programmide andmeid või tulemusi lugeda teiste programmide poolt ilma loata.
Nagu hiljem sellel kursusel näidatakse, ei lahenda virtuaalmälu selliseid probleeme ideaalselt, vaid pakub ka uusi võimalusi kogu arvutussüsteemi edasiseks optimeerimiseks.
Virtuaalse mälusüsteemi tekkimise otsustavaks eelduseks oli vahetusmehhanism (inglise keelest swap - muuda, vaheta).
Vahetamise idee seisneb RAM-ist ajutiselt täitmisest eemaldatud programmide sekundaarmällu (magnetkettale) laadimises ja RAM-i tagasilaadimises, kui need on edasiseks täitmiseks valmis. Seega toimub RAM-i ja sekundaarmälu vahel pidev programmide vahetus.
Vahetamine võimaldab vabastada RAM-i ruumi uute programmide laadimiseks, lükates sekundaarmällu programmid, mida praegu ei saa käivitada. Vahetamine lahendab üsna tõhusalt RAM-i puudumise ja killustatuse probleemi, kuid ei lahenda turvaprobleemi.
Virtuaalmälu põhineb ka osade programmide ja andmete surumisel RAM-ist sekundaarmällu, kuid selle juurutamine on palju keerulisem ja nõuab protsessori riistvara kohustuslikku tuge. Edasi arutatakse virtuaalmälu töötamise spetsiifilisi mehhanisme.
Lõppkokkuvõttes korraldab virtuaalmälusüsteem igaühe jaoks oma aadressiruumi töötav programm, mida nimetatakse virtuaalseks aadressiruumiks. Sel juhul saab virtuaalse aadressiruumi osad operatsioonisüsteemi äranägemisel vastendada kas RAM-i osadeks või sekundaarse mälu osadeks (vt joonis 2).


Joonis 2 Virtuaalse aadressiruumi kaardistamine

Virtuaalmälu kasutamisel ei pääse programmid ekslikult ega tahtlikult ligi teiste programmide või operatsioonisüsteemi enda andmetele – virtuaalmälu alamsüsteem tagab andmekaitse. Lisaks kaardistatakse sekundaarmällu hetkel kasutamata virtuaalse aadressiruumi alad, s.t. nende piirkondade andmeid ei salvestata mitte RAM-i, vaid sekundaarmällu, mis lahendab ebapiisava RAM-i probleemi. Lõpuks saab virtuaalse aadressiruumi piirkondi kaardistada suvaliste RAM-i osadega, ilma et virtuaalse aadressiruumi külgnevad piirkonnad peaksid RAM-is kõrvuti asuma, mis lahendab killustatuse probleemi.
Nagu juba mainitud, hakati virtuaalmälu päris operatsioonisüsteemides kasutama 60ndate lõpus, kuid virtuaalmälu hakkas laiemalt levima alles 80ndatel (UNIX, VAX/VMS), personaalarvutites hakati seda laialdaselt kasutama alles 90ndate keskel. 's (OS/2, Linux, Windows NT). Praegu on virtuaalmälu koos multitegumtöötlusega peaaegu iga kaasaegse operatsioonisüsteemi lahutamatu osa.

Graafilised kasutajaliidesed

Alates 1980. aastate lõpust on personaalarvutid muutunud üldlevinud ja arvutikasutajate kogukonda on kaasatud palju erineva taustaga inimesi. Paljud neist ei omanud spetsiaalset arvutiõpet, kuid soovisid oma töös arvutit kasutada, sest... arvuti kasutamine andis nende ärile käegakatsutavat kasu.
Teisest küljest muutis operatsioonisüsteemide ja rakendusprogrammide üha keerukamaks muutumine nende haldamise üsna keeruliseks ülesandeks ka spetsialistidele ning selleks ajaks operatsioonisüsteemide standardiks kujunenud käsurea liides ei rahuldanud enam praktilisi vajadusi.
Lõpuks on ilmunud uued riistvaravõimalused: värvilised graafikamonitorid, suure jõudlusega graafikakontrollerid ja hiire tüüpi manipulaatorid.
Seega olid 80. aastate lõpus kõik tingimused olemas laialdaseks üleminekuks graafilisele kasutajaliidesele: ühelt poolt oli vajadus lihtsama ja mugavama arvutijuhtimismehhanismi järele, teisalt tekkis riistvara võimaldas sellist mehhanismi ehitada.
GUI põhiidee on järgmine:
- kasutajale, olenevalt Praegune olukord, palutakse teil valida üks mitmest alternatiivsest valikust edasisi tegevusi;
- võimalikud valikud kasutaja toimingute tegemiseks esitatakse arvutiekraanil tekstiridade (menüüde) või skemaatiliste jooniste (piktogrammide) kujul;
- edasisteks toiminguteks ühe suvandi valimiseks joondage lihtsalt kursor (kursor) monitori ekraanil menüüüksuse või ikooniga ja vajutage eelmääratletud klahvi (tavaliselt<пробел>, <ввод>või hiirenuppu), et teavitada süsteemi tehtud valikust.
Esimene graafiline liides töötati välja 1981. aastal ettevõttes Xerox. Väidetavalt julgustas Microsofti tegevjuhi Bill Gatesi visiit Xeroxi ja selle graafiliste kasutajaliideste arendused Microsofti looma oma graafilisi kasutajaliideseid.
Praegu näib Windowsi perekonna operatsioonisüsteemidel olevat kõige arenenum graafiline liides, need graafilised liidesed on justkui de facto graafiliste kasutajaliideste standardid.
Graafilise liidese kasutamine on osutunud nii lihtsaks ja intuitiivseks, et nüüd kasutavad arvuteid oma töös tõhusalt inimesed, kellel pole aimugi arvuti enda arhitektuurist, operatsioonisüsteemist ega rakendusprogrammist.
Lõppkokkuvõttes on graafiliste kasutajaliideste esilekerkimine operatsioonisüsteemide ja rakendusprogrammide osana avaldanud tohutut mõju kaasaegse ühiskonna arvutistamisele.

Sisseehitatud võrgu tugi

Sisseehitatud võrgutugi operatsioonisüsteemide osana Üldine otstarve ilmus esmakordselt 90ndate keskel ja võimaldas esialgu juurdepääsu ainult kaugfailidele, mis asuvad teise arvuti ketastel. Algselt oli võrgutuge vaja ainult aastal väikesed kontorid mitme arvuti koostööks ühes dokumendis.
Interneti areng tõi aga kiiresti kaasa vajaduse ehitada võrgutugi isegi koduarvutite operatsioonisüsteemidesse. Lisaks on huvitav märkida, et koduarvutite hinna jätkuv langus aastal viimased aastadäratas ellu kodused arvutivõrgud, kui üks pere kasutab võimekusega mitut arvutit jagamine jagatud printer, skanner või muu varustus.
Integratsiooni tipphetk kell võrgustumine on võrgu operatsioonisüsteemid, mis ühendavad kõigi võrgus olevate arvutite ressursid ühiseks võrguressursiks, millele on juurdepääs võrgus olevatele arvutitele. Võrguoperatsioonisüsteemi mõistlik kasutamine võimaldab lahendada keerulisi otsingu- või optimeerimisprobleeme, kui võrgus on piisavalt palju arvuteid, millest igaüks eraldi ei suuda probleemi vastuvõetava aja jooksul lahendada.

Levinumate operatsioonisüsteemide ajalugu

Operatsiooni ruum UNIX süsteem

UNIX operatsioonisüsteem on esimene kaasaegne operatsioonisüsteem. Tehnilised lahendused, mis kehtestati isegi UNIX-i esimestes versioonides, sai hiljem standardlahendused paljude hilisemate operatsioonisüsteemide jaoks ja mitte ainult UNIX-i perekonna jaoks. Paljud UNIX-i ressursihalduse alamsüsteemi manustatud algoritmid on endiselt parimad ja neid korratakse erinevates operatsioonisüsteemides.
Vaatame üksikasjalikumalt UNIX-i tekkimise ja arengu ajalugu.

Multicsi operatsioonisüsteemi projekt

Multicsi projektis 1965–1969. Bell Labs ja General Electric osalesid ühiselt. Multicsi projekti eesmärk oli luua uus mitme kasutajaga interaktiivne operatsioonisüsteem, mis ühendab kasutusmugavuse võimsa ja tõhus süsteem ressursside haldamine. Multics põhines järgmistel tehnilistel lahendustel:
- virtuaalmälu segmendi-lehe organisatsiooniga, mis kontrollib iga segmendi kirjutamis-, lugemis- või käitamisõigusi;
- tsentraliseeritud failisüsteem, mis võimaldab korraldada andmeid, isegi kui need asuvad erinevates kohtades füüsilised seadmed, kataloogide/failide ühe puustruktuuri kujul;
- faili sisu kaardistamine protsessi virtuaalsesse aadressiruumi, kasutades virtuaalmälu haldusmehhanisme.
Kõik need lahendused on tüüpilised kaasaegsetele operatsioonisüsteemidele. Multicsi projekt jäi aga lõpetamata. Bell Labsi juhtkond otsustas projektist lahkuda, pidades projekti edasist rahastamist ebasobivaks, kuna projekti juba investeeritud suured rahalised vahendid ei toonud tulu.
Vaatamata ennetähtaegsele lõpetamisele määratles Multicsi projektis tänaseni edukalt kasutatavad ressursihalduse ja operatsioonisüsteemi arhitektuuri aluspõhimõtted ning projektis osalenud spetsialistid said hindamatu kogemuse. Multicsi projekti aitasid kaasa Ken Thompson ja Dennis Ritchie, UNIX-i esimese versiooni tulevased autorid.

UNIX operatsioonisüsteemi tekkimine

Pärast Multicsi projektist loobumist jätkasid Ken Thompson, Dennis Ritchie ja mitmed teised Bell Labsi töötajad oma uurimistööd operatsioonisüsteemide vallas ning jõudsid peagi ideele täiustatud failisüsteemist. Õnneliku juhuse läbi tekkis Bell Labsil tol ajal tungiv vajadus mugava ja tõhusad vahendid dokumentatsiooni ja uus failisüsteem võib siin kasulik olla.
1969. aastal juurutas Ken Thompson PDP-7 masinale operatsioonisüsteemi, mis sisaldas uut failisüsteemi, aga ka spetsiaalseid protsessi- ja mäluhaldustööriistu, mis võimaldasid kahel kasutajal ajajagamisrežiimis korraga ühe PDP-7 masinaga töötada. . Uue operatsioonisüsteemi esimesed kasutajad olid Bell Labsi patendiosakonna töötajad.
Brian Kernighan soovitas helistada uus süsteem UNICS – Uniplexed teabe- ja arvutussüsteem. See nimi meeldis arendajatele, osaliselt ka seetõttu, et see meenutas Multicsi. Peagi hakati nime kirjutama UNIXina – seda hääldatakse samamoodi, kuid kirje on ühe tähe võrra lühem. See nimi on säilinud tänapäevani.
1971. aastal, pärast UNIX-i teisaldamist PDP-11-le, anti välja dokumentatsiooni esimene väljaanne ja uus operatsioonisüsteem ilmus ametlikult.
UNIX-i esimene väljaanne oli kirjutatud assemblerkeeles, mis tekitas teatud raskusi operatsioonisüsteemi portimisel teistele platvormidele, nii et UNIX-i teise väljaande kallal töötamiseks töötas Ken Thompson välja oma programmeerimiskeele B. Teine väljaanne ilmus 1972. aastal. ja sisaldas programmi kanalid, mis võimaldab luua suhtlust arvutis samaaegselt töötavate programmide vahel.
Assembly keeles mitte kirjutatud operatsioonisüsteemi ilmumine oli revolutsiooniline samm süsteemide programmeerimise vallas, kuid B-keel sisaldas mitmeid piiranguid, mis piirasid selle kasutamist. Nii töötas Dennis Ritchie 1973. aastal välja C-keele ja operatsioonisüsteem kirjutati ümber uude keelde.
Esimene ilmus 1975. aastal kommertsversioon UNIX, tuntud kui UNIX v.6 ja UNIX, alustasid oma võidukäiku üle maailma.

UNIXi arendamise peamised etapid

1976. Berkeley ülikoolis moodustati rühm tudengeid ja õppejõude, kes hakkasid UNIX-süsteemi vastu tõsiselt huvi tundma. Seejärel asutas Berkeley ülikooli rühm oma UNIX OS-i arendamise haru - BSD UNIX (Berkeley tarkvara levitamine). BSD haru tutvustas esimest korda selliseid tuntud UNIX-i komponente nagu tekstiredaktor vi, TCP/IP-protokolli virn, leheküljemehhanism virtuaalmälu haldussüsteemis.
1977. Esimene kogemus UNIX-i teisaldamisel teisele riistvaraplatvormile (va PDP-11). Austraalias Wollongongi ülikoolis portis professor Juris Reindfelds UNIXi osaliselt 32-bitisesse masinasse.
1978: Thompson ja Ritchie Bell Labsist viisid UNIX-i täieliku pordi 32-bitisesse masinasse. Ülekandmisega kaasnesid olulised muudatused süsteemi korralduses, mis võimaldas lihtsustada UNIX-i järgnevaid porte teistele platvormidele. Samal ajal laiendati C-keel peaaegu tänapäevani.
1978. USG (UNIX Support Group) osakond loodi spetsiaalselt UNIXi toetamiseks Bell Labsi juures.
1982. USG andis välja UNIX System III, mis koondas parimad esitletud lahendused erinevad versioonid UNIX, mis oli sel ajal tuntud. Esimest korda tutvustatakse nimelisi saatekanaleid.
1983: Ilmub Unix System V. See tutvustas esimest korda semafoore, mälu jagamist ja sõnumijärjekordi ning kasutas jõudluse parandamiseks andmete vahemällu.
1984. USG muudeti UNIX-i arenduslaboriks – USDL (UNIX System Development Laboratories). UNIX System V väljalase 2 (SVR2) on välja antud. Süsteemil on kirjutamise ajal võimalus faile lukustada ja ühismälu lehti kopeerida.
1986. UNIX-laadsete operatsioonisüsteemide graafilise liidese tekkimine – graafiline süsteem X Windows.
1987 USDL andis välja UNIX System V väljalase 3 (SVR3). Esmakordselt kaasaegsed protsessidevahelise suhtluse võimalused, eraldamine kustutatud failid, signaalitöötlus.
1989. Välja antud UNIX System V versioon 4 (SVR4). UNIX võeti esmakordselt kasutusele mikrokerneli kontseptsiooni alusel. Kasutusele on võetud reaalajas ja kergekaaluliste protsesside tugi.

Linuxi operatsioonisüsteem

Praegu on Linuxi operatsioonisüsteemis kiire arengu periood. Ja kuigi see on noor operatsioonisüsteem, veidi üle 10 aasta vana, on see juba pälvinud tunnustust paljudelt tuhandetelt kasutajatelt.
Linuxi operatsioonisüsteemi alguse sai tollal esmakursuslane Linus Torvalds, kes 1991. aasta lõpus postitas enda välja töötatud Linuxi mikrooperatsioonisüsteemi internetti ja kutsus kõiki selle süsteemi arendamisse kaasa lööma. Selle tulemusena liitus projektiga palju andekaid programmeerijaid ning suure hulga Interneti kaudu suhtlevate inimeste ühiste jõupingutustega töötati välja väga arenenud operatsioonisüsteem.
IN Linuxi sihtasutus Mõned lahendused põhinesid UNIX BSD 4.2-l ja seetõttu peetakse Linuxit tavaliselt UNIX-laadsete operatsioonisüsteemide iseseisvaks haruks.
Praegu areneb Linux tehnoloogia raames Avatud lähtekoodiga- avatud lähtekoodiga, kõigile kättesaadav. Linuxi muudatusi või täiendusi saab arendada ja esitada igaüks ning Linuxi installatsioone saab interneti kaudu tasuta hankida.
Praeguseks on ka Linux jagunenud mitmeks iseseisvaks haruks, mille vahel on veel palju ühist, kuid nii süsteemi tuumas kui ka erinevates utiliitides on mõningate komponentide teostuses erinevusi.
Paljud inimesed peavad Linuxi operatsioonisüsteemi nüüd tõsiseks alternatiiviks Windowsi operatsioonisüsteemide perekonnale. Linuxi süsteem on stabiilne ja tagab suure jõudluse. Ainus, mis Linuxi levikut veel pidurdab, on kontorirakenduste, näiteks tekstitöötlusprogrammide ja arvutustabelite puudumine. Aga sisse Hiljuti selliste programmide arv kasvab pidevalt ja nende kasutajaliideste kvaliteet läheneb Windowsi kasutajatele tuttavale tasemele.
Linuxi süsteemi teine ​​probleem on see, et see kipub uusima riistvara toetamisel maha jääma, kuid ka sellel on seletus. Nende riistvara arendajad annavad juhtivatele operatsioonisüsteemide tootjatele alati teavet nende kohta juba enne selle riistvara väljalaskmist. riistvara turul, mistõttu näiteks Windows pakub tavaliselt tuge uuele riistvarale kohe, kui see turule jõuab. Linuxi maine riistvaraarendajate seas kasvab pidevalt, seega võib loota, et riistvara toe probleem saab peagi lahenduse.

Operatsiooni ruum Windowsi süsteem

Praegu on Windowsi operatsioonisüsteemide perekond kõige populaarsem personaalarvutite operatsioonisüsteem. Kõik need operatsioonisüsteemid on väga sarnase (ja väga arenenud!) graafilise kasutajaliidesega, kuid erinevad oluliselt sisemise struktuuri poolest.
Windowsi perekonnas esindavad Windows 95/98/Me operatsioonisüsteemid tarbijatele mõeldud operatsioonisüsteemide haru, mis on suunatud peamiselt kodukasutusele, samas kui Windows XP süsteem on keskendunud peamiselt 64-bitisele platvormile ja erineb 32-bitise teostuse poolest. Windows 2000 peamiselt liideses.
Kaasaegne Windows 2000 operatsioonisüsteem on tüüpiline multitegumtööga operatsioonisüsteem, mis toetab virtuaalmälu, failisüsteemi, võrku, graafilist kasutajaliidest ja multimeediat. See pärineb otseselt Windows NT-st ja sellel pole peaaegu midagi ühist umbes kümme aastat tagasi laialt levinud MS-DOS-i operatsioonisüsteemiga. Küll aga tegutsemise areng Microsofti süsteemid toimusid järjestikku ja kõige loogilisem on alustada nende ajalugu DOS-ist.
1983: vabastatakse operatsioonisüsteem MS-DOS 2.0, mis sisaldab kõvaketta salvestusruumi, hierarhilise failinimestruktuuriga failisüsteemi ja laaditavaid seadmedraivereid. Seejärel töötasid kõik Windowsi versioonid kuni Windows NT-ni DOS-i versiooni 2.0 lisandmoodulina, kasutades arvutiriistvaraga töötamiseks selle failisüsteemi ja süsteemifunktsioone.
1985. Ilmub Windowsi esimene versioon – Windows 1.01. Sel ajal ei ole Windows veel täieõiguslik operatsioonisüsteem ja selle tööks on vaja operatsioonisüsteemi. DOS süsteem 2.0. Windows 1.01 toetab ainult mittekattuvaid aknaid ja võimaldab kasutajatel vahetada programme ilma neid taaskäivitamata. Hetkeni Windowsi tekkimine 1.01, on turul juba mitu DOS-i graafilist kesta, kuid kõik need, nagu Windows, pole programmide puudumise tõttu eriti populaarsed. Lisaks on mittekattuvates akendes töötamine ebamugav.
1987: ilmub Windows 2.0, mis toetab kattuvaid aknaid. Samaaegselt Windows 2.0 väljalaskega, elektrooniline Microsofti tabel Excel ja tekst Tekstitöötlus 1.0 on tõeliselt kasutajasõbralik tarkvara Windowsi jaoks. Tänu mugavale graafilisele liidesele ja kasulike rakendusprogrammide kättesaadavusele on Windows 2.0 versioon muutumas populaarseks, müües poole aastaga miljon eksemplari.
1988. Ilmub Windowsi versioon 2.1, mis toetab laiendatud mälu protsessoril 80286 ja multitegumtöötlust protsessoril 80386. Selle versiooni puhul muutub arvutil kohustuslikuks kõvaketta olemasolu (varem piisas diskettidest).
1990: ilmub Windows 3.0. See töötab kaitstud protsessori režiimis ja toetab mäluplokkide deskriptoritel põhinevate programmide ja andmete vahetamist. Samal ajal, kuigi teatud mäluploki andmeid pole vaja, võib süsteem oma äranägemise järgi selle ploki mällu teisaldada ja isegi andmed kettale loputada. Kuid kui mõni programm neid andmeid vajab, peab ta sellest süsteemile märku andma ja edastama talle mäluploki deskriptori, et tuvastada vajalik plokk (mäluploki eraldamisel tagastab süsteem selle deskriptori). Mälule juurdepääsu taotluse saamisel süsteem blokeerib see plokk mällu ja edastab rakendusele kursorit ploki algusesse. Süsteem ei saa enam seda mäluplokki teisaldada enne, kui rakendus teatab, et selle mäluploki andmetele juurdepääs pole enam vajalik. Alates Windows 3.0-st saab MS-DOS-i programme käivitada aknas.
1992: Ilmub Windows 3.1, mis on lihtsalt Windows 3.0 edasine täiustus, kuid see on esimene Windowsi versioon, mida Venemaal laialdaselt kasutatakse. Peagi sai Windows 3.1 installimiste arvu poolest kõige populaarsemaks süsteemiks Ameerika Ühendriikides ja säilitas oma juhtpositsiooni kuni 1997. aastani.
1993: ilmub Windows 3.11, mis lisab võrgutoe (e-post, failijagamine, töörühmad).
1993. Ilmub Windows NT operatsioonisüsteem (NT - New Technology) - esimene Windowsi perekonna täisväärtuslik operatsioonisüsteem, mis ei vaja oma tööks MS-DOS-i vormis baasi. Windows NT vajab töötamiseks vähemalt 80386 protsessorit; sellel on täielik virtuaalmälu, ennetav multitegumtöötlus ja uus failisüsteem. Alates Windows NT-st eraldati tarbija- ja professionaalsed harud.
1995. Ilmub operatsioonisüsteem Windows 95, mis on veel üks Windowsi arendamine 3.11, saab sellest esimene tarbija Windowsi versioon, mille tööks ei ole vaja DOS-i. Windows 95 tutvustab esmakordselt uut graafilist kasutajaliidest, mis on väga mugav, intuitiivne ja seab Windowsi kasutuslihtsuse ja kasutajaliidese kvaliteedi poolest maailmas esirinnas.
1996. Ilmub operatsioonisüsteem Windows NT4. See on Windows NT edasiarendus ja saab kohandatud Windowsi liides 95. Peagi muutub Windows NT4 operatsioonisüsteem professionaalseks tööks üheks populaarseimaks.
2000. Ilmub operatsioonisüsteem Windows 2000. See pärandas suures osas Windows NT sisemise arhitektuuri, kuid kasutusele võeti mitmeid lisateenuseid, näiteks hajutatud andmetöötluse tugi.
2000. Ilmub Windows Me operatsioonisüsteem, mis on Windows 95/98 edasiarendus. Küll aga teatatakse, et tegemist on Windowsi viimase tarbijaversiooniga. Tarbijaharu, mis eraldus 1993. aastal, on taas ühinemas professionaalse haruga ning Windows XP üks haru areneb edasi.
jne. ja nii edasi.
2006. Vista

OS-i ajalugu ulatub umbes poole sajandi taha. Selle määras ja määrab suuresti elemendibaasi ja arvutusseadmete areng.

Esimene põlvkond.

40ndad. Esimesed digitaalsed arvutid ilma operatsioonisüsteemita. Arvutusprotsessi korralduse otsustab programmeerija juhtpaneelilt.

Teine põlvkond.

50ndad. OS-i prototüübi tekkimine - jälgimissüsteemid, mis rakendavad ülesannete jaoks partiitöötlussüsteemi.

Partiirežiim

Kallite arvutusressursside optimaalse kasutamise vajadus tõi kaasa programmide täitmiseks "partiirežiimi" kontseptsiooni tekkimise. Pakettrežiim eeldab käivitamiseks programmide järjekorra olemasolu ja OS saab tagada, et programm laaditakse välist meediat andmed sisse RAM, ootamata eelmise programmi täitmise lõpuleviimist, mis väldib protsessori seisakuid.

Kolmas põlvkond.

1965-1980Üleminek integraallülitustele. IBM/360. Peaaegu kõik kaasaegsetele operatsioonisüsteemidele omased põhikontseptsioonid on rakendatud: aja jagamine Ja multitegumtöö, võimude lahusus, reaalajas, failistruktuurid ja failisüsteemid. Multiprogrammeerimise rakendamine eeldas väga oluliste muudatuste sisseviimist arvuti riistvarasse: privilegeeritud ja kasutajarežiimid, mälualade kaitsmise vahendid ja välja töötatud katkestussüsteem.

Aja jagamine ja multitegumtöö

Juba pakettrežiim selle arendatud versioonis nõuab protsessori aja jagamist mitme programmi täitmise vahel. Aja jagamise vajadus (multitegumtöötlus, multiprogrammeerimine) muutus veelgi tugevamaks teletüüpide (ja hiljem katoodkiirekraaniga terminalide) levikuga sisend- ja väljundseadmetena (1960. aastad). Sest kiirus klaviatuuri sisend(ja isegi ekraanilt lugedes) on operaator palju väiksem kui nende andmete töötlemise kiirus arvuti poolt, arvuti kasutamine "eksklusiivses" režiimis (ühe operaatoriga) võib põhjustada kallite arvutusressursside seisakuid.

Aja jagamine võimaldas luua "mitme kasutajaga" süsteeme, milles üks (tavaliselt) keskprotsessor ja RAM-i plokk oli ühendatud paljude terminalidega. Sel juhul saab mõningaid ülesandeid (nt andmete sisestamine või redigeerimine operaatori poolt) täita dialoogirežiimis ja teisi ülesandeid (nt massarvutused) saab teha pakettrežiimis.

Võimude lahusus

Mitme kasutajaga süsteemide levik nõudis võimude lahususe probleemi lahendamist, mis võimaldab vältida käivitatava programmi või ühe programmi andmete muutmise võimalust teise (viga või pahatahtlikult ettevalmistatud) programmi arvutimälus. , samuti OS-i enda muutmine rakendusprogrammiga.

Võimude lahususe rakendamist OS-is toetasid protsessorite arendajad, kes pakkusid välja arhitektuurid kahe protsessori töörežiimiga - "päris" (milles käivitatav programm saadaval on kogu arvuti aadressiruum) ja “kaitstud” (mille puhul aadressiruumi saadavus on piiratud programmi käivitamisel eraldatud vahemikuga).

Reaalajas

Rakendus universaalsed arvutid tootmisprotsesside juhtimiseks oli vaja rakendada "reaalajas" ("reaalajas") - programmi täitmise sünkroonimine väliste füüsiliste protsessidega.

Reaalajas funktsioonide kaasamine OS-i võimaldas luua süsteeme, mis teenindavad samaaegselt tootmisprotsesse ja lahendavad muid probleeme (partiirežiimis ja (või) ajajagamise režiimis).

Neid operatsioonisüsteeme nimetatakse Reaalajas ajakavaga operatsioonisüsteemid või lühidalt RTOS.

Failisüsteemid ja struktuurid

Järjestikuse juurdepääsu andmekandjate (perfolindid, perfokaardid ja magnetlindid) järkjärguline asendamine juhusliku juurdepääsuga draividega (magnetketas)

Neljas põlvkond.

70ndate lõpp. TCP/IP-protokolli pinu tööversioon on loodud. See standarditi 1983. aastal. Tootja sõltumatus, paindlikkus ja tõestatud tõhusus edukas töö Internet on muutnud selle protokollivirnu enamiku operatsioonisüsteemide peamiseks virnaks.

80ndate algus. Personaalarvutite tulek. Kohalike võrkude kiire kasv. Toetus võrgufunktsioonid muutus vajalikuks tingimuseks.

80ndad. Põhistandardid sidetehnoloogiad kohalikud võrgud: Ethernet, Token Ring, FDDI. See võimaldas tagada võrgu operatsioonisüsteemide ühilduvuse madalamatel tasemetel.

90ndate algus. Peaaegu kõik operatsioonisüsteemid on võrku ühendatud. Ilmunud on spetsiaalsed võrguoperatsioonisüsteemid (näiteks ruuterites töötav IOS)

Eelmine kümnend. Erilist tähelepanu pööratakse ettevõtte võrgu operatsioonisüsteemidele, mida iseloomustavad kõrge aste skaleeritavus, võrgutugi, täiustatud turvatööriistad, võime töötada heterogeenses keskkonnas, tsentraliseeritud haldustööriistade kättesaadavus.

  • II. Föderaalse maksuteenistuse riigiteenistujate ametliku käitumise aluspõhimõtted ja reeglid
  • II. Programmi peamised eesmärgid ja eesmärgid, selle elluviimise periood ja etapid, sihtnäitajad ja näitajad
  • II. Füüsika arengu põhietapid.Füüsika kujunemine (17. sajandini).
  • III.2.1) Kuriteo mõiste, selle peamised tunnused.
  • Operatsioonisüsteemide arendamise ajalugu ulatub enam kui poole sajandi taha ja on sellega lahutamatult seotud tehniline tase elektroonika, materjaliteaduse, matemaatika, kõigi nende teaduse ja tehnoloogia distsipliinide arendamine, ilma milleta on mõeldamatu arvutuskompleksi loomine. Seetõttu on operatsioonisüsteemide arendamise etapid tihedalt seotud teatud etapid teaduse ja tehnoloogia arengut selles valdkonnas.

    Esimene periood (1945–1955)

    Esimesed elektroonilised arvutid ilmusid pärast Teist maailmasõda. 1940. aastatel loodi esimesed torudel põhinevad arvutusseadmed ning ilmus masina mällu salvestatud programmi põhimõte (Howard Aiken Harvardi ülikoolist, John von Neumann Princetoni Kõrgkoolide Instituudist jt. juuni 1945). Arvutid olid mahukad, hõivates mitu tuba. Nende disain hõlmas mitme tuhande vaakumtoru kasutamist. Arvutiga töötamine oli sama tülikas. Üks grupp inimesi tegi samaaegselt nii hooldust, käitamist kui ka programmeerimist. Selliseid masinaid saab hõlpsasti klassifitseerida eksperimentaalseteks ja nende kohta tehtud arvutused olid pigem proovi- (eksperimentaalsed) laadi. Programmeerimine viidi läbi ainult sellel masinakeel, st. järjestikune käsu- ja andmekoodide sisestamine klahvistikult ning mingist süsteemist ega rakendustarkvarast polnud juttugi. Programm laaditi masina mällu paigapaneeli abil või perfokaartide pakist. Olemasolevad seadmed Sisend/väljundseadmed ei olnud standardiseeritud ja olid primitiivsed kaugjuhtimispuldid, millel oli lülitite, nuppude ja indikaatorite komplekt. Kõiki arvuti ressursse haldasid selle töötajad, kes käivitasid programmi käsitsi täitmiseks, eraldasid sellele vajaliku mälumahu ja jälgisid visuaalselt kogu arvutusprotsessi. Arvutussüsteem tegi korraga ainult ühe toimingu (sisend-väljund või tegelikud arvutused). Programmide silumine viidi läbi juhtpaneelilt, uurides masina mälu ja registrite olekut. Kuid juba selle aja jooksul loodi matemaatika- ja utiliidiprogrammide teegid, millele programmeerija pääses ligi põhiprogrammi täitmisel.



    Selle perioodi lõpus ilmub esimene süsteemitarkvara: 1951.–1952. ilmusid sümboolsete keelte (Fortran jne) esimeste kompilaatorite prototüübid ja 1954. aastal töötas Nat Rochester välja IBM-701 komplekteerija.

    Märkimisväärne osa ajast kulus programmi käivitamise ettevalmistamisele ja programme täideti rangelt järjestikku. Seda töörežiimi nimetatakse järjestikuseks andmetöötluseks. Üldiselt iseloomustab esimest perioodi äärmiselt kõrge hind arvutussüsteemid, nende väike arv ja madal kasutusefektiivsus. Nii sisaldas 1951. aasta märtsis välja töötatud UNIVAC I arvuti 5000 lampi ja suutis töötada kiirusega 1000 toimingut sekundis. Sellise masina maksumus oli 159 000 USA dollarit.

    Teine periood (1955 – 60ndate algus).

    Kahekümnenda sajandi 50. aastate keskel algas arvutitehnoloogia arengus uus periood. Releed ja lambid vahetatud vastu pooljuhttransistorid. See võimaldas suurendada protsessorite jõudlust, RAM-i ja välismälu maht suurenes järsult ning ilmusid põhimõtteliselt uued liidesseadmed. Üldiselt on arvutussüsteem muutunud keerukamaks, mis on muutnud operaatorite suhtumist sellesse. Vaja on automatiseerimist arvutustööd ja selle tulemusel programmeerimisprotsessi enda lihtsustamine. Nende aastate jooksul ilmusid esimesed algoritmilised keeled ja nendega kaasnev eritarkvara - tõlkijad. Tollastest keeltest olid enim kasutatud ALGOL ja Fortran.



    Arvutuste tegemine hõlmab nüüd rohkemat järjestikune operatsioon, nimelt: programmide teksti sisestamine, soovitud tõlkija laadimine, programmide sidumine raamatukogu rutiinidega, saadud programmi hankimine masinkoodis, koodi laadimine RAM-i, programmide käivitamine ja lõpuks tulemuste väljastamine välisseadmesse. See tähendab, et arvutusprotsess ise võtab ainult ühe komponendid arvukates arvutusoperatsioonides. See eeldas kõrgelt kvalifitseeritud arvutioperaatorite lisamist arvutikeskuste personali.

    On selge, et hoolimata sellest, kui kiiresti ja usaldusväärselt operaatorid töötavad, on arvutiseadmete jõudlus suurem. Seetõttu seisab masin osa ajast lihtsalt jõude ja ootab operaatori järgmisi toiminguid. Selle probleemi lahendamiseks töötati välja esimesed partiitöötlussüsteemid, mis automatiseerisid kogu operaatori toimingute jada arvutusprotsessi korraldamiseks. Need olid esimesed süsteemiprogrammid – kaasaegsete operatsioonisüsteemide prototüübid. Paketttöötlussüsteem kujutas endast tüüpilist käskude kogumit, mis sisaldas eraldi töö alguse märki, kõne tõlkijale, kõne laadijale ning lähteandmete alguse ja lõpu märki. Direktiividega töötamise hõlbustamiseks töötati välja formaliseeritud ülesannete juhtimiskeel (DOS-i käskude prototüüp). Operaator koostab ülesannete paketi, mis käivitatakse järjestikku täitmiseks spetsiaalse juhtimisprogrammiga - monitoriga. Monitor suudab iseseisvalt toime tulla hädaolukordadega ja kontrollida RAM-i kasutamist. Tavaliselt oli pakiks perfokaartide komplekt, mille sisu sisestati spetsiaalse seadme abil järjestikku masinasse. Pange tähele, et seade võimaldas sellesse installida mitu perfokaartide paketti, seega tegelikult ka selle direktiivide komplekti nimi - partiitöötlussüsteemid.

    Partiitöötlussüsteemid kiirendasid oluliselt arvutusprotsessi korraldamise abitoimingute sooritamist, kuid kasutaja programmeerijad kaotasid otsese juurdepääsu masinale, mis vähendas programmeerijate endi efektiivsust. Mis tahes parandus programmis selle silumise ajal nõudis palju aega. Nii või teisiti kontrollisid arvutusi endid teised - arvutikeskuste hoolduspersonal.

    Teise põlvkonna arvuteid kasutati eelkõige teaduslike ja tehniliste arvutuste tegemiseks, näiteks diferentsiaalvõrrandite lahendamiseks. Programmeerimine toimus Fortranis või Assemblys ning tüüpilisteks operatsioonisüsteemideks olid FMS (Fortran Monitor System) ja IBSYS (IBM-i operatsioonisüsteem IBM 7094 arvutile).

    Kolmas periood (60ndate algus - 1980).

    Arvutite ilmumine aastatel 1965-1975 integraallülitused avas uue lehekülje arvutitehnoloogia arengus. Uutel masinatel oli keeruline, arenenud arhitektuur, mis oli arhitektuurile kõige lähedasem kaasaegsed arvutid. Selleks ajaks oleme täielikult otsustanud peamise välisseadmed. Selliste masinate tüüpilised esindajad on IBM/360 seeria arvutid või nende kodumaised analoogid - EC perekonna arvutid. Kuna selle seeria masinad olid ühesuguse struktuuri ja käskude komplektiga, võisid ühele arvutile kirjutatud programmid põhimõtteliselt töötada ka kõigi teistega. IBM/360 seeria arvutite eeliseks oli ka see, et neid arvuteid oli võimalik kasutada nii teaduslikel eesmärkidel (teaduse ja tehnoloogia jaoks arvulised arvutused) kui ka kaubanduslik kasutamine(andmete sorteerimine ja printimine). See määras end arvutiturul maailma liidriks kuulutanud IBMi edu juba ette. Teised tootjad hakkasid ühilduvate arvutite perekonna ideega nõustuma. OS/360 operatsioonisüsteem oli loodud töötama kõikides antud masinapere arvutites, sõltumata kasutatava arvuti otstarbest (ilmaprognooside arvutamine või lihtsalt info kopeerimine perfokaartidelt magnetlintidele).

    Hoolimata asjaolust, et operatsioonisüsteem OS/360 oli väga mahukas ja keeruline (miljoneid ridu montaažikeelt), rakendati just sel perioodil peaaegu kõiki kaasaegsetesse operatsioonisüsteemidesse sisseehitatud põhimehhanisme: multitegumtöötlus, mitme kasutaja tugi. režiim, virtuaalmälu, failisüsteem ja nii edasi. Programmeerimisega seotud rakendusmatemaatika suunalt torkab silma eraldi haru – süsteemiprogrammeerimine. Järsult suurenenud arvutusvõimsuse tingimustes osutus ainult ühe ülesande korraga täitmine ebaefektiivseks. Lahendus leiti multiprogrammeerimisest (multitegumtöötlus) - arvutusprotsessi korraldamise meetodist, kus RAM-i laaditakse korraga mitu ülesannet, kuid vaheldumisi täidetakse ühel protsessoril. Multiprogrammeerimist rakendati kahes versioonis: end hästi tõestanud partiitöötlussüsteemis ja ajajagamissüsteemis (väljatöötatud Massachusettsi Tehnoloogiainstituudi IBM 7094 poolt), tänu millele oli igal kasutajal oma interaktiivne terminal.

    Integraallülituste kasutamine on võimaldanud oluliselt vähendada arvutite suurust. Neid arvuteid hakati nimetama miniarvutiteks (PDP-1, DEC Corporation, 1961) ja kuigi need maksid umbes 120 000 dollarit, olid need äriliselt edukad ja neil oli suur nõudlus. Nende maksumus moodustas 5% IBM 7094 arvuti maksumusest, samas sooritasid PDP-seeria arvutid mõningaid toiminguid sama kiirusega.

    Just PDP-7 seeria arvutite jaoks töötas Bell Labsi spetsialist Ken Thompson välja operatsioonisüsteemi MULTICS ühe kasutaja versiooni, millest hiljem kujunes UNIX operatsioonisüsteem, millel oli seejärel System V (AT&T Corporation), BSD variandid. (California Berkeley Instituut) ja teised. UNIX operatsioonisüsteemi jaoks töötasid Ken Thompson ja Denis Ritchie välja C-keele, mis on siiani süsteemide programmeerimise alal liider. 1974. aastal avaldasid nad ajakirjas Commun artikli “The UNIX Timesharing System”. ACM-ist, mis muutis UNIX-süsteemi populaarseks.

    Esimene periood (1945 -1955). 40ndate keskel loodi esimesed lambipõhised arvutusseadmed (USA-s ja Suurbritannias), NSV Liidus ilmus esimene lambipõhine arvuti 1951. aastal. Programmeerimine viidi läbi eranditult masinkeeles. elemendi alus - vaakumtorud ja sidepaneelid. Operatsioonisüsteeme ei olnud, kõik arvutusprotsessi korraldamise ülesanded lahendas programmeerija käsitsi juhtpaneelilt. Süsteemitarkvara – matemaatiliste ja utiliidirutiinide teegid.

    Teine periood (1955 - 1965). Alates 50ndate keskpaigast algas arvutitehnoloogia arengus uus periood, mis oli seotud uue tehnilise baasi tekkimisega - pooljuhtelemendid(transistorid). Nende aastate jooksul ilmusid esimesed algoritmilised keeled ja sellest tulenevalt ka esimesed süsteemiprogrammid - kompilaatorid. Protsessori tööaja hind on suurenenud, mis nõuab programmi käitamise vahelise aja vähendamist. Ilmusid esimesed partiitöötlussüsteemid, mis suurendasid protsessori koormustegurit. Paketttöötlussüsteemid olid kaasaegsete operatsioonisüsteemide prototüübid; neist said esimesed süsteemiprogrammid, mis on loodud arvutiprotsessi juhtimiseks. Töötati välja ametlik töökorralduskeel. Ilmunud on virtuaalse mälu mehhanism.

    Kolmas periood (1965 - 1975). Üleminek integraallülitused. Tarkvaraga ühilduvate masinate perekondade loomine (IBM System/360 seeria masinad, nõukogude analoog - EC seeria masinad). Selle aja jooksul rakendati peaaegu kõiki kaasaegsetele operatsioonisüsteemidele omaseid põhikontseptsioone: multiprogrammeerimine, multitöötlus, mitme terminali režiim, virtuaalne mälu, failisüsteem, juurdepääsukontroll ja võrgundus. Protsessoritel on nüüd privilegeeritud ja kasutaja töörežiimid, spetsiaalsed registrid konteksti vahetamiseks, mälualade kaitsevahendid ja katkestussüsteem. Teine uuendus on poolimine. Spoolimist defineeriti tollal arvutusprotsessi korraldamise viisina, mille kohaselt loeti ülesanded perfokaartidelt kettale sellises tempos, millega need arvutikeskusesse ilmusid, ja seejärel järgmise ülesande täitmisel uus ülesanne. ülesanne laaditi kettalt vabasse partitsiooni. Ilmunud on uut tüüpi OS - ajajagamissüsteemid. 60ndate lõpus alustati ülemaailmse ARPANETi võrgu loomisega, millest sai Interneti alguspunkt. 70. aastate keskpaigaks said miniarvutid laialt levinud. Nende arhitektuur oli suurarvutitega võrreldes oluliselt lihtsustatud, mis kajastus nende operatsioonisüsteemis. Miniarvutite kulutõhusus ja kättesaadavus olid võimsaks stiimuliks esimeste kohalike võrkude loomisel. Alates 70ndate keskpaigast hakati UNIX OS-i laialdaselt kasutama. 70ndate lõpus loodi TCP/IP-protokolli tööversioon, mis 1983. aastal standarditi.


    Neljas periood (1980–praegu). Järgmine periood operatsioonisüsteemide arengus on seotud suuremahuliste integraallülituste (LSI) tulekuga. Nende aastate jooksul on integratsiooniaste järsult tõusnud ja mikroskeemide maksumus vähenenud. Kätte on jõudnud personaalarvutite ajastu. Arvuteid on laialdaselt kasutanud mittespetsialistid. Rakendatud on graafiline kasutajaliides (GUI), mille teooria töötati välja juba 60ndatel. Alates 1985. aastast hakati tootma Windowsi, see oli graafiline MS-DOS kest aastani 1995, mil ilmus täisväärtuslik operatsioonisüsteem Windows 95. IBM ja Microsoft töötasid ühiselt välja operatsioonisüsteemi OS/2. See toetas ennetavat multitegumtöötlust, virtuaalset mälu, graafilist kasutajaliidest ja virtuaalset masinat DOS-i rakenduste käitamiseks. Esimene versioon ilmus aastal 1987. Seejärel loobus Microsoft OS/2-st ja alustas Windowsi arendus N.T. Esimene versioon ilmus 1993. aastal.

    1987. aastal Ilmus MINIX operatsioonisüsteem (LINUX prototüüp), mis ehitati üles mikrokerneli arhitektuuri põhimõttel.

    80ndatel võeti vastu kohalike võrkude sideseadmete peamised standardid: 1980. aastal - Ethernet, 1985. aastal - Token Ring, 80ndate lõpus - FDDI. See võimaldas tagada võrgu operatsioonisüsteemide ühilduvuse madalamatel tasemetel, samuti standardida operatsioonisüsteemi liidest võrguadapteri draiveritega.

    90ndatel muutusid peaaegu kõik operatsioonisüsteemid võrgupõhiseks. Ilmunud on spetsiaalsed operatsioonisüsteemid, mis on mõeldud eranditult sideprobleemide lahendamiseks (Cisco Systemsi IOS). Interneti populaarsusele andis võimsa tõuke World Wide Web (WWW) tulek 1991. aastal. Esiplaanile on kerkimas ettevõtete võrgu operatsioonisüsteemide arendamine. Suurarvuti OS-i arendus jätkub. 1991. aastal LINUX ilmus. Veidi hiljem ilmus FreeBSD (selle aluseks oli BSD UNIX).


    Ülevenemaaline kirjavahetuse finants- ja majandusinstituut

    Teaduskond: rahandus - krediit

    Eriala: finants- ja krediidiõhturühm

    Kursuse töö

    Distsipliinis "informaatika"

    Teemal "Operatsioonisüsteemide eesmärk, klassifikatsioon ja areng"

    Moskva - 2008

    Sissejuhatus
    1 Operatsioonisüsteemide eesmärk 5

    2 Loetleme operatsioonisüsteemide põhifunktsioonid 9

    2.2 Kõigi I/O toimingute teenindamine 9

    3 OS-i areng ja klassifikatsioon
    2. järeldus
    Viited 22

    Sissejuhatus

    Operatsioonisüsteem (OS) on süsteemitarkvara alus, mis juhib arvuti algkäivitamist, haldab kõigi selle seadmete tööd ja kontrollib nende funktsionaalsust, haldab arvuti failisüsteemi ja alglaadimist. kohandatud rakendused ja arvutiressursside jaotus nende vahel, kasutajaliidese tugi jne Tuntud operatsioonisüsteemide perekonnad on DOS, WINDOWS, UNIX, NETWARE jne.

    Operatsioonisüsteem (OS) on programmide kogum, mis täidab kahte funktsiooni: kasutajale virtuaalmasina mugavuse pakkumine ja arvuti kasutamise efektiivsuse suurendamine, samal ajal selle ressursse ratsionaalselt hallates.

    Arvutiprotsessor täidab masinakeeles antud juhiseid. Selliste käskude otsene ettevalmistamine eeldab kasutajalt keele tundmist ning riistvara ehituse ja interaktsiooni spetsiifikat. Nii et näiteks magnetkandjale salvestatud teabele juurdepääsuks on vaja märkida kettale plokkide numbrid ja rajal sektorite numbrid, määrata lugemissalvestuspeade liigutamise mehhanismi mootori olek. , tuvastada vigade olemasolu ja tüübid, teostada nende analüüsi jne. Kõigilt kasutajatelt neid teadmisi nõuda on peaaegu võimatu. Seetõttu tekkis vajadus luua OS - programmide komplekt, mis varjab kasutaja eest teabe füüsilise asukoha funktsioone ning teostab katkestuste töötlemist, taimerite haldust ja RAM-i. Selle tulemusena antakse kasutajale virtuaalne masin, mis teostab tööd loogiline tase.

    1 Operatsioonisüsteemide eesmärk

    Operatsioonisüsteemid viitavad süsteemitarkvarale. Kogu tarkvara on jagatud süsteemiks ja rakenduseks. Süsteemitarkvara hõlmab tavaliselt selliseid üldlevinud programme ja programmikomplekse, ilma milleta pole võimalik teisi programme käivitada ega luua. Süsteemitarkvara tekkimise ja arengu ajalugu sai alguse hetkest, mil inimesed mõistsid, et iga programm nõuab andmete sisestamise/väljundi toiminguid. See juhtus eelmise sajandi kaugetel 50ndatel. Operatsioonisüsteemid ise ilmusid veidi hiljem.

    Samamoodi saab tulemuste väljastamist korraldada näiteks sobivatel seadmetel ja inimesele sobival kujul. Või saadab programm arvutustulemused mõnele täiturmehhanismile, mida juhib arvuti. Lõpuks saame korraldada saadud väärtuste salvestamise mõnele andmesalvestusseadmele (nende edasiseks töötlemiseks).

    I/O programmeerimine on tarkvaraarenduse üks aeganõudvamaid valdkondi. See ei puuduta selliste lausete kasutamist keeltes nagu LOE või KIRJUTA kõrge tase. Räägime vajadusest luua masinakujuline alamprogramm, mis on valmis arvutis täitmiseks ja mitte kirjutatud mõne programmeerimissüsteemi abil (sel ajal polnud programmeerimissüsteeme), alamprogramm, mis tavapäraste arvutuste asemel juhib seade, mis peaks osalema andmete sisestamisel või tulemuste järeldustes. Kui selline alamprogramm on olemas, pääseb programmeerija sellele juurde nii mitu korda, kui palju selle seadmega I/O toiminguid ta vajab. Selle töö tegemiseks ei piisa sellest, kui programmeerija tunneb hästi arvutikompleksi arhitektuuri ja oskab luua programme assemblerkeeles. Ta peab suurepäraselt teadma nii liidest, millega seade on ühendatud arvuti keskosaga, kui ka I/O seadme juhtimisseadme töö algoritmi.

    Ilmselgelt oli mõttekas luua I/O toimingute haldamiseks rutiinid ja kasutada neid oma programmides, et mitte sundida programmeerijaid kõiki neid toiminguid iga kord ümber programmeerima. Siit sai alguse süsteemitarkvara ajalugu. Seejärel hakati spetsiaalse sisend-väljundteegi kujul korraldama sisend-väljundrutiinide komplekti ja seejärel ilmusid operatsioonisüsteemid ise. Nende ilmumise peamiseks põhjuseks oli soov automatiseerida arvutikompleksi ettevalmistamise protsess programmide täitmiseks.

    50ndatel oli kasutajate suhtlus arvutisüsteemiga täiesti erinev kui praegu. Programmeerija-kodeerija (inglise keelest coder - encoder) - spetsiaalselt koolitatud spetsialist, kes tunneb arvuti arhitektuuri ja programmeerimiskeeli(sid) - koostas soovi korral programmi teksti, kasutades sageli ettevõtte poolt välja töötatud valmisalgoritmi. programmeerija-algoritm. Seejärel anti selle programmi tekst operaatorile, kes trükkis selle spetsiaalsetesse seadmetesse ja kandis vastavale andmekandjale. Kõige sagedamini kasutati kandjana perfokaarte või perfolinti. Järgmisena viidi perfokaartidega tekk arvutusruumi, kus selle programmi abil arvutamiseks oli vaja teha järgmisi toiminguid:

    1. Arvutikompleksi operaator kaugjuhtimispuldist sisestas keskprotsessori tööregistritesse ja arvuti RAM-i algprogrammi, mis võimaldas lugeda mällu lähtekoodide tõlkimise ja masina hankimise programmi (binaarne) programm (teisisõnu tõlkija, mis oli samuti salvestatud perfokaartidele või perfolindile).

    2. Tõlkija luges lähteprogrammi, viis läbi lähteteksti leksikaalse analüüsi ning tõlkeprotsessi vahetulemused väljastati sageli ka perfokaartidele (punched tape). Tõlge on keeruline protsess, mis nõuab sageli mitut läbimist. Mõnikord tuli järgmise käigu sooritamiseks arvuti mällu laadida nii tõlkija järgmine osa kui ka perfokaartidelt tõlke vahetulemused. Tõlke tulemus väljastati ju ka andmekandjatele, kuna RAM-i maht oli väike ja tõlkimise ülesanne oli väga keeruline ülesanne.

    3. Operaator laadis saadud andmed arvuti RAM-mällu. kahendkoodid, tõlgiti programmi ja laadis nende süsteemirutiinide binaarkoodid, mis rakendasid I/O toiminguid. Pärast seda valmis programm, mis asub mälus, saab ise lugeda lähteandmeid ja teha vajalikke arvutusi. Kui ühes neist etappidest või pärast saadud tulemuste analüüsimist avastati vigu, tuli kogu tsüklit korrata.

    Programmeerija (kodeerija) töö automatiseerimiseks hakati välja töötama spetsiaalseid kõrgetasemelisi algoritmkeeli ja arvutikompleksi operaatori töö automatiseerimiseks töötati välja spetsiaalne juhtimisprogramm, laadides selle üks kord mällu, operaator saab seda siis korduvalt kasutada ja ei pea enam kaugjuhtimispuldi kaudu arviitama. Just seda juhtimisprogrammi hakati nimetama operatsioonisüsteemiks. Aja jooksul hakati talle üha rohkem ülesandeid jagama ja selle maht hakkas kasvama. Eelkõige püüdsid arendajad tagada, et operatsioonisüsteem jagaks arvuti arvutusressursse võimalikult tõhusalt, sest juba 60ndatel võimaldasid operatsioonisüsteemid korraldada mitme programmi paralleelset täitmist. Lisaks ressursside jaotamise probleemidele on ilmnenud probleemid arvutuste usaldusväärsuse tagamisel. 70ndate alguseks sai domineerivaks interaktiivne arvutiga töötamise režiim ja operatsioonisüsteemid hakkasid kiiresti arendama liidese võimalusi. Termin liides viitab tervele spetsifikatsioonide komplektile, mis määratlevad konkreetse viisi, kuidas kasutaja saab arvutiga suhelda.

    Tänapäeval võib väita, et operatsioonisüsteem (OS) on süsteemi juhtimis- ja töötlusprogrammide kogum, mis ühelt poolt toimib liidesena arvuti riistvara ja kasutaja vahel tema ülesannetega ning teisalt, on mõeldud arvutussüsteemi ressursside kõige tõhusamaks kasutamiseks ja usaldusväärse andmetöötluse korraldamiseks.

    2 Loetleme operatsioonisüsteemide põhifunktsioonid

    Vastavas keeles sõnastatud ülesannete või käskude vastuvõtmine kasutaja (või süsteemioperaatori) poolt ja nende töötlemine. Ülesandeid saab edastada operaatori tekstijuhiste (käskude) kujul või manipulaatori abil (näiteks hiirega) täidetavate juhiste kujul. Need käsud on seotud programmide käivitamise (peatamise, peatamise) ja failidega tehtava toiminguga (käesolevas kataloogis olevate failide loendi hankimine, konkreetse faili loomine, ümbernimetamine, kopeerimine, teisaldamine jne), kuigi on ka muid käske.

    Mälu eraldamine ja enamikul juhtudel kaasaegsed süsteemid ja virtuaalmälu organiseerimine.

    Programmi käivitamine (juhtimise üleandmine sellele, protsessori käivitamine programmi).

    Vastuvõtt ja kasutamine erinevaid taotlusi töötavatest rakendustest. Operatsioonisüsteem suudab täita väga suurt hulka süsteemi funktsioone (teenuseid), mida saab taotleda töötavast programmist. Nendele teenustele pääseb juurde vastavalt liidest määratlevatele asjakohastele reeglitele rakenduste programmeerimine(Application Program Interface, API) selle operatsioonisüsteemi jaoks.

    2.2 Kõigi I/O toimingute hooldus

    Failihaldussüsteemide (FMS) ja/või andmebaasihaldussüsteemide (DBMS) toimimise tagamine, mis võib järsult tõsta kogu tarkvara tõhusust.

    Multiprogrammeerimisrežiimi pakkumine, st kahe või enama programmi paralleelse täitmise korraldamine ühel protsessoril, luues nende samaaegse täitmise välimuse.

    Tööülesannete ajastamine ja saatmine vastavalt töötavate programmide vahel määratletule.

    Võrguoperatsioonisüsteeme iseloomustab omavahel ühendatud arvutite koostoime tagamise funktsioon.

    Töötavate programmide vahelise sõnumite ja andmete vahetamise mehhanismide organiseerimine.

    Ühe programmi kaitsmine teise mõju eest, andmete turvalisuse tagamine, operatsioonisüsteemi enda kaitsmine arvutis töötavate rakenduste eest.

    Kasutaja autentimine ja autoriseerimine (enamiku interaktiivsete operatsioonisüsteemide jaoks). Autentimine viitab protseduurile, mille käigus kontrollitakse kasutaja nime ja parooli tema kontole salvestatud väärtustega. Ilmselgelt, kui kasutaja sisselogimisnimi ja parool on samad, on tõenäoliselt tegemist sama kasutajaga. Mõiste autoriseerimine tähendab, et autentimise läbinud kasutaja konto järgi määratakse talle (ja kõikidele päringutele, mis tema nimel operatsioonisüsteemi suunatakse) teatud õigused (privileegid), mis määravad, mida ta arvutis teha saab.

    Vastab rangetele reaalajas reageerimisaja piirangutele (tüüpiline reaalajas OS).

    Programmeerimissüsteemide töö tagamine, millega kasutajad oma programme ette valmistavad.

    Teenuste pakkumine süsteemi osalise rikke korral.

    Operatsioonisüsteem isoleerib arvuti riistvara kasutaja rakendusprogrammidest. Nii kasutaja kui ka tema programmid suhtlevad arvutiga operatsioonisüsteemi liideste kaudu.

    3 OS-i areng ja klassifikatsioon

    OS-i areng on suuresti tingitud arvuti riistvara täiustamisest.

    Toru programmeerimine arvutusseadmed spetsialiseeritud rakendusprobleemide lahendamisele orienteeritud, viidi läbi masinkeeles (programmeerimiskeel, mis kujutab programmi kujul, mis võimaldab seda vahetult täita andmetöötluse tehniliste vahenditega). Arvutusprotsessi korraldas antud juhul hoolduspersonal käsitsi juhtpaneelilt. Operatsioonisüsteeme nende arvutite jaoks praktiliselt polnud.

    Pooljuhtelementidele ehitatud arvutid muutusid kompaktsemaks, töökindlamaks ja neid kasutati laiema klassi rakendusprobleemide lahendamiseks. Ilmusid esimesed algoritmilised keeled, kompilaatorid (kompilaatorid on programmid, mida kasutatakse kompileerimiseks - algoritmilises keeles kirjutatud programmi tõlkimine masinkeelele lähedasesse keelde) ja pakktöötlussüsteemid. Need süsteemid olid kaasaegsete operatsioonisüsteemide prototüübid. Nende peamine eesmärk on suurendada protsessori koormust.

    Üleminek üksikutelt pooljuhtelementidelt, nagu transistorid, integraallülitustele kaasnes tarkvaraga ühilduvate masinate perekondade loomisega, näiteks IBM/360 perekond, EC arvutid. Nende arvutite operatsioonisüsteemid olid suunatud arvutussüsteemide teenindamiseks erinevate välisseadmetega ja erinevates tegevusvaldkondades. Selliste operatsioonisüsteemide eripäraks on multiprogrammeerimine – arvutusprotsessi korraldamise meetod, mille käigus ühel protsessoril käitatakse vaheldumisi mitut rakendust. Näiteks kui üks rakendus teeb I/O-operatsioone, teeb protsessor arvutustoiminguid teises. Ilmunud on uut tüüpi OS – ajajagamise süsteem, mis võimaldab igal kasutajal luua illusiooni arvutiga üksi töötamisest. Suuremahuliste integraallülituste (LSI) ja väga suuremõõtmeliste integraallülituste (VLSI) tulek tagas arvutite laialdase kasutuse ja nende kasutamise mipoolt. See nõudis sõbraliku ja intuitiivse tarkvaraliidese väljatöötamist. Sidevahendite areng on viinud võrgu operatsioonisüsteemide väljatöötamiseni.

    Kaasaegsetele operatsioonisüsteemidele kehtivad järgmised nõuded:

    Ühilduvus – OS peab sisaldama tööriistu muude operatsioonisüsteemide jaoks ettevalmistatud rakenduste käitamiseks;

    Kaasaskantavus – OS-i ühelt riistvaraplatvormilt teisele ülekandmise võimaluse tagamine;

    Töökindlus ja tõrketaluvus – hõlmab OS-i kaitsmist sisemiste ja välised vead, ebaõnnestumised ja ebaõnnestumised;

    Turvalisus – OS peab sisaldama vahendeid mõne kasutaja ressursside kaitsmiseks teiste eest;

    Laiendatavus – OS peaks võimaldama hilisemate muudatuste ja täienduste tegemise lihtsust;

    Jõudlus – süsteemil peab olema piisav kiirus.

    OS-i klassifikatsioon. Tavaliselt toimub suhtlus kasutaja ja masina vahel interaktiivne režiim. Sel juhul määrab probleemi lahendamise tempo kasutaja reaktsioon. Kui eeldame, et kasutaja reaktsiooniaeg on konstantne, siis võime eeldada, et ülesande keerukust piirab kiirus tehnilisi vahendeid(vajadusel suurendatakse seda ulatuslike meetoditega: kiirema elementbaasi kasutamine, mitme protsessori või mitme masinaga süsteemide kasutamine). Kuid see on ühekülgne lähenemine. Tohutud võimalused peituvad organisatsioonilistes meetmetes, mis hõlmavad optimaalsete töörežiimide ja teenindusdistsipliinide valikut; mõlemat rakendavad operatsioonisüsteemid.

    Arvuti töörežiimid määrab peamiselt masinas paralleelselt lahendatud ülesannete arv (rakendatud programmid). Selle kriteeriumi alusel jaotatakse operatsioonisüsteemid multitegumtöötluseks ja ühetegumtöötluseks, mitme lõimega töötlemist toetavateks ja mittetoetavateks, mitme kasutaja ja ühe kasutajaga, mitme protsessoriga ja ühe protsessoriga.

    Samaaegselt sooritatud toimingute arvu põhjal eristatakse operatsioonisüsteeme:

    Ühe ülesandega operatsioonisüsteemid (MS-DOS, varased versioonid PS DOS);

    Multitegumtöötlus (OS/2, UNIX, Windows).

    Ühe tegumiga operatsioonisüsteemid pakuvad kasutajale virtuaalmasinat ja sisaldavad failihaldustööriistu, välisseadmeid ja vahendeid kasutajaga suhtlemiseks. Multitegumtöötlussüsteemid haldavad lisaks jagatud ressursside jaotamist ülesannete vahel. Multitegumtöötluse rakendamise võimaluste hulgas on protsessori aja jaotamiseks kaks algoritmide rühma:

    Mitte-ennetav multitegumtöötlus (NetWare, Windows 3. x ja 9. x);

    Ennetav multitegumtöötlus (Windows NT, OS/2, UNIX).

    Esimesel juhul annab aktiivne protsess pärast lõpetamist juhtimise üle OS-ile, et valida järjekorrast mõni muu protsess. Teises ei tee otsus protsessi ühelt protsessilt teisele ümber lülitada mitte aktiivne protsess, vaid OS.

    Mitme lõimega tugi tähendab võimalust täita mõned programmikäsud peaaegu samal hetkel. Mitme lõimega OS jagab protsessori aja mitte ülesannete vahel, vaid nende lahendamiseks mõeldud algoritmide eraldi harude (lõimede) vahel (multitegumtöö ühe ülesande sees).

    Samaaegsete kasutajate arvu järgi eristatakse operatsioonisüsteeme:

    Ühe kasutajaga (MS-DOS, Windows 3. x, OS/2 varased versioonid);

    Mitme kasutajaga (UNIX, Windows NT).

    Mitme kasutajaga süsteemide erinevus seisneb vahendite olemasolus kasutajateabe kaitsmiseks volitamata juurdepääsu eest.

    Mitmiktöötlus hõlmab mitme protsessori töö toetamist ja on teretulnud Solaris 2. x OS-is Sunilt, OS/2-st IBM-ilt, Windows NT-st Microsoftilt ja NetWare 4.1-st. Novell jne.

    Mitmeprotsessorilised operatsioonisüsteemid jagunevad asümmeetrilisteks ja sümmeetrilisteks. Ühel süsteemiprotsessoril töötab asümmeetriline OS, mis jaotab rakenduste ülesanded ülejäänud protsessoritele. Sümmeetriline OS on detsentraliseeritud ja kasutab kõiki protsessoreid, jagades nende vahel süsteemi- ja rakendusülesanded.

    On ilmne, et personaalarvuti OS on vähem keeruline kui suur- ja superarvutite OS. Võrgu OS-i ja kohaliku OS-i erinevus seisneb selles, et arvutite vahel sideliinide kaudu edastatakse andmeid ja rakendatakse andmeedastusprotokolle, näiteks IP, IPX jne.

    Lisaks OS-ide sihtimisele teatud tüüpi riistvaraplatvormil on mobiilsed operatsioonisüsteemid, mida on lihtne erinevat tüüpi arvutitesse kaasas kanda. Sellises OS-is (näiteks UNIX) lokaliseeritakse riistvarast sõltuvad kohad ja süsteemi ülekandmine uus platvorm saadavad sõnumeid. Riistvarast sõltumatu osa on realiseeritud C-s kõrgetasemelises programmeerimiskeeles ja kompileeritakse ümber teisele platvormile üleminekul.

    Arvuti ressursside dünaamiline ümberjagamine mitme ülesande vahel (kollektiivse kasutamise meetod) tagab kas mitme ülesande lahendamiseks kuluva koguaja vähenemise või ülesande töötlemise algusaja lühenemise. Mõlemad ühe "teenindusseadmega", näiteks protsessori või printeriga, saavutatakse ühe (iga) ülesande lahendamiseks kuluva aja suurendamisega. Ülesannete järjekord masinas määrab kollektiivse kasutusmeetodi teostusrežiimid: partiitöötlus ja ajajagamine. Partii töötlemine hõlmab mitme probleemi lahendamist ligikaudu samas režiimis, milles õpetaja töötab suulise eksami ajal - tema tähelepanu hõivab üks õpilastest. Küsitluse lõppedes lülitub tähelepanu järgmisele (oletame, et õpilaste teenindamine on probleemi lahendus).

    Aja jagamise režiimis on programmi täitmisprotsess jagatud tsükliteks. Iga tsükli sees peab ilmuma järgmine teave (kui seda pole veel lahendatud): põhiülesanne, mille jaoks see tsükkel on eraldatud. Ülejäänud probleeme saab lahendada samas tsüklis, kui nende lahendamine ei sega põhiprobleemi lahendamist. Naaberringid on eraldatud erinevate probleemide lahendamiseks, seega pikeneb oluliselt nende lahendamiseks kuluv aeg. Samal ajal ei kulu ülesande järgmise osa täitmist oodates rohkem kui N-1 tsüklit (N on N erineva ülesande lahendamiseks eraldatud erinevate tsüklite arv). Tsükli kestuse sobiva valiku korral loob kasutaja (oma inertsi tõttu) reaalajas töötamise illusiooni. Reaalajas töö on töörežiim, kus probleemi lahendamiseks kuluvale ajale on kehtestatud maksimaalsed piirangud. väliskeskkond. Juhtimissüsteemi jaoks tähendab see, et infotöötlus peab toimuma kiirusega, mis ületab tegeliku juhitava protsessi kiirust, et otsuste tegemiseks ja sobivate kontrolltoimingute kujundamiseks jääks teatud aeg.

    Reaalsetele töötingimustele on tüüpiline, et tööülesannete töötlemiseks laekumise hetked ei määra mitte teenindusseadme (arvuti, printer jne) töökiirus, vaid väljaspool seda toimuvad protsessid. Vastavalt sellele peab teenindusseade lahendama teatud ülesandeid (reageerige seadmete riketele, võrgus suhtlemise rakendus, varukoopia sunnitud loomine jne).

    Teenindusseadme piiratud kiiruse korral ei saa sissetulevaid päringuid kohe täita, vaid need pannakse järjekorda. Teenust ootavate isikute hulgast päringu valimise protsessi nimetatakse väljasaatmiseks ja saatmisreeglit teenusedistsipliiniks. Teenindusvaldkondi on palju, näiteks „saabumise järjekorras“ (FIFO – esimene sisend, esimene väljund), „vastupidises järjekorras“ (LIFO – viimane sisend, esimene väljund) jne. Ooteaja (järjekorras oldud aja) vähendamiseks , antakse üksikutele päringutele teenuse eelisõigus, mida nimetatakse prioriteediks, mida iseloomustab positiivne täisarv. Kõrgeim prioriteet on määratud OS-ile.

    Niisiis, binaarmasinaprogrammide loomisel rakenduste programmeerijad ei pruugi üldse teada paljusid arvutisüsteemi konkreetsete ressursside haldamise üksikasju, vaid peab vastavate kõnedega pääsema juurde vaid mõnele tarkvara alamsüsteemile ning saama sealt vajalikke funktsioone ja teenuseid. See tarkvara alamsüsteem on operatsioonisüsteem ning selle funktsioonide ja teenuste kogum, samuti neile juurdepääsu reeglid moodustavad põhikontseptsiooni, mida me nimetame operatsioonikeskkonnaks. Võib öelda, et termin "operatsioonikeskkond" tähendab vastavaid liideseid, mis on vajalikud programmidele ja kasutajatele juurdepääsuks operatsioonisüsteemi haldus (järelevalve) osale teatud teenuste saamiseks.

    Süsteemi funktsioone on palju; need määravad ära võimalused, mida operatsioonisüsteem pakub oma kontrolli all töötavatele rakendustele. Sellist laadi süsteemipäringud(süsteemioperatsioonide või funktsioonide väljakutsed) kirjutavad programmeerijad selgelt programmi teksti sisse või asendavad need automaatselt programmeerimissüsteemi endaga arendatava programmi lähteteksti tõlkimise etapis. Igal operatsioonisüsteemil on oma erinevad süsteemifunktsioonid; neid kutsutakse vastavalt, vastavalt süsteemis aktsepteeritud reeglitele. Süsteemikutsete komplekt ja reeglid, mille järgi neid tuleks kasutada, määratlevad täpselt rakenduse programmeerimisliidese (API). Ilmselgelt ei tööta programm, mis on loodud töötama ühes operatsioonisüsteemis, suure tõenäosusega teises operatsioonisüsteemis, kuna nende operatsioonisüsteemide API-d on erinevad. Püüdes seda piirangut ületada, hakkasid operatsioonisüsteemide arendajad looma nn tarkvarakeskkondi. Tarkvara (süsteemi) keskkonna all tuleks mõista teatud süsteemitarkvara keskkonda, mis võimaldab täita kõik rakendusprogrammi süsteemipäringud. Süsteemi tarkvarakeskkonda, mis on otseselt moodustatud operatsioonisüsteemi koodist, nimetatakse põhi-, loomulikuks või algkeskkonnaks. Operatsioonisüsteemis saab lisaks põhilisele töökeskkonnale korraldada ka täiendavaid tarkvarakeskkondi (emuleerides teist töökeskkonda). Kui operatsioonisüsteem korraldab töö erinevate operatsioonikeskkondadega, siis sellises süsteemis on võimalik käivitada mitte ainult selle, vaid ka teiste operatsioonisüsteemide jaoks loodud programme. Võime öelda, et programmid on loodud töötama teatud töökeskkonnas. Näiteks saate käivitamiseks luua programmi DOS-i keskkond. Kui selline programm täidab kõiki I/O-operatsioonide ja mälupäringutega seotud funktsioone mitte ise, vaid DOS-i süsteemifunktsioonidele ligi pääsedes, siis on see (valdav enamus juhtudel) edukas nii MS DOS-is kui ka PS-is. DOS-is ja Windows 9x-s, Windows 2000-s ja OS/2-s ja isegi Linuxis.

    Seega on terminite “operatsioonisüsteem” ja “töökeskkond” paralleelne olemasolu tingitud sellest, et operatsioonisüsteem suudab toetada mitut töökeskkonda. Peaaegu kõik kaasaegsed personaalarvutite jaoks loodud 32-bitised operatsioonisüsteemid toetavad mitut operatsioonikeskkonda. Seega suudab operatsioonisüsteem OS/2 Warp, mis omal ajal oli selles osas üks parimaid, käivitada järgmisi programme:

    Põhiprogrammid, mis on loodud, võttes arvesse selle operatsioonisüsteemi vastavat "natiivset" 32-bitist programmeerimisliidest;

    16-bitised programmid, mis on loodud esimese põlvkonna OS/2 süsteemide jaoks;

    16-bitised rakendused, mis on loodud töötama operatsioonisüsteemis MS DOS või PS DOS;

    Windows 3. x operatsioonikeskkonnale loodud 16-bitised rakendused;

    Operatsioonishell ise on Windows 3. x ja selles on juba selle jaoks loodud programmid.

    Ja Windows XP operatsioonisüsteem võimaldab teil lisaks põhirakendustele, mis on loodud Win32API abil, käivitada 16-bitised rakendused Windows 3. x jaoks, 16-bitised DOS-i rakendused, 16-bitised rakendused OS/2 esimese versiooni jaoks.

    Töökeskkond võib sisaldada mitut liidest: kasutaja ja tarkvara. Kui me räägime näiteks kasutaja omadest, siis Linuxi süsteemil on kasutaja jaoks käsurea liidesed (saate kasutada erinevaid "shelli" - shell), nagu Nortoni komandör, näiteks X-Window erinevate aknahalduritega - KDE, Gnome jne. Kui me räägime tarkvara liidesed, siis samades operatsioonisüsteemides üldnimetusega Linuxi programmid pääseb juurde nii operatsioonisüsteemile sobivate teenuste ja funktsioonide jaoks kui ka graafika alamsüsteemile (kui seda kasutatakse). Protsessori arhitektuuri (ja üldse personaalarvutite) vaatevinklist binaarprogramm, mis on loodud töötama Linuxi keskkond, kasutab samu käske ja andmevorminguid, mis Windows NT keskkonnas töötamiseks loodud programm. Kuid esimesel juhul on meil juurdepääs ühele töökeskkonnale ja teisel juhul teisele. Ja otse Windowsile kirjutatud programm ei tööta Linuxis; Kui Linux OS-is on korraldatud täisväärtuslik Windowsi operatsioonikeskkond, saab meie Windowsi programmi käivitada. Üldjuhul on operatsioonikeskkond süsteemitarkvarakeskkond, milles saab käivitada selle keskkonna tööreeglite järgi loodud programme.

    Järeldus

    Seega täidab operatsioonisüsteem arvutis arvutuste haldamise funktsioone, jaotab arvutussüsteemi ressursse erinevate arvutusprotsesside vahel ja moodustab tarkvarakeskkond, milles neid esitatakse rakendusprogrammid kasutajad. Seda keskkonda nimetatakse tegevuskeskkonnaks. Viimast tuleks mõista selles mõttes, et kui programm käivitatakse, võtab see operatsioonisüsteemiga ühendust vastavate taotlustega teatud toimingute või funktsioonide täitmiseks. Operatsioonisüsteem täidab neid funktsioone, käivitades selle osaks olevad spetsiaalsed süsteemitarkvara moodulid.

    Praegu kasutab umbes 90% personaalarvutitest Windows OS-i, millel on mitmeid eeliseid ja mis on sundinud konkurendid sellest turusegmendist välja. Laiem OS-i klass on mõeldud kasutamiseks serverites. Sellesse operatsioonisüsteemide klassi kuuluvad: Unixi perekond, Microsofti arendused, Novelli ja IBM Corporationi võrgutooted.

    Arvutiressursside hulka kuuluvad: protsessorid, mälu, kettaseadmed, võrguside, printerid ja muud seadmed. OS-i ülesanne on neid ressursse protsesside vahel ratsionaalselt jaotada, et tagada arvuti maksimaalne efektiivsus.

    Kasutatud kirjanduse loetelu

    Gordeev A.V. Operatsioonisüsteemid: õpik ülikoolidele 2. väljaanne. – Peterburi: Peeter, 2005.

    Arvutiteaduse alused: õpik. toetus / A.N. Morozevitš, N.N. Govyadinova, V.G. Levashenko ja teised; Toimetanud A.N. Morozevitš. – 2. väljaanne, rev. – Mn.: Uued teadmised, 2003.

    Evsyukov V.V. Majandusinformaatika: Proc. käsiraamat - Tula: kirjastus "Graf ja K", 2003.

    Informaatika majanduses: Proc. käsiraamat / Toim. prof. B.E. Odintsova, prof A.N. Romanova. – M.: Ülikooli õpik, 2008.