270 likes | 486 Views
Operacinės sistemos. asist. S. Ramanauskaitė. Įvesties/Išvesties įrenginių tipai. Įvesties/Išvesties įrenginiai gali būti sudalinti į 2 atskiras grupes: Blokiniai – duomenys iš ar į įrenginį keliauja atskirais blokais. Tokiu atveju vienas blokas neturi įtakos kitam (kietasis ir kiti diskai).
E N D
Operacinės sistemos asist. S. Ramanauskaitė
Įvesties/Išvesties įrenginių tipai • Įvesties/Išvesties įrenginiai gali būti sudalinti į 2 atskiras grupes: • Blokiniai – duomenys iš ar į įrenginį keliauja atskirais blokais. Tokiu atveju vienas blokas neturi įtakos kitam (kietasis ir kiti diskai). • Srautiniai – duomenys keliauja atskirais srautais, o ne tam tikro dydžio blokais (spausdintuvai, tinklo interfeisas, pelė ir pan.).
Įrenginių kontroleriai • Kiekvienas įrenginys susideda iš: • Mechaninių komponentų; • Elektroninių komponentų. • Elektroniniai komponentai vadinami įrenginio kontroleriais arba adapteriais; • Kontrolerio užduotis yra: • Paversti bitų seką į baitų seką; • Jei reikia atlikti klaidų taisymą; • Padaryti įrenginį prieinamą pagrindinei atminties.
Į/I įrenginių priėjimas • Kontroleriai turi keletą registrų, kurie naudojami įrenginio būsenai nustatyti; • Kai kurie dar turi duomenų buferius, kurie naudojami spartesniam operacinės sistemos skaitymui ar rašymui į tą įrenginį; • Procesorius su Į/I įrenginiu (registrais ar buferiu) gali bendrauti: • Į/I prievadais (atskiras sujungimas duomenų keitimuisi); • Bendra adresų erdvė (įrenginys įsivaizduojamas kaip dalis pagrindinės atminties).
Tiesioginis atminties priėjimas (DMA) • DMA kontrolerių pagalba duomenų perdavime gali nedalyvauti procesorius; • Tokiu atveju ir įrenginys turi turėti DMA kontrolerį
Pertraukimai • Įrenginiai per pertraukimų kontrolerį perspėja, kad nori procesoriaus dėmesio; • Tik tuomet pertraukimas apdorojamas procesoriaus.
Į/I programinės įrangos tikslai • Nepriklausanti nuo įrenginio: • Programos prieina bet kokius Į/I įrenginius; • Iš anksto nebūtina žinoti koks tai įrenginys (Floppy, kietasis diskai ar CD-ROM). • Nepriklausanti nuo pavadinimo • Nesvarbu ar failo arba įrenginio pavadinimas yra tekstas ar skaičius; • Neturi priklausyti kokiame kompiuteryje veikia. • Apdorojanti klaidas • Apdoroti klaidas kiek įmanoma arčiau pačios geležies.
Duomenų perdavimo būdai • Duomenys gali būti perduodami dviem būdais: • Blokuojantis (sinchroninis) • Neblokuojantis (asinchroninis). • Dauguma fizinių įvedimo-išvedimo operacijų atliekamos asinchroniškai. • OS įvedimo-išvedimo operacijas atlieka asinchroniškai, bet pateikia jas vartotojų programoms sinchroninėje formoje.
Įrenginių panaudojimo būdai • Dalinami įrenginiai, galimas vienalaikis kelių vartotojų kreipimasis (diskas). • Išskiriami įrenginiai, negalimas vienalaikis kelių vartotojų kreipimasis (spausdintuvas).
Vartotojo programinės įrangos sluoksnis Nepriklausomas nuo įrenginių OS sluoksnis Įrenginių tvarkyklės Pertraukimų apdorojimas Į/I programinės įrangos struktūra
Pertraukimų apdorojimas • Pertraukimų apdorojimas turi būti atliekamas kaip galima žemesniuose OS lygiuose. • Geriausias sprendimo būdas – leisti procesui, iniciavusiam įvedimo-išvedimo operaciją užsiblokuoti iki operacijos pabaigos ir pertraukimo atsiradimo.
Įrenginių tvarkyklės (Draiveriai) • Visas nuo įrenginio priklausantis kodas yra įrenginio tvarkyklėje. • Kiekviena tvarkyklė valdo vieno tipo, galbūt vienos klasės įrenginius. • Operacinėje sistemoje tik įrenginio tvarkyklė žino įrenginio konkrečias savybes.
Nepriklausantis nuo įrenginių OS sluoksnis • Tipinės nepriklausomo nuo įrenginių sluoksnio funkcijos yra: • įrenginių tvarkyklių bendro interfeiso realizavimas, • įrenginių įvardinimas, • įrenginių apsauga, • nepriklausomo bloko ilgio realizavimas, • buferizavimas, • atminties paskirstymas blokams orientuotiems įrenginiams, • išskirtų įrenginių priskyrimas ir atlaisvinimas, • informavimas apie klaidas.
Vartotojiškas programinės įrangos sluoksnis • Nors didesnė įvedimo-išvedimo programinės įrangos dalis yra OS, tam tikra jos dalis yra bibliotekose, surištose su vartotojo programomis. • Sisteminės užklausos, atliekančios įvedimo-išvedimo užklausas, paprastai yra bibliotekinės procedūros.
Spulingo posistemė • Spulingas – tai darbo su išskirtaisiais įrenginiais multiprograminėje sistemoje būdas. • Specialus procesas – monitorius, kuris turi išskirtines išskirtojo įrenginio panaudojimo teises
Įrenginių tvarkyklės (draiveriai) • Kiekvienas įrenginys yra savitas, tad reikalauja kitokio valdymo kodo; • Tą kodą kiekvieno tipo kompiuteriams kuria įrenginio gamintojas.
Standartinis tvarkyklių interfeisas • Nors ir pateikiamos įrenginio tvarkyklės, jos gali reikalauti papildomo programavimo jų panaudojimui (a) • Kad kiekvieną kartą nereikėtų keisti OS, kai tik pasirodo naujas įrenginys, įrenginiam turėtų būti taikomas standartinis interfeisas (b)
Duomenų buferizavimas bendraujant su Į/I įrenginiais • Nebuferizuoti duomenų; • Buferizuoti vartotojo erdvėje; • Buferizuoti branduolyje ir tik po to perduoti vartotojui; • Dvigubo buferio naudojimas.
Dalyvaujančios dalys bendravimo su Į/I eiga programine prasme • Vartotojo procesai – reikalauja ar gauna duomenis; • Nuo įrenginio nepriklausoma programinė įranga – sąsajos su tvarkyklėmis suvienodinimas; • Tvarkyklės – darbas su pačiu įrenginius; • Pertraukimų valdytojai – įrenginių inicijuotų veiksmų apdorojimui; • Įrenginys – Į/I operacijų atlikimas.
Diskinių įrenginių esmė • Realiai diskai skirstomi į zonas, kurių kiekvienoje yra skirtingas skaičius sektorių; • Supaprastinimui virtualiai galvojama apie vienodai pasiskirsčiusius sektorius.
Diskinių įrenginių esmė • Realiai būna skaitoma informacija iš kelių diskų lygiagrečiai; • Skaitymo galvutės vaikšto tik pirmyn/atgal, o nuskaitymas vyksta diskam sukantis aplink savo ašį.
CD įrašų struktūra • Įrašas formuojamas spirale, reikiamose vietose “išdeginant” žymes, atskirti loginius 0 ir 1
CD įrašų struktūra • Duomenys CD formuojami tam tikrais blokais, kurių struktūra pateikta žemiau; • Yra ir kitų standartų, bet jų esmė išlieka tokia pati.
Disko galvutės valdymo algoritmai Pending requests Initial position • Vertinant nuskaitymą atsižvelgiama į: • Skaitymo galvytės judėjimo greitį; • Sukimosi greitį; • Realų duomenų perdavimo greitį.
Energijos eikvojimas • Energijos sąnaudoms mažinti vaizduokliai dažnai būna sudalinami į zonas; • Atnaujinamos tik tos ekrano vietos, kuriose yra aktyvių (besikeičiančių) elementų.