Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Operációs rendszerek / II. félév
2
Bevitel/Kivitel (I/O)
(B/K) Az I/O hardver alapjai Az I/O szoftver alapjai Holtpontok RAM lemezek Lemezek Órák Terminálok
3
1. Az I/O hardver alapjai sok I/O eszköz programozása kapcsolódik az eszköz fizikai működéséhez
4
1.1. I/O eszközök blokkos eszközök karakteres eszközök
az információt adott méretű blokkban tárolja, mindegyiket saját címmel az egyes blokkok írhatók és olvashatók az összes többi blokktól függetlenül pl. lemez karakteres eszközök vagy kibocsájtja vagy fogadja a karaktersorozatot nincs blokk szerkezet nem címezhető, nincs keresés pl. nyomtató, egér,...
5
kivételek órák: memória leképezésű képernyők
nem címezhetőek blokkonként nem generálnak, nem fogadnak karaktersorozatot csak jól meghatározott időintervallumonként megszakításokat hoznak létre memória leképezésű képernyők
6
1.2. Eszközvezérlők I/O egységek = mechanikus + elektromos összetevők
maga az eszköz eszközvezérlő (adapter) lemezvezérlő kapcsolódási felületek: IDE (Integrated Drive Electronics) SCSI (Small Computer System Interface)
7
Kapcsolások I kisebb szamítógépek esetén a CPU és a vezérlők közötti kapcsolat megvalósítása: egysínű (busz) CPU Memória Lemez- vezérlő Nyomtató- Egyéb vezérlők ... vezérlő-eszköz kapcsolódási felület lemezmeghajtó egységek nyomtató sínrendszer
8
Kapcsolások II nagy szamítógépek esetén: több sínnel
speciális I/O processzorokkal (I/O csatornák) melyek átveszik a központi CPU-tól az átvitellel kapcsolatos feladatokat
9
CPU-val történő kapcsolat
néhány regiszterrel memóriába leképezett I/O : ezek a regiszterek részét képezik a szokásos memória címzésű helyeknek speciális helyek: minden vezérlő ennek a területnek egy bizonyos részét foglalja le
10
IRQ I/O kapuknál a regisztereinek olvasása/írása befejezésével a vezérlő megszakítással jelez a CPU felé megszakítás ~ elektromos jelenség hardver megszakítás kérés (Interrupt ReQuest): egy bemenet a megszakítást vezérlő lapka számára
11
PC-n futó MS-DOS I/O vezérlők I/O címek Hardver IRQ Megszakítási
vektor Óra Billentyűzet Merevlemez F0-1F Másodlagos RS F8-2FF Nyomtató F Hajlékonylemez 3F0-3F Elsődleges RS F8-3FF
12
1.3. Közvetlen memóriaelérés (DMA)
DMA (Direct Memory Access) Lemezes olvasás DMA nélkül a vezérlő beolvassa a meghajtóból a blokkot a saját belső pufferébe kiszámolja a hibajavító kódot megszakítást idéz elő amikor az op. rendszer beindítja a futtatást, a lemez egy blokkját a vezérlő pufferéből olvassa be
13
Lemezes olvasás DMA-val
a vezérlő beolvassa a meghajtóból a blokkot a saját belső pufferébe kiszámolja a hibajavító kódot átmásolja az első bájtot vagy szót a főtárba arra a címre, amit a DMA memóriacíme kijelöl megnöveli a DMA címet és csökkenti a számláló értékét a mozgatott bájtok számával megszakítást idéz elő amikor az OS beindítja a futtatást, nem kell a blokkot a memóriába másolni, mert az már ott van
14
Lemezes olvasás DMA-val
számláló memória CPU lemez- vezérlő meghajtóegység DMA regiszterek puffer memóriacím sínrendszer nem minden számítógép alkalmaz DMA-t
15
Miért van szükség belső pufferra?
ha a lemezes adatátvitel elkezdődött, a bitek állandó átviteli sebességgel jönnek ha a vezérlő az adatot közvetlenül a memóriába próbálná írni, akkor a sínt kellene használnia ha a sín épp foglalt a vezérlőnek várakoznia kellene ha azelőtt érkezik a lemezről a következő szó, hogy a vezérlő az előzőt továbbadta, akkor a vezérlőnek avalahol tárolni kell azt. de a hely korlátozott ezért sok az adminisztráció
16
Közéillesztés (interleaving)
blokkok átugrása, mialatt a vezérlő időhöz jut, hogy átmozgasson adatot a memóriába 7 1 2 3 4 5 6 1 2 3 4 5 6 7 1 2 3 4 5 6 7 nincs közéillesztés egyetlen közéillesztés dupla közéillesztés
17
2. Az I/O szoftver alapelvei
Elvárások: a szoftver rétegek sorozatából épüljön fel a hardver sajátosságait az alacsonyabb szintek rejtsék el a magasabb szintek elől standard kapcsolódási felület a felhasználó felé
18
2.1. Az I/O szoftver célja eszközfüggetlenség
sort < input > output egységes névhasználat hibakezelés: amennyire csak lehet a hardverhez közeli szinten kell kezelni átviteli módszerek elrejtése: a szinkron (blokkolás) és aszinkron átvitel egységes kezelése megosztott/monopol eszközök használata
19
Az I/O szoftver rétegei
1. Megszakításkezelők (alsó szint) 2. Eszközmeghajtók 3. Eszközfüggetlen operációs rendszer szoftver 4. Felhasználói szintű szoftver (felső szint)
20
2.2. Megszakításkezelők “A megszakítások az élet örömtelen dolgai.”
minden I/O műveletet elkezdett processzus megszakad, amíg az I/O végbemegy, és egy megszakítás megjelenik megszakítás esetén a megszakítás eljárásnak meg kell szüntetnie annak a processzusnak a blokkoltságát, amely elindította
21
2.3. Eszközmeghajtók Az op. rendszer egyetlen olyan része, amely tudja: hány regisztere van a vezérlőnek azokat mire használja tud a szektorokról, pályákról, cilinderekről Feladata: az eszközfüggetlen szoftvertől érkező kérések fogadása és annak biztosítása, hogy a kérés teljesítve legyen. blokkolások, hibakezelés
22
2.4. Eszközfüggetlen I/O szoftver
Feladata: azon I/O tevékenységek végrehajtása, amelyek minden eszköznél közösek szabványos kapcsolódási felület biztosítása a felhasználó szintű szoftver részére
23
Az eszközfüggetlen I/O szoftver tevékenységei
egységes kapcsolódási felület a megjahjtóknak eszközök megnevezése eszközök védelme eszközfüggetlen blokkméret biztosítása pufferezés tárolóhely lefoglalása blokkos eszközökön monopol módú eszközök lefoglalása és elengedése hibaüzenet
24
2.5. A felhasználó helyű I/O szoftver
nem minden I/O szoftver fut az op. rendszerben háttértárolás (spooling) a monopol használatú eszközök számára nyomtatáskor: démon, háttérkönyvtár
26
3. Holtpontok holtpont előfordulhat a hardver és a szoftver erőforrásoknál egyaránt
27
3.1. Erőforrások sok olyan erőforrás létezik, amelyet egy időben csak egy processzus használhat léteznek megszakítható és megszakíthatattlan erőforrások holtpont: megszakíthatattlan erőforrások esetén a holtpont előfordulhat szoftver és hardver erőforrásokkal kapcsolatban is
28
Egy erőforrás használatával kapcsolatos
tevékenységek: 1. az erőforrás kérése 2. az erőforrás használata 3. az erőforrás elengedése
29
3.2. A holtpont alapelvei Egy processzusokból álló halmaz holtpontban
van, ha mindegyik halmazbéli processzus olyan eseményre várakozik, amit csak egy másik halmazbéli processzus okozhat.
30
A holtpont feltételei Coffman et. al. (1971):
4 feltétel szükséges a holtponthoz: 1. Kölcsönös kizárás feltétel. Minden egyes erőforrás vagy hozzá van rendelve pontosan egy processzushoz, vagy szabad. 2. Birtoklás és várakozás feltétel. A processzusok a már korábban kapott erőforrásokat birtokolhatják és kérhetnek új erőforrásokat.
31
A holtpont feltételei (folyt.)
3. Megszakíthatattlanság feltétel. Egy processzustól az előzőleg engedélyezett erőforrások nem vehetők el semmilyen módon. Az erőforrásokat az őket birtokló processzusoknak expliciten el kell engedni. 4. Ciklikus várakozás feltétel. Két vagy több processzus összetevődő ciklikus láncnak kell lennie, amelynek minden processzusa olyan erőforrásra várakozik, amit a láncban következő processzus fogva tart.
32
A holtpont modellje Az erőforrás hozzárendelésének gráfjai:
processzus erőforrás a b c. Az erőforrás hozzárendelésének gráfjai: a. az erőforrás birtoklása b. egy erőforrás kérése c. holtpont
34
Holtpontokkal kapcsolatos stratégiák
1. A probléma teljesen figyelmen kívül hagyása. 2. Felismerés és helyreállítás. 3. Dinamikus elkerülés az erőforrások óvatos lefoglalásával. 4. Megelőzés, strukturálisan meghiúsítva a négy szükséges feltételt.
35
3.3. A strucc algoritmus fejünket dugjuk a homokba és tegyünk úgy, mintha egyáltalán semmi probléma nem lenne
36
3.4. Felismerés és helyreállítás
a rendszer figyeli az erőforrásigényeket és elengedéseket ha az erőforrásgráfban kör keletkezett megszüntet egy abban levő processzust ha nem sikerült megszüntetni a holtpontot, megszüntet egy másik processzust is, stb. másik lehetőség: ha egy processzus túl sokáig foglal egy erőforrást, akkor megszünteti
37
3.5. A holtpont megelőzése olyan megszorításokat ró a processzusokra, hogy a holtpont eleve lehetetlen Feltétel Megközelítés Kölcsönös kizárás Háttértárolás Birtokol és várakozik Az összes erőforrásigény előzetes kérése Ciklikus várakozás Erőforrások számos elrendezése
38
3.6. A holtpont elkerülése Van-e olyan algoritmus, amellyel mindig elkerülhető a holtpont? Igen, de csak ha bizonyos információ előre ismert.
39
4. RAM lemezek A RAM lemezmeghajtóval a memória bármely része elérhető
a tár egy részének lefoglalása - hagyományos lemezhasználat szimulálása nem állandó jellegű tárolás nagyon gyors elérést biztosít
40
4.1. Hardver és szoftver a RAM lemeznél
Blokkos eszköz: tároló két parancsal: egy blokk olvasása egy blokk írása RAM lemez: a blokk a főtár egy lefoglalt részében van azonnal elérhető (nincs keresés, forgatási késés) alkalmas olyan adatok és programok tárolására, amelyeket gyakran kell elérni
41
Különbségek RAM lemezeket támogató rendszer:
a gyökér mindig állandó helyen van a cserélhető filerendszer logikailag bekapcsolható az állományfileba => egységes filerendszer, nem a felhasználó feladata az eszközök hollétének meghatározása pl. Linux, Unix
42
RAM lemezeket nem támogató rendszer:
minden állomány helyét a felhasználó kell meghatározza: explicit módon, pl. D:\DIR\P1 alapbeállítások segítségével (aktuális meghajtó, ...) 1-2 floppy még nem gond, de nagyobb rendszerek esetén nagyon sok eszköz lehetséges pl. DOS
43
A RAM lemez alapgondolata
n db blokk blokk írása/olvasása: ki kell számolni a helyét az átvitel assemblyben van megírva a RAM lemezmeghajtó támogatja a memória több területének RAM-lemezként való használatát
44
5. Lemezek lemez hardver lemez szoftver
a merevlemez és a floppy kezelése közötti különbségek
45
5.1. Lemez hardver A lemez szerkezete
minden lemez cilinderekbe szervezett minden cilinder pályavonalakból áll minden pályavonal szektorokra van osztva
46
1 pályavonalon azonos számú szektor van
Lehetőségek: 1 pályavonalon azonos számú szektor van a lemezt vezérlő hardver kezeli létezik olyan floppy egység, amelyik nagyobb sebességgel forgatja a lemezt, ha a fejek a kintebbi pályavonalaknál vannak IDE (Integrated Drive Electronics) a kintebbi pályákon több szektor van az op. rendszer számára minden cilinder azonos számú szektort tartalmaz a meghajtóba beépített elektronika
47
Átlapolt keresés egyszerre több meghajtón is lehet keresni
1 olvasás/írás + több keresés több olvasás/írás több: 1-nél több merevlemez-meghajtó esetén
48
a szoftver által kezelt jellemzők különbözhetnek a fizikai jellemzőktől
konvertálás: a vezérlő elektronika feladata
49
5.2. Lemez szoftver A lemezes blokk olvasási ideje függ:
a keresési időtől (cilinder) fordulási késéstől (szektor) az adatmozgatés tényleges idejétől Hibakezelés Pályavonalankénti raktározás
50
A lemez olvasófejét ütemező algoritmusok
FCFS (First Come First Serve) SSF (Shortest Seek First) liftes algoritmus
51
FCFS a lemezmeghajtó a kéréseket egyesével fogadja és teljesíti
nincs szükség/lehetőség optimalizálásra
52
111 cilindernyi elmozdulás
keresési irány Pl. kérések: 11, 1, 36, 34, 9, 12 111 cilindernyi elmozdulás
53
Optimalizálás Táblázat: cilinderszámmal indexelve
minden cilinderszámhoz létrehozza az adott kérések láncolt listáját a kérések teljesítésének optimalizálása
54
SSF a legközelebbi cilindert keresi meg elsőként
probléma: nagyon sűrűn betöltött lemez esetén nehezen jut el a szélső cilinderekhez minimális válaszidő <--> méltányosság
55
SSF Pl. 11, 1, 36, 34, 9, 12 61 cilindernyi elmozdulás
56
Liftes algoritmus folyamatosan ugyan abban az irányban mozog, amíg van abban az irányban el nem intézett kérés, utána irányt vált egy aktuális irányt jelző bit: UP, DOWN Pl. 60 cilindernyi elmozdulás
57
a kérések tetszőleges halmaza esetén minden kérés teljesítésének felső korlátja:
2 * a cilinderek száma a válaszidőben kisebb a szórás, ha mindig azonos irányban mozgunk
58
Gyorsítótárazás (caching)
egy szektor olvasására vonatkozó kérés tipikusan a szektornak és a pályavonalán levő, ezt követő bizonyos számú szektoroknak a vezérlőtábla gyorsítótárába való áthelyezést eredményez a gyorsítótáblák használatát a vezérlő dinamikusan határozza meg általában a gyorsítótáblák két részre vannak osztva: olvasás, írás több meghajtóegység esetén külön-külön táblázat a kérések számára
59
Hibakezelés RAM lemezek írhatók/olvashatók fizikai mozgás nélkül
kevesebb a hibalehetőség Valódi lemezek esetén megnő a hibalehetőségek száma
60
Hibalehetőségek programozási hiba a javítókód ideiglenes hibája
a javítókód tartós hibája kezelési hiba (mechanikus) a vezérlő hibája
61
Pályavonalankénti raktározás
cilinder fordulási átvitel keresés kérés ideje pályavonalankénti gyorstárba raktározás hátrány: a CPU használat a DMA hardver helyett
62
5.3. Hajlékonylemezek kezelése
általában csak tárolásra használjuk őket egyszerűbb szerkezet - egyszerűbb vezérlő cserélhetőség az IBM PC család minden floppy vezérlője egy szoftver meghajtóval működik
63
a meghajtó nem segíti a kérések újrarendezését
vektorba gyűjti a kéréseket mindaddig, amíg azok egymás uténi szektorokra vonatkoznak kisebb a kérések vektora OPTIONAL jelző a kérésekre
64
A floppy-egység néhány sajátossága
cserélhető nyitva volt-e az ajtó üres-e az egység többféle lemezformátum minden lehetséges lemezformátumra különböző meghajtóegységet használ VAGY a lemezmeghajtó a meghajtóegységet elérve megvizsgálja az abban pillanatnyilag elérhető lemez formátumát
65
motoros vezérlés motor ki/be kapcsolása felpörgetési idő
egy kérés teljesítése után a motor még néhány másodpercig jár
66
6. Órák timer (időzítő) ezek tartják karban a pontos időt
megakadályozzák hogy egy folyamat kisajátítsa a CPU-t az óra szoftvere általában eszközmeghajtó formában jelenik meg sem nem blokkos eszköz sem nem karakteres eszköz
67
6.1. Az óra hardvere Egyszerűbb órák:
közvetlenül a 110/220 V-os feszültségű vezetékre kapcsolódnak megszakítást okoznak minden fázisváltásnál frekvencia: Hz
68
második típusú órák: kristályoszcillátor számláló regiszter
tároló regiszter
69
Programozható órák működése I
egyszeri módban (one shot mode) amikor az óra elindul, a tárolóregiszter tartalma a számlálóba másolódik a kristály minden impulzusának hatására a számláló tartalma 1-el csökken amikor a számláló értéke eléri a 0-t, megszakítást okoz az óra megáll mindaddig, amíg azt a szoftver újra nem indítja
70
Programozható órák működése II
ismétlődő módban (square-wave mode) minden órajelre csökken a számláló értéke amikor a számláló értéke eléri a 0-t, megszakítást okoz a tárolóregiszter tartalma a számlálóba másolódik az egesz folyamat ismétlődik a végtelenségig Periodikus megszakítások: órajelek (clock ticks)
71
A programozható órák frekvenciáját szoftverből is lehet állítani
A programozható órachipek 2-3 független órát is tartalmazhatnak
72
Pontos idő valós idejű számláló
a pontos idő elfelejtésének megakadályozása elemmel működtetett órák indításkor a felhasználó megkérdezése UCT (Universal Coordinated Time) 1970 január 1, déli 12 óra
73
6.2. Az óra szoftvere Az órameghajtó pontos teendői:
a pontos idő karbantartása annak megakadályozása, hogy egy folyamat tovább fusson, mint ami számára engedélyezett a CPU használatának könyvelése (második időzítő indítása) a felhasználói programok által generált ALARM kezelése (táblázat az összes függő riasztás időpontjaival)
74
6.2. Az óra szoftvere Az órameghajtó pontos teendői (folyt.):
felügyeleti időzítők (watchdog timer) nyújtása a rendszer többi része felé (ezeket az op. rendszer igényli) futásidő-elemzés (profiling), monitorozás és statisztikai adatok gyűjtése
75
Pontos idő a pontos idő nyilvántartásának három módja:
76
Több időzítő szimulációja egy órával
77
7. Terminálok minden számítógéphez csatlakozik egy vagy több terminál
ezek lehetnek nagyon különbözőek a terminál meghajtó feladata a különbségek elrejtése
78
7.1. Terminál hardver termináltípusok
79
Tárcímleképezéses terminálok
a video RAM-on keresztül illeszkednek a számítógéphez sorok száma: általában egy sorban a képpontok száma: (pixel)
80
Monokróm képernyő 1 karakter: 25 sor soronként 80 karakter
9 pixel széles 14 pixel magas 25 sor soronként 80 karakter 350*720 pixel másodpercenkénti frissítés
81
Képernyőkezelés karakteres grafikus
pl. 25 sor, 80 karakter/sor esetén 4000 bit RAM szükséges grafikus minden képpont külön vezérelhető színek: ( RGB - vörös, zöld, kék) 8-24 bit pl. 768*1024-es felbontás, 24-es színmélység esetén 2 Mb RAM szükséges
82
Billentyűzet elválasztható a képernyőtől
soros v. párhuzamos porton csatlakoztatható minden billentyű leütése/elengedése esetén megszakítás jön létre nem ASCII hanem scan kódokat küld a meghajtó feladata, hogy milyen karaktert ütöttünk le
83
RS-232-es terminálok billentyűzet + kijelző
csatlakozás a számítógéphez: soros porton keresztül 9-25 tűs csatlakozó 1 karakter elküldése bitenként történik: start bit, karakter kód, 1-2 stop bit karakter/soros átvitel konverziók: UART (Universal Asynchronous Receiver Transmitters)
84
papírra író (hardcopy) terminálok buta terminálok
Típusok: papírra író (hardcopy) terminálok buta terminálok “üvegre író” (glass tty) intelligens terminálok megértenek bizonyos ESC szekvenciákat
85
X terminálok van CPU-juk
Etherneten keresztül kommunikálnak a számítóképekkel
86
általában X Window System fut rajtuk X server
“csak”, “is” X server az X terminálon fut! összegyüjti az adatokat és továbbítja a kiszolgálógéphez ablakfigyelés X kliens a gazdaszámítógépen fut!
87
7.2. Terminál szoftver beolvasást kezelő szoftver
kiírást kezelő szoftver
88
Beolvasást kezelő szoftver
a billentyűzetmeghajtó feladata fogadni a a billentyűzetről érkező adatokat és továbbítani azokat a felhasználói programoknak 2 alapvető szemlélet: karakterorientált (nyers) POSIX: nem kanonikus mód sororientált (feldolgozott) POSIX: kanonikus mód ASCII (American Standard Code for Information Interchange) más nyelvek számára: billentyűzettérképek, kódlapok
89
Pufferelés két módja van:
a meghajtó egy közös pufferterületet tartalmaz a terminálhoz tartozó adatszerkezet tartalmazza a puffert, nincs közös pufferterület
90
Echozás a szoftver feladata a bemenő adatok megjelenítése problémák:
sor hosszúság: 80 karakter tabulátorok kezelése soremelés
91
Kiírást kezelő szoftver
pl. RS-232 esetén minden terminálhoz kapcsolódik egy kimeneti puffer az echozott adatok is a pufferbe másolódnak Problémák gördítés kurzorpozicionálás ESC szekvenciák kezelése
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.