Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Operációs rendszerek 2000-2001 / II. félév.

Hasonló előadás


Az előadások a következő témára: "Operációs rendszerek 2000-2001 / II. félév."— Előadás másolata:

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

25

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

33

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


Letölteni ppt "Operációs rendszerek 2000-2001 / II. félév."

Hasonló előadás


Google Hirdetések