Title: Oper
1Operációs rendszerek
2Bevitel/Kivitel (I/O)
(B/K)
- Az I/O hardver alapjai
- Az I/O szoftver alapjai
- Holtpontok
- RAM lemezek
- Lemezek
- Órák
- Terminálok
31. Az I/O hardver alapjai
- sok I/O eszköz programozása kapcsolódik az eszköz
fizikai muködéséhez
41.1. I/O eszközök
- blokkos eszközök
- az információt adott méretu 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ímezheto, nincs keresés
- pl. nyomtató, egér,...
5- kivételek
- órák
- nem címezhetoek blokkonként
- nem generálnak, nem fogadnak karaktersorozatot
- csak jól meghatározott idointervallumonként
megszakításokat hoznak létre - memória leképezésu képernyok
61.2. Eszközvezérlok
- I/O egységek mechanikus elektromos összetevok
- maga az eszköz
eszközvezérlo -
(adapter) - lemezvezérlo kapcsolódási felületek
- IDE (Integrated Drive Electronics)
- SCSI (Small Computer System Interface)
7Kapcsolások I
- kisebb szamítógépek esetén a CPU és a vezérlok
közötti kapcsolat megvalósítása egysínu (busz)
8Kapcsolá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
9CPU-val történo 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ésu
helyeknek - speciális helyek minden vezérlo ennek a
területnek egy bizonyos részét foglalja le
10IRQ
- I/O kapuknál a regisztereinek olvasása/írása
befejezésével a vezérlo 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érlo lapka számára
11PC-n futó MS-DOS
- I/O vezérlok I/O címek Hardver IRQ
Megszakítási -
vektor - Óra 040-043 0
8 - Billentyuzet 060-063 1
9 - Merevlemez 1F0-1F7 14
118 - Másodlagos RS232 2F8-2FF 3
11 - Nyomtató 378-37F 7
15 - Hajlékonylemez 3F0-3F7 6
14 - Elsodleges RS232 3F8-3FF 4 12
121.3. Közvetlen memóriaelérés (DMA)
- DMA (Direct Memory Access)
- Lemezes olvasás DMA nélkül
- a vezérlo beolvassa a meghajtóból a blokkot a
saját belso pufferébe - kiszámolja a hibajavító kódot
- megszakítást idéz elo
- amikor az op. rendszer beindítja a futtatást, a
lemez egy blokkját a vezérlo pufferébol olvassa be
13Lemezes olvasás DMA-val
- a vezérlo beolvassa a meghajtóból a blokkot a
saját belso pufferébe - kiszámolja a hibajavító kódot
- átmásolja az elso bájtot vagy szót a fotá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 elo
- amikor az OS beindítja a futtatást, nem kell a
blokkot a memóriába másolni, mert az már ott van
14Lemezes olvasás DMA-val
- nem minden számítógép alkalmaz DMA-t
15Miért van szükség belso pufferra?
- ha a lemezes adatátvitel elkezdodött, a bitek
állandó átviteli sebességgel jönnek - ha a vezérlo 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érlonek várakoznia
kellene - ha azelott érkezik a lemezrol a következo szó,
hogy a vezérlo az elozot továbbadta, akkor a
vezérlonek avalahol tárolni kell azt. - de a hely korlátozott ezért sok az adminisztráció
16Közéillesztés (interleaving)
- blokkok átugrása, mialatt a vezérlo idohöz jut,
hogy átmozgasson adatot a memóriába
nincs közéillesztés
egyetlen közéillesztés
dupla közéillesztés
172. 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 elol - standard kapcsolódási felület a felhasználó felé
182.1. Az I/O szoftver célja
- eszközfüggetlenség
- sort lt input gt 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
19Az I/O szoftver rétegei
- 1. Megszakításkezelok (alsó szint)
- 2. Eszközmeghajtók
- 3. Eszközfüggetlen operációs rendszer szoftver
- 4. Felhasználói szintu szoftver (felso szint)
202.2. Megszakításkezelok
- A megszakítások az élet örömtelen dolgai.
- minden I/O muveletet 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
212.3. Eszközmeghajtók
- Az op. rendszer egyetlen olyan része, amely
tudja - hány regisztere van a vezérlonek
- azokat mire használja
- tud a szektorokról, pályákról, cilinderekrol
- Feladata az eszközfüggetlen szoftvertol érkezo
- kérések fogadása és annak biztosítása, hogy a
kérés - teljesítve legyen.
- blokkolások, hibakezelés
222.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ó szintu 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
242.5. A felhasználó helyu 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
25(No Transcript)
263. Holtpontok
- holtpont elofordulhat a hardver és a szoftver
eroforrásoknál egyaránt
273.1. Eroforrások
- sok olyan eroforrás létezik, amelyet egy idoben
csak egy processzus használhat - léteznek megszakítható és megszakíthatattlan
eroforrások - holtpont megszakíthatattlan eroforrások esetén
- a holtpont elofordulhat szoftver és hardver
eroforrásokkal kapcsolatban is
28- Egy eroforrás használatával kapcsolatos
- tevékenységek
- 1. az eroforrás kérése
- 2. az eroforrás használata
- 3. az eroforrás elengedése
293.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.
30A 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 eroforrá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
eroforrásokat - birtokolhatják és kérhetnek új
eroforrásokat.
31A holtpont feltételei (folyt.)
- 3. Megszakíthatattlanság feltétel.
- Egy processzustól az elozoleg engedélyezett
eroforrások nem vehetok el semmilyen módon. Az
eroforrásokat az oket birtokló processzusoknak
expliciten el kell engedni. - 4. Ciklikus várakozás feltétel.
- Két vagy több processzus összetevodo ciklikus
láncnak kell lennie, amelynek minden processzusa
olyan eroforrásra várakozik, amit a láncban
következo processzus fogva tart.
32A holtpont modellje
processzus eroforrás
a. b.
c.
- Az eroforrás hozzárendelésének gráfjai
- a. az eroforrás birtoklása
- b. egy eroforrás kérése
- c. holtpont
33(No Transcript)
34Holtpontokkal 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 eroforrások óvatos
lefoglalásával. 4. Megelozés, strukturálisan
meghiúsítva a négy szükséges feltételt.
353.3. A strucc algoritmus
- fejünket dugjuk a homokba és tegyünk úgy, mintha
egyáltalán semmi probléma nem lenne
363.4. Felismerés és helyreállítás
- a rendszer figyeli az eroforrásigényeket és
elengedéseket - ha az eroforrásgráfban kör keletkezett
- megszüntet egy abban levo processzust
- ha nem sikerült megszüntetni a holtpontot,
megszüntet egy másik processzust is, stb. - másik lehetoség ha egy processzus túl sokáig
foglal egy eroforrást, akkor megszünteti
373.5. A holtpont megelozé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
eroforrásigény elozetes kérése Ciklikus várakozás
Eroforrások számos elrendezése
383.6. A holtpont elkerülése
- Van-e olyan algoritmus, amellyel mindig
elkerülheto a holtpont? - Igen, de csak ha bizonyos információ elore ismert.
394. RAM lemezek
- A RAM lemezmeghajtóval
- a memória bármely része elérheto
- a tár egy részének lefoglalása - hagyományos
lemezhasználat szimulálása - nem állandó jellegu tárolás
- nagyon gyors elérést biztosít
404.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 fotár egy lefoglalt részében van
- azonnal elérheto (nincs keresés, forgatási késés)
- alkalmas olyan adatok és programok tárolására,
amelyeket gyakran kell elérni
41Különbségek
- RAM lemezeket támogató rendszer
- a gyökér mindig állandó helyen van
- a cserélheto filerendszer logikailag
bekapcsolható az állományfileba gt 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
43A 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
445. Lemezek
- lemez hardver
- lemez szoftver
- a merevlemez és a floppy kezelése közötti
különbségek
455.1. Lemez hardver
- A lemez szerkezete
- minden lemez cilinderekbe szervezett
- minden cilinder pályavonalakból áll
- minden pályavonal szektorokra van osztva
46- Lehetoségek
- 1 pályavonalon azonos számú szektor van
- a lemezt vezérlo 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 jellemzok különbözhetnek
a fizikai jellemzoktol - konvertálás a vezérlo elektronika feladata
495.2. Lemez szoftver
- A lemezes blokk olvasási ideje függ
- a keresési idotol (cilinder)
- fordulási késéstol (szektor)
- az adatmozgatés tényleges idejétol
- Hibakezelés
- Pályavonalankénti raktározás
50A lemez olvasófejét ütemezo algoritmusok
- FCFS (First Come First Serve)
- SSF (Shortest Seek First)
- liftes algoritmus
51FCFS
- a lemezmeghajtó a kéréseket egyesével fogadja és
teljesíti - nincs szükség/lehetoség optimalizálásra
52keresési irány
- Pl.
- kérések 11, 1, 36, 34, 9, 12
- 111 cilindernyi elmozdulás
53Optimalizá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
54SSF
- a legközelebbi cilindert keresi meg elsoként
- probléma nagyon surun betöltött lemez esetén
nehezen jut el a szélso cilinderekhez - minimális válaszido lt--gt méltányosság
55SSF
- Pl.
- 11, 1, 36, 34, 9, 12
- 61 cilindernyi elmozdulás
56Liftes 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 jelzo bit UP, DOWN
- Pl. 60 cilindernyi elmozdulás
57- a kérések tetszoleges halmaza esetén minden kérés
teljesítésének felso korlátja - 2 a cilinderek száma
- a válaszidoben kisebb a szórás, ha mindig azonos
irányban mozgunk
58Gyorsítótárazás (caching)
- egy szektor olvasására vonatkozó kérés tipikusan
a szektornak és a pályavonalán levo, ezt követo
bizonyos számú szektoroknak a vezérlotábla
gyorsítótárába való áthelyezést eredményez - a gyorsítótáblák használatát a vezérlo
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
59Hibakezelés
- RAM lemezek
- írhatók/olvashatók fizikai mozgás nélkül
- kevesebb a hibalehetoség
- Valódi lemezek esetén
- megno a hibalehetoségek száma
60Hibalehetosé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érlo hibája
61Pá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
625.3. Hajlékonylemezek kezelése
- általában csak tárolásra használjuk oket
- egyszerubb szerkezet - egyszerubb vezérlo
- cserélhetoség
- az IBM PC család minden floppy vezérloje egy
szoftver meghajtóval muködik
63- a meghajtó nem segíti a kérések újrarendezését
- DE
- vektorba gyujti a kéréseket mindaddig, amíg azok
egymás uténi szektorokra vonatkoznak - kisebb a kérések vektora
- OPTIONAL jelzo a kérésekre
64A floppy-egység néhány sajátossága
- cserélheto
- nyitva volt-e az ajtó
- üres-e az egység
- többféle lemezformátum
- minden lehetséges lemezformátumra különbözo
meghajtóegységet használ VAGY - a lemezmeghajtó a meghajtóegységet elérve
megvizsgálja az abban pillanatnyilag elérheto
lemez formátumát
65- motoros vezérlés
- motor ki/be kapcsolása
- felpörgetési ido
- egy kérés teljesítése után a motor még néhány
másodpercig jár
666. Órák
- timer (idozíto)
- ezek tartják karban a pontos idot
- 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
676.1. Az óra hardvere
- Egyszerubb órák
- közvetlenül a 110/220 V-os feszültségu vezetékre
kapcsolódnak - megszakítást okoznak minden fázisváltásnál
- frekvencia 50-60 Hz
68kristályoszcillátor
számláló regiszter
tároló regiszter
69Programozható órák mukö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
70Programozható órák muködése II
- ismétlodo 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étlodik a végtelenségig
- Periodikus megszakítások órajelek (clock ticks)
71- A programozható órák frekvenciáját szoftverbol is
lehet állítani - A programozható órachipek 2-3 független órát is
tartalmazhatnak
72Pontos ido
- valós ideju számláló
- a pontos ido elfelejtésének megakadályozása
- elemmel muködtetett órák
- indításkor a felhasználó megkérdezése
- UCT (Universal Coordinated Time)
- 1970 január 1, déli 12 óra
736.2. Az óra szoftvere
- Az órameghajtó pontos teendoi
- a pontos ido 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 idozíto
indítása) - a felhasználói programok által generált ALARM
kezelése (táblázat az összes függo riasztás
idopontjaival)
746.2. Az óra szoftvere
- Az órameghajtó pontos teendoi (folyt.)
- felügyeleti idozítok (watchdog timer) nyújtása a
rendszer többi része felé (ezeket az op.
rendszer igényli) - futásido-elemzés (profiling), monitorozás és
statisztikai adatok gyujtése
75Pontos ido
- a pontos ido nyilvántartásának három módja
76Több idozíto szimulációja egy órával
777. Terminálok
- minden számítógéphez csatlakozik egy vagy több
terminál - ezek lehetnek nagyon különbözoek
- a terminál meghajtó feladata a különbségek
elrejtése
787.1. Terminál hardver
79Tárcímleképezéses terminálok
- a video RAM-on keresztül illeszkednek a
számítógéphez - sorok száma általában 480-1024
- egy sorban a képpontok száma 640-1200 (pixel)
80Monokróm képernyo
- 1 karakter
- 9 pixel széles
- 14 pixel magas
- 25 sor
- soronként 80 karakter
- 350720 pixel
- másodpercenkénti 45-70 frissítés
81Képernyokezelés
- karakteres
- pl. 25 sor, 80 karakter/sor esetén 4000 bit RAM
szükséges - grafikus
- minden képpont külön vezérelheto
- színek ( RGB - vörös, zöld, kék)
- 8-24 bit
- pl. 7681024-es felbontás, 24-es színmélység
esetén 2 Mb RAM szükséges
82Billentyuzet
- elválasztható a képernyotol
- soros v. párhuzamos porton csatlakoztatható
- minden billentyu 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
83RS-232-es terminálok
- billentyuzet kijelzo
- csatlakozás a számítógéphez soros porton
keresztül - 9-25 tus 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- Típusok
- papírra író (hardcopy) terminálok
- buta terminálok
- üvegre író (glass tty)
- intelligens terminálok
- megértenek bizonyos ESC szekvenciákat
85X terminálok
- van CPU-juk
- Etherneten keresztül kommunikálnak a
számítóképekkel
86- általában X Window System fut rajtuk
- 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!
877.2. Terminál szoftver
- beolvasást kezelo szoftver
- kiírást kezelo szoftver
88Beolvasást kezelo szoftver
- a billentyuzetmeghajtó feladata fogadni a a
billentyuzetrol érkezo adatokat és továbbítani
azokat a felhasználói programoknak - 2 alapveto 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 billentyuzettérképek,
kódlapok
89Pufferelé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
90Echozás
- a szoftver feladata a bemeno adatok megjelenítése
- problémák
- sor hosszúság 80 karakter
- tabulátorok kezelése
- soremelés
91Kiírást kezelo 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