Professional Documents
Culture Documents
A processzorok egyik fontos jellemzője, hogy hány és milyen típusú utasítás végrehajtására képesek.
A proci számára értelmezhető utasítások összességét nevezzük utasításkészletnek. Felépítésük: a)
műveleti rész: a proci számára elvégzendő feladatot határozza meg. b) módosító rész: kiegészítő
információt ad a műveleti és cím rész értelmezéséhez. c) címrész: a művelet végrehajtásához
szükséges adatok helyét határozza meg a számítógép tárolójában.
Utasítás szerkezete:
1. Műveleti jelrész 2. Kiegészítő rész 3. Operandus hivatkozások
1.: meghatározza, hogy milyen műveletet kell végrehajtani a processzornak.
2.: az 1. és 3. pontos értelmezéséhez szükséges információkat ad meg.
3.: hol található és milyen adatokkal kell végrehajtani a műveletet.
A verem vagy egy regiszter a (központi feldolgozó egység= Central Processing Unit) CPU-ban, vagy
egy kijelölt memóriaterület a főtárban, amelyből az utoljára beírt adatokat lehet először kiolvasni. Az
adatforgalom a bemeneti sorrenddel ellenkező sorrendű, vagyis az először beírt adatot lehet majd
utoljára kiolvasni. (LIFO)
Veremmutató: (SP= Stack Pointer) a verem megcímzésére használjuk.
A vermet kezelő utasítások: (PUSH op, PUSHF, POP of, POPF) két veremművelet van
- 1. írás: a verem tetejére, ezt nevezzük adatbevitelnek. (PUSH).
Az adatbevitel művelete: Egy regiszterben pl. az akkumulátorban lévő adatokat beírjuk abba a
memóriarekeszbe, amelyet a veremmutató címez meg. A műveletet követően az SP automatikusan
inkrementálódik. (nő)
- 2. olvasás: a verem felső részéből, ezt nevezzük adatkihozatalnak (POP).
Az adatkihozatal művelete: Az SP tartalmát eggyel csökkenti – dekrementálja, így a verembe utolsóként
(legfelső) került adatot címzi meg, a megcímzett memóriarekesz (veremrekesz) tartalmát továbbítja az
aktuális regiszterbe, pl. az akkumulátorba.
Utasításfolyam: az utasítások egymás utáni sorozata, amelyeket egy program lefuttatása során
végrehajt a számítógép. Adatfolyam: az utasításfolyam utasításai mindig meghatározott adatokra
hivatkoznak, amelyekkel a műveleteket el kell végezni. Ezek egymásutániságát, amilyen sorrendben
rendelkezésre kell állniuk, nevezzük adatfolyamnak.
SISD: Egyetlen utasításfolyam, egyetlen adatfolyamot dolgoz fel. Ide tartoznak a hagyományos
Neumann-elvű számítógépek.
SIMD: Egyetlen utasításfolyammal, többszörös adatfolyamot dolgoz fel. Párhuzamosan működő több
ALU egységet tartalmaznak. Vektorműveleteket képesek végrehajtani. Két alaptípusa a közös és osztott
memóriával rendelkező gépek.
MISD: Több utasításfolyammal, egyetlen adatfolyamot dolgoz fel. A gyakorlatban ilyen gépek nem
léteznek.
MIMD: Több utasításfolyammal, több adatfolyamot dolgoz fel. Multiprocesszoros rendszerek tartoznak ide.
Adatok ábrázolása:
Fixpontos számábrázolás: ebben az ábrázolási módban a szám kettes számrendszerbeli együtthatóit
tároljuk helyi értékeinek megfelelően egy rögzített nagyságú memóriaterületen. A memóriaterület
nagysága leggyakrabban 1 bájt. De 2 bájt méretű a WORD szó, és 4 bájt méretű duplaszó a DWORD.
Lebegőpontos számok: általában akkor használjuk, ha vagy nagy számokkal, vagy pontosan akarunk
számolni.
Vektoros adatok: 3D adatok leírására használjuk (térkép, térbeli forma, pontok leírása)
Karakterek: Karaktereknek nevezzük a betűket, írásjeleket, számjegyeket. Minden karakterhez egy
bináris számot kell rendelni. Ma a legelterjedtebb kódolási rendszerben 1 bájton kódolják a
karaktereket, ami 256 féle jel megkülönböztetését teszi lehetővé. Legfontosabb az ASCII kódrendszer,
de van pl. UNICODE, EBCDIC
BCD: (Binary Coded Decimal) a legkönnyebben előállítható, vagyis a számok számjegyeinek a kettes
számrendszerbeli értékeik felelnek meg, négy helyiértékre kiegészítve.
DEC BCD
3
2 22 21 20
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
4/a. Az utasítás feldolgozás gyorsítása párhuzamosítással. A pipeling lényege, szuperskalár
processzorok. Fellépő problémák és kezelésük.
Fellépő problémák:
- Az utasítások elemi fázisainak végrehajtásához szükséges idő igen eltérő lehet.
- Az utasítás soros végrehajtását a vezérlésátadó utasítások megzavarhatják, mivel ekkor nem a
soron következő utasításokat kell betölteni a futószalagra.
- A megszakítások, kivétlek kezelése is megszakíthatja a folyamatos futószalag feltöltését.
- Előfordulhat, hogy egy utasítás a megelőző utasítás eredményére hivatkozik, ezt az esetet
adatütközésnek, vagy hazardnak nevezzük.
- Hardver erőforrások igénybevétele során is előfordulhatnak ütközések, pl. buszkonfliktusok.
Problémák kezelése: a fellépő problémákat vagy statikusan (a program futása során), vagy dinamikusan
(futás közben hardverrel) tudjuk kezelni.
- NOP utasítások (fordítóprogram) beiktatása a programba. A memóriautasítások végrehajtásához
szükséges többlet időigény és a hazardok miatti utasításvárakoztatás „üres” utasítások beiktatásával
oldható meg.
- Utasítás átrendezés (fordítóprogram): A fordítóprogram a program tartalmi megváltoztatása nélkül
átrendezi az utasítássorrendet és a memóriautasítások és a hazardok kezelése miatti várakozási
időket hasznos utasítással töltik ki.
- Scoreboarding (hardver): Minden regiszter könyvelésre kerül, hogy azok az utasítások, melyek
egy adott regiszterre hivatkoznak, benne vannak-e a pipeline-ban. Ha egy további utasítás egy ilyen
regiszterhez akar hozzáférni, akkor az késleltetésre kerül.
- Data forwarding (hardver): ha pl. két egymást követő utasítás számára azonos adat szükséges,
akkor az ezek közötti adatátadást a processzoron belül megfelelő áramkörök biztosítják. Adatátadás
csak az első utasítás végrehajtási fázisa után lehetséges.
- Harvard architektúra: Az utasításolvasás és az adatkiolvasás, visszaírás ütközéseire jelent
megoldást, ha az utasításokat és adatokat fizikailag különálló memóriában tároljuk, amihez külön
adat-és utasítássín is van.
5/a. Az aritmetikai és logikai egység és regiszterei (akkumulátor, flag). Fixpontos és lebegőpontos
műveletek, ezek végrehajtásának egységei. Logikai műveletek.
Az ALU regiszterei:
- AC = a művelet végrehajtásánál az adatok átmeneti tárolására szolgál.
- FLAG – állapotjelző regiszter, a végrehajtott utasítás következtében megváltozott állapotok
kerülnek bitenként kódolásra.
Az aritmetikai műveletek végrehajtásakor az eredménytől függően, az állapotregiszter egyes
jelzőbitjeit a processzor beállítja. Fontosabb jelzőbitek: átvitel jelzőbitje (carry): ha az eredmény
legmagasabb helyiértékén átvitel keletkezik, 1-es értéket vesz fel. Nulla jelzőbitje (zero): ha az
eredmény nulla értékű, 1-es értéket vesz fel. Előjel jelzőbitje (sign): ha az eredmény negatív,
akkor az érték 1. Túlcsordulás jelzőbitje (overflow): ha az eredmény nagyobb, mint a tárolható
legnagyobb érték, akkor értéke 1 lesz.
Logikai műveletek (Boole algebra) logikai feladatok megoldására alkalmas rendszer. Bináris logika: 1
igaz, 0 hamis.
ÉS: két operandusos művelet eredménye akkor igaz, ha mindkét állítás egyidejűleg igaz
VAGY: két operandusos művelet eredménye akkor igaz, ha valamelyik, vagy mindkét állítás igaz
NEM: egy operandusos művelet, eredménye az állítás ellenkezője.
9 db Alaptörvény: A+(-A)=1; A*(-A)=0; -(-A)=A (kettős tagadás); A+0=A; A*0=0; A+1=1; A*1=1;
-(A+B)= (-A)*(-B); -(A*B)=(-A)+(-B) (de Morgan azonosság)
6/a. A vezérlőegység feladata és jelei, vezérlési pontok. Huzalozott és mikroprogramozott műveleti
vezérlés. CISC és RISC processzorok.
ROM: csak olvasható memória, a számítógép kikapcsolása után is megőrzi tartalmát. (BIOS) Vannak
hagyományos ROM-ok: tartalmát gyártáskor határozzák meg, később nem módosítható.
Programozható ROM: tartalmát egyszer, vagy bizonyos esetekben többször is megváltoztathatjuk.
Típusai: PROM: programozható ROM, a felhasználó egyetlen alkalommal írhat bele adatot vagy
programot. Utána már nem változtatható. EPROM: az adatokat elektromos töltés formájában őrzi meg.
UV fénnyel törölhető vagy újraírható. EEPROM: szintén újraprogramozható, törléséhez egy
elektronikus impulzusra van szükség. Drágább az előzőekhez képest. Flash memória: az EEPROM egy
speciális típusa, törlése és újraprogramozása blokkonként történik (pen-drive, memóriakártya).
RAM: írható, olvasható memória, tartalmát kikapcsolás után elveszíti. Típusai: Statikus RAM (SRAM):
az adatokat félvezető memóriában (flip-flop) tárolják. Állapotuk addig fennmarad, amíg nem
módosítják újabb beírással, vagy a tápfeszültség meg nem szűnik. (Nem kell frissíteni, ciklusideje
megegyezik az elérési idővel, nagyon gyors, de drága.)A statikus RAM-on belül megkülönböztetjük a
szinkron SRAM, aszinkron SRAM, PBSRAM. Dinamikus RAM: tartalma adott időn belül
megsemmisül, ha nem frissítjük. Frissítés memóriakiolvasást jelent. Kiolvasás után szüksége van egy
feléledési időre, ezért ciklusideje kb. a hozzáférési idő kétszerese. Lassabb, de olcsóbb mint a SRAM.
Elérési, hozzáférési idő: az adat kiolvasásának megkezdése, és a kimeneten való megjelenése között
eltelt időtartam. DRAM típusok: 1. SDRAM: ez szinkron DRAM, 2. DDR SDRAM: duplázódik az
adatátviteli arány, a memóriabusz frekvenciájának növekedése nélkül.
Dinamikus RAM belső felépítése: A DRAM mátrix szervezésű, azaz oszlopokból és sorokból épül fel,
melyek metszéspontjában található egy memóriacella. A memóriacellában az információt egy elemi
kondenzátor tárolja. A memória címzése két lépcsőben történik. Először a mátrix egy sorát címezzük
meg, utána a sorból kiválasztjuk az adott oszlophoz tartozó cellát.
A számítógépek kezdete óta többféle háttértár típust fejlesztettek ki, mindegyik célja az, hogy olyan
mennyiségű adatot tudjon tárolni ami meghaladja az operatív tár méretét, és nem veszíti el tartalmát a
tápfeszültség megszűnésekor. Másik fontos dolog, hogy a virtuális tár kezelésére és adatok tárolására is
alkalmas legyen. A jelenlegiek közül a legjelentősebb mágneslemezes tároló a winchester. Hasonlóan
működnek a hajlékony lemezes floppy lemezek, cserélhető merevlemez. Különbség csak az
adatbiztonság, adatátviteli sebesség, hordozhatóság terén van.
Fizikai felépítése: egy mágnesezhető réteggel ellátott lemezt a meghajtó olyan sebességgel forgatja,
hogy az író-olvasó fejek nem érnek hozzá a koronghoz, hanem pár mikron távolságra vannak attól. A
lemez felülete koncentrikus körökre (sávokra) van osztva, az egymás alatt lehelyezkedő sávokat
cilindernek nevezzük, a lemez felülete körcikk szerűen szektorokra van osztva. A szektor és sáv
metszete adja a legkisebb átvihető adatmennyiséget a blokkot. A blokk címzéséhez meg kell adni a
lemezoldal, sáv és szektor számát.
Klaszter: Mivel a blokkok gyakran kicsinek bizonyulnak , agy az operációs rendszer számára a
legkisebb egység a több blokkból álló fürt, vagyis a klaszter.
FAT: a lemezek állománykezelési táblázata szolgál arra, hogy az operációs rendszer nyilvántartsa és
nyomonkövesse azt, hogy a lemez mely szektorai szabadok vagy foglaltak.
Boot sector: a bootsector mindig az aktuális meghajtó, vagy partició első sor, első szektorában
helyezkedik el. A bootszektorban tárolt kis program az aktuális operációs rendszert olvassa és tölti be
a memóriába. Merevlemeznél pontosan meg kell határozni a bootszektort, az úgynevezett master boot
record (MBR) helyét, mert bármelyik partíció tartalmazhat bootszektort.
Ha az adatátvitel fizikailag bitenként történik akkor soros adatátvitelről, ha egyszerre több vezetéken
több bitet továbbítunk akkor párhuzamos adatátvitel.
Párhuzamos adatátvitel: gyorsabb a sorosnál, és drágább, ezért csak a számítógép közelében
elhelyezhető perifériák csatlakozására használatos, illetve a készülékek belsejében elhelyezkedő
részegységek, lemezmeghajtók összekapcsolására használják. A mikroszámítógépes rendszerekben a
párhuzamos adatátvitel lehet: megszakításos, közvetlen tároló hozzáféréses (DMA), valamint a
programozott I/O átvitel.
Soros átvitel: ilyenkor az információs biteket egyenként, sorban egymás után visszük át. A soros átvitel
lehet szinkron: az egymást követő jelek ütemezetten, órajellel vezérelve, szinkronizáltan követik
egymást. Az adatátvitel blokkos formában történik. Aszinkron átvitel: itt a karakterek ütemezés nélkül
követik egymást, az átvitt bitek mennyisége változó is lehet. A start/stop bitek miatt a jelsorozat az
információtartalom szempontjából felesleges jeleket is tartalmazhat.
Közvetlen memória hozzáférés esetén (DMA= Direct Memory Access): közvetlen adatátvitel jön létre
a memória és az I/O egység között, a CPU igénybevétele nélkül.
A közvetlen memória hozzáférés lényege, hogy a processzor egy I/O művelet végrehajtásához
szükséges információkat átadja egy a processzortól független DMA vezérlőnek. Ezek után az
adatátvitelt a memória és az I/O eszközök között a DMA vezérlő önállóan irányítja és látja el.
Adatátvitel közvetlen memória hozzáférésnél úgy történik, hogy a CPU, az I/O egység és a memória
közös buszra van kapcsolva, agy a CPU és az I/O egység azonos ciklusban nem férnek hozzá a
memóriához. Ezért a CPU és DMA vezérlő között meg kell osztani a sín használatát.
DMA vezérlő regiszterei: az adatátvitel állapotának nyilvántartására a DMA egy címregisztert és egy
számlálóregisztert alkalmaz, melynek tartalma minden egyes átvitt adat után aktualizálásra kerül.
Címregiszter: mindig az átvitelben szereplő memóriarekesz címét tartalmazza. Számláló regiszter: az
átvitel elején a szavak számát tartalmazza, értéke az átvitel során csökken. Állapotregiszter: a DMA
vezérlő állapotával kapcsolatos információkat tárolja. Módregiszter: az adatátvitel irányára vonatkozó
információkat tartalmazza. Maszkregiszter: az egyes DMA átvitelt kérő vezérlővonalak letiltását
tartalmazza.
Működése: 1. a processzor ellenőrzi a perifériát, hogy tudja-e fogadni az átvitelt, ezt követően a DMA
vezérlő részére átadja az átvitel paramétereit. 2. a DMA buszfoglalási kérelmet jelez, a processzor
visszajelez. 3. a DMA masterként lefoglalja a buszt, végrehajtja az átvitelt. 4. a DMA jelzést küld
megszakítással a processzornak az átvitel befejezéséről. 5. a processzor ellenőrzi a végrehajtás hibátlan
megtörténtét és a buszengedélyt megszünteti.
13/a. A sín (busz) feladata, logikai felépítése, típusai. Sínvezérlés (szinkron, aszinkron). Master és
slave eszközök. Buszarbitráció (soros és párhuzamos sínfoglalás).
Master és slave eszközök: A sínt egy időben csak egy eszközpát használhatja. A kezdeményező eszköz
a master, a másik passzív eszköz a slave. Master-slave munkamegosztás: a master elindít és befejez egy
busztranzakciót, címet küld a slave-nak. A slave válaszol az igényekre és címekre, és a sínre teszi
illetve elfogadja az adatokat.
Buszarbitráció: Ha egyidejűleg több aktív (master) eszköz is igényelheti a sín használatát, akkor
valamilyen eljárással el kell dönteni, hogy melyik eszköz lesz jogosult a sín használatára. Statikus
módszer szerint a buszhasználat megosztását időosztással végezhetjük el, vagyis minden master eszköz
meghatározott időszeletre kapja meg a buszhasználat jogát. Hatékony, ha a masterek adatátviteli igénye
közel azonos. Dinamikus módszer: csak azok a masterek kapnak akik igénylik.
A busz arbiter egy olyan hardveregység, mely a sínfoglalási kérelmet fogadja, elbírálja és
visszaigazolja. A busz arbitrációt busz arbiterek száma alapján is csoportosíthajtuk: soros, párhuzamos,
a kettőkombinációja. Soros sínfoglalás: az eszközök sorba vannak kötve, és sorrendjük határozza meg a
prioritásukat. Párhuzamos sínfoglalás: minden eszköz önálló kérő és engedélyező vezérlővonallal
rendelkezik, a sínvezérlés prioritás szerint engedélyezi a használatot.
14/a. Az I/O eszközvezérlők, interfészek feladata, regiszterei, címzése. Soros és párhuzamos port és
adatátvitel. Az adó és vevő szinkronizálása.
Port illesztő: olyan interface, mely a perifériális eszközökkel tartja a kapcsolatot, biztosítja a
szabványos csatlakozást a CPU és a perifériális egységek között a rendszersín közbeiktatásával. Az
adatátvitel lehet soros port (általános célú kommunikációs port, az adatbitek a vezetéken egymás urán
kerülnek átküldésre. ), párhuzamos port (párhuzamos működésű. Általában a nyomtató csatlakoztatását
oldja meg. A vezeték nem haladhatja meg az 5 métert.).
A soros port adatátvitele lehet szinkron átvitel: (egymást követő jelek ütemezetten, órajellel vezérelve,
szinkronizáltan követik egymást. Az adatok átvitele blokkos formában történik.), aszinkron átvitel: (itt a
karakterek ütemezés nélkül követik egymást, az átvitt bitek mennyisége változó is lehet.)
Adó és vevő szinkronizálása: az átvitt bitsorozatot használjuk fel az adó és vevő órajelének
összehangolásához, szinkronba hozásához. Ez azt jelenti, hogy előírunk egy speciális bitsorozatot, amit
szinkronizáló jelnek nevezünk, feladata az adó és vevő működésének szinronizálása, az órajelképzés
időbeli összehangolása.
15/a. Monitorok típusai, paraméterei, működési elve. A monitorvezérlő kártya feladata, felépítése,
jellemzői (felbontás, színmélység, képmemória mérete) és működése.
Hírközlési csatorna: olyan berendezés vagy közeg, melynek célja, hogy információt juttasson el az
adótól a vevőig. Digitális és analóg csatornák vannak.
Analóg csatorna: sávszélesség analóg rendszerek esetén: egy adott analóg jel max. és minim.
frekvenciájának a különbségét értjük alatta. A sávszélesség az a frekvenciasáv (rezgésszám tartomány)
melyen belül a csatorna a rezgéseket lényeges torzítás nélkül átviszi. Emberi beszéd alsó frekvenciája
300Hz, felső frekv. 3400Hz, így a sávszélesség 3400-300= 3100= 3,1 kHz.
Digitális csatorna: több szempontból is jobb az analógnál. 1. nagyon kicsi a hibaaránya, tökéletesen
hely-reállíthatóak, és nem lép fel halmozódó hiba. 2. különböző típusú adatok – hang, zene, kép –
vihető át.
Adatátviteli sebességükkel jellemezhetjük, vagyis az időegység alatt átvitt bitek számával. Mérése:
bit/s. Az átvitelt jellemezhetjük a felhasznált jel értékében 1 másodperc alatt bekövetkezett változások
számával is, ez a jelzési sebesség, vagy baud. A digitális kommunikációs rendszerek célja, hogy 1
digitális forrásból érkező üzenetet továbbítsanak térben és időben egy adott célállomásra olyan gyorsan
és pontosan, ahogy az csak lehetséges.
Zaj: ideális csatorna a zajmentes csatorna lenne, azonban a csatornák mindig zajosak. Zaj minden olyan
jelenség amely a hírközlő csatornában megtámadja a hasznos információt, vagyis a kilépő jel nem
mindig felel meg a belépő jelnek. A zaj csökkenti a kommunikációs csatornán átvihető
információmennyiséget, azaz csökkenti a csatorna kapacitását. Zajok csoportja: rendszertorzítás
(kiküszöbölhető), csatorna vagy csőzaj (nem szüntethető meg).
Átviteli közeg: csavartérpár (UTP, STP), koaxális kábel, üvegszálas kábel. Vezeték nélküli: infravörös,
lézer, rádióhullám, műholdas átvitel.
Digitális jelek kódolása: Minden bitet értékétől függően két feszültségszinttel ábrázoljuk. Az 1 állapot
MARK, a 0 állapot a SPACE. 1. NRZ kódolás: mindig az a feszültség van a vonalon, amit az ábrázolt
bit határoz meg. 2. HDB3: (Nagy sűrűségű bipoláris 3): hasonlít az NRZ-hez de szimmetrikus
egyenfeszültséget használ. 3. PE Manchester kódolás: a jel-átmenet ugrás jelképezi a biteket, és az
ugrás irányának is jelentősége van.
Modemek feladata: a bemenetére adott bináris jelet analóg jellé alakítja, illetve az analóg jelből
visszaállítja a bináris jelet. ISDN: digitális jelet vivő hálózat, a meglévő analóg vonalat használja új
digitális központok használatával. ATM: aszinkron adatátviteli mód. Változó sebességű adatátvitelre
tervezték. DSL: asszimetrikus adatfolyamot továbbít, a két irány sávszélessége különbözik.
17/a. A számítógép-hálózatok architektúrája, az OSI modell (rétegek, protokollok,
rétegszolgálatok). A TCP/IP protokoll (feladata, rétegei, információ-áramlás, címzés, útválasztás).
TCP/IP protokoll: feladat a számítógép hálózat két tetszőleges csomópontja közötti adatátvitel
biztosítása. TCP: az Internet szállítási rétege, IP az Internet hálózati rétege.
Rétegei: alkalmazási szint (a felhasználói és a hálózati kapcsolatot biztosító programok), hoszt-hoszt
réteg: az OSI szállítási rétegének felel meg. Hálózatok közötti: OSI hálózati rétegnek felel meg, Hálózati
elérés: a réteg biztosítja a kapcsolatot a csomópontok között.
Útvonalválasztás: a csomagkapcsolt rendszerekben ez azt a folyamatot jelöli, amivel kiválasztjuk az
útvonalat (path), amin a csomagot továbbküldjük, és az útvonalválasztó (router) az a számítógép, amely
ezt végrehajtja.
Címzés: a gépek egyedi azonosítására szolgál, 3 részre osztották: a cím osztálya, hálózat azonosító, gép
azonosító.
18/a. Lokális hálózatok szabványos megvalósítása (Ethernet, vezérjeles sín, vezérjeles gyűrű):
protokollok, közeg hozzáférési módszerek, átviteli közegek, fizikai egységek.
Egymással szoros kapcsolatban lévő számítógépek rendszere. A hálózatok célja: erőforrás megosztás,
terhelés megosztás, nagyobb megbízhatóságú működés, költségmegtakarítás, adatbázisok elérése,
kommunikációs közeg kialakítása.
A holtpont: egy rendszer olyan állapota, ahonnan külső beavatkozás nélkül nem tud elmozdulni. Akkor
fordulhat elő a vezérlés során, ha a folyamatok egy adott halmazában minden egyes elem leköt néhány
erőforrást és ugyanakkor várakozik is néhányra. A holtpont kialakulás feltételei (egyszerre kell hogy
teljesüljön): 1. Kölcsönös kizárás (a folyamatnak olyan erőforrást kell igényelni vagy magánál tartani,
amit csak egy folyamat használhat egyidejűleg), 2. Erőforrások lefoglalása (nyomtató pl. egyik
foglalkoztatja, mások igénylik), 3. megszakítás nem megengedett (a rendszer nem függeszti fel az
erőforrás hozzárendelését egy folyamathoz, hogy a másiknak elérhető legyen), 4. visszatérő igény
(ciklikus várakozás – később igényli ugyanazt az erőforrást).
Holtpont megelőzés: a kialakulás feltételeiből legalább egy feltétel ne teljesüljön.
Holtpont kezelési stratégiák: erőforrás használati szabályokkal biztosítani, hogy ne alakuljon ki: holtpont
megelőzés, holtpont elkerülés. Csak holtpont kialakulásánál avatkozunk be: holtpont felismerés, holtpont
felszámolás.
Biztonságos állapot: a rendszer olyan állapota, amikor létezik olyan sorrend, ami szerint a folyamatok
kielégíthetőek.
Az idővel való gazdálkodást ütemezésnek nevezzük, melynek során a folyamatok állapota változik
meg attól függően, hogy milyen állapotok között történik váltás.
Ütemezési szintek: Magas: a főütemező (high-level scheduler): a háttértárolón lévő programok közül
kiválasztja azt, amelyik az operációs rendszer közvetlenebb felügyelete alá kerülhet, elkezdődhet a
végrehajtás. Közbenső: folyamatosan figyeli a rendszer állapotát és ha túlságosan sok folyamat kerül
futásra kész állapotba és egyiknek sem jut processzoridő, akkor a közbenső szintű ütemező egyes
folyamatokat felfüggeszti, prioritásukat átrendezi a rendszer hatékony működése érdekében. Alacsony:
feladata, hogy a processzort a futásra kész folyamatok között igazságosan és hatékonyan ossza el.
Lényeg, hogy gyors legyen.
Folyamatok állapotai:
1. Alapállapot: Futásra kész: a processzoron kívül minden erőforrás a folyamat rendelkezésére áll. A
folyamatok létrejöttüket követően kerülnek ebbe az állapotba. Fut: a processzor annak a
folyamatnak az utasításait hajtja végre, amelyik ebbe az állapotba van. Várakozik: ha a futó
folyamat olyanerőforrást igényel, amelyik pillanatnyilag nem áll rendelkezésre, vagy a további
futáshoz egy másik folyamat eredménye szükséges.
2. Átmeneti állapotok: Elindul: a processzor felszabadulás esetén az alacsony szintű ütemező a futásra
kész állapotban lévő folyamatok közül választja ki azt, amelyik a FUT állapotba kerülhet.
Megszakad: a futó folyamat számára biztosított idő lejár, visszakerül a FUTÁSRA KÉSZ állapotba.
Vár: ha olyan erőforrsára van szüksége amelyik éppen foglalt a FUT állapotból a VÁRAKOZIK
állapotba kerül. Feléled: a várt esemény bekövetkezése esetén a folyamat FUTÁSRA KÉSZ
állapotba kerül.
Ütemezési algoritmus:
FCFS (Firs Com First Served): előbb jött előbb fut, érkezési sorrendben kapják meg a processzoridőt,
ameddig le nem futnak, vagy valamelyik periféria miatt nem várakoznak. Előnye egyszerű, biztos.
Hártány: az érkezési sorrendtől nagyban függ a várakozási idő.
SJB: (Shortest Job First): A legrövidebb előnyben. Előnye: a legrövidebb várakozási időt adja. Hátránya:
hosszabb futást igénylő folyamatokkal mostohán bánik.
RR (Round Robin): minden egyes folyamatnak egy meghatározott processzoridőt biztosít, és utána
megszakítja és a várakozási sor végére teszi. Előnye: a legrövidebb válaszidő, a folyamatok között
egyformán osztja el. Hátránya: jelentős adminisztrációt igényel a környezetváltások miatt.
21/a. Többfeladatos (multitasking) operációs rendszerek feladatai, felépítése. A tárvédelem feladata
és megvalósítása (privilégiumi szintek, jogosultságok, szegmensek, deszkriptorok, kapuk).
Tárvédelem: egyre fontosabb a tárolt adatok és programok védelme. Az i486-os processzorok 4 szintű
védelmi rendszerrel rendelkeznek. A legmagasabb (pl: 0) privilégiumi szinttel az oprendszer, a különböző
kiszolgáló (pl: 1, 2) rutinok, a legalacsonyabb szinttel a (pl: 3) a felhasználói programok rendelkeznek. A
privilégiumi szinteken lévő objektumok között a kapcsolat csak szabályok betartásával jöhet létre,
melyek: egy program csak a vele azonos vagy nála magasabb privilégiumi szinttel rendelkező programot
indíthat el, a másik egy program csak a vele azonos vagy nála alacsonyabb privilégiumi szinten lévő
adatot használhat fel. Minden feldolgozás alatt lévő feladathoz tartozik valamilyen privilégiumi szint.
Különböző privilégium szintű programok közötti kapcsolat csak kapukon (gate) jöhet létre. Ezek
deszkriptorai szabályozzák a kívánt privilégiumi szintet. Ilyen kapcsolat pl.: más privilégium szintű rutin
végrehajtása és visszatérés az eredeti feladathoz; más feladat végrehajtása és visszatérés az eredetihez;
áttérés más feladat végrehajtására. Kapuk lehetnek: call, megszakítás kapu, trap kapu, taszk kapu.
Jogosultságok: A feladatok által használt adatok védelmére a szegmensekhez, lapokhoz való hozzáférési
jogokat szabályozza a védelmi rendszer. A leggyakoribb hozzáférési jog: olvasási jog (tetszőleges adatot
kiolvashat az adott területről), írási jog (a feldolgozás átírhatja a tárolóterület adatait), végrehajtási jog (a
feldolgozás a tárolóterületen található kódot elindíthatja).