operációs rendszerek
DESCRIPTION
Operációs rendszerek. Az operációs rendszerek fejlődése A kezdetek 1944: első elektronikus számítógép nincs operációs rendszere huzalos programozású 1946: Első Neumann elven működő szg. még mindig nincs operációs rendszer kapcsolók segítségével programozható Hátrányok: - PowerPoint PPT PresentationTRANSCRIPT
Operációs rendszerek
2
• Az operációs rendszerek fejlődése– A kezdetek
• 1944: első elektronikus számítógép– nincs operációs rendszere
– huzalos programozású
• 1946: Első Neumann elven működő szg.– még mindig nincs operációs rendszer
– kapcsolók segítségével programozható
• Hátrányok:– kényelmetlen programozás
– kihasználatlanság
• Hatékonyság növelése– kártyaolvasók a bevitel gyorsítására
– első szimbolikus nyelv, az assembler
3
• 1950:– szélesedő felhasználói kör (matematikusok)
– Első magas szintű, algoritmusokra optimalizált nyelv a FORTRAN bővülő feladatkör
• Open Shop (Nyílt programozás)– a felhasználó a gép előtt ülve végzi el a műveleteket
– gépidőt kell lefoglalni, csak ekkor tevékenykedhet
– egy tipikus programfuttatás menete:
» konzolon a jelszó begépelése tártörlés
» FORTRAN fordító kártyacsomag behelyezése, fordítandó program a kártyaolvasóba majd betöltés
» kártyalyukasztón megjelenik a lefordított program
» tártörlés, majd a lefordított program futtatása
» konzol írógépen az eredmény megjelenése (ha minden tökéletes volt)
– nehézkes javítás, hosszú gépidőre várás
4
• Kötegelt feldolgozás– hatékonyság növelésére szakképzett operátor
alkalmazása
– képes volt hibajavításra, beérkező munkák rendszerezésére kevesebb fordítóprogram betöltés
– a felhasználók nem érintkeztek a géppel (Closed Shop)
– Kötegelt (batch) feldolgozás: Az egyes feladatokat leíró kártyakötegek utasításait egymás után sorjában hajtja végre a számítógép.
– Növekedett a számítógép sebessége az operátor nem győzte
• General Motors laboratorium– cél: operátor hibáinak kiküszöbölése
– első operációs rendszer(ecske) a monitor
– állandóan a memóriában volt
– az operátornak csak a perifériákat kellet kezelnie
– kártya helyett mágnesszalag
5
– feldolgozás menete:
» felhasználói programok összegyűjtése (satellite)
» az összegyűjtött program betöltése a számítógépbe
» eredmény kiírása
» eredmény közlése a felhasználókkal (satellite)
– mágnesszalag előnye az operátor nélküli pozícionálhatóság
– parancsnyelvek lérejötte
• 1960: SPOOL rendszerek– a mágnesszalag is lassúnak bizonyult
– gyors átmeneti tárak létrehozása az input és output adatok számára (mágneslemezek)
– processzor nélküli adatátvitel (közvetlen memória hozzáférés)
– művelet befejezése megszakítás kéréssel
6
• Multiprogramozás (Többfeladatos rendszerek)– önállóan működő egységek párhuzamos
adatfeldolgozás
– átlapolt rendszerek
IN EXEC OUT
IN EXEC OUT
IN EXEC OUT
IN EXEC OUT
JOB 1
JOB 2
JOB 3
JOB 4
7
– együttes perifériaidő = együttes CPU idő igény hatékony rendszer
– nagyon ritkán valósul meg
– több program egyidejű végrehajtásának szükségessége
• Az operációs rendszer– több periféria jelenik meg és több feladatot kell
egyidejűleg kezelni
– minőségi változások szükségesek
– megjelenik az alapfunkciókat ellátó vezérlőprogram (rendszermag) a kezelői felület (monitor) mellett
– Operációs rendszer = burok (shell) + mag (kernel)
• Az operációs rendszerek feladatai– Eszközkezelők (Device Driver)
» Egységes kezelői felület a különböző perifériáknak
– Megszakításkezelés (Interrupt Handling)
» A perifériák igényeinek kielégítésre
8
– Rendszerhívás, válasz (System Call, Reply)
» felhasználói alkalmazások erőforrás igénylésének kiszolgálása
– Erőforrás kezelés (Resource Management)
» közös eszközhasználat megelőzése illetve konfliktus feloldása
– Processzor ütemezés (CPU Shceduling)
» a várakozó munkák közötti processzoridő kiosztása valamilyen stratégia alapján
» munkák közötti átkapcsolás
– Memóriakezelés (Memory Management)
» memóriaterület felosztása a munkák között
– Állomány- és lemezkezelés (File and Disk Management)
» rendszerezés, nyilvántartás
– Felhasználói felület (User Interface)
» kommunikáció biztosítása a felhasználóval
9
Meg
szak
ítás
keze
lőE
szkö
zke
zelő
Pro
cess
zor
keze
lés
Mem
ória
kez
elés
Áll
omán
ykez
elés
Erő
forr
ás k
ezel
és
Ren
dsze
rhív
ások
,vá
lasz
ok
JOB 0
JOB 1
JOB 2
JOB x
Per
ifér
iák
CPU MEM
10
• Interaktív rendszerek– a terminálon lehetett a programot és az adatot bevinni
– programfejlesztés gyors növekedése
– számológép funkció helyett információkezelés
• Operációs rendszer újabb követelményei:– Válaszidő
» órák, napok másodpercek
– Időosztás
» felhasználóval való foglalkozás
» megjelenik az óra időosztás (time sharing)
– Felhasználói felület
» parancsnyelv helyett parancsértelmezők
» felhasználóbarát felület
– Felhasználói adminisztráció
» jogi, biztonsági kérdések
» felhasználók közötti kommunikáció
11
Meg
szak
ítás
keze
lőE
szkö
zke
zelő
Pro
cess
zor
keze
lés
Mem
ória
kez
elés
Áll
omán
ykez
elés
Erő
forr
ás k
ezel
és
Ren
dsze
rhív
ások
,vá
lasz
ok
Felhasználói felület
JOB 1
JOB 2
JOB x
Per
ifér
iák,
ór
a
CPU MEM
Fel
hasz
náló
k
KERNEL SHELL
12
• Valósidejű rendszerek (real time)– Olyan interaktív rendszer, melyben egy kiszolgálás
kérésre az adott válasz egy szigorúan meghatározott időn belül meg kell érkezzen.
• A jelen és a közeljövő– Többprocesszoros rendszerek
• programok párhuzamos végrehajtása gyorsabb feldolgozás
• újabb feladatok megoldása– folyamatok közötti kommunikáció
– folyamatok közötti szinkronizáció
• Előnyök:– Megnövekedett átbocsátó képesség
– Erőforrás megtakarítás
– Megbízhatóság
13
• Típusai:– szimmetrikus
» minden processzor egyenértékű
» mindegyiken egy példánya fut az oprendszernek
» minden folyamat bármelyik processzorra rábízható
– aszimmetrikus
» az egyes processzorok feladata rögzített
– Elosztott rendszerek• A többprocesszoros rendszerek másfajta felépítése.
• A processzoroknak saját memóriájuk és perifériáik vannak.
• A processzorok közötti kapcsolat valamilyen kommunikációs csatornán történik.
14
• Előnyök– Rugalmasság
» Mindenféle feladathoz található(k) megfelelő számítógép(ek)
– Erőforrás megosztás
» Hardver mellett információ megosztás
– Sebességnövekedés
– Megbízhatóság
– Kommunikáció
• Hátrányok– Illetéktelen hozzáférés
– Operációs rendszer mindenhol• A mindennapi életben használt gépekben.
15
• Alapfogalmak– Folyamatok
• Program: egy algoritmust megvalósító utasítások sorozata.
• Folyamat (task, process): Végrehajtás alatt lévő „élő” programok.
• Egy program több folyamatból is állhat.• Ha több folyamat van, mint processzor a
folyamatoknak várakozni kell.• Folyamatleíró blokk (Process Control Block-PCB,
Task State Segment-TSS)– a folyamat számlálója, a programszámláló állása– a folyamat állapota– a regiszterek tartalma– a folyamathoz tartozó memóriaterületek adatai– a használt perifériák, állományok jellemzői
16
• Folyamatok: Olyan programok, melyeknek van folyamatleíró blokkja.
• A tábla alapján lehet váltani a folyamatok között.
• Szálak (thread): – folyamathoz hasonlítanak
– kevesebb adat kell a nyilvántartásukhoz
– gyors átkapcsolás a szálak között
– közös memóriahasználat (veszélyforrás)
– Erőforrások• Erőforrás: Minden, ami egy folyamat
végrehajtásához szükséges.
• Csoportosításuk:– Elvehető (preemptive): a folyamat vagy az erőforrás
nem károsodik
– Nem elvehető (non preemptive): a folyamat vagy az erőforrás is károsodhat
17
– Az operációs rendszer meghatározása• Erőforrás szemlélet: A folyamatok egy olyan
csoportja, amely a felhasználói folyamatok között elosztja az erőforrásokat.
• Felhasználói szemlélet: A folyamatok egy olyan csoportja, amely megkíméli a felhasználókat a hardver kezelés nehézségeitől.
– Az operációs rendszerek szerkezete, szolgáltatásai
• Rendszermag (KERNEL)– Feladata az erőforrások elosztása és kezelése, a
felhasználói folyamatok igényeinek kielégítése, adminisztrálása.
– Folyamatok sokasága (rendszerfolyamatok)
– Induláskor jönnek létre és leállításig tartanak.
18
– Felhasználói folyamatok létrehozása
– Folyamatleíró blokk elkészítése
– Memóriaterület biztosítása
– Processzoridő elosztása
– Folyamat sorrendjének meghatározása
– Felhasználói folyamatok elválasztása és védelme
• Rendszerhívások, válaszok– A felhasználói folyamatok és az operációs rendszer
magja közötti kommunikáció
– A rendszerhívások megvalósítására sok módszer létezik
– A processzorok is támogatják
» felhasználói üzemmód
» rendszer üzzemmód
19
– Rendszerhívások kiszolgálása
» A felhasználói folyamat legfontosabb paramétereinek elmentése
» A kernel megfelelő folyamatára kerül a vezérlés
» A paraméterek átadásra kerülnek a vermen, a regisztereken vagy valamely közösen használt memóriaterületen keresztül.
» A processzor rendszermódba kapcsolódik át.
» Elindul a megfelelő rendszerfolyamat, végrehajtja a kívánt feladatot.
» A válaszok vagy hibakódok valamely paraméterátadásra szolgáló területre kerülnek.
» A processzor visszatér felhasználói üzemmódba.
» A megszakított folyamat visszakapja a vezérlést.
20
• Eszközkezelők, megszakításkezelés– A perifériák és az operációs rendszer magja közötti
kommunikáció eszközei.
– Az eszközkezelők feladata a kernel tehermentesítése.
– Megszakítás kérés (interrupt request): az operációs rendszer figyelmének felhívása
– Megszakítások típusai:
» Megszakítás (interrupt)
» Kivétel (Exception)
» Nem maszkolható megszakítás (Non Maskable Interrupt)
» Csapda (Trap)
21
– Megszakításkezelés lépései:
» Megszakításkérés érkezik
» A processzor befejezi az éppen végzett műveletet, majd, ha nincs letiltva az adott szintű megszakítás, elfogadja a kérést, ellenkező esetben várakoztatja.
» A processzor elmenti a futó folyamat állapotvektorát
» A CPU privilegizált (kernel) üzemmódba kerül, és letiltódik az összes olyan megszakítás, melynek prioritása kisebb vagy egyenlő az érkezett megszakításéval.
» A központi egység megállapítja a megszakításkérés helyét, és megszakítási vektortáblából kikeresi a megfelelő kiszolgáló rutin címét.
» A kiszolgáló rutin fut.
» A CPU visszatér felhasználóin (user) üzemmódba, és engedélyezi a letiltott megszakítási szinteket.
» A processzor visszaállítja a megszakított folyamat állapotvektorát, ezzel visszaadva a vezérlést.
22
Felhasználói programok
Programok készítési támogatás
Felhasználói folyamatok kiszolgálása
Rendszerhívások
Eszközkezelők
Eszközvezérlő
Perifériák
Válaszok
Megszakításkezelés
Megszakítás vezérlő
Rendszermag (Kernel)Processzorkezelés, Memóriakezelés, Állománykezelés
23
• Virtuális gépek– Hol van a határ a rendszer magja és a
felhasználói folyamatok között?– DOS + Windows 3.1 + Windows folyamat
Felhasználói folyamat
Hardver
BIOS
DOS
Windows
24
• Többfelhasználós rendszereknél, multiprogramozott környezetben az operációs rendszerre, mint áthatolhatatlan falra szükség van.
– Az IBM VM rendszere• Nincs nagyobb bonyolultságú rendszerhívás.
• A felhasználói interfész hardverként viselkedik.
• Több folyamat is működhet rajta párhuzamosan.
• A folyamatok egymástól teljesen függetlenek
• Előnye:– Egyszerre futhat rajta több operációs rendszer
– Párhuzamosan fejleszthető az újabb operációs rendszer, míg a régiek futnak.
25
• Hátránya:– A virtualizáló kernelnek a processzor üzemmódjainak
tekintetében követnie kell a valódi viszonyokat. A folyamatok viszont csak felhasználói módban futhatnak.
– Bonyolult a lemezkezelés.Minden folyamatnak a többitől függetlenül az egész lemezterületet kellene használnia.
Hardver
Virtualizáló kernel
III.Operációsrendszer
I.Operációsrendszer
II.Operációsrendszer
I. alkalmazás II. alkalmazás IIII. alkalmazás
26
– A Sun JAVA rendszer• A JAVA magas szintű, OOP.• Teljesen elfedi a hardvert.• A fordítás után ún. bájtkód keletkezik.• A megírt rendszer minden gépen képes futni.• Bonyolult, összetett operációs rendszert
igényelnek.
JavaVirtuális gép
Hardver
Java Alkalmazás
A felhasználói felület
28
• A felhasználói felület biztosítja a kommunikációt a felhasználó és a kernel között.
• A felhasználói felület részei az ellátandó feladatok szempontjából a következő részekre bontható:– programindítás, kapcsolat a folyamatokkal– a rendszermag szolgáltatásainak közvetlen
felhasználói elérése– a rendszermag programozói felülete– alapvető segédprogramok
29
A felhasználó és a rendszermag• Milyen lehetőségek vannak a külső és
belső erőforrások elérésére.
• Külső erőforrások– Kézi beállítás
• MS-DOS, Windows 16 bites verzió
– Automatikus beállítás• Windows 9x
• Plug and Play (PnP)
– Félautomatikus beállítás• NetWare: scan for new devices
30
• Belső erőforrások– Operációs rendszer alapvető erőforrásai a
memóriák.– Különböző rendszerekben különböző képen
lehet felhasználni.• Pl. DOS különböző verziói
– Memória optimalizálása történhet• Kézzel, önműködően, közbülső eljárással
• DOS esetén betöltéskor kell megadni az átmeneti tárolok, fájlleíró táblák vázlatát.
• Windows esetén kevés lehetőség.
• NetWare szükség esetén foglal le memóriát
31
A programozói felület• A programozó csak a kernelen keresztül
érheti el a hardvert.• A forráskód elkészítése
– Minden rendszerben van egy szövegszerkesztő (editor)
• Fordítás– A fordító program készíti el a tárgykódot
(object – OBJ) amely tartalmazza:• a processzor által ismert utasításokat, és a• szoftvermegszakításokat
– Relatív címek szerepelnek benne
32
– Az előre elkészített programrészletek a rendszerkönyvtárban helyezkednek el (library –LIB)
– A kernel programozói szempontból egy függvény-, vagy eljáráskönyvtár. Application Programming Interface (API)
• Szerkesztés– A szerkesztő (linker) feladata
• a tárgykódú modulok címeinek összehangolása,
• a kereszthivatkozások feloldása,
• A betölthető program (executable – EXE) előállítása.
33
C forrásAssembly
forrás
TárgykódRendszer
könyvtárak Tárgykód
C fordító ASM fordító
Betölthető program
34
• Karakteres felhasználói felület– Ezek az ún. parancsértelmezők– Feladatuk az OR szolgáltatásainak biztosítása
az interaktív felhasználónak.– Gyakori elnevezéseik:
• Shell: a felhasználói felület burokba zárja, eltakarja a rendszer magját
• Command interpreter: akkor használják, ha a rendszer parancsainak a kiszolgálása a leglényegesebb
• Monitor: akkor használják, ha a folyamatok felügyelete az elsődleges.
35
– A shell alapvető feladatai• Programindítás, programkezelés
• Egyéb, operációs rendszer funkciók felhasználói szintű biztosítása
– ProgramkezelésNégy részből áll
• A betöltendő állomány kiválasztása.
• A program számára a megfelelő környezet biztosítása.
• A folyamat futásának megfigyelése, szabályozása.
• Vezérlési szerkezetek megvalósítása.
36
• Program indítása
A program indítása általában nem más, mint a gépi utasítássorozatot tartalmazó állomány nevének megadása.
– Run (fut) vagy Load (betölt) utasítás a program neve előtt.
– Közvetett fájlelérés.
» Ugyanazon állományhoz több helyről is hivatkozhatunk.
– Keresési útvonal megadása.
» DOS esetén PATH
» NetWare esetén SEARCH DRIVE
– Láncolt programfuttatás
– Automatikus programbetöltés
37
• Program környezet beállítása (enviroment)A program futását befolyásoló, módosító paraméterek összességét nevezzük a program környezetének.A környezeti változók adatokat biztosítanak a létrejövő folyamat számára
– Az adatok lehetnek:» Paraméterek» Kapcsolók (switch, flag, option)» Átirányítási adatok (redirection)» Környezeti változók (environment variables)
• A folyamat futásának ellenőrzése– Személyi számítógépeknél korlátozott– Többfeladatos rendszereknél folyamatot lehet
megszüntetni illetve felfüggeszteni.
• Vezérlési szerkezetek– Korlátozott feltételes elágazás és ciklus megvalósítás
38
– A parancsértelmező egyéb funkciói• Állományokkal, katalógusokkal kapcsolatos
műveletek általában.
• Ha nem mindent a parancsértelmező végez el, akkor megkülönböztetünk külső és belső parancsokat.
39
• Grafikus felhasználói felületek– A folyamatok ablakokban futnak ablakozó
technika– Az ablakozó rendszer működése
• GUI (Graphical User Interface – Grafikus Felhasználói Felület)
• GUI feladata:– A folyamat számára biztosítsa a grafikus bevitelt és
megjelenítést.
• GUI működése:– Minden futó alkalmazáshoz tartozik egy ikon.– A felhasználó tevékenykedik, eseményeket vált ki.– GUI megállapítja melyik folyamattal kíván
kommunikálni a felhasználó, és üzenetet küld.– Az alkalmazás feldolgozza az üzenetet.
40
– A grafikus felületek jellemzői• Ablakok rendszere• Az események címzettjeinek felismerése• Eszközfüggetlen működés• Az adatforgalom csökkentése
– Egy felhasználóbarát felület jellemzői• Könnyű legyen megtanulni.
– Billentyűkombináció helyett menüszerkezet
• Méretezhető legyen– A felhasználó ismerete szerinti segítségnyújtás.
• Lehessen visszavonni• Legyen megszakítható egy művelet.• Legyen többszintű súgó rendszer.• Használata hasonlítson a nyelvhez.• Minden utasításra legyen válasz.
Állományok
42
Fájl = ÁllományAz adatok egy olyan csoportja, melyre
együttesen, egy névvel hivatkozhatunk.–UNIX-nál a fájl nem csak a tárolt adatokat
jelenti.
A mágneses háttértárak feladata:–Operatív tár kiegészítése, méretének
látszólagos megnövelése.–Létrehozott állományok megőrzése.
Lemezen tárolt adatok csoportosítása–Ideiglenes állományok–Felhasználói állományok–Adminisztratív állományok
43
Fájlkezelő: a rendszermag azon része, amely a fájlokkal kapcsolatos műveleteket végzi
Megj.: Ez nem azonos az ugyan ilyen nevű felhasználó programmal.
A fájlkezelő egy folyamat, ami a felhasználói kéréseket az eszközvezérlőkhöz továbbítja.
44
Buffer (cache) Fájlkezelő
EszközkezelőKE
RN
EL
Felhasználói folyamatok
Eszközök
45
FájlnevekMS-DOS
Két komponenses1 rész a név: minimum 1, maximum 8 karakter
2 rész a kiterjesztés: legfeljebb 3 karakter
A két részt pont választja el egymástól.
A felhasználható karakterekASCII kódtábla nagybetűi
ASCII kódtábla számai
Néhány speciális karakter (~ ! @ # $ % ^ & _ - {})
Ékezetek használataAz újabb verzióknál lehetséges, de nem ajánlott
46
UNIXHossza maximum 255 karakter.
Komponensek száma tetszőleges.
A komponensek elválasztója a pont.
Különbséget tesz kis és nagybetű között.
Használható karakterek: nagyjából megegyeznek a DOS-nál használhatókkal.
Windows 9xKettős elnevezésrendszer
Dokumentum-orientált szemlélet
Max. 250 tetszőleges karakterből álló név
Max. 3 karakteres hosszúságú kiterjesztés
DOS kompatibilitás
Hosszú fájlnevekből rövid név képzése
47
Példák:
DOS EZEREGY.DOC
UNIX Az.ezeregy.Ejszaka.Mesei.DOC
Win 9x (h) Az ezeregy éjszaka meséi.doc
Win 9x (r) AZEZER~1.DOC
Helyettesítő karakterek– Wildcard, joker, metakarakter– DOS: ?, *– UNIX: ?, *,
karaktercsoport
JÓ NEM JÓ
LEVI?.TXT LEVI1.TXT
LEVI2.TXT
LEVI10.TXT
*NI.DOC DANI.DOC
ZOKNI.DOC
DANO.DOC
[TD]OBOZ(unix!)
TOBOZ
DOBOZ
KOBOZ
doboz
48
Fájlok jellemzőiUtolsó módosítás időpontjaFájl méreteTulajdonos (több felhasználós)Fájl állapotára utaló jelzőbitek
• Archiválandó• Csak olvasható• Rendszerfájl• Rejtett állomány• Katalógus• Szimbolikus hivatkozás• Adatcsere fájl• Hozzáférési jogok (Unix)• Fájl fizikai elhelyezkedése
49
Közvetett hivatkozás– Egy fájlhoz több elnevezés– Főleg UNIX esetén, de Windows 9x-nél is
előfordulElőnye– Csak a nevek szaporodnak– Többféleképpen csoportosíthatók– Több katalógusban is szerepelhet– A fájlban történő változások azonnal
megjelennek mindenholFajtái– Merev láncolás– Lágy láncolás
50
• Katalógusok (directory)Def.: Olyan speciális állomány, melynek
tartalma a fájlok nevét és jellemzőit tartalmazó rekordok listája
– Fájl hivatkozás esetén a katalógust vizsgálja az OR, hogy létezik-e a fájl.
– Ha megvan a fájl, következik a jogosultsági ellenőrzés
Fajtái– Katalógus nélkül: soros tárolású
adathordozóknál
51
Egyszintű katalógus• Lassú a fájl megtalálása.
• A rendezés segíthet– Bináris keresés
– Legutóbb használt legelőre
• Minden fájlnak egyedi név kell
Kétszintű katalógus• Áttekinthetőbb rendszer
• Minden felhasználónak külön katalógus
• A közös fájlok külön katalógusban.
• Katalógusok katalógusa a fő (master, gyökér) katalógus.
• A szinteket a „\” vagy a „/” választja el egymástól.
52
Többszintű (hierarchikus) fájlrendszer• Kiindulópont a gyökérkönyvtár.
• Szerepelhetnek benne fájlok és alkatalógusok (subdirectory)
• A hierarchikus felépítés gyorsítja a keresést.
• Az egymásba ágyazott katalógusok száma elvileg nem korlátozott.
• Abszolút hivatkozás: A fájl megadásának az a módszere, ahol a gyökér katalógustól kezdődően az összes közbülső katalógus nevének felsorolása után jutunk el a fájlhoz.
• Relatív hivatkozás: A fájl megadásának az a módszere, ahol a gyökér katalógus helyett az aktuális katalógus a kiinduló pont.
53
Hozzáférési jogokA felhasználói jogosultságoknál alkalmazott modell.
Vannak:• Felhasználók,
• fájlok,
• jogosultságok.
Jogosultságok típusai• Olvasás (Read)
• Írás (Write)
• Létrehozás (Create)
• Végrehajtás (eXecute)
• Törlés (Erase)
• Jellemzők módosítása (Modify)
• Hozzáférés módosításda
Jogok nyilvántartása
54
• Fájlok elhelyezéseFoglaltsági tábla
– Folytonos kiosztás• A legelső alkalmas (First Fit)
• A legjobban illeszkedő (Best Fit)
• A legrosszabbul illeszkedik (Worst Fit)
1 1 0 0 0 0 1 1 1 1 0 0 0 1 1 0
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
24
103
151
Első üresblokk címe
Mérete
Üres blokk címe
55
30
12
15
30
12
30
15
30
12
15
10
10
10
10
FIRST BEST WORST
56
Hátrányai– Összességében elegendő hely esetén is előfordulhat,
hogy újabb fájl már nem helyezhető el.
– Pontos illeszkedés esetén a fájl mérete másolás nélkül nem növekedhet.
– Egy blokk törlése a fájlból a maradék blokkok eggyel előbbre történő mozgatását eredményezi.
Előnye– Könnyű a fájlok nyilvántartása, csak a kezdő blokk
sorszámát kell tárolni.
– Láncolt elhelyezés• Egy újabb táblát vezetünk be
• A katalógus csak a fájlok kezdő blokkját tárolja.
• Többi információt a Fájl Elhelyezési Tábla tárolja (File Aloccation Table)
57
• FAT jellemzői– U.a. eleme van, mint ahány blokk van a lemezen.
– Minden rekesz tárolja a fájl következő blokkjának helyét.
– Nulla az érték, ha ez a fájl utolsó blokkja volt.
1
2
3
4
Katalógus
1
5 2 23
2 4 1
7 5 36
0 7 48
Fájl FAT Lemez
58
• Előnyök– A szabad helyek az utolsó blokkig kihasználhatók
– Nem kell keresni a megfelelő üres helyet.
– Nem probléma a fájl méretének változása
• Hátrány– A blokkok elérése szekvenciális.
• A FAT nagy táblázat is lehet.
• Sűrűn kell használni, ezért a memóriában kell tárolni.
• A FAT sérülése fájlvesztéssel jár.
• Biztonsági másolat.
59
– Indextábla alkalmazása• Minden állományhoz külön táblázat
• Katalógus tartalmazza a fájlhoz tartozó táblát, a tábla pedig a fájl blokkjainak címét.
• Előnye– az elhelyezési információ gyorsan elérhető
– kevésbé sérülékeny
– blokkok közvetlenül elérhetők
• Hátránya– becslésre van szükség
– foglaltsági tábláról külön kell gondoskodni
– törlésnél az indextábla bejegyzéseit kell előrébb másolni
60
1
2
3
4
Katalógus
Fájl
4
2
5
7
2
1
3
4
INODE Lemez
• A katalógus egy címet, egy indextábla címet tartalmaz, amely 15 rekeszből áll. Az első 12 a fájl első 12 blokkjának sorszáma. Ha ez nem elég a 13. rekesz egy újabb indextáblára mutat. Ha ez sem elég a 14. rekesz egy indirekt indextáblára mutat, amelynek tartalma további 15 indextábla, és így tovább…
61
• Műveletek állományokkal, katalógusokkal– Állományok, katalógus létrehozása
állomány létrehozása: a katalógusba új bejegyzés kerül, az új számára az OR. megfelelő mennyiségű szabad blokkot keres
katalógus létrehozása: különleges státuszát mutató attribútumán kívül semmiben sem különbözik
• Írás, olvasás állományokba– Keresés a katalógusban: a fájl neve alapján az állomány
jellemzőinek, fizikai elhelyezkedésének adatait keressük.
– Állomány megnyitása: az OR ellenőrzi a jogosultságot, ha rendben van létre hozza a fájl leíró táblázatát (file control block - FCB).
62
A megnyitás lehet:
» írás
» olvasás
» hozzáfűzés
» írás/olvasás
Az adatok értelmezése szerint:
» bináris
» szöveg
Az elérés módja szerint
» sorrendi (szekvenciális)
» tetszőleges (random)
– Pozícionálás állományokban: mutató helyének beállítása. Fájl elejére, fájl végére.
– Írás/olvasás
– Állomány kezelése: hatására az átmeneti tárolóban lévő adatok rögzítésre kerülnek, az FCB megszűnik.
– Állomány, katalógus törlése: bejegyzés a szülő katalógusba.