Operacinių sistemų pagrindai
3 (60%) 2 votes

Operacinių sistemų pagrindai

1. Įvadas

Kompiuteris – elektroninis įrenginys. Jo principines galimybes, sugebėjimą apdoroti duomenis nulemia jį sudarantys įrenginiai. Tačiau vieni nevaldomi įrenginiai tik – “negyvi” įtaisai. Įrenginių ir įvairių informacinių procesų darbą kompiuteriuose organizuoja ir valdo tam tikros programinės priemonės. Dauguma tų programų sudaro vieningą visumą, kuri vadinama operacine sistema (OS). Tai svarbiausia programinės įrangos dalis. Operacinė sistema palaiko ryšį su išorine aplinka, valdo procesus kompiuterio viduje, valdo atmintinę, tvarko kompiuterio saugomus duomenis ir t.t..

Operacinė sistema – tai svarbi kompiuterio įrangos sudėtinė dalis

OS apibrėžimas priklauso visų pirma nuo to, kokiu požiūriu ji nagrinėjama:

• Vartotojo požiūriu OS gali būti apibrėžiama kaip virtualus kompiuteris, paslepiantis nuo vartotojo techninės kompiuterio įrangos detales, ir vietoj jų pateikiantis vartotojui patogesnes abstrakcijas ir priemones. Disko atveju tokios abstrakcijos pavyzdys yra failas. Vartotojui dirbti su failais yra žymiai patogiau, negu kiekvienai skaitymo – rašymo operacijai nurodyti daug techninės įrangos detalių – absoliutų disko adresą, sektorių skaičių, takelį ir t.t.

• Kompiuterio techninės įrangos požiūriu OS gali būti apibrėžiama kaip resursų valdytoja. Ji organizuoja bendrą visų kompiuterio techninės įrangos komponenčių (mikroprocesoriaus, atminties, diskinių įrenginių, terminalų, spausdintuvų, tinklo interfeiso plokščių ir kt.) darbą. Jei kelios programos varžosi dėl bendro naudojimo resursų (spausdintuvas, atmintis), OS uždavinys yra tvarkingai juos paskirstyti. Dėl resursų gali varžytis ne tik kelios programos, bet ir keletas vartotojų.

OS negalima vertinti kaip kažkokio išorinio reguliatoriaus. Tai tokia pat programa, kaip ir kitos, tik skirta visos kompiuterinės sistemos valdymui ir todėl turinti dideles teises.

Operacinė sistema – tai programų kompleksas, kuris organizuoja ir koordinuoja informacijos apdorojimo procesą kompiuteryje ir suteikia vartotojui paprasčiausias paslaugas. Arba kitaip: operacinė sistema – specialiųjų programų ir duomenų rinkinys, sukurtas kompiuterinės sitemos ištekliams valdyti, kompiuterio programų kūrimui palengvinti ir šių programų vykdymui valdyti.

Pagrindinės OS funkcijos yra šios:

 ryšio su išorine aplinka (įvedimo- išvedimo procesų) valdymas;

 procesų kompiuterio viduje valdymas;

 atmintinės valdymas;

 kompiuterio saugomų duomenų tvarkymas.

2.1. Operacinių sistemų vystymosi raida

OS evoliucijos varomosios jėgos buvo techninis progresas ir vartotojų lūkesčiai. Evoliucijos proceso apžvalga padeda įvertinti svarbiausias šiuolaikinės OS savybes.

Pagrindiniai veiksniai skatinę operacinių sistemų evoliuciją :

1. Programos užkrovimas (loading) ir autoužkrovimas (bootstraping). Pirmuosiuose kompiuteriuose buvo mažai galvojama apie vartotoją – jungikliai ir lemputės buvo šių kompiuterių įvedimo – išvedimo (I/O) įrenginiai. Programa buvo įvedama, jungikliais nurodant atminties adresą, o po to ir komandinį žodį. Taip kartojant, būdavo įvedama visa programa. Tada programos skaitliukas nustatomas ties pirmąja programos komanda ir spaudžiamas “Pradžios” mygtukas.

Siekiant palengvinti darbą su kompiuteriu, visų pirma, buvo sprendžiama programos užkrovimo (loading) problema. Buvo nuspręsta programą paruošti iš anksto ir specialiu įvedimo įrenginiu (perfojuostų ar perfokortų nuskaitymo) įvesti į kompiuterio atmintį. Tačiau perforuotų kortelių arba juostų nuskaitymui reikalinga speciali programa – užkrovėjas (loader), kurią taip pat reikia užkrauti į atmintį. Kaip užkrauti užkrovėją? Sprendžiant šį uždavinį, buvo sukurtas prietaisas, kompiuterio įjungimo metu automatiškai nuskaitantis mažą užkrovimo programą (pvz. vienos perfokortos apimties), kuri vėliau nuskaito didesnę užkrovimo programą. Programinių užkrovėjų įdiegimas ir buvo pirmasis žingsnis link šiuolaikinių operacinių sistemų.

2. Perfokortų era. Perfokortos buvo pradėtos naudoti dar XIX a. pab. elektromechaniniuose skaičiavimo įtaisuose. Tačiau jų era iš tiesų prasidėjo apie 1950–sius ir tęsėsi iki pat 1980–ųjų. Šiuo laikotarpiu atsirado ir “užduoties” (job) sąvoka. Užduotimi buvo vadinama programą ir duomenis aprašančių perfokortų paketas. Toks principas buvo ypač patogus programų paketo įvedimui. Perfokortos taipogi buvo panaudojamos ir rezultatų išvedimui.

3. Terminalai ir spausdintuvai. Kitas svarbus žingsnis į priekį buvo terminalo panaudojimas. Terminalu suprantamas įvedimo ir išvedimo įrenginių rinkinys. Įvedimui buvo panaudota klaviatūra, o rezultatai buvo išvedami į displėjaus ekraną arba spausdintuvą. Ilgainiui klaviatūra + displėjus gavo pavadinimą “valdymo pultas” (control console) ir tapo pagrindiniu vartotojo sąsajos įrenginiu ateities operacinėse sistemose.

4. Procesoriaus išnaudojimo efektyvumas. 1950-siais kompiuteriai ir jų darbo laikas buvo labai brangūs, todėl labai svarbūs buvo procesoriaus išnaudojimo efektyvumo padidinimo uždaviniai, tokie kaip:

• užduočių užkrovimo laiko minimizavimas;

• procesoriaus prastovų minimizavimas tuo metu, kai atliekamos lėtos
įvedimo-išvedimo operacijos.

5. I/O valdymo sistema (input – output control system – IOCS). Buvo pastebėta, kad kiekvienoje naujoje programoje didelę dalį užima tokie patys veiksmai, pvz. įvedimo- išvedimo veiksmai. Tai paskatino sukurti standartinių programinių priemonių rinkinį, kurį galima būtų įkrauti į atmintį kompiuterio darbo pradžioje ir sudaryti galimybę prie jo prieiti visoms programoms. Tokiu principu pagrįstas įvedimo–išvedimo valdymo sistemų (IOCS) veikimas.

6. Nauji periferiniai įrenginiai. Pradėta naudoti magnetinio įrašymo technologija – magnetinės juostos ir vėliau magnetiniai diskai. Ši naujovė turėjo įtakos IOCS sudėtingumui. Dabartiniu metu plačiai naudojami optiniai diskai.

7. Nauja programinė įranga. Pirmosios programos buvo rašomos mašininiu kodu. Tobulėjant kompiuteriams ir plečiantis jų pritaikymo sričiai, reikėjo rašyti vis sudėtingesnes programas ir padaryti šį procesą kuo spartesnį. Taip atsirado Asemblerio programavimo kalba.

Po Asemblerio sekė kitų programavimo kalbų ir kompiliatorių sukūrimas – FORTRAN, Algol ir t.t.. Asemblerių ir kompiliatorių įdiegimas turėjo įtakos užduoties (job) struktūros sudėtingumui. Dabar, pvz., užduotis turėjo susidėti iš tokių veiksmų sekos:

1. Užkrauti asemblerį,

2. Nuskaityti programą, parašytą asemblerio kalba,

3. Sukompiliuoti programą atmintyje,

4. Vykdyti programą,

5. Perduoti programai duomenis iš duomenų perfokortų.

Tai buvo gana sudėtinga procedūra, vertusi ateityje ieškoti lengvesnių priemonių.

8. Naujos idėjos. Apie 1960-uosius bendromis Mančesterio Universiteto ir Ferranti kompanijos pastangomis buvo sukurtas kompiuteris Atlas, kuriame buvo panaudotos tokios naujos idėjos, kaip pertraukimų mechanizmas ir virtualios atminties sistema. Šis kompiuteris jau buvo kuriamas, galvojant apie OS darbo efektyvumą.

1964 m. IBM kompanija išleido System 360 kompiuterių seriją, kuri vėliau išsivystė į seriją System 370. Šoise serijose pirmą kartą panaudotas suderinamumo principas, t.y. tos pačios programinės priemonės palaikomos įvairiuose kompiuteriuose, nes šie kompiuteriai naudoja tą pačią architektūrą ir komandų rinkinį.

Pagrindiniai veiksniai, sukuriant ir tobulinant pirmąsias OS, buvo:

• būtinumas sumažinti užduoties užkrovimo laiką (set-up time, job loading time);

• poreikis efektyviau išnaudoti procesoriaus darbą, vykstant lėtam I/O procesui;

• standartinių IOCS funkcijų sukūrimas;

• magnetinių juostų ir diskų panaudojimas;

• naujos sisteminės programinės įrangos sukūrimas;

• naujos techninės įrangos įdiegimas (pvz. pertraukimai).

Kaip šie impulsai veikė OS vystymosi raidą?

9. Nuoseklus paketinis užduočių apdorojimas (single stream batch processing). Siekiant sumažinti prastovas dėl naujų užduočių užkrovimo (set-up), programa-užkrovėjas buvo sukurtas tam, kad automatiškai iš perfokortų (arba perfojuostų) nuskaitymo įrenginio užkrauti nuoseklų užduočių srautą į kompiuterio atmintį, kur jos po to būtų viena po kitos nuosekliai vykdomos.

Tokia ankstyva OS forma buvo vadinama “supervizoriumi’ arba “monitoriumi”. Nors ir paprastos savo sudėtimi, tačiau tai buvo vienos pirmųjų operacinių sistemų.

Tam, kad atskirti užduotis sraute ir aiškiau apibrėžti, ką viena ar kita užduotis turi įvykdyti, perfokortų kaladėje buvo naudojamos spec. valdymo kortos (dažniausiai prasidedančios ženklais //). Šios kortos ir buvo pirma ryšio priemonė tarp vartotojo ir kompiuterio.

Vėliau valdymo perfokortos tapo sudėtingesnės ir jų sistema buvo pavadinta Užduočių valdymo kalba (Job Control Language – JCL).

10. Multiprogramavimas (multiprogramming). Tolimesnis žingsnis, vystant OS, buvo multiprogramavimo įdiegimas, t.y. įgyvendinta galimybė kelioms programoms vykti vienu metu, procesoriui “persijunginėjant” nuo vienos programos prie kitos.Tokiu būdu tapo įmanoma išnaudoti procesoriaus laiką kitai programai, kai einamoji programa vykdydavo I/O funkcijas.

Paketinė multiprograminė sistema dirbdavo taip: į atmintį buvo pakraunamas užduočių paketas. Kol viena iš užduočių vykdydavo I/O, procesorius pradėdavo vykdyti kitą, parinkdamas ją pagal užduotą prioriteto numerį.

Vėliau multiprogramavimas buvo panaudotas ir terminaliniame (on-line) darbo režime, t.y. vartotojui dirbant prie terminalo ir tiesiogiai bendraujant su kompiuteriu. Šiuo atveju yra užtikrinamas keleto vartotojų darbas prie terminalų vienu metu, ir toks darbo principas yra vadinamas “laiko paskirstymu”.

Žinoma, buvo naudojamas ir mišrus (terminalinis + paketinis) multiprograminis darbas.

11. Spooling (Simultaneous Peripheral Operations On-line) – tai I/O duomenų kaupimas, prieš perduodant juos kitai užduočiai.

12. Svarbus patobulinimas buvo I/O duomenų tarp užduočių perdavimas per diską. Toks veiksmas leido žymiai pagreitinti tokias operacijas.

Spooling buvo vienas iš ankstyviausių muliprogramavimo pritaikymų. Šiuo atveju, nuskaitymo, taikomoji ir spausdinimo programos galėjo dirbti vienu metu.

13. Realaus laiko sistemos. Plečiantis kompiuterių taikymo sferai, atsirado speciali taikomųjų uždavinių klasė – realaus laiko
sistemos. Tai sistemos, kurios turi pakankamai greitai reaguoti, norėdamos paveikti aplinką. Tokių sistemų pavyzdžiu gali būti įvairios valdymo, dispečerinės sistemos, o taip pat informacinės sistemos, pateikiančios operatyvią informaciją, pvz. apie laisvas vietas lėktuvuose ar traukiniuose.

Operacinės sistemos turi turėti priemones, užtikrinančias greitą tokių sistemų atsaką. Saugumo ir patikimumo aspektai taip pat labai svarbūs tokiose sistemose.

2.2. Operacinių sistemų sudarymo principaiDauguma OS turi daugelio lygių hierarchinę struktūrą (žiūrėti 1_pav). Kiekvienas šios struktūros lygis valdo jam pavaldžius žemesnius ir formuoja ryšiams su aukštesniais lygiais skirtas priemones (interfeisus).

Žemiausiame OS struktūros lygyje yra fizinių kompiuterio įrenginių valdymo primityvai, kurie leidžia likusias OS dalis padaryti nepriklausomas nuo įrenginių techninio realizavimo būdo. Ši OS dalis dažnai vadinama OS branduoliu. Branduolys – tai speciali programa, kuri nuolat būna kompiuterio opertyviojoje atmintyje ir visą laiką vykdoma. Ji aptarnauja visas lenteles, kurios naudojamos kompiuterio procesų ir resursų valdymui.

Loginių primityvų lygyje nurodymai yra duodami ne realiems kompiuterio įrenginiams, o juos valdančioms OS struktūroms, kurios vadinamos loginiais įrenginiais.

Vartotojams skirtas priemones ir OS interfeisą formuoja OS interpretatorius (komandų procesorius).

Išorinio interfeiso pobūdis priklauso nuo OS paskirties ir techninių kompiuterio galimybių.

Kompiuteris ir jo OS yra universalūs įrankiai, kuriuos dar reikia specializuoti. Tai atlieka taikomosios programos.

Aprašyta hierarchinė valdymo struktūra realiose OS retai kada tiksliai išlaikoma. Jose atskiri struktūriniai elementai dažniausiai jungia iš karto kelių valdymo lygių funkcijas.

Detaliau įvairios operacinių sistemų struktūros aprašytos 5_doc.

2.3. Operacinių sistemų tipaiOperacinės sistemos gali būti klasifikuojamos pagal įvairius kriterijus, nors dažniausiai konkreti OS gali turėti kelių tipų savybes. Taigi OS gali būti skirstomos pagal tokias savybes:•

• vienu metu atliekamų užduočių skaičių – vienprogramės (mono) ir daugiaprogramės (multi);

• vienu metu valdomų centrinių procesorių skaičių – vienprocesorinės ir multiprocesorinės;

• dialogą su vartotoju – interaktyviosios ir neinteraktyviosios;

• vartotojo sąveiką su OS atliekant jo užduotį – paketinės, realaus laiko ir paskirstyto laiko.

Vienprogramės sistemos. Pirmosios operacinės sistemos buvo skirtos vienam vartotojui, nes galėjo priimti komandas tik iš vieno terminalo. Vienprogrames OS šiuo metu dažniausiai turi asmeniniai, o šiuolaikinės didelės kompiuterinės sistemos projektuojamos taip, kad vienu metu galėtų atlikti daug užduočių.v

Šiuo metu Jūs matote 30% šio straipsnio.
Matomi 1823 žodžiai iš 6070 žodžių.
Peržiūrėkite iki 100 straipsnių per 24 val. Pasirinkite apmokėjimo būdą:
El. bankininkyste - 1,45 Eur.
Įveskite savo el. paštą (juo išsiųsime atrakinimo kodą) ir spauskite Tęsti.
SMS žinute - 2,90 Eur.
Siųskite sms numeriu 1337 su tekstu INFO MEDIA ir įveskite gautą atrakinimo kodą.
Turite atrakinimo kodą?
Po mokėjimo iškart gausite atrakinimo kodą, kurį įveskite į laukelį žemiau:
Kodas suteikia galimybę atrakinti iki 100 straispnių svetainėje ir galioja 24 val.