1 / 22

Operacinės sistemos

Operacinės sistemos. asist. S. Ramanauskaitė. Resursų naudojimas. Kompiuterinėse sistemose gausu resursų, kurie vienu laiko momentu gali būti naudojami tik vieno proceso (ar gijos);

olwen
Télécharger la présentation

Operacinės sistemos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Operacinės sistemos asist. S. Ramanauskaitė

  2. Resursų naudojimas • Kompiuterinėse sistemose gausu resursų, kurie vienu laiko momentu gali būti naudojami tik vieno proceso (ar gijos); • Resursu laikoma ne tik kompiuyerio atmintis ar procesoriasu darbas, bet ir įvesties/išvesties įrenginiai, kuriuos kompiuteris gali naudoti; • Žinomiausi resursai, kuriuos vienu laiko momentu gali naudoti tik vienas procesas yra spausdintuvas, CD įrenginiai ir pan.

  3. Resursų tipai • Resursai gali būti dalinami į dvi pagrindines dalis: • Dalinamieji resursai – resursai, kuriuos galima laisvai perimti iš kito proceso, nesutrikdant pirmojo proceso darbo; • Nedalinami resursai – jei bent laikinai toks resursas būtų perimtas iš kito proceso, abiejų procesų darbas nebūtų pilnai įvykdytas dėl negebėjimo aiškiai paskirstyti tą resursą.

  4. Resursų naudojimo eiga • Norint gauti ir panaudoti tam tikrą resursą, visas darbas vyksta tokiais etapais: • Resurso užklausa, pareikalavimas; • Resurso gavimas; • Resurso naudojimas; • Resurso atlaisvinimas. • Jei resursas paprašomas, bet tuo metu yra užimtas, jo užklausa yra atmetama ar pastatoma į eilę to resurso gavimui; • Tokiu atveju procesas gali daryti kitus darbus arba tiesiog laukti tam tikrą laiką ir vėl reikalauti to resurso.

  5. Aklavietės pavyzdys • Tarkim turima situacija, kuomet yra du procesai A ir B. • Jie abu nori nuskaityti duomenis iš skenerio, o tada juos išsaugoti CD laikmenoje: • Procesas A pirma kreipiasi į skenerį, o tik tada bando duomenis įrašyti į CD laikmeną. • Procesas B pirma pareikalauja CD įrenginio dėmesio, patikrinti ar bus galima į jį rašyti ir tik tada prašo skenerio duomenų. • Jei šie du procesai prasidės vienu metu, abu rezusrai bus rezervuoti, tad norint pereiti prie kitos būsenos, reikalaus jau užimto resurso. • Bandymas abiem programom veikti veda prie amžino laukimo – aklavietės.

  6. Procesas A Procesas B a) Užimti spausdintuvą Užimti diską Atlaisvinti spausdintuvą Atlaisvinti diską Užimti diską Užimti spausdintuvą Atlaisvinti diską Atlaisvinti spausdintuvą A1 B1 A2 B2 A3 B3 A4 B4 b) A1 A2 Proceso A Pertraukim Procesas A blokuotas B1 B2 Procesas B blokuotas laikas A1 A3 c) A2 A4 Proceso A Pertraukim Proceso A pertraukim B1 Procesas B blokuotas B1 B4 B2 B3 laikas A1 A3 d) A2 A4 B1 B4 B2 B3 laikas Aklavietės pavyzdys

  7. Aklavietė • Aklavietės būsena nusakoma tokiu apibrėžinu: • Tam tikri procesai yra aklavietėje, jei kiekvietas iš tų procesų laukia įvykio, kurį gali sukelti tik kitas iš šių procesų. • Dažnaisuiai tas įvykis yra tiesiog tam tikro resurso atlaisvinimas. • Tuo tarpu esantys aklavietėje procesai negali: • Veikti; • Atlaisvinti resursus; • Būti sužadinami.

  8. Aklavietės susidarymo sąlygos • Mutexo sąlyga • Kiekvienas resursas gali būti skiriamas tik vienam procesui arba būti laisvas • Laikymo ir laukimo sąlyga • Procesai, kurie jau turi tam tikrus resursus, gali dar reikalauti resursų • Nedalinimo sąlyga • Prieš tai gautas resursas negali būti paprastai atimtas iš proceso • Grandininė laukimo sąlyga • Turi būti grandinė iš 2 ar daugiau procesų • Kiekvienas resursas laukia resurso, kurį turi kitas resursas toje grandinėje

  9. Aklaviečių modeliavimas • Aklaviečių modeliavimui naudojami orientuotieji grafai: • Kvadratuose žymimi resursai; • Apskritimasi žymimi procesai; • Rodyklė nuo resurso į procesą vaisduoja, kad tas procesas turi tą resursą (a); • Rodyklė nuo proceso į resursą vaiduoja, kad tas procesas reikalauja/laukia to resurso (b);

  10. Aklavietės pasireiškimo pavyzdys

  11. Aklavietės išvengimo pavyzdys

  12. Aklaviečių valdymo būdai • Tiesiog ignoruoti • Jei Jūs ignoruosite aklavietę, gal ji ignoruos jus. • Aptikti ir iš jos išeiti • Keisti aklavietėms įvykti, tada jas aptikti ir tik tada imtis veiksmų kaip išeiti. • Dinaminis išvengimas • Atidžiai paskirstyti resursus, kad aklavietės būtų neįmanomos. • Prenvencija • Iš anksto eliminuoti bent vieną iš būtinų aklavietei įvykti sąlygų, jog ji niekada negalėtų įvykti.

  13. Stručio algoritmas • Apsimetama, kad nėra jokios problemos • Tai pateisinama jei: • aklavietės pasitaiko labai retai • išvengimo kaina yra labai didelė • UNIX ir Windows naudojasi šia galimybe

  14. Aklaviečių aptikimas • Aklavietėms aptikti gali būti naudojami tie patys orientuotieji grafai; • Nurodžius visus resursus ir jų reikalaujančius procesus galima aptikti ciklus ri taip išskirti potencialias aklavietes

  15. Atstatymas po aklavietės • Atsatymas per pirmenybes • Atimamas resursas iš kito proceso; • Priklauso nuo proceso prigimties. • Atstatymas per kitų procesų suspendavimą • Kito proceso būklė išsaugoma ir perimamas resursas; • Kuomet resursas panaudotas ir atlieka – tas resursas gražinamas į buvusią padėtį (pagal prieš tai išsaugotą būseną). • Atstatymas baigiant kitus procesus • Jei norimas resursas naudojamas kito nelabai svarbaus proceso, tas procesas tiesiog užbaigiamas; • Kad jis neliktų neįgyvendintas, po resurso panaudojimo atitinkamai procesas gali būti paleistas iš naujo

  16. Aklaviečių išvengimas • Nurodoma dviejų procesų veiksmų ir naudojamų resursų sankirta; • Tada pagal tai tvarkoma kada kokį procesą vykdyti, kad netektų dalintis bendru resursu.

  17. Aklaviečių prevencija • Prevencijos esmė išvengti aklaviečių susidarymo sąlygų; • Tai daroma dar projektavimo etape, mąstant apie resursų prigimtį ir naudojimo specifiką; • Galimi variantai: • Eliminuoti išskirtinio resurso sąlgą; • Eliminuoti laikymo ir laukimo sąlygą; • Eliminuoti nedalinamų resursų sąlygą; • Eliminuoti grandininio laukio sąlygas.

  18. Išskirtinio resurso sąlygos eliminavimas • Darbas su resursasi vyksta per tarpinį elementą, kuris: • Leidžia vienu metu jį naudoti keliems resursams; • Iš kelių atskirų procesų sudaro atskirus resurso reikalavimo atvejus, kurie vykdomi tik pilnai turint pilną informaciją

  19. Laikymo ir laukimo sąlygos eliminavimas • Išeitis – pareikalauti resurso dar prieš realiai jį užsakant. • Problema – kaikada iš anksto negalima įvertinti kokių resursų prireiks. • Taip pat būtina nuspėti gan daug žingsnių į priekį, kad būtų galima paruošti reikalautą resursą darbui.

  20. Eliminuoti nedalinamų resursų sąlyga • Šio sprendimo dar nelabai yra. • Tai sudėtinga dėl tokių įrenginių skaip spausdintuvai: • Kaip vienu metu spasudintuvas gali spasudinti kelis dokumentus?

  21. Grandinių laukimo sąlygso eliminavimas • Resursai yra tarsi rikiuojami • Sudaromas resursų reikalaujančių procesų grafas aklaviečių preliminariam nuspėjimui

  22. Procesų badavimas • Kad ir kokiso priemonės būtų naudojamos aklaviečių valdymui – būtina įsitikinti, akd nebus juntamas tam tikrų procesų resursų badas • Kad ir labai minimalaus prioriteto procesas, bet galų gale jis turi gauti jam reikiamo resurso dalį

More Related