1 / 91

Operációs rendszerek

Operációs rendszerek. 2000-2001 / II. félév. Bevitel/Kivitel (I/O). (B/K). Az I/O hardver alapjai Az I/O szoftver alapjai Holtpontok RAM lemezek Lemezek Órák Terminálok. 1. Az I/O hardver alapjai. sok I/O eszköz programozása kapcsolódik az eszköz fizikai működéséhez. 1.1. I/O eszközök.

lali
Download Presentation

Operációs rendszerek

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. Operációs rendszerek 2000-2001 / 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 • 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: • 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. lemezmeghajtó egységek nyomtató vezérlő-eszköz kapcsolódási felület CPU Memória Lemez- vezérlő Nyomtató- vezérlő Egyéb vezérlők ... sínrendszer 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)

  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 040-043 0 8 Billentyűzet 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 Elsődleges RS232 3F8-3FF 4 12

  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. meghajtóegység CPU memória lemez- vezérlő puffer DMA regiszterek memóriacím számláló számláló sínrendszer Lemezes olvasás DMA-val • 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. 5 0 7 0 7 0 2 3 1 6 3 4 7 6 5 2 6 1 1 4 2 5 4 3 Közéillesztés (interleaving) • blokkok átugrása, mialatt a vezérlő időhöz jut, hogy átmozgasson adatot a memóriába 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 éselengedé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. 3. Holtpontok • holtpont előfordulhat a hardver és a szoftver erőforrásoknál egyaránt

  26. 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

  27. 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

  28. 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.

  29. 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.

  30. 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.

  31. A holtpont modellje processzus erőforrás 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 a. b. c.

  32. 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.

  33. 3.3. A strucc algoritmus • fejünket dugjuk a homokba és tegyünk úgy, mintha egyáltalán semmi probléma nem lenne

  34. 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

  35. 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

  36. 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.

  37. 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

  38. 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

  39. 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

  40. 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

  41. 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

  42. 5. Lemezek • lemez hardver • lemez szoftver • a merevlemez és a floppy kezelése közötti különbségek

  43. 5.1. Lemez hardver A lemez szerkezete • minden lemez cilinderekbe szervezett • minden cilinder pályavonalakból áll • minden pályavonal szektorokra van osztva

  44. 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

  45. Á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

  46. a szoftver által kezelt jellemzők különbözhetnek a fizikai jellemzőktől • konvertálás: a vezérlő elektronika feladata

  47. 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

  48. A lemez olvasófejét ütemező algoritmusok • FCFS (First Come First Serve) • SSF (Shortest Seek First) • liftes algoritmus

More Related