Konspektai

Operacinių sistemų teorija

10   (1 atsiliepimai)
Operacinių sistemų teorija 1 puslapis
Operacinių sistemų teorija 2 puslapis
Operacinių sistemų teorija 3 puslapis
Operacinių sistemų teorija 4 puslapis
Operacinių sistemų teorija 5 puslapis
Operacinių sistemų teorija 6 puslapis
Operacinių sistemų teorija 7 puslapis
Operacinių sistemų teorija 8 puslapis
Operacinių sistemų teorija 9 puslapis
Operacinių sistemų teorija 10 puslapis
Operacinių sistemų teorija 11 puslapis
Operacinių sistemų teorija 12 puslapis
Operacinių sistemų teorija 13 puslapis
Operacinių sistemų teorija 14 puslapis
Operacinių sistemų teorija 15 puslapis
Operacinių sistemų teorija 16 puslapis
Operacinių sistemų teorija 17 puslapis
Operacinių sistemų teorija 18 puslapis
Operacinių sistemų teorija 19 puslapis
Operacinių sistemų teorija 20 puslapis
www.nemoku.lt
www.nemoku.lt
Aukščiau pateiktos peržiūros nuotraukos yra sumažintos kokybės. Norėdami matyti visą darbą, spustelkite peržiūrėti darbą.
Ištrauka

1. Operacinės sistemos sąvoka. OS – tai organizuota programų visuma, kuri veikia kaip interfeisas tarp kompiuterio ir vartotojo. OS sudaro tai kas vykdoma supervizoriaus rėžime. Ji aprūpina vartotojus priemonių rinkiniu, projektavimo ir programavimo palengvinimui, programų saugojimui ir vykdymui, ir tuo pat metu valdo resursų pasiskirstymą, kad būtų užtikrintas efektyvus darbas. OS – tai programa kuri modeliuoja kelių virtualių mašinų darbą, vienoje realioje mašinoje(projektuoja VM į RM). OS branduolyje yra priemonės, kurių pagalba realizuojamas sinchronizuotas procesorių, OA ir periferinių įrenginių darbas. OS turi tenkinti tokius reikalavimus: 1) patikimumas – sistema turėtų būti mažų mažiausiai tokia patikima, kaip aparatūra. Klaidos atveju, programiniame arba aparatūriniame lygmenyje, sistema turi rasti klaidą ir pabandyti ją ištaisyti arba minimizuoti nuostolius. 2) apsauga – apsaugoti vartotoją kitų vartotojų atžvilgiu. 2. OS kategorijos. Yra trys grynosios OS kategorijos. Skirstymas į jas remiasi šiais kriterijais: 1.užduoties autoriaus sąveika su jo užduotimi pastorosios vykdymo metu; 2.sistemos reakcijos laikas į užklausą užduočiai vykdyti. Kategorijos: 1. Paketinio apdorojimo OS. tai sistema, kurioje užduotys pateikamos apdirbimui paketų pavidale įvedimo įrenginiuose. Užduotis autorius neturi ryšio su užduotimi jos vykdymo metu. Sistemos reakcijos laikas matuojamas valandomis. Tokios OS yra efektyviausios mašinos resursų naudojimo prasme, bet labai neefektyvios žmogaus resursų atžvilgiu. 2.Laiko skirstymo OS. Užtikrina užduotis autoriui pastovų ryšį su užduotimi. Ji leidžia vienu metu aptarnauti keletą vartotojų. Kiekvienam vartotojo procesui „kompiuteris“ suteikiamas nedideliam laiko kvantui, kuris matuojamas milisekundemis. Jei procesas neužsibaigė tol, kol baigėsi jo kvantas, tai jis pertraukiamas ir pastatomas į laukiančiųjų eilę, užleidžiant „kompiuterį“ kitam procesui. 3.Realaus laiko OS. Jos paskirtis – valdyti greitaeigius procesorius (pvz: skrydžio valdymas). Sistema turi pastovų ryšį su užduotimi užduoties vykdymo metu. Jos reikalauja papildomų resursų(prioritetinių). Čia labai griežti reikalavimai procesų trukmei. Būtina spėti sureaguoti į visus pakitimus, kad nei vieno proceso nei vienas signalas nebūtų praleistas. Reakcijos laikas matuojamas mikrosekundėmis. Visos šios sistemos pasižymi multiprogramavimu – galimybė vienu metu vykdyti kelias užduotis. 3. Multiprogramavimo sąvoka. Multiprogramavimas atsirado kaip idėja, kuri turėjo reaguoti į skirtingus procesoriaus bei periferijos greičius. Multiprograminė operacinė sistema(MOS) – viena operacinių sistemų rūšių. Šio tipo operacinė sistema užtikrina kelių užduočių lygiagretų vykdymą, t.y. leidžia operatyvioje atmintyje būti kelioms vartotojo programoms, skirstydama procesoriaus laiką, atminties vietą ir kitus resursus aktyvioms vartotojo užduotims. Multiprograminės operacinės sistemos privalumai yra akivaizdūs. Vartotojui vienu metu paprastai neužtenka vienos aktyvios programos. Tai ypač akivaizdu,kai programa vykdo ilgus skaičiavimus ir tik kartais prašo įvesti duomenis. Tuo metu vartotojas yra priverstas stebėti užduoties vykdymą ir tampa pasyviu. Tam, kad galima būtų realizuoti MOS, kompiuterio architektūrai keliami tam tikri reikalavimai: 1.turi būti pertraukimų mechanizmas(jei jo nebūtų, liktų interpretavimo mechanizmas). 2.turi būti privilegijuotas režimas, t.y. esant privilegijuotam režimui uždrausti privilegijuotų komandų vykdyma – reikalavimas MOS realizacijai. Priešingu atvėju būtų labai ilgas darbas. MOS turi pasižymėti ta savybe, kad vienu metu dirbantys procesai neturi įtakoti vieni kitų(ar tai sisteminiai, ar vartotojo) 3. atminties apsauga. Papildoma savybė – relokacija – tai programos patalpinimas į bet kokią atminties vietą, t.y. programos vykdymas gali būti pratęstas ją patalpinus į kitą atminties vietą. Tai efektyvumo klausimas. MOS yra populiariausias šio laikmečio operacinių sistemų tipas. MOS – kai vienam vartotojui suteikiama galimybė vienu metu daryti kelis darbus. 4. Virtualios mašinos sąvoka. Reali mašina - tai kompiuteris. Užduotis susideda iš programos, startinių duomenų ir vykdymo parametrų. Rašyti programą realiai mašinai būtų sudėtinga ir nepatogu. Todėl vienas iš operacinės sistemos tikslų yra paslėpti realią mašiną ir pateikti mums virtualią. Užduoties programą vykdo ne reali, o virtuali mašina. Virtuali mašina – tai tarsi virtuali realios mašinos kopija. Virtuali reiškia netikra. Mes tarsi surenkame reikalingas realios mašinos komponentes, tokias kaip procesorius, atmintis, įvedimo/išvedimo įrenginiai, suteikiame jiems paprastesnę nei reali vartotojo sąsają ir visa tai pavadiname virtualia mašina. Vienas iš virtualios mašinos (VM) privalumų yra programų rašymo palengvinimas, todėl realios mašinos komponentės, turinčios sudėtingą arba nepatogią vartotojo sąsają, virtualioje mašinoje yra supaprastintos. Virtuali mašina dirba su operacinės sistemos pateiktais virtualiais resursais, kurie daugelį savybių perima iš savo realių analogų ir pateikia kur kas paprastesnę vartotojo sąsają. Tai lengvina programavimą. Kiekviena užduotis turi savo virtualią mašiną, kurios, iš tikrųjų, ir konkuruoja dėl realaus procesoriaus. Vienas esminių virtualios mašinos privalumų yra tas, kad užduotis, kurią vykdo virtuali mašina, elgiasi lyg būtų vienintelė užduotis visoje mašinoje. Tai yra didelė parama programuotojui. Dabar jam tenka rūpintis tik pačios programos rašymu. Pav. Virtualios mašinos pateikimas užduotims multiprograminės operacinės sistemos atveju. VM specifikacija. Tarkime, yra 100 žodžių atmintis (0-99). Kiekvienas žodis yra 4 baitų □□□□. Žodžiai adresuojami nuo 0 iki 99. Tegul atmintis yra suskirstyta blokais po 10 žodžių. Procesorius turi 3 registrus: a) R – bendrasis registras □□□□ – 4 baitai; b) C – loginis trigeris, priima reikšmes true (T) arba false (F), kad būtų atliktas sąlyginis valdymo perdavimas □ – 1 baitas; c) IC – komandų skaitliukas □□ – 2 baitai. Atminties žodis interpretuojamas kaip komanda arba duomenys. Operacijos kodas užima 2 vyresniuosius baitus, o adresas – 2 jaunesniuosius. - komandos struktūra. VM turi nuoseklaus įvedimo bei išvedimo įrenginius. Įvesties/išvesties įrenginiai valdomi procesoriaus. Virtualios mašinos procesoriaus komandos su paaiškinimais: AD – sudėties komanda – x1x2, R:=R+[a], a - adresas, a:=10* x1 + x2, x1,x2 є {0,..,9}; ADx1x2; LR – registro pakrovimas iš atminties - x1,x2 => R: = [a]; LRx1x2; SR – įsimenama registro reikšmė - x1,x2 => a: = R; SRx1x2; CR – palyginimo komanda - x1,x2 => if R = [a] then C: = ‘T‘ else C: = ‘F‘; BT – sąlyginis valdymo perdavimas - x1,x2 => if C: = ‘T‘ then IC: =a; BTx1x2; GD – apsikeitimas su išore vyksta blokais (x1 – bloko nr) - x1,x2 => Read([β+i], i = 0,..,9), β= 10* x1; GDx1x2; PD – išvedami duomenys - x1,x2 => Print([β+i], i = 0,..,9); PDx1x2; H – sustojimo komanda => HALT. VM pradeda darbą, kai registro IC reikšmė yra 00 (įvykdo komandą, kuri patalpinta nuliniame žodyje). 5. Lygiagretūs procesai. Notacija „AND“. 6. Lygiagretūs procesai, notacija “FORK, JOIN, QUIT“.Nuoseklus procesai veikia vienu metu – lygiagrečiai. Procesai neturi jokių tarpusavio sąryšių. Proceso aplinka sudaro resursai, kurios procesas naudoja, ir kurios sukuria. Prasminis ryšys tarp procesų išriaškiamas perproceso resursus. OS gali būti apibudinta kaip procesų rinkinys, kur procesai: 1. veikia beveik nepriklausomai(lygiagrečiai) 2. bendrauja per pranešimus ir signatus(resursus) 3. konkuruoja dėl resursų. Skačiavimas sistemose minimas aparaturinis ir loginis lygiagretumas(parelelizmas). Aparaturinis lygiagretumas – reiškia lygiagretų, vienalakį aparatūros darbą(pvz. Išorinių įrenginių kontrolė, kur kiekvieną iš jų kontroliuoja kitas procesas). Loginiame lygiagretume nesvarbu lygiagretumas. Apie jį kalbama tada, kaiteoriškai darbas gali būti vykdomas lygiagrečiai. Aparapurinis paralelizmas įvedamas efektyvumo sumetimais, kad greičciau vyktų darbas. Procesoriuje nesant aparatūriniam paralelizmui visvien svarbu vienintelį proc.darbo laiką skirstyti keliems procesams. Todėl įvedama lygegrečiai vykdomo proceso abstrakcija. Neformaliai procesas – tai darbas, kurį atlieka procesorius, vykdamas darbą su duomenimis. Loginis paralelizmas pasižimi tuo, kad kiekvienas procesas turi savo procesorių ir savo programą. Realiai, skirtingi procesai gali turėti tą patį procesorių ar tą pačią programą. Procesas yra pora(procesorius, programa). Procesas – tai būsenų seka s0,s1,...,sn, kur kiekviena būsena saugo visų proceso programos kintamųjų reikšmes. Pagal proceso būsena galima pratęsti proceso darbą. Proceso būsena turi turėti sekančios vykdomos programos adresą. Proceso būsena gali būti pakeista paties proceso darbo rezultate arba kitų procesų darbo rezultate. Valdymo ir informacinis ryšys tarp procesų realizuojamas per bendrus kintamuosius. Nagrinėjant tik pačius procesus, gaunami nou procesoriaus nepriklausomi sprendimai. s1,s2 – sakinai s1,s2 – procesai vyksta nuosekliai s1 and s2 – lygiagrečiai pvz. (a+b)*(c+d)-(e/f) begin t1:= a+b and t2:= c+d; t4:=t1*t2 end and t3:= e/f; t5:=t4-t3; Transliatorius turėtų išskirti lygiagrečius veiksmus ir sugeneruoti aukščiau užrašytą programą. Jei procesas p įvykdo komandą FORK W (išsišakojimas), tai iššakojimas proceso q vykdymas nuo žymės W. Įvykdęs komandą QUIT, procesas baigia darbą. Procesų aplinkybių komanda JOIN T,W prasmė: T:=T-1; IF T=0 THEN GOTO W; nepertraukiami veiksmai Pvz: N:=2; FORK P3; M:=2; FORK P2;/*dirba 3 procesai,pirmas tas kuris viska inicializavo*/ T1:=A+B; JOIN M,P4; QUIT; P2: T2:=C+D; JOIN M,P4; QUIT; P4: T4:= T1*T2; JOIN N,P5; QUIT; P3: T3:= E/F; JOIN N,P5; QUIT; P5: T5:= T4-T3; 7. Kritinė sekcija. Tarkime turime du procesus p1 ir p2, kurie atlieka tą patį veiksmą x:=x+1(x-bendras kintamasis). jie asinchroniškai didina x reikšmę vienetu. p1 vykdo procesoriusc1 su registru r1, o p2 – c2 su r2. to = v to------------------------------------------->tn laiko ašis a)p1:r1:=x;r1:=r1+1;x:=r1;… p2: … r2:=x;r2:=r2+1;x:=r2;… [x=v+1] b)p1: r1:=x;r1:=r1+1;x:=r1;… p2: … r2:=x;r2:=r2+1;x:=r2;… [x=v+2] Gavome: a)x=v+1 ir b)x=v+2, o taip būti negali, tai dviejų procesų problema. Ir pirmu atveju gali būti panasi situacija, kaip antru, dėl pertraukimų. Programos dalis, dirbanti su bendrais procesų resursais, vadinama kritine sekcija. Negalima leisti kad du procesai vienu metu įeitų į kritinę sekciją. Todėl reikia užtikrinti kad kritinėje sekcijoje tuo pačiu metu būtų tik vienas procesas. Geras būdas kritinei sekcijai tvarkyti – semaforų naudojimas. Tarkime yra keletas ciklinių procesų: Du lygiagrečiai dirbantys procesai Proc1 ir Proc2: Begin Proc1: begin L1: KS1; PROG1; GOTO L1; end; and Proc2: begin L2: KS2; PROG2; GOTO L2; end; and ProcN: begin LN: KSN; PROGN; GOTO LN; end; End; 8. Kritinės sekcijos apsauga. BOOLEAN PROCEDURE PP(x); BOOLEAN x; BEGIN PP:=x; X:= true; END Tegul turime dvejetaini semafora S, tada P(S) ekvivalenti L: IF PP(x) THEN GOTO L; Kai S=0, tai x=true, kai S=1, tai x=false; S>0 – P(S) turetu neissaukti laukimo. (Kai S=1 => x=false => PP(x) netenkina salygu; Kai s=0 => x=true =>PP(x) tenkina sal.,laukimas, kol x nepasidarys false) V(x) ekvivalenti x:=false; KS apsauga, naudojant auksciau aprasyta mechanizma, galetu atrodyti taip: L: IF PP(x) THEN GOTO L; KS; x:= FALSE; 9. Dekerio algoritmas. Procesas atžymi savo norą įeiti į KS loginiu kintamuoju Ci=false. Išėjus iš kritinės sekcijos Ci=true. Įeiti į KS procesas gali tik tada, kai kitas procesas nėra KS‘je arba nėra pareiškęs noro ją vykdyti. Sveikas kintamasis EILE naudojamas tada, kai du procesai susiduria KS‘je (pvs.: noras vykdyti KS, įėjimas į KS). Procesas, laukiantis, kol kitas procesas baigs vykdyti KS, kai eilė vykdyti KS priklauso kitam procesui. BEGIN INTEGER EILE; BOOLEAN C1, C2; C1:=C2:=true; EILE:=1; P1: BEGIN A1: C1:=false; //(*) L1: IF not C2 THEN BEGIN IF EILE=1 THEN GOTO L1; C1:=true; B1: IF EILE =2 THEN GOTO B1; GOTO A1; END; KS1; EILE:=2; C1:=true; PROG1: GOTo A1; END AND P2: BEGIN A2: C2:=false; L2: IF not C1 THEN BEGIN IF EILE=2 THEN GOTO L2; C2:=true; B2: IF EILE=1 THEN GOTO B2; GOTO A2; END; KS2; EILE:=1; C2:=true; PROG2; GOTO A2 END END; *) procesas pareiškia norą vykdyti KS. v) tai antrasis procesas atsisakys noro vykdyti KS. Toks sprendimas persudėtingas, kad juo remiantis toliau organizuoti darbą. Netinka, nes nėra tinkamų primityvų. 10.Semaforai. Semaforas S tai sveikas neneigiamas skaičius, su kuriuo atliekamos operacijos P(S) ir V(S), kur P ir V nauji primityvai. Operacijos pasižymi savybėmis: 1)P(S), V(S) – nedalomos operacijos, t.y. jų valdymo negalima pertraukti ir jų vykdymo metu negalima kreiptis į semaforą S; 2)V(S): S:S+1; (didinama semaforo reikšmė) 3)P(S): S:S-1; (sumažinama jei S>0) 4)Jei S=0, tai procesas P, kuris vykdo operaciją P(S), laukia, kol sumažinimas vienetu bus galimas. Šiuo atvėju P(S) yra pertraukiamas 5)Jei keletas procesų vienu metu iškviečia V(S) ir/ar P(S) su vienu semaforu, tai užklausimai vykdomi nuosekliai, kokia nors iš anksto nežinoma tvarka. 6)Jei keletas procesų laukia operacijos P(S) įvykdymo, S – ta pats, tai reikšmei tapus teigiamai(kai kažkuris procesas įvykdė operaciją V(S)), kažkuris iš laukiančių procesų bus pradėtas vykdyti. Pagal prasmę operacija P atitinka perėjimo išškvietimą, o V – kito proceso aktyvaciją. Tegul M – kritinę sekciją apsaugantis semaforas, n – procesų skaičius. BEGIN SEMAPFORE M; M:=1 //pradinė reikšmė P1: BEGIN…END and … P_i: BEGIN L_i: P(M); KS_i; V(M); PROG_i; GOTO L_i; END … and P_n: BEGIN…END END; Jei semaforas įgyja tik dvi reikšmes 0,1, tai jis vadinamas dvejetainiu, jei bet kokias, tai bendriniu. Pvz1. Semaforus galima naudoti procesų sinchronizacijai. Turime du procesus, norime, kad antras pradėtų vykdyti savo programą tuomet, kai pirmas pasiųs jam atitinkamą signalą. BEGIN SEMAPHORE S; S:=0; P1: BEGIN … P(S); // tai signalo iš proceso laukimas ... END and P2: BEGIN … V(S); // siunčiamas signalas procesui P1 … END END; Jei pirma bus vykdomas procesas P2, tai P1 neįeis į laukimo būseną. Skaičiavimo sistemose procesai charakterizuojami naudojamų ir atlaisvinamų resursų tipais. Pvz2. Procesas gamintojas sukuria informaciją ir įrašo į buferį. Lygiagrečiai dirba proc. Naudotojas, kuris paima informacija iš buferio ir ją panaudoja(apdoroja). Tegul buferio atmintis susideda iš N buferių. Semaforas T – tuščių buferių skaičius. Semaforas U – užimtų buferių skaičius. B – semaforas, saugantis kritinę sekciją, atitinkančią veiksmus su buferio sekcijomis. BEGIN SEMAPHORE T,U,B; T:=N; U:=0; B:=1; // nes kritinė sekcija nevykdoma, kai vykdoma – B:=1 GAM: BEGIN LG: įrašo gaminimas; P(T); P(B); užrašimas į buferį; V(B); V(U); GOTO LG; END And NAUD: BEGIN LN: P(U); P(B); paėmimas iš buferio; V(B); V(T); įrašo apdorojimas; GOTO LN; END END; 11. Procesų „gamintojas“ ir „naudotojas“ sąveika. Procesas gamintojas sukuria informaciją ir patalpina ją į buferį, o lygiagrečiai veikiantis kitas procesas naudotojas paima informaciją iš buferio ir apdoroja. Naudojami tam du semaforai: T – tuščių buferių semaforas, U – užimtų buferių semaforas. Kadangi buferis bendras resursas abiem procesam, tai jis yra kritinė sekcija B, sauganti nuo kolizijų. 12. Įvedimo-išvedimo spulerio bendra charakteristika. Spool‘eris – OS dalis atliekanti I/O virtualizaciją, kuomet yra sukaumpiama įvedama informacija, ji apdorojama ir išvedama kaip rezultatas. Spool‘eris 5 procesų visuma. Visi jie yra procesoriuje vykdomi procesai, bet Read, Write.. R–Read; I–Input; M–Main; O–Out; W–Write; Įvedimo proceso f-jos. Buferių pūlas – sąrašas(faktiškai 3 sąrašai). Iš pradžių buferių pūlas apjungtas į laisvų buferių sąrašą. Iš pradžių - visas kūnas laisvi buferiai. Ir įvedimo buferių sąrašsas, ir išvedimo buferių sąrašas. Adorojimo proceso užduotis paruošti informaciją išvedimui. Veiksmų seka yra tokia: 1. Įvedimo procesas paima buferį iš laisvų buferių sarašo 2. Paleidžia jį skaitymui 3. Užpildytą buferį įjungia į įvedimo buferių sąrašą. 1)Pagrindinis apdorojimo procesas MAIN ima buferį iš įvedimo buferio sąrašo 2) Apdoroja informaciją 3)Ima buferį iš tuščių buferių sąrašo, ji užpildo, išveda informaciją. 4) Buferį įjungia į išvedimo buferių sąrašą. Ivedimo procesas I gali bykti tik tada, kai yra laisvų buferių.M gali vykti, kai yra įvedimo sąraše elementai ir laisvi buferiai. Jei I ima paskutinį laisvą buferį, tai M užsiblokuoja, nes jau nėra laisvų buferių. Darbui su buferiais reikia apsirašyti tokius parametrus: laisvų buferių skaičių; įvedimo/išvedimo buferių skaičių; KS apsaugos semaforą; įvedimo/išvedimo buferių KS apsaugos semaforus. 13. Įvedimo-išvedimo SPOOLER‘io pagrindinis procesas. Buferių pūlas – sąrašas (faktiškai 3 sąrašai). Iš pradžių buferių pūlas apjungtas į laisvų buferių sąrašą. • įvedimo buferių sąrašas; - išvedimo buferių sąrašas. Apdorojimo proceso užduotis – paruošti informaciją išvedimui. Veiksmų seka yra tokia: 1. įvedimo procesas paima buferį iš laisvų buferių sąrašo; 2. paleidžia jį skaitymui; 3. užpildytą buferį įjungia į įvedimo buferių sąrašą. 1. Pagrindinis apdorojimo procesas Main ima buferį iš įvedimo buferių sąrašo; 2. Apdoroja informaciją; 3. Ima buferį iš tuščių buferių sąrašo. Jį užpildo išvedama informacija; 4. Buferį įjungia į išvedimo buferių sąrašą. Įvedimo procesas I gali vykti tik tada, kai yra tuščių buferių. Atitinkamai H gali vykti, kai yra įvedimo sąraše elementai ir laisvi buferiai. Jei I ima paskutinį laisvą buferį, tai H užsiblokuoja, nes jam nėra laisvų buferių. nl – laisvų buferių skaičius; nin – įvedimo buferių skaičius; nout – išvedimo buferių skaičius; ml – KS apsaugos semaforas; min – įvedimo buferių KS apsaugos semaforas; mout – išvedimo buferių KS apsaugos semaforas. Pagrindinio proceso H programa: M: BEGIN LH: P(nin); //H turi imti įved. buf. Jei tokio nėra, tai H blokuojasi. P(min); // jei kitas procesas vykdo įvedimą, tai H blokuojasi. Paimti pirmą buf. iš įvedimo buf. sąrašo; v(min); // nuimama įvedimo KS apsauga; Apdoroti buferio turinį; P(nl); P(ml); Paimti pirmą buf. iš laisvų buf. sąrašo; v(ml); Uždaryti paimtą buf. išvedama info; P(mout); // išved. buf. KS apsauga Įjungti buf. į išved. buf. sąrašo galą; // imama iš sąrašo pradžios, bet rašoma į galą v(mout); P(ml); // buvo paimtas įved. buf. Jį reikia atlaisvinti. Tai darbas su KS Įjungti buferį į laisvų buf. sąr. galą; v(ml); v(nl); GOTO LH; END; Atliekant įvedimo veiksmą, darbas turi būti sinchronizuojamas su įvedimo įrenginiu. Įvedimo įrenginio darbo pradžios ir pabaigos situaciją (realiai – pertraukimo situacija) modeliuosime semaforais. SR – skaitymo įrenginio startas; FR – skait. įreng. Finišas. Procesas R vykdo P(SR), o I – v(SR). Jei SR = 0, tai v(SR) = 1 ir procesas R galės baigti darbą. I blokuojasi nuo P(FR), o procesą R paleidžia v(FR). I ir R galima sinchronizuoti bendram darbui. I turi aprūpinti skait. įrenginį tuščiais buferiais, inicijuoti R ir prijungti į pūlą užpildytus per įvedimą buferius, kai R baigia darbą. 14. Įvedimo/išvedimo SPOOLER’io įvedimo ir skaitymo procesas. Atliekant įvedimo veiksmą, darbas turi būti sinchroniuojamas su įvedimo įrenginiu. Įvedimo įrenginio darbo pradžios ir pabaigos situacija(realiai pertraukimo situacija) modeliuosime semoforais. SR – skaitymo įrenginio startas FR – skaitimo įrenginio finišas Procesas R vykdo P(SR), o I – V(SR). Jei SR=0, tai V(SR)=ą ir proceasas R galės baigti darbą. I blokuojasi nuo P(FR), o procesą R paleidžia V(FR). I ir R galima sinchronizuoti benfram darbui. I turi aprūpinti skait.įrenginį tuščiais buferiais,inicijuoti R ir prijungti į pūtą užpildytus per įvedimą buferius, kai R baigia darbą. Įvedimo proceso valdymas I: BEGIN αI: P(nl); P(ml); IF liko paskutinis laisvas buferis THEN BEGIN V(nl); V(ml); GOTO αI END /*paimti buf. Iš laisvų buf.*/ V(ml); V(SR); P(FR); P(min); Prijungti įvedimo buf. prie įvedimo buf. V(min); V(nin); GOTO αI END; Skaitimo proceso valdymas R: BEGIN αR: P(SR); Perskaityti į nurodytą buf.; V(FR); GOTO αR END; 15. Dvejetainių ir bendrų semaforų ryšys. Semaforinių primityvų relizacijai, reikia bendruosius semaforus išreikšti dvejetainiais. Jei semaforas gali įgyti tik dvi reikšmes – jis dvejetainis. Bet kuris bendras semaforas gali būti išreikštas dvejetainiu semaforu. Jei S – bendrasis semaforas, tai jį galima pakeisti kintamuoju NS ir dviem dvejetainiais semaforais M, D. M – kritinę sekciją apsaugantis semaforas. P(S)~P(M); NS=NS-1; If NS0 – nuimama KS apsauga ir neiššaukiamas laukimas; b) S=0 – turi įvykti perėjimas į laukimą, tada bus pasiekiamas procesas V(S). NS do Begin ST[R.P]:=IF ST[R.P]=BLOCK then READ else READS; Irasyti (PPS,R.P); SD[R.P]:=PPS; R.A:=’PRAN’; R:=Pasalinti(LPS[r]); End NRD(r); //Naikinri resurso deskriptoriu Planuotojas; End 28. Primityvas “prašyti resurso”. OSBP “Prašyti resurso”. Procesas, kuriam reikia resurso, iškviečia šį primityvą, nurodydamas VV ir adresą. Toks procesas pereina į blokavimosi būseną. Blokavimasis įvyksta tik prašant resusrso. Procesas įjungiamas į laukiančių to resusro procesų sąrašą. Parametrai: RS – resusrso VV; D – kokios resusrso dalies prašoma: A – atsakymo srities adresas, į kur pranešti. PROCEDURE PRASYTIR(RS, D, A); BEGIN R := RVV(RS); //(1) IJUNGTI(LPS[r], (*, D, A)); //(2) PASK(r, K, L); //(3) B := true; FOR J :=1 STEP 1 UNTIL K DO IF L[J] * THEN //(4) BEGIN I:=L[J]; IJUNGTI(PPS, i); SD[i]:=PPS; SD[i]:=PPS; ST[i]:= OF ST[i]=BLOCK THEN READY ELSE READYS; // (5) END ELSE B:=false; //(6) IF B THEN BEGIN ST[*]:=BLOCK; SD[*]:=LPS[r]; PROC[P[i]]:=1; //(7) PASALINTI(PPS, *) END PLANUOTOJAS END Paaiškinimai: 1) nnustatomas resurso VV pagal IV; 2) procesas įjungiamas į lauiančių šio resurso procesoų sąrašą, * - šiuo metu vykdomas procesas; 3) resurso paskirstytojo programa. K – kiek procesų aptarnauja, L – aptarnautų procesų VV masyvas; 4) ar tai šiuo metu nedirbantis procesas? 5) reiškia buvo BLOCKS; 6) reiškia tai yra duotu metu dirbantis procesas; 7) šį procesą vykdžiusį procesorių paskelbiame laisvu. 29. Primityvas „atlaisvinti resursą“. OSBP “Atlaisvinti resursą”. Tai atitinka situaciją, kai procesas gauna pakartotino naudojimo resursą ir kai jo jam nereikia, jis jį atlaisvina ir įjungia į sąrašą laisvųjų redursų. Kaikurie resursai sujuriami proceso darbo metu. Parametrai: RS – resurso IV, D – OA atlaisvinamos dalies aprašymas. PROCEDURE ATLAISVINTIR(RS,D); BEGIN r:=RVV(RS); Ijungti(PA[r],D);// PASK(r,k,L); IF k>0 THEN FOR J:= 1 STEP 1 UNTIL k DO BEGIN i:=L(J); Ijugti(PPS,i); SD[i]:=PPS; ST[i]:= IF ST[i]= BLOCKS THEN READYS ELSE READY END; IF k0 THEN PLANUOTOJAS; END; 30. Procesų būsenų schema. Procesorius gali gauti procesorių tik tada, kai jam netrūksta jokio resurso. Procesas gavęs procesorių tampa vykdomu. Procesas, esantis šioje busenoje, turi procesoriu, kol sistemoje neįvyksta pertraukimas arba einamasis procesas nepaprašo kokio nors resurso (pavyzdžiui, prašydamas ivedimo iš klaviaturos). Procesas blokuojasi priverstinai (nes jis vis tiek negali tęsti savo darbo be reikiamo resurso). Tačiau, jei procesas nereikalauja jokio resurso, iš jo gali būti atimamas procesorius, pavyzdžiui, vien tik dėl to, kad pernelyg ilgai dirbo. Tai visiškai skirtinga busena nei lokavimasis del resurso (neturimas omeny resursas - procesorius). Taigi, galime išskirti jau žinomas procesu busenas: vykdomas – jau turi procesorių; blokuotas – prašo resurso(bet ne procesoriaus); pasiruošęs – vienintelis trūkstamas resursas yra procesorius; sustabdytas – kito proceso sustabdytas procesas. (1)vykdomas procesas blokuojasi jam prašant ir negavus resurso.(2)vykdomas procesas tampa pasiruošusiu atėmus iš jo procesorių dėl kokios nors priežasties (išskyrus resurso negavimą). (3)Blokuotas procesas tampa pasiruošusiu, kai yra suteikiamas reikalingas resursas.(4)pasiruošę procesai varžosi dėl procesoriaus. Gavęs procesorių procesas tampa vykdomu.(5)procesas gali tapti sustabdytu blokuotu, jei einamasis procesas ji sustabdo, kai jis jau ir taip yra blokuotas.(6) Procesas tampa blokuotu iš blokuoto sustabdyto, jei einamasis procesas nuima buseną sustabdytas.(7)Procesas gali tapti pasiruošusiu sustabdytu, jei einamasis procesas ji sustabdo, kai jis yra pasiruošęs.(8)Procesas tampa pasiruošusiu iš pasiruošusio sustabdyto, jei einamasis procesas nuima buseną sustabdytas.(9) Procesas tampa pasiruošusiu sustabdytu iš blokuoto sustabdyto, jei procesui yra suteikiamas jam reikalingas resursas. 31. Procesų planuotojas. Planuotojas užtikrina, kad visi PP būtų vykdomi maksimaliu prioritetu (Jei prioritetai vienodi, tai vykdomas tas kuris sąraše pirmesnis). Planuotojo veikimo schema: (Planuotojas iškviečiamas iš branduolio primityvų) Planuotojo darbas 3 etapais: 1) Surasti pasirenkamą procesą su aukščiausiu prioritetu. 2) Surasti neaktyvų procesorių ir jį išskirti.(skirti pasiruošusiam procesui) 3) Jei procesorių nėra, peržiūrėti vykdomus procesus, ir, jei jų prioritetai mažesni, atiduot procesorių pasiruošusiems (Perskirstymas) 32. Pasiruošusio proceso su aukščiausiu prioritetu nustatymas ir neaktyvaus procesoriaus radimas. Kol neperžiūrėti visi pasiruošusių procesų sąrašai ir prioritetas nelygus nuliui darom: jei peržiūrimas sąrašas tuščias, tai prioritetas mažinamas vienetu ir imamas to prioriteto pasiruošusių proc.sąr. Pradedame nuo 1 ir sukame ciklą kol pasiekiame procesorių skaičių.tikriname ar procesoriui einamasis procesorius turi vadą. Jei turi (t.y. yra užimtas) sukame ciklo skaitliuką. Radus procesą be vardo, t.y. neaktyvų, jam priskiriamas procesas. Jei tai procesorius, kuris laisvas dėl to, kad negavęs resurso, tai įsimenama kuriam procesui reikės jį atiduoti. 33. Procesų planuotojo procesoriaus perskirstymo etapas. Perskirstant procesorių reikia iš proceso su mažesniu prioritetu atimti procesorių. Pirmiausiai prasukame visus procesus ir surandame, kuris turi mažiausią prioritetą ir mažesnį negu mūsų proceso įsimename to proceso vidinį vardą. Iš to procesoriaus atimame procesorių ir jė atiduodame mūsų norimam procesui 34. Virtualios atminties sąvoka. OA – tai ta, į kurią procesorius gali kreiptis tiesiogiai imant komandas ar duomenys programos vykdymo metu. Tokia schema turi daug nepatogumų, kai programoje nurodomi absoliutūs adresai. Transliatoriai buvo perdaryti taip, kad gamintų objektinę programą, nesusietą su patalpinimo vieta, t.y. kilnojamus objektinius modelius (nustatant programos adresus pagal išskirtą atminties vietą). Nuo atminties skirstymo programos vykdymo metu pereita prie atminties skirstymo prieš programos vykdymą. Prieš vykdymą programas reikia susieti ir patalpinti į atmintį. Kai visi darbai atliekami prieš programos vykdymą, kalbama apie statinį adresų nustatymą – statinį atminties skirstymą. Dinaminis atminties skirstymas – kai adresai nustatomi betarpiškai kreipiantis į atmintį. Statiškai nustatant adresus būtina prieš programos vykdymą žinoti išskirtos atminties vietą. Dinaminis – kai fizinis adresas nustatomas tiesiogiai prieš kreipimąsi į tą adresą. Sudarant programas tenka abstrahuotis nuo atminties žodžių ir nauduoti tam tikrus lokalius adresus, kurie vėliau kokiu tai būdu susiejami su fiziniais adresais. Tokia lokalių adresų visuma – virtuali atmintis. Fizinių adresų visuma – reali atmintis. Virtuali atmintis su fizine gali būti susiejama statiškai arba dinamiškai. 35. Komandos vykdymo schema. Schematiškai pavaizduosime komandų vykdymą, kuomet nėra dinaminio atminties skirtymo: H[O:N] – atmintis; K – komandų skaitliukas; R – registras. L: W:=H[K]; OK:=W op kodas; // ok – operacijos kodas ADR:+ W operando adr; R:=K+1; Add: IF OK=1 THEN R:=R+H[ADR]; ELSE SR: IF OK=2 THEN H[ADR]:=R; BR: IF OK=3 THEN K:=ADR; . . . GOTO L Čia K, ADR vadinami efektyviais adresais. Jei yra dinaminė adresų nustatymo aparatūra, tai efektyvus adresai yra atvaizduojami į absoliučius(fizinius) adresus: F(ea)=aa. H[k]~H[F(k)] H[ADR]~M[F(ADR)]. Į F galima žiūrėtu kaip į aparatūrinį bloką, jungiantį procesorių su OA. Schematiškai: 36. Statinis ir dinaminis atminties skirstymas. 37. Puslapinė organizacija. Puslapinė organizacija – tai konkretus vartotojo atminties (VA) organizavimo būdas. Operatyvi atmintis (OA) yra suskaidoma į vienodo ilgio ištisinius blokus b0b1...bB-1. OA absoliutus adresas (AA) nurodomas kaip pora (b, l), kur b – bloko numeris, l – žodžio numeris bloko b viduje. Atitinkamai VA adresinė erdvė suskaidoma į vienodo dydžio ištisinius puslapius p0p1...pP-1. VA adresas nustatomas pora (p, l). Puslapio dydis lygus bloko dydžiui. Bendra suminė VA yra daug didesnė už OA. VA adresas lygus efektyviam adresui (EA), kurį reikia atvaizduoti į AA: F(EA)=AA, šiuo atveju F(p, l)=(b, l). Puslapinės organizacijos schema: a) VA turime [p|l]; b) aparatūroje turi būti numatytas [PLR] – puslapių lentelės registras(rodo aktyvaus proceso puslapių lentelę); c) puslapių lentelės saugomos atmintyje. Puslapių lentelės registro dydis atitinka VA puslapių skaičių. Kiekvienam procesui sudaroma puslapių lentelė. Vieno segmento VA atvaizdavimas: F(p, l) = M[PLR+p]*2k+l, čia M[PLR+p] – bloko numeris; 2k – bloko dydis; i – poslinkis. 38. Polisegmentinė virtuali atmintis. 1) Turimas segmentų (toliau S) lentelės registras, rodantis į aktyvaus proceso segmentų lentelę (SL), o SL kiekvienas įrašas rodo į ištisinę srytį operatyvios atm. 2) Puslapinė organizacija su segmentacija. SLR rodo į aktyvaus proceso SL. Kiekvienas S yra išreiškiamas puslapiu ir turi atitinkamą puslapių lentelę. (s,w) yra išreiškiamas trejetu (s,p,l) Kiekvienas segmentas suskaidomas puslapiais, tokio pat dydžio kaip bloko dydis. SLR – Segmentų lentelės registras, saugo aktyvaus proceso segmentų puslapių lentelės adresą. PSL – Saugo bloko numerį į kurį tas puslapis atvaizduojamas. SLR: SLB komponentė – segmentų lentelės bazė – nurodo adresą OA‘je. SLD – kiek segmentų VA‘je (segmentų lentelės dydis) SL: PLB(S) – puslapių lentelės bazė PLD(S) – puslapių lentelės dydis PLP(S) – puslapių lentelė buvimo OA požymis PL: BB[p] – bloko bazė BP[p] – buvimo OA požymis IF S>SLD THEN „Pertraukimas. Neleistinas segmentas“ S:=SLB+S; IF PLP[S] = 1 //nera atminty THEN “Pertraukimas. OA nera s-ojo segmento psl.lenteles” IF p>PLD[S] THEN “Pertraukimas. Neleistinas psl.segmente” p:=PLP+p; IF BP[p]=1 THEN “Pertraukimas. Psl.nera atminty” (irgi del sito viso neaisku) 39. Atminties skirstymo puslapiais strategijos. Puslapių skirstymo uždavinys turi atsakyti į klausimus: a) kokiu momentu sukeisti puslapius; b) kokį puslapį patalpinti į atmintį (iš išorės į OA); c) vietoje kokio puslapio. Puslapių skirstymo strategija, pagal kurią vieta puslapiui skiriama betaroiškai prieš į jį kreipiantis, vadinama strategija pagal pareikalavimą (SPP). Ji užfiksuoja atsakymus į pirmuosius du klausimus. Įrodyta, kad bet kokiai puslapių skirstymo strategijai egzistuoja neblogesnė strategija pagal pareikalavimą. Vadinasi, optimalių strategijų paieškoje galima apsiriboti SPP klase. SPP, kurioje išstumiami tie puslapiai, kreipiamaisi į kuriuos bus vėliausiai puslapių trasoje, vadinama Bellady strategija. Pvz.: tarkime, turime du blokus b1, b2 ir puslapių seką p1, p2, p3, p4, p1, p2, p3. Sprendimas: B1 | p1 p1 p1 p1 p1 p1 p1 p1 B2 | p2 p3 p4 p4 p3 p2 Šitokia strategija yra optimali. Tačiau iškyla taikymo problemos, nes prieš programos vykdymą puslapių trasa nėra žinoma. Praktikoje naudojamos tam tikros strategijos, kai pakeičiamas: atsitiktinis, ilgiausiai būnantis OA’je, į kurį buvo kreiptąsi seniausiai. Vidutiniškai du kartus mažiau puslapių pakeitimų, jei naudojama trečioji strategija: naujas puslapis įrašomas vietoj seniausiai naudoto. 40. Atminties išskyrimas ištisinėmis sritimis. GETAREA(adress, size); FREEAREA(address, size); FREEGARBAGE; 41. Kintamo dydžio ištisinės atminties sričių grąžinimas Procedure FREEAREA(adress, size) Begin pointer L;M;U;Q; M:=address – 1; U:=M+M.size; L:=M-1; IF U.tag = ‘-‘ THEN Begin M.size:=M.size +U.size; U.BLINK.FLINK:=U.FLINK; U.FLINK.BLINK:=U.BLINK; End; Q:=M+M.size-1; IF L.tag=’-‘ THEN //Jei prieš tai yra laisva Begin L:=M-L.size; L.size:=L.size+M.size; Q.size:=L.size; Q.tag:=’-‘; End; ELSE Begin //Jei užimta Q.size:=M.size; M.tag:=Q.tag:=’-‘; M.FLINK:=FREE.FLINK; //M įjungiamas į laisvų sričių sąrašą. M.BLINK:=address(FREE); FREE.FLINK.BLINK:=M; FREE.FLINK:=M; End; 42. Failų sistemos sąvoka. FS yra OS dalis, kuri valdo įv/išv, įv/išv metu naudojamus resursus ir operuoja informacija failuose. Į F galima žiūrėti kaip į virtualų įv/išv įrenginį tokį, kuris turi patogią programuotojui struktūrą. Programuotojui patogu operuoti failine informacija loginiame lygyje. Į failą galima žiūrėti kaip į: (F, e), kur F - failo vardas, e – elemento identifikatorius faile. Galima kalbėti apie virtualią failinę atmintį. FS virtualios failinės atminties paskirtis – aprūpinti vartotoją tiesine erdve jų failų patalpinimui. Pagrindinės funkcijos: 1. užklausimų VFA‘iai transformavimas į RFA; 2. informacijos perdavimas tarp RFA ir OA. FS - tai OS dalis, kuri yra atsakinga už failinės informacijos sukūrimą, skaitymą, naikinimą, skaitymą, rašymą, modifikavimą, bei perkėlimą. Failų sistema kontroliuoja failų naudojamus resursus ir priėjimą prie jų. Programuotojam nesunku naudotis failų informacija, jai ji yra loginiame lygmenyje. Failinė struktūra- sutvarkyta elementų struktūra, kurios elementai identifikuojami taip: (F,e) čia F- failo vardas, e- e-tasis failo f elementas. Žinant failinės atminties realizaciją, aparatūros specifiką, galima optimizuoti jos apdorojimą. Pagrindinės operacijos kurias galima atlikti failų sistemoje: 1. Užklausimo virtualioje failinėje atmintyje transformavimas į realią failinę atmintį. 2. Informacijos perdavimas tarp realios failinės atminties ir operacinės atminties. 43. Failų sistemos hierarchinis modelis. 5 failų sistemos lygiai: Su pirmaisiais 4 lygiais susiję vartotojų procesai, su paskutiniuoju – OS. 5 lygis: IO sistema koordinuoja fazinių įrenginių darbą. Šio lygio procesai užsiima informacijos apsikeitimu tarp operatyvios atminties ir išorinės atminties pagal adresus. 4 lygis: Unikalusis vidinis failo vardas transformuojamas į deskriptorių. 3 lygis: Pagal vartotojo pateiktą išorinį vardą nustatomas vidinis. Tam naudojamas vartotojų katalogas. Šis lygis nepriklauso nuo fizinių įrenginių. 2 lygis: Realizuoja dėsnį, pagal kurį apdorojami failo įrašai. Dėsnį nurodo vartotojas (priklausomai nuo to, ką žada veikti..). Dėsnių pvz.: nuoseklus priėjimas, įrašų patvirtinimas pagal tam tikrų jų laukų reikšmes. 1 lygis: Rūpinasi loginės ir fizinės failų sistemos struktūros ryšiais. T.y. tuo, kad tą patį galima matyti skirtingai. Ir nors programos A ir B tuos pačius duomenis supranta skirtingai, duomenų egzempliorius tėra vienas. 44. Failų sistemos įvedimo-išvedimo posistemė. Įvedimo/išvedimo sistemą sudaro įrenginių darbą valdantys procesai – kiekvienam įrenginiui po procesą. Ryšoao tarp procesų atitinka ryšius tarp įrenginių. OS ryšį tarp įrenginių transformuoja į ryšį tarp procesų, tad įrenginiai gali būti traktuojami kaip normalūs sąveikaujantys procesai, valdomi bendra procesų valdymo sistema. To privalumai: asinchroniai įrenginiai traktuojami kaip nepriklausomi procesai tad OS‘ui nereikia papildomai nereikia „sukti galvos“ dėl jų skirtingų greičių; Nuo įrenginio specifikacijos priklauso tik jo žemiausias lygmuo, kitiems lygmeninms tai neturi nė mažiausios įtakos, tai jei prireiks, perrašyt reikės tik žemiausią lygį. 45. Bazinė failų valdymo sistema. Tai įvedimo/išvedimo sistema, kurioje aparatūros specifika izoliuoja įvedimą/išvedimą nuo likusios OS dalies. Tai leidžia įvedima/išvedimą nagrinėti persiunčiamų informacinių bloku terminais. Prieš pasiunčiant informacijos bloką reikia nustatyti operatyvios atminties adresą ir fizinį bloko adresą išoriniame įrenginyje. Tokį adresą ir suformuoja bazinė failų valdymo sistema pagal failo deskriptorių. Be to bazinė sistema valdo išorinės atminties failus ir apdoroja tomų failų deskriptorius. Darbui su deskriptoriais bazinė sistema turi komandas(funkcijas): SUKURTI(failo vardas, sritis), kur sritis – iš kokių blokų sukurti failą. Ji vykdoma inicializuojant procesą, aptarnaujantį tomą. Veliau laisvos atminties failas skaidomas į dalinius failus. DALINTI(failo vardas, sritis). Kai failas yra naikinamas, jo užimama atmintis turi būti atlaisvinta ir sugražinta į laisvos atminties failą. IŠPLĖSTI(failo vardas, sritis). Komanda skirta išorinės atminties padidinimui. ATLAISVINTI(failo vardas, sritis). Visa arba dalis išorinės atminties grąžinama į laisvos atminties failą. Bazinė sistema turi turėti ryšįsu operatoriumi arba vartotoju tam, kad pranešti apie galimybę siūsti pranešimus apie tomų pakeitimus. Tomų deskriptoriaus sudėtis: Tomo vardas, unikalus tomo ID, proceso arba loginio įrenginio vardas,atitinkamas požymis, nuoroda į tomo turinio lentelę, informacija apie tomo apsaugą, tomo sukurimo ir galiojimo data. Tomų valdymo bazinė sistema turi funkcijas: REGISTRUOTI(tomo vardas) – sukuriamas naujas tomo deskriptorius, PAŠALINTI(tomo vardas), PRITVIRTINTI(tomo vardas) – tomo priskyrimas įrenginiui, ATLAISVINTI(tomo vardas) – atjungimas nuo įrenginio. 46. Loginė failų valdymo sistema. Ji atvaizduoja lokalius vartotojo failų vardus į unikalius failų identifikatorius. Loginė failų valdymo sistema pateikia išoriniam interfeisui komandsa, kurias realizuoja bazinė sistema, kuriose jau nurodomas unikalus F identifikatorius. Loginė sistema reikalauja iš vartotojo pranešimo apie darbo su failais pradžią – komanda ATIDARYTI(funkciškai ją atlieka bazinė sistema). Vartotojo žinynas – tai informacija apie failus. Jis susieja failo išorinį vardą su jo unikaliu vardu, nurodančiu į bendrą sisteminį žinyną. Vartotojo žinyno panaudojimas leidžia laisvai parinkti failo vardus ir užtikrina efektyvų kreipimąsi į failus. Loginė sistema išoriniam interfeisui pateikia komandas (jas realizuoja bazinė sistema): SUKURTI(failo vardas); SUNAIKINTI(failo vardas); ATIDARYTI(failo vardas); UŽDARYTI(failo vardas); SKAITYTI(failo vardas, bloko nr., OA, bloko sk.); RAŠYTI(failo vardas, bloko nr., OA, bloko sk.); Komandų rezultatai priklauso nuo konkrečios situacijos. Vartotojo procesas tas situacijas gali išskirti ir apdoroti arba naudoti kaip klaidą. 47. Failinės atminties įrenginių charakteristika. Fizines failines atminties įrenginiai apibudinami tam tikromis charakteristikomis: 1. talpumas – maksimalus informacijos kiekis, kurios gali būti saugomos; 2. įrašo dydis – minimalus informacijos kiekis, į kuri galima adresuoti įrenginyje. Įrašai įrenginiuose gali būti kintamo arba pastovaus ilgio. 3. priėjimo būdai: a) tiesioginis – operuojama aparatūra; b) nuoseklus – kai priėjimui prie įrašo reikalingas visų tarpinių įrašų peržiurejimas. 4. FA informacijos nešejes – tomas. Tomo charakteristika – jo pakeičiamumas – įgalina iš esmės padidinti vartotojo naudojamos VA apimtį. Pvz. Diskelis.. 5. Duomenu perdavimo greičiai. Jis matuojamas baitais arba bitais per sekundę perduodant informaciją tarp OA ir įrenginio. KB – kbaitai, kb – kbitai 6. Užlaikymas. Įrenginiui gaves eilinę įv/iš komandą (jei tai juostinis įrenginys), jam reikia įsibegti nuo praeito skaitmuo prie naujo pradžios. Jei diskas – užlaikymas – tai apsisukimas nuo pradžios iki tos vietos, kur yra informacija. 7. Nustatymo laikas. Tai galvučių perstumimo laikas(diskai). Priklausomai nuo įrenginių charakteristikų ir nuo jų panaudojimo sąlygų, vieni ar kiti įrenginiai yra naudojami tam tikrais atvejais. 48. Operacinių sistemų architektūros. 49. Mikrobranduolio architektūra. Mikrobranduolys yra OS nedidelė atminties dalis, įgalinanti OS modulinį plėtimą. Nėra vieningos mikrobranduolio sandaros. Problema yra driver'iai, juos reikia padaryt efektyvius. Į driver'į galima žiūrėti kaip į virtualų įrenginį, kuris palengvina įrenginio valdymą, pateikdamas patogesnį interfeisą. Kitas klausimas, kur vyksta procesai, ar branduolio erdvėj, ar už jo ribų. Pirmos OS buvo monolitinės, kur viena procedūra galėjo iškviesti bet kokią kitą procedūrą. Tai tapo kliūtimi augant OS. Buvo įvesta OS sluoksninė architektūra. Sudėtingumas nuo to nedingo. Kiekvienas sluoksnis gana didelis. Pakeitimai vienam sluoksnyje iššaukia pakeitimus ir gretimuose sluoksiniuose. Sunku kūrti versijas pagal konkrečią konfigūraciją. Sunku spręsti saugumo problemas dėl gretimų sluoksnių sąveikos. Mikrobranduolio sistemos atveju visi servisai perkelti į vartotojo sritį. Jie sąveikauja tarpusavyje ir su branduoliu. Tai horizontali architektūra. Jie sąveikauja per pranešimus, perduodamus per branduolį. Branduolio funkcija tampa pranešimo perdavimas ir priėjimas prie aparatūros. Mikrobranduolio architektūros pranšumai: 1) vieningas interfeisas 2) Išplečiamumas 3) Lankstumas 4) Pernešamumas(Portability) 5) Patikimumas 6) Tinkamumas realizuoti paskirtytas (išskirstytas) sistemas. Neigiama savybė – nepakankamas našumas, kalta pranešimų sistema, Jį reikia pernešti, perduoti, gavus atkoduoti. Atsiranda daug perjungimų tarp vartotojo ir supervizoriaus režimų. 50. Mikrobranduolio architektūros charakteristika. 51. Gijos. Bendra charakteristika. 52. Vartotojo ir branduolio gijos.

Daugiau informacijos...

Šį darbą sudaro 6955 žodžiai, tikrai rasi tai, ko ieškai!

★ Klientai rekomenduoja


Šį rašto darbą rekomenduoja mūsų klientai. Ką tai reiškia?

Mūsų svetainėje pateikiama dešimtys tūkstančių skirtingų rašto darbų, kuriuos įkėlė daugybė moksleivių ir studentų su skirtingais gabumais. Būtent šis rašto darbas yra patikrintas specialistų ir rekomenduojamas kitų klientų, kurie po atsisiuntimo įvertino šį mokslo darbą teigiamai. Todėl galite būti tikri, kad šis pasirinkimas geriausias!

Detali informacija
Darbo tipas
Lygis
Universitetinis
Failo tipas
Word failas (.doc)
Apimtis
25 psl., (6955 ž.)
Darbo duomenys
  • Programų konspektas
  • 25 psl., (6955 ž.)
  • Word failas 702 KB
  • Lygis: Universitetinis
www.nemoku.lt Atsisiųsti šį konspektą
Privalumai
Pakeitimo garantija Darbo pakeitimo garantija

Atsisiuntei rašto darbą ir neradai jame reikalingos informacijos? Pakeisime jį kitu nemokamai.

Sutaupyk 25% pirkdamas daugiau Gauk 25% nuolaidą

Pirkdamas daugiau nei vieną darbą, nuo sekančių darbų gausi 25% nuolaidą.

Greitas aptarnavimas Greitas aptarnavimas

Išsirink norimus rašto darbus ir gauk juos akimirksniu po sėkmingo apmokėjimo!

Atsiliepimai
www.nemoku.lt
Dainius Studentas
Naudojuosi nuo pirmo kurso ir visad randu tai, ko reikia. O ypač smagu, kad įdėjęs darbą gaunu bet kurį nemokamai. Geras puslapis.
www.nemoku.lt
Aurimas Studentas
Puiki svetainė, refleksija pilnai pateisino visus lūkesčius.
www.nemoku.lt
Greta Moksleivė
Pirkau rašto darbą, viskas gerai.
www.nemoku.lt
Skaistė Studentė
Užmačiau šią svetainę kursiokės kompiuteryje. :D Ką galiu pasakyti, iš kitur ir nebesisiunčiu, kai čia yra viskas ko reikia.
Palaukite! Šį darbą galite atsisiųsti visiškai NEMOKAMAI! Įkelkite bet kokį savo turimą mokslo darbą ir už kiekvieną įkeltą darbą būsite apdovanoti - gausite dovanų kodus, skirtus nemokamai parsisiųsti jums reikalingus rašto darbus.
Vilkti dokumentus čia:

.doc, .docx, .pdf, .ppt, .pptx, .odt