Operacinės sistemosDonatas Bukelis
Operacinių sistemų funkcijos
• Vartotojui skirtos funkcijos: • įvesties ir išvesties valdymas;• failų sistemos tvarkymas;• programų valdymas;
• Sisteminės funkcijos: • atminties valdymas;• atminties apsauga;• resursų tvarkymas;• apskaita.
Operacinių sistemų funkcijos/Įvesties ir išvesties valdymas• Pagrindinis principas:
• Programa nepriklauso nuo to, kur laikomi duomenys;• Unifikuota išorinių įtaisų vardų sistema, kiekviena operacinė
sistema naudoja savo vardų sistemą, nurodančią įrenginio adresą ar kietojo disko numeravimą;
• Klaidų apdorojimas - pradžioje apatiniame lygyje, jei ten nepavyksta - aukštesniame.
• Dauguma įvesties ir išvesties operacijų - asinchroninės (procesorius pereina prie kitos užduoties; apie operacijos pabaigą jis informuojamas pertraukties signalu).
• Tam skirtos programos suskirstytos į kelis lygius. Žemiausieji lygiai “ekranuoja” aparatūros ypatumus, o aukštesnieji užtikrina patogią sąsają vartotojui.
Operacinių sistemų funkcijos/Įvesties ir išvesties valdymas• Įvesties ir išvesties valdymo lygiai:
• pertraukčių užklausos;• įrenginių valdymo komandos;• duomenys.
Operacinių sistemų funkcijos/Įvesties ir išvesties valdymas• Tvarkyklės;• Tvarkyklių ryšys su OS branduoliu:
• Dinamiškai prijungiamos;• Statiškai prijungiamos.
Operacinių sistemų funkcijos/Įvesties ir išvesties valdymas• Dinamiškai prijungiamos tvarkyklės;
Privalumai: • sistemos naudojimas paprastesnis (vartotojui)• tik tuo momentu reikalingos tvarkyklės kraunamos į atmintį.Trūkumas:• įrenginiai šiek tiek lėčiau veikia.
Operacinių sistemų funkcijos/Įvesties ir išvesties valdymas• Statiškai prijungiamos tvarkyklės;
Privalumas sistema yra efektyvesnė ir pasižymi paprastesne struktūra (programuotojui).
Trūkumas naujo įtaiso pajungimas paprastai reikalauja branduolio regeneracijos.
Operacinių sistemų funkcijos/Įvesties ir išvesties valdymas• Virtualūs įrenginiai (spool);• Buferiai:
• Programos palaikomas buferis;• Operacinės sistemos palaikomas buferis;• Operacinės sistemos palaikomas dvigubas buferis;• Įvestis nenaudojant buferių.
Operacinių sistemų funkcijos/Procesų valdymas• Proceso sandara:
• vykdomasis programos kodas (dar vadinamas teksto arba programos sekcija);
• duomenys - kintamieji, buferiai ir t.t. (vartotojo duomenų sekcija);
• būsenos ar konteksto informacija - duomenys, reikalingi procesui restartuoti (neprarandant informacijos).
Operacinių sistemų funkcijos/Procesų valdymas• Proceso būsenos:
Operacinių sistemų funkcijos/Procesų valdymas• Procesų planavimas:
• Procesų planavimo žingsniai: • vykdomo proceso pakeitimo kitu momento nustatymas;• proceso parinkimas vykdymui;• kontekstų perjungimas.
1 ir 2 žingsniai realizuojami programiškai, 3 - pagrindinėmis aparatūros priemonėmis.
Operacinių sistemų funkcijos/Procesų valdymas• Vienas aktyvus procesas pakeičiamas kitu,
kai:• procesas sėkmingai baigiamas ir palieka sistemą;• įvyksta klaida;• procesas pereina į laukimo būseną;• pasibaigia jam skirtas laiko kvantas.
Operacinių sistemų funkcijos/Procesų valdymas• Procesai būna:
• Vienalaikiai (Concurrent) procesai;• Nepriklausomi procesai;• Kooperuojantys procesai.
Operacinių sistemų funkcijos/Procesų valdymas• Procesų sinchronizavimas (sąveika):
• vienas procesas turi perduoti duomenis kitam procesui;• keli procesai apdoroja duomenis, esančius tame pačiame
faile.
Operacinių sistemų funkcijos/Procesų valdymas• Proceso sukūrimas:
• sukurti informacines struktūras, aprašančias procesą, t.y. jo deskriptorių ir kontekstą;
• įtraukti naujo proceso deskriptorių į paruoštų procesų eilę;• užkrauti proceso kodo segmentą į operatyviąją atmintį arba
mainų su išorine atmintimi (svapingo) sritį.
Operacinių sistemų funkcijos/Procesų valdymas• Proceso kontekstą sudaro:
• registrų ir programos skaitiklio būsena;• procesoriaus darbo režimo būsena;• atidarytų failų rodiklių būsenos;• informacija apie neužbaigtas įvedimo-išvedimo operacijas;• šio proceso vykdomų sisteminių užklausų klaidų kodai ir t.t.
Operacinių sistemų funkcijos/Procesų valdymas• Proceso deskriptorių sudaro:
• proceso identifikatorius,;• proceso būsena;• duomenys apie proceso privilegijas;• kodo segmento vieta.
Operacinių sistemų funkcijos/Procesų valdymas• Gijos;• Gijos turi savo:
• programos skaitiklį;• steką;• registrus;• gijas-palikuonis;
• būseną.
Operacinių sistemų funkcijos/Procesų valdymas• Gijos bendrai naudoja:
• adresų erdvę;• globaliuosius kintamuosius;• atidarytus failus;• taimerius;• semaforus;• statistinę informaciją.
Operacinių sistemų funkcijos/Procesų valdymas• Kuo gijos skiriasi nuo procesų:
• visos tokios gijos turi tą pačią adresų erdvę;• nėra reikalo apsaugoti vieną giją nuo kitos;• tokios gijos sprendžia tą pačią vartotojo užduotį.
Operacinių sistemų funkcijos/Procesų valdymas/Klaidos• Kritinė sekcija;• Pertrauktys;• Aklavietės.
Operacinių sistemų funkcijos/Procesų valdymas/Klaidos• Pertraukčių susidarymo priežastys:
• Vidinės;• Išorinės.
Operacinių sistemų funkcijos/Procesų valdymas/Klaidos• Pertraukties apdorojimo procedūros:
• Pertraukties signalo priėmimas;• Būsenos įsiminimas;• Pertrauktį apdorojančios programos vykdymas;• Būsenos atstatymas.
Operacinių sistemų funkcijos/Procesų valdymas/Klaidos• Sąlygos aklavietei susidaryti:
• Abipusio išskyrimo sąlyga. Bet kuris resursas yra arba laisvas arba naudojamas tik vieno proceso;
• Valdymo ir laukimo sąlyga. Procesas, jau naudojantis tam tikrus resursus gali prašyti naujų resursų;
• Pirmumo teisės sąlyga. Resursai skirti tam tikram procesui, negali būti iš jo atimti. Juos turi atlaisvinti pats procesas;
• Ciklinio laukimo sąlyga. Tarp procesų turi susidaryti ciklinė grandinė.
Operacinių sistemų funkcijos/Procesų valdymas/Klaidos• Aklavietės problemos sprendimo būdai:
• “Stručio algoritmas” (ignoravimas);• Sekimas - aklavietė “pašalinama” tik po to, kai ji jau įvyko;• Profilaktika (prevencija)- taikoma tokia resursų skirstymo
strategija, kad aklavietė negalėtų įvykti;• Vengimas - draudžiamas toks resursų skirstymas, kuris veda
į aklavietės būseną;• Sekimas - procesas naudoja tik vieną resursą (Procesų-
resursų diagramos), procesas naudoja keletą resursų.
Operacinių sistemų funkcijos/Procesų valdymas/Klaidos• Aklavietės panaikinimo būdai:
• Pirmumo teisės naudojimas;• Paskutinio veiksmo atšaukimas;• Procesų stabdymas.
Operacinių sistemų funkcijos/Procesų valdymas/Klaidos• Saugios ir nesaugios situacijos.
Recommended