Oper - PowerPoint PPT Presentation

About This Presentation
Title:

Oper

Description:

Oper ci s rendszerek 2000-2001 / II. f l v Bevitel/Kivitel (I/O) Az I/O hardver alapjai Az I/O szoftver alapjai Holtpontok RAM lemezek Lemezek r k Termin lok 1. – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 92
Provided by: Emes150
Category:
Tags: oper | uart

less

Transcript and Presenter's Notes

Title: Oper


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 muködéséhez

4
1.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

6
1.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)

7
Kapcsolá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)

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é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

10
IRQ
  • 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

11
PC-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

12
1.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

13
Lemezes 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

14
Lemezes olvasás DMA-val
  • nem minden számítógép alkalmaz DMA-t

15
Mié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ó

16
Kö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
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 elol
  • standard kapcsolódási felület a felhasználó felé

18
2.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

19
Az 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)

20
2.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

21
2.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

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ó 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

24
2.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)
26
3. Holtpontok
  • holtpont elofordulhat a hardver és a szoftver
    eroforrásoknál egyaránt

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

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

31
A 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.

32
A 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)
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 eroforrások óvatos
lefoglalásával. 4. Megelozé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 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

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

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

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

41
Kü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

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
  • 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

49
5.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

50
A lemez olvasófejét ütemezo 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/lehetoség optimalizálásra

52
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 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

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

58
Gyorsí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

59
Hibakezelé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

60
Hibalehetosé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

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

64
A 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

66
6. Ó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

67
6.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

68
  • második típusú órák

kristályoszcillátor
számláló regiszter
tároló regiszter
69
Programozható ó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

70
Programozható ó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

72
Pontos 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

73
6.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)

74
6.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

75
Pontos ido
  • a pontos ido nyilvántartásának három módja

76
Több idozíto 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özoek
  • 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 480-1024
  • egy sorban a képpontok száma 640-1200 (pixel)

80
Monokró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

81
Ké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

82
Billentyuzet
  • 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

83
RS-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

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
  • 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 kezelo szoftver
  • kiírást kezelo szoftver

88
Beolvasá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

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 bemeno adatok megjelenítése
  • problémák
  • sor hosszúság 80 karakter
  • tabulátorok kezelése
  • soremelés

91
Kií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
Write a Comment
User Comments (0)
About PowerShow.com