2. 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.
3. 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.
4. Operacinių sistemų funkcijos/
Įvesties ir išvesties valdymas
• Įvesties ir išvesties valdymo lygiai:
• pertraukčių užklausos;
• įrenginių valdymo komandos;
• duomenys.
5. Operacinių sistemų funkcijos/
Įvesties ir išvesties valdymas
• Tvarkyklės;
• Tvarkyklių ryšys su OS branduoliu:
• Dinamiškai prijungiamos;
• Statiškai prijungiamos.
6. 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.
7. 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.
8. 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ų.
9. 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).
11. 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.
12. 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.
13. Operacinių sistemų funkcijos/
Procesų valdymas
• Procesai būna:
• Vienalaikiai (Concurrent) procesai;
• Nepriklausomi procesai;
• Kooperuojantys procesai.
14. 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.
15. 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į.
16. 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.
17. Operacinių sistemų funkcijos/
Procesų valdymas
• Proceso deskriptorių sudaro:
• proceso identifikatorius,;
• proceso būsena;
• duomenys apie proceso privilegijas;
• kodo segmento vieta.
18. Operacinių sistemų funkcijos/
Procesų valdymas
• Gijos;
• Gijos turi savo:
• programos skaitiklį;
• steką;
• registrus;
• gijas-palikuonis;
• būseną.
19. Operacinių sistemų funkcijos/
Procesų valdymas
• Gijos bendrai naudoja:
• adresų erdvę;
• globaliuosius kintamuosius;
• atidarytus failus;
• taimerius;
• semaforus;
• statistinę informaciją.
20. 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į.
23. 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.
24. 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ė.
25. 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ų.
26. Operacinių sistemų funkcijos/
Procesų valdymas/Klaidos
• Aklavietės panaikinimo būdai:
• Pirmumo teisės naudojimas;
• Paskutinio veiksmo atšaukimas;
• Procesų stabdymas.