operációs rendszerek

62
Operációs rendszerek

Upload: ishmael-paul

Post on 01-Jan-2016

40 views

Category:

Documents


1 download

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 Presentation

TRANSCRIPT

Page 1: Operációs rendszerek

Operációs rendszerek

Page 2: 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

Page 3: Operációs rendszerek

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

Page 4: Operációs rendszerek

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

Page 5: Operációs rendszerek

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

Page 6: Operációs rendszerek

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

Page 7: Operációs rendszerek

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

Page 8: Operációs rendszerek

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

Page 9: Operációs rendszerek

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

Page 10: Operációs rendszerek

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ó

Page 11: Operációs rendszerek

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

Page 12: Operációs rendszerek

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

Page 13: Operációs rendszerek

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.

Page 14: Operációs rendszerek

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.

Page 15: Operációs rendszerek

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

Page 16: Operációs rendszerek

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

Page 17: Operációs rendszerek

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.

Page 18: Operációs rendszerek

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

Page 19: Operációs rendszerek

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.

Page 20: Operációs rendszerek

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)

Page 21: Operációs rendszerek

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.

Page 22: Operációs rendszerek

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

Page 23: Operációs rendszerek

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

Page 24: Operációs rendszerek

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.

Page 25: Operációs rendszerek

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

Page 26: Operációs rendszerek

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

Page 27: Operációs rendszerek

A felhasználói felület

Page 28: Operációs rendszerek

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

Page 29: Operációs rendszerek

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

Page 30: Operációs rendszerek

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

Page 31: Operációs rendszerek

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

Page 32: Operációs rendszerek

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.

Page 33: Operációs rendszerek

33

C forrásAssembly

forrás

TárgykódRendszer

könyvtárak Tárgykód

C fordító ASM fordító

Betölthető program

Page 34: Operációs rendszerek

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.

Page 35: Operációs rendszerek

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.

Page 36: Operációs rendszerek

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

Page 37: Operációs rendszerek

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

Page 38: Operációs rendszerek

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.

Page 39: Operációs rendszerek

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.

Page 40: Operációs rendszerek

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.

Page 41: Operációs rendszerek

Állományok

Page 42: Operációs rendszerek

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

Page 43: Operációs rendszerek

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.

Page 44: Operációs rendszerek

44

Buffer (cache) Fájlkezelő

EszközkezelőKE

RN

EL

Felhasználói folyamatok

Eszközök

Page 45: Operációs rendszerek

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

Page 46: Operációs rendszerek

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

Page 47: Operációs rendszerek

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

Page 48: Operációs rendszerek

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

Page 49: Operációs rendszerek

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

Page 50: Operációs rendszerek

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

Page 51: Operációs rendszerek

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.

Page 52: Operációs rendszerek

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.

Page 53: Operációs rendszerek

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

Page 54: Operációs rendszerek

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

Page 55: Operációs rendszerek

55

30

12

15

30

12

30

15

30

12

15

10

10

10

10

FIRST BEST WORST

Page 56: Operációs rendszerek

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)

Page 57: Operációs rendszerek

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

Page 58: Operációs rendszerek

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.

Page 59: Operációs rendszerek

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

Page 60: Operációs rendszerek

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…

Page 61: Operációs rendszerek

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

Page 62: Operációs rendszerek

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.