You are on page 1of 147

OPERÁCIÓS RENDSZEREK

Operációs Rendszer

• Az OpRendszer egy program, amely érintkező


felületként viselkedik a számítógép felhasználói és a Felhasználó
hardver között.
• Felhasználóbarát környezetet biztosít, amelyben a Alkalmazás
felhasználó könnyen fejleszthet és futtathat
programokat.
Operációs rendszer
• Enélkül a hardver alapos ismerete lenne szükséges a
programozáshoz.
Harver
• Az OpRendszer lehetővé teszi elrejteni a hardver
komplexitását a felhasználók és programozók elől.
Választási
lehetőségek
Operációs Rendszer

• Általánosan, a számítógép rendszer rendelkezik erőforrásokkal,


amelyeket problémák megoldása érdekében felhasználhatunk.
Ezek a következők:
• Memória
• Processor(ok)
• Be/Ki-meneti eszközök
• Fájlrendszerek
• stb.
Hardver

Mainboard
Hardver
Hardver

mainboard
Hardver

Processzor
Hardver

RAM
Operációs Rendszer

 Az operációs rendszer kezeli ezeket az erőforrásokat, és


kiosztja bizonyos programoknak és felhasználóknak.
 Az OpRendszer felszabadítja a programozót a bonyolult
hardverfüggő döntések meghozatalától.
 Egy OpRendszer tartalmazza az alábbi
szolgáltatásokat:
 Processzorkezelés
 Memóriakezelés
 Fájlkezelés
 Eszközkezelés
 Párhuzamos végrehajtás irányítása
Operációs Rendszer

• Az OpRendszer egy másik


aspektusa, hogy használható Alkalmazás Programok
előre definiált
függvénykönyvtárként a Rendszerprogramok

hardver-szoftver
Operációs rendszer
kölcsönhatások kezelésére.
• Ezért a rendszerprogramok a Gépi kód
telepített operációs
rendszeren hatnak, mert a HARDVER
hardverhez nem férnek
hozzá közvetlenül.
Alkalmazás
Bank- Repülőjegy- Web Programok
rendszerek foglaló alk. böngésző

Fordítók Szerkesztők Parancs-


értelmezők
Rendszer-
Programok
Operációs rendszer

Gépi kód

Hardware
Mikroarhitektúra

Fizikai eszközök
Alkalmazások

• Mivel már létezik egy előre elkészített


függvénykönyvtár, nevezetesen az operációs rendszer,
ezért két szám összeadásához írhatjuk ezt a sort a
programunkba:
c=a+b;
Alkalmazások

Egy rendszeren, ahol nincs OpRendszer telepítve, a


hardvert így tudjuk műveletvégzésre használni:
(Tegyük fel, hogy MC 6800 számítógépünk van)

LDAA $80  Töltsük be a 80-as memóriacímről az ott lévő számot


LDAB $81  Töltsük be a 81-es memóriacímről az ott lévő számot
ADDB  Adjuk össze a két számot
STAA $55  Tároljuk a számok összegét az 55-ös memóriacím

Mint látjuk, ismernünk kellett a memóriacímeket és a


rendszer hardver-kiépítését.
Alkalmazások
• Egy OpRendszeren, amely telepítve van a
számítógépre, mivel van közbenső réteg, a
programunk előnyként némi hordozhatósággal
rendelkezik, mivel a hardverrel nem kell foglalkoznia.
• A fenti példa nem működne egy 8086 számítógépen,
viszont
“c = a + b ;”
kifejezés mindkettő számára elfogadható.
Operációs Rendszer
Egy összetettebb
Egy egyszerű program szegmens, Hadver
program- OS amely már tartalmaz válasza
Gépi
szegmens, a hardverfüggő
kód
hardveres elemeket
megfontolásoktól
menetsen
Alkal- Alkal- Alkal-
mazás 1 mazás 2 mazás 3

Elsődleges csatolófelület

Operációs rendszer

Alacsonyszintű,
platformfüggő csatolófelüelt

Hardver
Az Operációs Rendszer módjai

• Egyszerűsített megközelítésben, az OpRendszer


is csak egy program.
• Viszont vannak olyan jogai, amelyek a
közönséges programoknak nincsenek.
• Az OpRendszer a mikroprocesszor kernel Felhasználói Alkalmazás
módját használja, míg a többi program a mód

felhasználói módot.
Folyamat- Memória- Eszköz-
• A kettő közötti különbség, hogy kernel módban
Kernel kezelés
kezelés kezelés

minden hardverművelet érvényes, de néhány


művelet nem hozzáférhető felhasználói Hardware CPU Memória Eszköz

módban.
Rendszerhívás
• A rendszerhívás annak a programba
építhető módja, hogy a program az azt
futtató operációs rendszer magja
(kernel) által biztosított Felhasználói Alkalmazás
mód
szolgáltatáshoz férjen hozzá.
• Ez tartalmazza a hardverekkel
kapcsolatos szolgáltatásokat (pl. A
lemezmeghajtó elérése), új Rendszerhívás
folyamatok létrehozása és futtatása,
és kommunikáció az alapvető kernel
szolgáltatásokkal, mint például a Kernel
feladatütemezés.
• A rendszerhívások biztosítanak egy
szükséges csatolófelületet a folyamat
és az operációs rendszer között.
Felhasználói
kezelőfelület

Függvénykönyvtár
csatolófelület

Rendszerhívási
csatolófelület Felhasználói programok

Segédprogramok Felhasználói
Rendszerhéj, szerkesztők, szűrők, stb mód

Szabványos (standard) könyvtár


Open(), close(), read(), write(), fork(), stb
Kernel
Operációs Rendszer
Folyamatok, memória, fájlrendszerek, be-kimenet, stb. mód

Hardver
Cpu, memória, lemezek, terminálok, stb.
Alkalmazás program (szoftver)
Szövegszerkesztők, zenelejátszók, videó lejátszók, webböngészők, játékok,
rendszerkellékek, sebédprogramok, és számos egyéb

Az alkalmazások rendszer-erőforrásokra vonatkozó kéréseket


küldenek az operációs rendszernek, és feldolgozzák a
válaszaikat

Operációs rendszer elemei

Hardver Kernel Biztonság Lemez Felhasználói


eszköz (CPU és RAM (felhasználók, hozzáférés kezelőfelület
illesztőprogramok kezelés) hálózatok, fájlok) és fájlrendszerek (gombok, menük)

Adattároló Felhasználói
CPU RAM Hálózati
eszközök Kép- be/kimeneti
(Központi (véletlen adapterk
(merevlemez megjelenítő eszközök
feldolgozó hozzáférésű (wifi,
ek, USB eszközök (billentyűzet,
egység) memória) ethernet)
lemezek) egér)

A számítógép által fogadott minden parancsot és a


felhasználónak adandó választ az operációs rendszer Felhasználó
dolgozza fel, és adja tovább a kezelt alkalmazásoknak
Operációs rendszerek típusai
Kötegelt Operációs Rendszer
Feladat 1 Köteg
• Ez a fajta operációs rendszer
nem kezeli közvetlenül a Feladat 2 Köteg

számítógépet.
• A felhasználó hasonló hasonló Operációs
követelményekkel bíró feladatok rendszer CPU

kötegeit indította el.


• A felhasználó felelőssége volt a
hasonló igényű feladatokat sorba
Feladat 3 Köteg
állítani.
Kötegelt Operációs Rendszer
• A kötegelt operációs rendszer előnyei:
• Általában igen bonyolult megbecsülni vagy megmérni bármely feladat időignyét a
befejezéséig. A kötegelt operációs rendszerek processzorai előre tudják már a sorban
álló feladatok futásidejét is
• Több felhasználó megosztva használhatja
• Az üresjárati idő igen kicsi (sorban álló feladatok)
• Ismétlődő feladatokból álló nagy mennyiségű feladat könnyen kezelhető
• A kötegelt operációs rendszer hátrányai:
• A felhasználónak jól kell ismernie a kötegelt rendszereket
• A hibajavítás nehéz feladat
• Alkalmanként költségesek
• Bármely feladat hibája esetén a többi feladatnak meghatározhatatlan ideig kell
várakoznia
Időosztásos Operációs Rendeszerek
• Minden folyamat bizonyos ideig futhat, így
minden folyamat gördülékenyen futhat. Word
• Minden felhasználó között processzoridő
van kiosztva, mivel egyetlen processzort
használnak. E-mail
• Más néven többfeladatos (multi-tasking) Operá-
operációs rendszerként ismerjük ciós CPU
• A folyamatokat egy vagy több felhasználó is rendszer
elindíthatja és használhatja.
• Kvantumnak nevezzük azt az időt, amelyet
minden egyes folyamat a futásához kap. Webböngésző
• A kvantumnyi idő eltelte után az operációs
rendszer a következő feladatra vált.
Időosztásos Operációs Rendszerek
• Időosztásos operációs rendszerek előnyei:
• Minden folyamat egyforma esényeket kap a gördülékeny futásra
• Duplán elindított folyamatok valószínűsége kisebb
• A processzor üresjárata minimalizálható
• Időosztásos operációs rendszerek hátrányai:
• Megbíthatósági problémák
• A felhasználók programjainak és adatainak biztonságát és itegritását
kezelni kell
• Adat-kommunikációs probléma
Elosztott Operációs Rendszer
CPU Memória CPU Memória
• Különböző autonóm Lemez
számítógépek egy
megosztott kommunikációs
hálózaton át vannak
összekapcsolva. Operációs rendszer

• Független rendszerek
rendelkeznek saját
memóriával és CPU Memória
CPU Memória
processzorral.
Lemez Lemez Lemez
Elosztott Operációs Rendszer
• Az elosztott operációs rendszer előnyei:
• Egy egység meghibásodása nem érinti a többi egység munkáját és a hálózatot, mivel
az egységek függetlenek egymástól
• Az elektronikus üzenetátadás növeli az adatközlés hatékonyságát
• Megosztott erőforrásokkal a számítások gyorsak
• A gazda-gépen a terhelés csökken
• Könnyen skálázhatók, mert az új egységek könnyen hozzáadhatók a meglévő
hálózathoz
• Az adatfeldolgozásbeli várakozási idő csökken
• Az elosztott operációs rendszer hátrányai:
• A főhálózat hibája megszüntet minden kommunikációt
• Az elosztott rendszerek megalapozásának nyelve még nincs jól definiálva
• Ezek a rendszerek nem kaphatók készen, és igen költségesek. A megalapozó
szoftverkészlet erősen komplex és további tanulmányozásra szorul
Valósidejű Operációs rendszer
• Valósidejű rendszereket kiszolgáló Alkalmazás
oprerációs rendszer. A bemenet
feldolgozásához és az arra való
válaszhoz szükséges idő igen kicsi.
Ezt nevezik válaszidőnek.
RTOS-Kernel
• Valósidejű rendszereket (RTOS –
Realtime Operating System)
használnak ott, ahol szigorú időbeli BSP – board support package
(eszközfüggő illesztőprogramok)
követelményeknek kell megfelelni:
rakétarendszereknél, légi
forgalomirányításnál, robotokban,
stb. Egyedi hardvereszköz
Valósidejű Operációs Rendszerek
A valódidejű operációs rendszerek két fajtája:
• Kemény valós-idejű rendszerek (Hard Real-Time Systems):
Ezeket az OpRendszereket szánják azokra a feladatokra, melyekben
igen szigorú időbeli követelmények vannak, és a legkisebb késlekedés
sem megengedett. Életmentő berendezések: légzsákok, ejtőernyők,
baleset esetén azonnal működésbe lépő eszközök. Virtuális memóriát
szinte soha nem találunk bennük.
• Lágy valós-idejű rendszerek (Soft Real-Time Systems):
Az időbeli csúszás nem jár katasztrófával, de némi késlekedés
megengedett (pl multimédia verézlés).
Valósidejű Operációs Rendszerek
• A valósidejű oprendszerek (RTOS) előnyei:
• Maximális fogyasztás: A rendszer és eszközök kihasználtságát maximalizálva az erőforrásokból nyerhető
maximális kimenetet produkálja
• Feladatváltás: A feladatok közötti váltás ideje igen kicsi. A régebbi rendszerekben 10 mikroszekundumig
tart folyamatot váltani, míg a legújabbakban csak 3 mikroszekundumig.
• Alkalmazásközpontú: Központi szerepben az éppen futó alkalmazás, és kevésbé fontosak a sorban állók.
• Beágyazott rendszerek valósidejű rendszerei: A programok mérete kicsi, ezért valósidejű oprendszert
lehet használni például továbbító rendszerekben.
• Hibamentesség: A hibamentesség alapkövetelmény.
• Memóriafoglalás: Ezekben a rendszerekben van a legkiválóbban megvalósítva.
• A valósidejő operációs rendszerek hátrányai:
• Korlátozott folyamatok: A futtatott folyamatok száma korlátozva van a hibák minimalizálása miatt.
• Komoly erőforrásigény: Költséges erőforrások, tulajdonságaikban szerényebbek.
• Komplex algoritmusok: Az algoritmusok komplexek, a tervező számára nehezen programozhatók.
• Illesztőprogramok és megszakítások: Egyedi illesztőprogramokat és megszakításokat igényel, hogy a
legrövidebb idő alatt válaszoljon a megszakításokra.
• Szálak prioritása: Nem jól hasznláható a hozzárendelt prioritás, mivel a feladatok közötti váltás ritkább.
Az operációs rendszerek fejlődése
Időbeli és összetettségbeli fejlődés egyaránt

1. Soros feldolgozás
2. Kötegelt feldolgozás
3. Multiprogramozás
4. Időosztás
5. Párhuzamos rendszerek
6. Elosztott rendszerek
Az operációs rendszer
feladatai
Windows: a rendszer részét képező Linux: minden rendszerszolgáltatás kernel
szolgáltatások egy része felhasználói módban módban fut (monolit kernel)
fut (hibrid kernel)

Linux kernel
Feladatütemezés
Folyamatok
• A folyamat egy futó program, de hozzá tartozik az
utasításszámláló, regiszterek és változók értékei is.
• Az árnyalatnyi különbség a folyamat és a program
között, hogy a program utasítások rendezett halmaza,
míg a folyamat a zajló tevékenység.

Program Vs Folyamat
Program vs. Folyamat
Összehasonlítási Program Folyamat
szempont
Alap A program utasítások A folyamat az elindított
rendezett halmaza. program.
Természet Passzív Aktív

Élettartam Hosszabb Korlátozott

Erőforrásigény A programot leemzen A folyamatnak


tároljuk fájlokban, más processzoridőre,
erőforrást nem igényel. memóriacímre, lemezre,
be/ki menetre stb. van
szüksége.
Definíciók
• A Program, felfogható rendszer-tevékenységként. A kötegfeldolgozó
rendszerekben ezeket futó feladatoknak, valósidejő oprendszerekben
folyamatoknak hívuk. A felhasználó több programot futtathat, és az
operációs rendszernek is megvannak a beépített saját folyamatai
például a memóriakezeléshez.
• A folyamat futtatott program tevékenysége. Egy aktív egység, amely
megvalósítja a programban meghatározott utasításokat. Több
folyamat is tartozhat ugyanahhoz a programhoz. Az operációs
rendszer a folyamatleíró tömb(pcb - process control block)
segítségével kezeli. Beletartozik az utasítás számláló, a verem, az
állapota, stb. Az utasításszámláló tárolja a legközelebb végrehajtandó
utasítást.
Folyamat 1

Folyamat 2 Folyamat 3

Program

Folyamat 4 Folyamat 5

Folyamat 6
Folyamatok
• Multiprogramozású rendszerekben a folyamatok ál-
párhuzamossággal futnak, mintha minden
folyamatnak saját processzora lenne.
• Valójában egy processzor van, amely váltogat a futó
folyamatok között.
Folyamatok
• A folyamat futása alatt a processzornak a folyamaton
végzett munkáját értjük, például változók értékének
megváltoztatását, stb.
• Be/Kimenet jelenti a folyamat kölcsönhatását a be- és
kimeneti műveletekkel, mint például beolvasni vagy kiírni
valamit.
• Nevezhetjük ezt rendre “processzor (CPU) futamnak” és
“I/O futamnak”
Futam

CPU Be/Kimenet CPU Be/Kimenet

Interaktív futamok

CPU Be/Kimenet CPU Be/Kimenet

Számítási futamok
Folyamatok
• Ilyen definíciók mellett az alábbi módon
osztályozhatjuk a programokat
• Processzor-korlátozott (Processor-bound) program:
A program végrehajtása hosszú futamokban (futási
időablakokban) történik.

• Be/Kimenet korlátozott (I/O-bound) program:


A program rövid végrhajtási futamokban fut.
Folyamat állapotai

Elindított Kész Fut Leállított

I/O I/O kérés


befejeződött

Várakozó

Elindított : A folyamat éppen futni kezdett.


Kész : A folyamat várakozik, hogy futási időablakot kapjon.
Fut: A folyamat a processzort használja.
Várakozik : A folyamat be/kimenetre várakozik vagy felfüggesztve van.
Leállított : A folyamat befejezte a futását, és távozik a rendszerből
Preemt()
megszakítás
Új Leállított

Wake_up()
Ébresztés
Terminate()
Schedule()
Leállítás
Ütemezés
KÉSZEN FUT

Wake_up() Yield()
Ébresztés Elsőbbségadás
Várakozik
Folyamatok állapotai
• Az OpRendszerben minden folyamatot a hozzá tartozó
folyamatleíró tömbbel kezel PCB (Process Control Block). A
PCB, általában az alábbi elemeket tartalmazza:
Folyamat állapota
Folyamat azonosítója
Utasítás számláló
Regiszterek értékei
Memóriakezelési információk (laptáblák, …)
Folyamatütemezési információ ( prioritás, utolsó futam ideje, stb.)
Be/Kimenet állapot információ (kiemelkedő I/O kérések, kezelt I/O
eszközöik , stb.)
Megnyitott fájlok listája
Fiókkezelési információk
Kilépés
Folyamatok állapotai
Megszakítás

 Egyprocesszoros (egymagos) rendszerben


egyszerre egy folyamat fut. A készen álló
folyamatok várakoznak a processzorra.
 A rendszer a futásra kész programokat (a Készenléti
Feladatlista CPU
PCB-jüket) a készenléti várólistán (Ready lista
Queue) tárolja, amely általában láncolt lista
struktúraként van megvalósítva.
 Egy folyamat akkor futhat, amikor
kiszerveződik a processzorra, majd bizonyos Be/Kimeneti
idő után befejeződik, vagy várakozó állapotú Be/Kimenet
várólista
lesz (be/kimenetre).
 Az egy bizonyos be/kimeneti eszközre
várakozó folyamatokat eszköz várólistának
eszköz várólistának (Device Queue)
nevezzük.
 Minden eszköznek saját várólistája van.
Folyamatok állapotai
• Multiprogramozású rendszerekben a folyamatok
felváltva futnak.
• Amikor megszakítás érkezik, akkor az
utasításszámlálót és az éppen futó (megszakított)
folyamat regisztereinek értékeit el kell menteni a
későbbi helyes folytatáshoz.
Folyamatok állapotai
• A folyamazok közötti váltás az alábbiak szerint
történik:
A folyamat végrehajtása A folyamat futatása

Elmentjük PCA
Elmentjük PCB
Elmentjük REGISZTEREK A
Elmentjük REGISZTEREK B
Betöltjük PCB
Betöltjük PCA
Betöltjük REGISZETEREK B
Betöltjük REGISZTEREK A
(Környezetváltás, Context switching)
(Környezetváltás)
B folyamat futása
Ütemező
• Kötegelt rendszerekben gyakran több folyamatot
indítanak el, mint amennyit azonnal lehetséges
futtatni.
• A bejövő folyamatokat várólistára (lemezre) írják.
• A hosszútávú ütemező (long-term scheduler)
választja ki a futtatandó folyamatokat, és tölti be a
memóriába a futtatáshoz.
Ütemező
• A rövidtávú ütemező (short-term scheduler) a memóriában lévő
folyamatok közül választja ki azt, amelyik processzoridőt kap
• A rövidtávú ütemező gyakran fut (általában 10 milliszekundumonként
legalább egyszer).
• Igen gyorsnak kell lennie a processzor jobb kihasználtsága érdekében.
• A rövidtávú ütemezőnek is, mint a többi rendszerprogramnak, a
processzoron kell futnia.
• Ha 1 milliszekundumig tart kiválasztani a következő folyamatot, akkor ez
azt jelenti, hogy ( 1 / ( 10 + 1 )) = 9% processzoridőt a feladatválasztásra
fordítunk, míg mindössze 91% processzoridő fordítódik hasznos
munkavégzésre.
Ütemező
• A hosszútávú ütemező kevésbé gyakran fut le.
• A multiprogramozás szintjét irányítja (a memóriában
egyszerre jelen lévő folyamatok számát).
• Ha a multiprogramozás szintjét szinten akarjuk tartani
(például egyszerre 10 folyamat), akkor a hosszútávú
feladatütemezőnek csak akkor kell futnia, amikor egy
folyamat befejezi a futását.
Ütemező
 Az időosztásos rendszerek (áltanában) nem rendelkeznek
hosszútávú ütemezővel.
 Ezeknek a rendszereknek a stabilitása fizikai korlátozásoktól (az
elérhető terminálok számától) vagy a felhasználók önszabályzó
természetétől függ (aki nem kap választ, az kilép).
 Alkalmanként előnyös csökkenteni a multirpogramozás szintjét egy
futó folyamat memóriából való eltávolításával és lemezre írásával.
 Ezeket a folyamatokat később visszaállíthatja a memóriába a
középtávú ütemező.
 Ezt a műveletet cserének /cserehely hanálatnak (swapping)
hívjuk. A csere szükséges lehet az együtt futó folyamatok vagy a
szabad memória javításához.
Teljesítménybeli követelmények
• Hatékony processzor kezelés eléréséhez az
OpRendszer a legalkalmasabbat próbálja választani a
kész folyamatok listájáról.
• A kiválasztáshoz az alábbiak relatív fontosságát lehet
teljesítmény követelményként megfontolni.
Teljesítménybeli követelmények

• Processzor Kihasználtság:
A processzor teljes lefoglaltsági idejének aránya a folyamat számára a
befejezésig eltelt időhöz.
Processzor kihasználtság =
(Processzor lefoglaltsági idő) /
(Processor lefoglaltsági idő + Processzor üresjárati idő)
• Szeretnénk a processzort annyira elfoglaltan tartani, amennyire az csak
lehetséges.
Teljesítmény követelmény
• Átmenő teljesítmény (throughput):
Egységnyi időintervallum alatt elvégzett munka.

Átmenő teljesítmény= (Befejezett folyamatok száma) /


(időegység)
Teljesítmény követelmény
• Áttérési idő (Turnaround Time ,tat):
A teljes időmennyiség, amelyet a folyamat a készenlétben
várakozva, futás közben és be-/kimenetre várakozáshoz együtt
eltölt.

tat = t(folyamat befejeződése) – t(folyamat elindítása)


Teljesítmény követelmény
• Várakozási idő (Waiting Time, wt):
Készenléti állapotban töltött összes idő.
A processzor ütemező algoritmusai kizárólag a készenlétben
való várakozást befolyásolják. Általában elégséges figyelni a
várakozási időt a teljes áttérési idő helyett.
Teljesítmény követelmény
• Válaszidő (Response Time, rt):
A beérkező kérésre való válasz elkezdéséhez szükséges idő. Ez
a követelmény az interaktív rendszerekben fontos.

rt = t(első válasz) – t(kérés elküldése)

a folyamat futásának elkezdéséhez szükséges idő


Teljesítmény követelmény
• Általában maximizálni akarjuk a processzor
kihasználtságát és átmenő teljesítményét, és
minimizálni az áttérési időt, a várakozási időt és a
válaszidőt.
• Azonban néha más kombinációkat is figyelembe
vehetünk a rendszerrel szemben támasztott
követelményektől függően.
• Például, az időosztásos rendszereknél a válaszidő
meglehetősen fontos.
Processzor ütemező algoritmusok

• Az ütemező algoritmus célja: kiválasztani a készenléti


listáról a leginkább alkalmas folyamatot.
• Az egyszerűség kedvéért feltesszük, hogy
• egyetlen be-/kimeneti kiszolgálónk és egyetlen eszköz
várólistánk van,
• Az eszköz várólista mindig a FCFS (FIFO) módszerrel van
megvalósítva (érkezési sorrendben történik a kiszolgálás).
• elhanyagoljuk a váltási időt a folyamatok közötti
váltáskor (környezetváltás, context switching).

64
Processzorütemező algoritmusok

• Az alábbi folyamatokra különböző ütemező


algoritmusokat fogunk bemutatni.

Folyama Érkezés Első Első Második Második Harmadi


t ideje futás kimenet futás kimenet k futás
A 0 4 4 4 4 4
B 2 8 1 8 - -
C 3 2 1 2 - -
D 7 1 1 1 1 1

65
Érkezési sorrendben (First-Come-First-Served, FCFS)

• Ebben az algoritmusban az a folyamat lesz futásra


kiválasztva és kapja meg a processzort, amelyik
folyamat hamarabb kérte.
• Ez az a folyamat, amelyiknek a PCB –je a készenléti
lista elején található.
• Egyszerűsége ellenére a teljesítménye szerény a többi
algoritmussal szemben.

66
Érkezési sorrendben (First-Come-First-Served ,
FCFS)
Készenléti lista
Fut

P9 P7 P3 P1 P0 Elkészült

Várakozó -> készen

Be/Kimenet kérése
és
P6 P1
P4 arra való várakozás

P5 P8

Várólisták
Érkezési sorrendben (First-Come-First-Served ,
FCFS)

• Az érkezési sorrendű ütemezéskor a rövid futamidejű


programok is hosszú idejig várakozhatnak.
• Ha egy hosszú futamidejű folyamat kapja meg a
processzort, az összes többinek várakoznia kell rá,
hogy visszaadja, és ezalatt a készenléti listán
felhalmozódnak a folyamatok.
• Ezt nevezik karaván hatás (convoj effect).

68
Round-Robin Ütemezés(RRS)

• Az RRS algoritmus a készenléti lista elemeit körkörösen,


érkezési sorrendben kezeli.
• Az RRS a készelnéti listát követve minden egyes folyamatnak
ad egy időintervallumot, amely kisebb, vagy egyenlő egy előre
definiált időkerettel, amelyet idő kvantumnak (time quantum,
slice) nevezünk.

69
Round-Robin Scheduling (RRS)
Készenléti lista
Fut

P9 P7 P3 P1 P0 Elkészült

Megszakítás
Várakozó -> készen
Be/Kimenet kérése
és
P6 P1
P4 arra való várakozás

P5 P8

Várólisták
Ütemezés kérése Futási idő

Áttérési idő (kezdés és befejezés közötti teljes idő)


Round-Robin Ütemezés(RRS)

• A Round-Robint használó OpRendszer veszi az első folyamatot a készenléti


listáról, odaadja neki a processzort használatra, és az időkeret lejártakor
hegy időzített megszakítással jelez a processzornak.
• Ha egy processzorfutam ideje kisebb az időkvantumnél, akkor önként
átadja a processzort, akár úgy, hogy befejezi a futását, akár be-/kimeneti
kérés indításával.
• Az OpRendszer a készenléti listán a következő folyamattal folytatja.

72
Round-Robin Ütemezés(RRS)

• A RRS átmenő teljesítménye erősen függ a megválasztott időkvantum


nagyságától.
• Ha az időkvantum    RRS átváltozik FCFS-é
• Ha az időkvantum  0  RRS átváltozik processzor-megosztottá (úgy
viselkedik, hogy minden folyamat a processzor sebességének n-ed részével
fut)
• Azonban, ha az időkvantum nagyon kicsi, akkor a
környezetváltás/folyamatváltás idejét nem lehet többé elhanyagolni.
• Optimális időkvantumnak választhatunk a futamok 80%-ánál nagyobb
időintervallumot, és legyen nagyobb a környezetváltás időtartamánál is.

73
Folyamatok állapotai
megszakítás
3
1
Start Készenlét Fut Megállított

Be/kimenet 2 Be/kimeneti
befejeződött kérés
Várakozik

Ha egynél több folyamat lép be a készenléti listára, akkor az alábbiak szerint


adunk elsőbbséget nekik:
1: éppen beérkező folyamat
2: be-/kimenettel éppen elkészülő folyamat
3: a processzorból megszakított folyamatok

74
Round-Robin Ütemező(RRS)

• A Round-Robin ütemezés garantálja:


rtmax≤ (n-1)*Q
ahol
n : multiprogramozás szintje
Q: időkvantum

75
Összehasonlítás
Leghamarabb
Érkezési Legrövidebb elkészülő Round
sorrend először először Robin

FCFS SPF SRTF RR


tatavg 28.25 23.50 18.75 24.50
wtavg 16.50 10.50 6.25 12.25
rtavg 4.50 3.00 1.25 2.25
Könnyen Nem Nem Megvalósítható,
megvalósíthat tudjhatjuk, tudjhatjuk, rtmax fontos az
ó csak csak interaktív
becsülhetjük a becsülhetjük rendszerekben
következő a következő
CPU futam CPU futam
hosszát idejét

76
Memóriakezelés
Memóriakezelés
• A memóriakezelés a számítógép memória részeinek, úgynevezett
blokkjainak a különböző programok közötti kiosztásának
koordiánációjának és irányításának folyamata a rendszer
összteljesítményének optimizálása érdekében.
Memóriakezelés helye

Felhasználói program

Felhasználói kezelőfelület

Operációs
Rendszerhívások rendszer

Memóriakez
Fájlkezelés Folyamatkezelés Hálózatkezelés Energiagazdálkodás
elés

Hardver
Memóriakezelés
• A multiprogramozású rendszereknél a processzor
megosztott használata miatt, számos folyamatot a
memóriában kell tárolni.
• A memóriakezelést memóriakezelő algoritmusokkal
lehet elvégezni.
• Mindegyik memóriakezelő algoritmus számára
szükséges, hogy a hardver támogassa.

80
Memóriakezelés
• Ahhoz, hogy a programok a memóriában bárhová
elhelyezhetők legyenek, a fordítónak áthelyezhető
tárgykódot kell előállítania.
• Arról is gondoskodni kell, hogy a program a
memóriában elfoglalt saját területeit címezhesse, de
a többi programéhoz ne férjen hozzá.
• Így valamilyen védelmi mechanizmusra is szükség
van.

81
Fizikai memória
4GB
Abszolút Verem szegmens 1. Folyamat
memóriacím
Szabad memória

Adat szegmens

A memóriakezelő Kód szegmens


részlegekre osztja a
fizikai memóriát, és
azokba tölti be a futó
folyamatokat.
Verem szegmens
2. Folyamat
Szabad memória
Adat szegmens
Kód szegmens

0
Védett memória
4GB
Szabad
Processzor

Határregiszter

Felhasználói Felhasználói folyamat nem férhet hozzá a határoló


regiszterben lévőtől alacsonyabb memóriacímekhez

OpRendszer
0

Az operációs rendszer memóriaterülete védett


Alkalmazások tipikus
Verem memóriaszegmensei

64k
Verem szegmens A verem mérete nőhet
vagy csökkenhet

Szabad memória

35k
Adat szegmens

20k
Kód szegmens
0 Memóriacím a szegmensen belül
Memória felosztás
• A memóriafelosztás a rendszer, amely szerint a számítógép rendszer
memóriája a benne tartózkodó programok között szét van osztva.
• Ezeket a memóriarészlegeket partícióknak is hívjuk.
• Többféle módon lehetséges a memóriát felosztani - rögzített, változó
illetve dinamikus partícionálással.
Rögzített partícionálás
• A rögzített partícionálásnak nevezzük azt a rendszerezést, amelyben a
memóriát át nem fedő (rögzített/mozdíthatatlan/statikus) méretekre
osztjuk.
• Egy folyamat a méretével megegyező vagy tőle nagyobb partícióba
tölthető be.
• A folyamat a neki osztott partícióba van korlátozva.
Rögzített partícionálás
Memória
• Ebben a módszerben a
memóriát rögzített méretű
részlegekre osztjuk.
6n KB
Nagy méretű • Az OpRendszer a memória
legkisebb című helyein
található
3n KB Közepes méretű • A folyamatok áthelyezése
nem szükséges
n KB Kis méretű

OpRendszer

88
Aprózódás (fragmentáció)
Memória
memory
Ha egy teljes partíció
OS jelenleg használaton kívül
van, azt nevezik külső
2K aprózódásnak.
P1 (2K)

6K Empty (6K)
Üres (6k)

P2 (9K) Ha egy partíciót olyan


12K empty folyamat használ, amely
azt csak részben foglalja
Üres
Empty(3k)
(3K) el, azt nevezik belső
aprózódásnak.

89
Változó partícionálás
• A változó partícionálásnak azt nevezzük, amikor a memóriát át nem
fedő (mozdíthatatlan/statikus) de változó méretű részekre osztjuk.
• Ez a felosztási rendszer rugalmasabb, mint a rögzített partícionálás, de
ez sem a legjobb megoldás.
• A kis méretű folyamatok kis méretű partícióban, a nagy méretűek
nagy méretűben vannak elhelyezve.
• A partíciót nem feltétlenül tölti ki a folyamat teljesen pontosan.
Változó partícionálás A változó partícionálás memória-lyukakat hozhat lére

Szabad memória Szabad memória Szabad memória

5. Folyamat 5. Folyamat 5. Folyamat

A 2. és 4. A 6. Memória lyuk
folyamat folyamat a
4. Folyamat bezáródik, Memória lyuk 4. által
hátra- 6. Folyamat
és
memória hagyott
lyukat memória
3. Folyamat 3. Folyamat lyukba 3. Folyamat
hagynak
hátra töltődik be
2. Folyamat Memória lyuk Memória lyuk

1. Folyamat 1. Folyamat 1. Folyamat

OpRendszer OpRendszer OpRendszer


Változó partícionálás

• Kezdetben az egész memória szabad, és egyetlen hatalmas


tömbként van kezelve.
• Amikor új folyamat érkezik, az OpRendszer végignézi a szabad
blokkok listáját, és keres egy elegendően nagyot a folyamat
tárolására.
• A többi tárterületet szabadon (elérhetőként) tartjuk a későbbi
folyamatoknak.
• Ha egy blokk felszabadul, az OpRendszer megpróbálja
összeolvasztani a szintén szabad szomszédaival.

92
Változó partícionálás

• Háromféle algoritmussal lehet végigkeresni a szabad blokkok


listáját egy bizonyos mennyiségű foglalandó memória számára.
• Első illeszkedő találat (first fit)
• Legjobb illeszkedő találat (best fit)
• Legrosszabbul illeszkedő találat (worst fit)

93
Első illeszkedő találat (First fit)

First Fit : Az új folyamat megkapja az első olyan


blokkot, amely elegendően nagy a tárolására.

Ez az algoritmus gyors.

94
Legjobban illeszkedő (Best fit)

Best Fit : Az új folyamat megkapja a legkisebbet azok közül a


blokkok közül, amelyek elegendően nagyon a tárolására.
 Ezzel a módszerrel az OpRendszernek végig kell keresnie a
teljes listát, vagy azt sorba rendezve kell tárolnia, és annál kell
megállapodnia, amelyik már elegendően nagy az új folyamat
tárolására.
 Ez az algoritmus produkálja a legkisebb maradék-tömböt.
 Azonban több időre van szüksége a teljes lista átnézéséhez és
sorba rendezéséhez
 Ha sorba is rendezi, akkor a befejeződő folyamatok miatt
felszabaduló blokkok összeolvasztása a többi területtel
bonyolulttá válik.

95
Legrosszabbul illeszkedő (worst fit)

Worst Fit : Az új folyamat megkapja a legnagyobb összefüggő


szabad tömböt.
 Ismét szükséges a teljes lista átnézése vagy rendezve tárolása.
 Ez az algoritmus állítja elő a legnagyobb maradéktömböt.

96
Préselés (compaction)
• A préselés módszere segít megoldani a külső aprózódás
problémáját.
• A szabad tömböket egymás mellé rendezi, mint egyetlen nagy
szabad tömb.
• Dinamikus áthelyezést igényel
• A préselésnek ára van, és optimális préselési stratégiát
választani bonyolult.
• A préselés egyik módja: kiírni a mozgatandó folyamatot a
cserehelyre (swapping), és másik memóriaterületre
visszatölteni

97
A folyamatok áthelye-
Memória préselés ződnek folytatól-agos
memória-blokkokba

Szabad memória Szabad memória

5. Folyamat 5. Folyamat

A 2. és 4. Szabad memória
folyamat
4. Folyamat bezáródik, Memória lyuk
és
memória
lyukat
3. Folyamat 3. Folyamat
hagynak 5. Folyamat
hátra
2. Folyamat Memória lyuk 3. Folyamat

1. Folyamat 1. Folyamat 1. Folyamat

OpRendszer OpRendszer OpRendszer


Áthelyezés
• Statikus áthelyezés: egy folyamatot a memóriába betöltve
minden alkalommal más kezdőcímet kaphat
• Változó partícionálásnál szükséges
• Dinamikus áthelyezés: A statikus áthelyezésen kívül a
folyamat kezdőcíme a memóriában tartózkodás közben is
megváltozhat
• Préseléskor szükséges

99
Memóriakezelés: lapolás
• A lapolás módszere: adatot írni és olvasni a másodlagos tárhelyre/ről
(meghajtó) az elsődleges tárhelyben (RAM) való használathoz.
• Amikor a számítógépnek elfogy a RAM memóriája, az OpRendszer a memória
lapjait a számítógép merevlemezére írja, hogy RAM-ot szabadítson fel a többi
folyamat számára.
• Ez biztosítja, hogy az operációs rendszer soha nem omlik össze amiatt, hogy
kifogy a memóriából
• A memórialapozásra való túlzott ráutaltság gyengíti a teljesítményt, mivel a
RAM sokkal gyorsabban működik, mint a merevlemez.
• Ez azt jelenti, hogy az OpRendszernek várakoznia kell a lemezre minden
alkalommal, amikor egy lapot kicserél
Memóriakezelés: lapolás
n. Memória lap

… Cserehely
(merevlemezen)
Memóriatérkép

3. Memória lap
2. Memória lap
Fizikai memória
1. Memória lap

Virtuális memória
Megszakítások
Megszakítás
• Adat érkezésekor az eszközök egy különleges jelet küldenek a
processzornak.

• “Ébressz fel, ha megérkeztünk.”

• A harver-megszakításokra válaszként megszakítja az éppen


futó folyamatot.
Általános megszakítás lefolyása
1. Elkezdett műveletet befejezése
2. Az állapot elmentése az állapotregiszterekbe
3. Forrás azonosítása
4. Ugrás a megszakításkezelő rutinhoz, és annak aktiválása (Interrupt Service Routing,
ISR)
5. Visszatérés az eredeti programhoz (RTI) , állapotának visszaállítása
Register

CPU Megszakításvezérlő
I/O I/O
device device
Rövid háttér
• Univac 1103/1103A (1953-56) – első, megszakításokkal rendelkező
processzor. A folyamatban lévő művelet memóriában tárolódott, és az
utasításszámláló egy rögzített címet töltött be.

• Egyéb említésre méltók:


• IBM (1954) – elsőként maszkolható megszakítások
• NBS DYSEAC (1954) – első be-/kimeneti megszakítások
Célja/Alkalmazása
• Új vagy módosított műveletek belső kérések és/vagy külső eszközök alapján.

• Megkezdett műveletek felfüggesztésének módja fontosabb feladatok miatt.

• Hardver (Megszakítások vagy aphelyzetbe állás)


• Alaphelyzetbe állítás (reset)
• Felhasználó által meghatározott megszakítás
• Időzített műveletek
• CPU műveletek hibák figyelésére

• Szoftvere
• Érvénytelen művelet
• SWI – software interrupt
Célja/Alkalmazása (folytatás.)
• Be-/kimeneti műveletek összehangolása
• Jelzi a CPUnak, hogy egy bemenet készen áll, vagy egy kimenet már
megváltoztatható

• Időzítés
• Periódikus (óra-vezérelt) megszakítások emlékeztetik a CPU-t az idő
múlására
• Multi-tasking
• Számlálók frissítése
• Időzítés interaktív programok közben
• Hibajelzések
• Megszakítások jelezhetnek hibás eseteket és körülményeket
Megszakítások fajtái

• Mellőzhető megszakítások (vagy Maszkolható)


• Leggyakrabban használatos
• Arra jó, ha a számítógépnek valami fontosabbat kell tennie
• Amikor az interrupt maszk be van állítva, a többi megszakítás el
van rejtve, és ezáltal mellőzve.
• Nem-mellőzhető megszakítások (Nem-maszkolható)
• NMI’s prioritást kapnak, bármely feladatot megszakítanak
Megszakításkezelő

ISR – Interrupt
3. Periféria Processzor service routine

2. Periféria
Megszakítás Megszakítás Megszakítás-
vezérlő kezelő kezelő rutin

1. Periféria
Megszakítás kezelés MCU-n belül
Megszakítási jel

Interrupt
Észreveszi a
kivezetés megszakítást
Külső megszakítás
esemény
Maszkolja a
nemkívánt
megszakításokat
Processzor
Megszakítás-
űbelső megszakítás vezérlő
esemény A kezelő program-
kódra vált
Beállítja a
megszakítás
prioritását
Perifériavezérlő
áramkör
Megszakítás vektor tábla (Interrupt Vector
Table)
• Amikor megszakítás történik, az irányítás a megszakításkezelő rutinra
ugrik
• Szubrutinhoz hasonló esemény
• Hogyan tudjuk meg a megszakításkezelő rutin helyét??
• A megszakításkezelő címét a megszakítás vektor tábla tartalmazza
• IVT minden megszakítás típusra rendelkezik egy bejegyzéssel
• A bejegyzések a megszakítás típusa szerint vannak számozva, és a
kezelőfüggvény címére mutatót tartalmaznak
Maszkolható, amikor az
Megszakítás vektor tábla CCR i-bitje be van
állítva

Alacsony
prioritás

Legmagasabb
prioritás

Nem-maszkolható
Megszakítások vezérlése: Az I-bit

• Programok is beállítják, hogy további maszkolható megszakítások


futását megakadályozzák
• SEI (SEt Interrupt Mask – beállítja a megszakítási maszkot)
• Programbeli utasításokkal törölhető is
• CLI (CLear Interrupt Mask – törli a megszakítási maszkot)
• Automatikusan törli az RTI művelet
Maszkolható megszakítás: HPRIO

• Egy maszkolható megszakítás prioritása megnövelhető.


• A HPRIO –nak 0-3 bitjét használja (Highest PRIOrity Interrupt Register)
• Alapértelmezett értéke az IRQ.
• Bármikor beállítható, ameddig az I bit be van állítva.
Maszkolható megszakítás: IRQ
• Legmagasabb prioritású maszkolható megszakítás
• IRQ érintkező külső megszakítás-forrást biztosít
• További MCU érintkezőket használhatunk megszakítás bemenetként:
• Például:
• XIRQ bemenet
• Fő-időzítő elfoglalási érintkező (Main-Timer Capture Pins)
• Impulzus felhalmozási érintkező (Pulse Accumulator Pin)
• Az OPTION vezérlő IRQE Bitje használható IRQ érintkező konfiguráláshoz
• IRQE = 0 -> Legalacsonyabb szintre érzékenység (Low level sensitive)
• IRQE = 1 -> Lefutó élre érzékenység (Low-going edge sensitive, single source only)
Maszkolható megszakítás: IRQ
• A HC11 egyik érintkezője vezérli
• Alacsony jel elindítja a megszakítási sort

OPTION $1039
7 6 5 4 3 2 1 0
ADPU CSEL IRQE DLY CME CR1 CR0

IRQE = IRQ Select Edge Sensitive Only (Time Protected)

0 0 = IRQ configured for low LEVEL (default)


1 1 = IRQ configured for falling EDGEs
The SIX untouchables: NEM-MASZKOLHATÓ
• RESET
• CLOCK MONITOR
• COP Watchdog
• Illegal Opcode
• XIRQ
• SWI
Előnyök és hátrányok

• Előnyök
1. Hatékony, jobb a lekérdezéstől (polling)
2. Multitasking

• Hátrányok
1. Véletlenszerűen előfordulhatnak
2. Néha további hardver szükséges hozzá
Fájlrendszerek
Fájlrendszerek
• A fájlrendszer módot biztosít egy meghajtó rendezésére.
• Meghatározza, hogyan van az adat a meghajtón tárolva, és milyen
információk vannak a fájlokhoz rendelve – fájlnév, jogosultságok és
egyéb attribútomok.
Fájlok és mappák a fájlrendszerben
Hierarchikus fájlrenszer
Adat klaszter
A számítógép fájlrendszereiben a klaszter a
foglalási egység a lemezterületen a fájlok és
könyvtárak számára.
A lemezen lévő adatstruktúrák járulékos
kezelési munkáját csökkentendő, a
fájlrendszerek nem egyedi szektorokat, hanem
szektorok összefüggő csoportját foglalja,
amelyet klaszternek nevezünk.
Lemez szerkezete:
(A) sáv
(B) geometriai szektor
(C) sáv sector
(D) klaszter
Lemez partícionálás
• A lemezpartícionálás vagy lemez szeletelés (Disk partitioning) egy
vagy több összefüggő terület létrehozását jelenti a merevlemezen,
vagy más másodlagos tárhelyen. Az OpRendszer minden ilyen
partíción külön kezelheti az információkat.
Lemez
partícionálás
Lemez partícionálás
Fájlrendszer típusok
• FAT - a FAT fájlrendszer változatai (FAT16 és FAT32). Általában viszonylag alacsony-kapacitású meghajtókon, például
memóriakártyákon, pendriveokon, és hasonlókon találunk FAT fájlrendszert.
• exFAT - Extended FAT fájlrendszer, nagy kapacitású flash meghajtókon (mint SDHC kártya) a Windows Vista Service
Pack 1, Windows CE 6.0 és magasabb verziók által.
• NTFS – kimagaslóan a leggyakoribb fájlrendszer a Windowst futtató számítógépeken (XP, Vista, Windows 7).
• ReFS – Microsoft által a Windows 8 Serverhez fejlesztett fájlrendszer
• HFS - Mac OS Standard fájlrendszer, az Apple számítógépeken. A HFS elavult, és az Apple kivezeti azt. A Mac OS X
10.6 (Snow Leopard) –tól kezdve, a Mac OS nem HFS-be formázza a lemezeket, és a HFS lemezek csak olvashatók ká
váltak.
• HFSPlus - Mac OS Extended fájlrendszer, az Apple számítógépein és más összetett eszközökön, pl iPod
alapértelmezett fájlrendszere.
• APFS - Apple File System, 2017ben adták ki a HFS+ lecserlésére.
• UfsBE és UfsLE - az UFS fájlrendszer két változata, Apple Mac és UNIX rendszereken.
• ext (ext2, ext3, and ext4) – a standard Linux fájlrendszer különböző generációi.
• XFS – Linux és NAS eszközök fájlrendszere.
• Btrfs - NAS eszközök (mint NETGEAR és Synology) fájlrendszere.
Windows fájlrendszerei
• A Windows három különböző fájlrendszer támogat:
 NTFS a legmodernebb fájlrendszer. A Windows NTFS-t használ
a rendszermeghajtón, és alapértelmezésként a legtöbb belső
lemezen.
 FAT32 egy régebbi fájlrendszer, amely kevésbé hatékony, mint
az NTFS, és nem támogat annyiféle jelleget, de nagyszerű
kompatibilitást nyújt régebbi operációs rendszerek felé.
 exFAT egy modern helyettesítője a FAT32-nek—több eszköz és
operációs rendszer támogatja, mint az NTFS-t, de nem annyira
elterjedt, mint a FAT32.
Windows fájlrendszerei
• FAT
• A File Allocation Table (FAT) fájlrendszer a “régi standard” fájlrendszer a telepített Windowsokon.
• A FAT fájlrendszerből hiányoznak a folyamatosan bővített jellegek, de továbbra is a felhasználó-orientált Windowsok
alapja.
• A FAT fájlrendszer többféle verziója elérhető a Windows különböző verziói alatt.
• A legújabb verziók a FAT 16 és FAT 32.
• FAT 16 a régebbi felhasználói Windows verziók felé való kompatibilitáshoz használatos.
• FAT 32 a legújabb verziója,
• A FAT 16 és FAT 32 lemezen tárolt szerkezete hasonló, de különbözőek annyira, hogy egymással nem
kompatíbilisek.
• A FAT fájlrendszer a FAT tábla két példányát tárolja a köteten.
• Ha az egyik példány hibássá válik, akkor elvileg a rendszer automatikusan helyre tudja állítani a
másodpéldányban tárolt információkból.
FAT tömb indexelés
FAT16, FAT32
• FAT32 a Windows alatt elérhető fájlrendszerek közül a legrégebbi.
• A Windows 95-tel vezették be a régebbi FAT16 fájlrendszer
lecserélésére, amelyet az MS-DOS és a Windows 3 használtak.
FAT32
• Előnyei:
• A FAT32 fájlrendszer kora előnyökkel és hátrányokkal is jár. Nagy előnye, hogy
a kora miatt a FAT32 a de-facto standard.
• A boltban vásárolt Flash meghajtók gyakran FAT32-re formázottan érkeznek a
modern számítógépek és bármely egyéb USB-vel rendelkező eszköz közötti,
például játékkonzolok közötti maximális kompatibilitás miatt.
• Hátrányai:
• Korából adódóan korlátozások is járnak vele.
• A FAT32 lemezen az egyedi fájlok mérete nem haladhatja meg a 4 GB
méretet—ez a maximum.
• A FAT32 partíciói legfeljebb 8 TB méretűek lehetnek, ez gyengébb korlátozás,
kivéve, ha különösen nagy kapacitású eszközöket használunk.
FAT16, FAT32
Fenntartott terület Nem használt terület

Gyökér
könyv- Adatterület (fájlok és
tár
könyvtárak)

FAT16 fájlrendszer szerkezete


Nem használt terület

Adatterület (fájlok és
könyvtárak)

Gyökérkönyvtár
FAT32 fájlrendszer szerkezete
FAT
• FAT == File Allocation Table, fájl elhelyezési tábla
• FAT a kötet tetején található.
• Két példányban tárolják arra az esetre, ha az egyik megsérülne.
• A klaszterméretet a kötet mérete határozza meg.
Kötet méret vs. Klaszter méret
Drive Size Cluster Size Number of Sectors
--------------------------------------- -------------------- ---------------------------
512MB or less 512 bytes 1
513MB to 1024MB(1GB) 1024 bytes (1KB) 2
1025MB to 2048MB(2GB) 2048 bytes (2KB) 4
2049MB and larger 4096 bytes (4KB) 8
FAT32
A FAT fölötti fejlesztéseket tartalmaz
Hatékonyabb tárhely kezelés
• Kisebb klaszterek miatt.
• Miért lehetséges? 32 bit bejegyzések…
• Szilárdabb és rugalmasabb
• A gyökérkönyvtár egy közönséges klaszter lánc lett, és így bárhová
elhelyezhető a meghajtón.
• Fat biztonsági másolata.
• Kevésbé hajlamos egypontos meghibásodásra.
Betöltő bejegyzés (boot record)
• Ez a kötet első szektora, a „fenntartott terület” legelső szektora.
• Ezen a területen assembly programkód található, amely a Windows
operációs rendszert elindítja, továbbá a FAT fájlrendszer számos egyéb
paramétere is.
• A következő területet a "BIOS Parameter Block(BPB)„.
• A következő terület mindössze 1 szektor, de ennek van a legfontosabb
feladata: az OpRendszer ezt a területet elemzi, amikor megpróbálja
felismerni a kötetet.
FAT16, FAT32
Fenntartott terület Nem használt terület

Gyökér
könyv- Adatterület (fájlok és
tár
könyvtárak)

FAT16 fájlrendszer szerkezete


Nem használt terület

Adatterület (fájlok és
könyvtárak)

Gyökérkönyvtár
FAT32 fájlrendszer szerkezete
FAT16 boot record (betöltő bejegyzés)

FAT16 fájlrendszer betöltő


bejegyzésének szerkezete
FAT32 boot record

FAT32 fájlrendszer betöltő


bejegyzésének szerkezete
NTFS
• NTFS egy modern fájlrendszer, amelyet a Windows
alapértelmezettként is szeret használni. A Windows telepítésekor a
rendszermeghajtót NTFS fájlrendszerbe formázza.
• Az NTFS fájlméret- és partíció méretkorlátai olyan nagyok, hogy
elméletileg nem ütközünk bele a belátható jövőben.
• Az NTFS a felhasználói Windowsok közül először a Windows XP-nél
jelent meg, de eredetileg a Windows NT-ben használták.
NTFS
• MFT == Master File Table (Mester fájl tábla)
• Analóg a FATtal
• Tervezési célok
1) Hibatűrés
 Beépített tranzakció-naplózás jellemző.
2) Biztonság
 Szemcsés (fájlonkénti/könyvtárankénti) biztonsági támogatás.
3) Skálázhatóság
 Nagyméretű lemezek hatékony kezelése.
NTFS – Master File Table
• Az NTFS fájlrendszer tartalmaz egy fájlt, amelyet Mester Fájl Táblának
hívnak (MFT).
• Minden fájlra legalább egy bejegyzés szerepel az MFT-ben az NTFS
köteten, beleértve magát az MFT-t is.
• A fájlról szóló minden információ, beleértve annak méretét, dátum és
időbélyegzőjét, jogosultságait és adattartalmát vagy az MFT tárolja,
vagy az MFT által hivatkozott lemezterület
NTFS – Master File Table
NTFS fájlrendszer

Mester Könyvtár-
Fájl bejegyzés
Tábla Bit-térkép adatai

Fájl Fájl
bejegyz.

0,1 jelölés
minden
klaszterre

Könyvt
Fájl
ár-
bejegyz
NTFS
• Skálázhatóság
• NTFS a klasztereket 64-bites címzéssel hivatkozza.
• Még kisméretű klaszterekkel is az NTFS olyan nagy méretű lemezeket is meg
tud címezni, amilyeneket a következő évtizedekben még nem fogunk látni.
• Megbízhatóság
• Az NTFS naplót vezet a tranzakciókról, így a CHKDSK vissza tudja állítani a
tranzakciók előtti utolsó véglegesített állapotot, és így helyreállítja a
fájlrendszer konzisztenciáját.
• FAT esetén a CHKDSK a könyvtárban lévő mutatók, foglalások és fájl táblák
konzisztenciáját vizsgálja.
NTFS Metadata Files
NameMFT Leírás
$MFT Mester Fájl Tábla
$MFTMIRR Az MFT első 16 bejegyzésének
$LOGFILE Tranzakciónaplózó fájl
$VOLUME Kötet sorozatszáma, létrehozás ideje, „piszkos” jelölő
$ATTRDEF Jellegdefiníciók
. Lemez gyökérkönyvtára
$BITMAP Klaszter térkép (használatban vs. szabad)
$BOOT Meghajtó betöltőbejegyzése
$BADCLUS Lemez rossz klasztereinek listája
$QUOTA Felhasználói kvóta
$UPCASE Kicsi és nagybetűs karakterek egymáshoz rendelése

You might also like