Linux ütemezés
• ütemezési osztályok
• – SCHED_FIFO: first in – first – out típusú valós idejű szálak
• – SCHED_RR: Körkörös típusú valós idejű szálak
• – SCHED_OTHER: Más, nem valós idejű szálak
• minden osztályban több prioritás használata
Unix ütemezés
• leginkább előnyben a valós idejű processzusok
• következő a kernel-módú processzusok
• legkevésbé előnyben a felhasználó-módú processzusok
Windows 2000 ütemezés
• a prioritások szerinti két osztály
• – valós-idejű: minden szálnak fix, meg nem változtatható prioritása van
• – változtatható: a szálak prioritása élettartamuk alatt változtatható
• minden osztályon belül 16 prioritási szint van
• ütemezés: prioritás vezérelt preemptív ütemezés
Egy- és többprocesszoros folyamatütemezés
10. fejezet - I/O kezelés és lemezütemezés
1. I/O eszközök
• Felhasználó által olvasható
• – a felhasználóval történő kommunikációra használják
• – nyomatók
• – kijelző terminálok
• kijelző, billentyűzet, egér
• Gép által olvasható
• – elektronikus eszközzel történő kommunikációhoz
• – lemez-(disk) és szalag- (tape) meghajtók
• – érzékelők
• – kontrollerek
• Kommunikáció
• – távoli eszközökkel történő kommunikáció eszközei
• – digitális vonalvezetők
• – modemek
I/O eszközök közötti különbségek
• Adatátviteli sebesség (Data rate)
• – több nagyságrend is lehet az adattovábbítási sebességek közötti különbség
I/O kezelés és lemezütemezés
• Felhasználási terület (Application)
• – lemezen való fájltárolás esetén fájlkezelő szoftverre van szükség
• – virtuális memória lemezen való kialakításához speciális hardver és szoftver szükséges
• – rendszeradminisztrátor által használt terminálnak nagyobb prioritása lehet
• Vezérlés összetettsége
• Adatátvitel egysége (Unit of transfer)
• – átvitel bájtok folyamaként (pl. terminál I/O), vagy
• – nagyobb blokkokban (lemez I/O)
• Adatábrázolás
• – kódolási elképzelés
• Hibalehetőségek (Error conditions)
• – az eszközök különbözőképpen reagálnak a hibákra
2. Az I/O megvalósítása
• Programozott I/O
• – a processzor I/O utasítást ad ki egy processzus nevében
• – a művelet befejeződéséig a processzus várakozó státuszba kerül, majd végrehajtása folyatódik (wait loop)
• Megszakításvezérelt I/O
• – a processzor I/O utasítást ad ki egy processzus számára
• – a processzor folytatja a rá következő utasítások végrehajtását (ha az I/O nem szükséges a folytatáshoz, ha igen, akkor egy másik processzus kerül végrehajtásra)
• – az I/O egység az I/O művelet befejezésekor egy megszakítást küld a processzornak
• Közvetlen memóriahozzáférés (DMA)
• – a DMA egység vezérli az I/O eszköz és főmemória közötti adattranszfert
• – a processzor a DMA egységnek küld egy adatblokkra vonatkozó adatmozgatási kérelmet, mely csak az egész blokk transzferje után küld megszakítást a processzornak
Az I/O szolgáltatás fejlődése
• A processzor közvetlenül vezérli a perifériákat
• Kontroller vagy I/O egység hozzáadása
• – a processzor megszakítás nélküli programozott I/O–ot használ
• – a processzornak nem szükséges kezelnie a külső eszközök részleteit
• Kontroller vagy I/O egység megszakítással
• – a processzor nem tölti várakozással az időt amíg egy I/O művelet befejeződik
• Közvetlen memóriahozzáférés (Direct Memory Access – DMA)
• – adatblokkok mozgatása a memóriába a processzor bevonása nélkül
• – a processzor csak a művelet elején és végén van bevonva
• I/O egység, mint különálló processzor
• I/O processzor
• – I/O egységnek saját helyi memóriája van Közvetlen memóriahozzáférés (DMA)
• A rendszerbuszon való adatmozgatáshoz ún. cikluslopást (Cycle stealing) hajt végre a DMA egység, ilyenkor a processzor működése ideiglenesen felfüggesztődik, a CPU szünetet tart egy buszciklus erejéig
• A cikluslopás miatt a CPU működése lassabb
• A szükséges buszciklusok csökkentését lehet elérni a DMA és I/O modulok egyesítésével (így köztük nincs rendszerbusz)
• Továbblépés: I/O busz használata az I/O modulok és DMA modul között (vö. DMA blokkdiagram ábra)
• A rendszer irányítását átveszi a CPU-tól, hogy adatot mozgasson a memóriába illetve memóriából a rendszerbuszon keresztül
I/O kezelés és lemezütemezés
I/O kivitelezés
• Hatékonyság
• – a legtöbb I/O eszköz a főmemóriához és CPU-hoz képest nagyon lassú
• – multiprogramozás használatával lehetővé válik, hogy processzusok I/O-ra várakozzanak, miközben más processzusok végrehajtás alatt állnak
• – ma már léteznek olyan gyors perifériák, amelyek kiszolgálása jelentős teljesítmény-optimalizálást igényel
• – a csereszolgáltatás (swapping) lehetővá teszi, hogy további, készen álló, várakozó processzusok a processzornak munkát adjanak
• Általánosság
• – az I/O eszközök sokszínűségének ellenére egységes periféria-kezelési megoldás szükséges
• – az eszközök I/O működésének részleteit alacsony szintű rutinokkal kell eltakarni, hogy a processzusok számára már csak általános műveletek maradjanak: olvasás, írás, megnyitás, bezárás, felfüggesztés, feloldás, stb..
• – ezt az operációs rendszer szintjén kell megtenni
3. I/O pufferelés
• A pufferelés okai
• – a processzusoknak meg kell várniuk az I/O befejeződését ahhoz, hogy folytatódjanak
• – bizonyos lapoknak a főmemóriában kell maradni az I/O alatt
• Blokkos eszközök
• – az információ adott méretű blokkban van tárolva
• – az egyes blokkok írhatók, olvashatók, az összes többi blokktól függetlenül
• – egy blokk egyszerre kerül átvitelre
• – lemezeknél és szalagoknál használatos
• Karakteres eszközök
• – információ átvitele, mint bájtok folyama, nincs blokkszerkezet
• – terminálokhoz, printerekhez, kommunikációs portokhoz, egérhez, és a másodlagos tárakon kivüli eszközökhöz használatos I/O pufferelés
Egyszeres pufferelés
• az operációs rendszer a főmemóriában egy puffert rendel az I/O kéréshez
• blokkos eszközök esetében:
• – lépései:
• – a bevitel egy pufferba történik
• – az adatblokk a pufferból akkor kerül a „felhasználóhoz”, amikor szükség van rá
• – ezután egy másik/következő blokk pufferba mozgatása következik (read ahead)
• – a felhasználói processzus feldolgoz egy blokk adatot, míg a következő blokk beolvasásra kerül
• – a swapping megoldható, mert az input adat az operációs rendszer saját területére (pufferébe) kerül, nem pedig a felhasználói program pufferébe
• – az operációs rendszer nyilvántartja a rendszer pufferek felhasználói folyamatokhoz történő hozzárendelését
• karakteres eszközök esetében:
I/O kezelés és lemezütemezés
• – felhasználói adatbevitel: egyszerre egy sor, kocsi-vissza (carriage return ~ CR) jellel a sor végén
• – a terminálra való kivitel: egyszerre egy sor Dupla és körkörös pufferelés
• dupla pufferelés:
• két puffert használunk, az egyiket az operációs rendszer, a másikat a felhasználói processzus
• a processzus adatot írhat illetve olvashat az egyikbe(ből), míg az operációs rendszer üríti és tölti a másikat
• körkörös pufferelés:
• n darab puffer hozzárendelése egy processzushoz
• minden egyes puffer egy körkörös puffer egyik egysége
• a leggyorsabb,
• akkor használatos, amikor az I/O műveleteknek a processzussal lépést kell tartani
4. Lemezütemezés
Lemez teljesítményét jellemző paraméterek:
• íráshoz és olvasáshoz az író-olvasó fejnek a kívánt cilinderre, sávra és a kívánt szektor elejére kell helyeződni (pozícionálás)
• keresési idő (seek time)
• – az író/olvasó fej kívánt cilinder- sávpozícióba mozgatásának ideje
• forgási késleltetés (rotational latency) ideje
• – várakozás, amíg a kérdéses szektor az író/olvasó fej elé fordul
• hozzáférési idő
• – a keresési idő és forgási késleltetés összege, a fej írásra/olvasásra kész
• az adatátvitel megkezdődik, amikor a szektor a fej alá kerül
Ütemezési elvek
• a keresési idő függvényében változik a teljesítmény
• egy lemez esetében általában sok I/O kérelem történik, ha a kérelmeket véletlen sorrendben szolgáljuk ki, a legrosszabb teljesítményt érjük el
• First-in, first-out (FIFO) – kiszolgálás a kérelmek beérkezésének sorrendjében – korrekt ütemezés, kevés számú folyamatnál hatékony is lehet – sok processzus esetén a véletlen ütemezés teljesítményéhez közelít
• Prioritásos – a cél nem a lemezhasználat optimalizálása, a processzusok prioritásától függ.... – a rövidebb, kötegelt jobok prioritása nagyobb, mindig a nagyobb prioritású kérést szolgálja ki először
• Last-in, first-out – mindig a legfrissebb kérést szolgálja ki először – éhezés lehetősége: egy job soha nem térhet vissza a sor elejére
• Legkisebb elérési idő először (Shortest Seek Time First - SSTF) – mindig a legrövidebb kiszolgálási időt igénylő (amihez a legkevesebb fejmozgás fejmozgás szükséges) kérést szolgálja ki, sajnos nem optimális
• Pásztázás (SCAN) – cél a hatékonyság növelése éhezés elkerülése mellett – a fej egy irányba mozog csak, kielégítve az összes esedékes kérelmet, amíg eléri az utolsó track-et abba az irányban – ezután megfordul és ellentétes irányba is pásztázik – a lemez középső részeit favorizálja, ill. nagy mennyiségű kérés
„leragaszthatja”
• Egyirányú pásztázás (Circular SCAN) – a szkennelést csak egy irányra korlátozza – az utolsó szektor elérése után a fej a diszk ellenkező végére ugrik és a szkennelés újból megkezdődik
• N-step-SCAN – a leragadás megoldása – a diszk kérelmi sort (queue) N nagyságú részekre (subqueue) osztjuk – egyszerre egy ilyen résznek a feldolgozása történik pásztázással – ha N nagy, akkor ez nem más, mint a SCAN, ha N=1, akkor pedig FIFO
• FSCAN – a leragadás megoldása – két sor (queue), amíg az egyikből dolgozik, a kérések a másikba gyűlnek
5. RAID
I/O kezelés és lemezütemezés
• mágneslemezekkel kapcsolatos problémák
• – CPU lényegesen gyorsabb a diszknél
• – nagy kapacitású lemezek hibájának magas kockázata
• – diszkek mérete sohasem elég nagy...
• RAID = Redundant Array of Inexpensive / Independent Disks
• RAID koncepciója: nagy kapacitású és teljesítményű drága diszkek helyett kisebb (olcsóbb) diszkeket használva érjük el célunkat, azaz:
• – a kapacitás, teljesítmény és megbízhatóság növelését
• a RAID jellemzői:
• – több diszk funkcionális összekapcsolása úgy, hogy azok egymástól függetlenül és parallel működnek:
• az operációs rendszer számára egy diszknek látszanak
• az adatot szétosztjuk a diszkek között, a lemezhibák ellen paritás információ tárolásával védekezzünk
• a szabvány 5+1 szintet definiál
• – a különböző megoldások a szükséges tárolóterület overhead-ben, a megoldás teljesítményigényében és a biztonság szintjében térnek el
6. Lemez gyorsítótár
• központi memória puffer a diszk szektorainak
• a diszk néhány szektorának másolatát tartalmazza
• amikor egy I/O kérelem jelentkezik, először ellenőrzésre kerül, vajon a kívánt szektor benne van-e a gyorsítótárban
• blokkcsere algoritmusok:
• – legrégebben használt (Least Recently Used - LRU)
• az a blokk lesz cserélve, amelyik a legrégebb idő óta a gyorsítótárban van és nem történt rá hivatkozás
• a gyorsítótár blokkok halmazából épül fel
• a legutoljára hivatkozott blokk (illetve egy új blokk) a halom tetejére kerül
• a halom alján levő blokk lesz eltávolítva új blokk behozatalakor
• – legritkábban használt (Least Frequently Used – LFU):
• az a blokk lesz cserélve, amelyikre a legkevesebb hivatkozás történt
• minden blokkhoz egy számláló tartozik, értéke minden hozzáférés alkalmával eggyel nő, a legkisebb számhoz tartozó blokk lesz cserélve
11. fejezet - Állomány-(fájl)-kezelés
1. Áttekintés: a fájl, mint absztrakt periféria
• A számítógépek az adatokat különböző fizikai háttértárakon tárolhatják, a számítógép kényelmes használhatósága érdekében az operációs rendszerek egységes logikai szemléletet vezetnek be az adattárolásra és adattárakra: az operációs rendszer elvonatkoztatva a tároló eszköz és a tárolt adat fizikai tulajdonságaitól, egy logikai tároló egységet (adatállomány – fájl – file) használ.
• A fájlokat az operációs rendszer képezi le a konkrét fizikai tároló berendezésre. A fájlokat tartalmazó fizikai tároló berendezések általában nem törlődnek.
• Felhasználói szemszögből: a fájl összetartozó adatok egy kollekciója, amelyeket egy másodlagos tárban tárolunk. A fájl a felhasználó számára az adattárolás legkisebb allokációs egysége: felhasználói adatot a háttértáron csak valamilyen fájlban tárolhatunk.
• Az operációs rendszer támogatást nyújthat a fájl tartalmának kezelésében, a fájl szerkezetének (adatszerkezet) létrehozásában.
Szerkezeti elemek
• Mező – az adat alapvető egysége – egy értéket tartalmaz – hosszával és típusával jellemezhető
• Rekord – összetartozó mezők gyűjteménye – egy egységként kezelhető • például: a vállalat egy dolgozójának rekordja
• Fájl – hasonló rekordok gyűjteménye – önálló egység – egyedi fájlnevek – hozzáférés korlátozható
• Adatbázis – összetartozó adatok gyűjteménye – az elemek között kapcsolatok léteznek Alapvető műveletek fájlokkal
• Retrieve_All, Retrieve_One, Retrieve_Next, Retrieve_Previous, Insert_One, Delete_One, Update_One, Retrieve_Few
Fájlkezelő rendszer
• a fájlokhoz való hozzáférést biztosítja a felhasználók számára
• a programozónak nem szükséges fájlkezelő szoftvert fejlesztenie, ez az operációs rendszer egyik szolgáltatása Célok, elvárások
• felhasználók (alkalmazások) adattárolási -kezelési igényeinek kielégítése
• a fájlban levő adat érvényességének garantálása
• a teljesítmény optimalizálása a rendszer és a felhasználó szemszögéből is
• I/O támogatás biztosítása különböző tárolóeszközök számára
• adatvesztés és sérülés lehetőségének minimalizálása ill. kizárása
• egységes programozói I/O interfész biztosítása
• I/O támogatás biztosítása többfelhasználós rendszeren Minimális szükségletek
• minden felhasználó képes legyen fájlokat létrehozni, törölni, olvasni és megváltoztatni
• minden felhasználónak felügyelt hozzáférése lehet más felhasználó fájljaihoz
• minden felhasználó megszabhatja milyen hozzáféréseket biztosít saját fájljaihoz
• minden felhasználó átszervezheti a fájljait a problémának megfelelően
• minden felhasználónak tudnia kell adatot mozgatni fájlok között
• minden felhasználó képes legyen elmenteni és visszaállítani fájljait (sérülés esetén)
• minden felhasználó képes legyen fájljait szimbolikus nevekkel elérni
Fájlrendszer architektúra
• Eszközkezelők
• – legalacsonyabb szint
• – perifériákkal való közvetlen kommunikáció (eszközfüggő)
• – I/O műveletek megkezdéséért felelős az adott eszközön
• – I/O kérelmeket dolgoz fel
• Fizikai I/O
• – alacsony (blokk) szintű műveleteket végez
• – a blokkok elsődleges memóriában való elhelyezésével foglalkozik
• I/O felügyelő
• – a fájl I/O elkezdéséért és bejezéséért felelős
• – a hozzáférés ütemezésével foglalkozik (teljesítményfokozás)
Állomány-(fájl)-kezelés
• – az operációs rendszer része
• Logikai I/O
• – lehetővé teszi az alkalmazások és a felhasználó számára a rekordokhoz való hozzáférést
• – általános célú rekord I/O műveleteket szogáltat
• – a fájlokat jellemző alapvető adatokat tartja karban Fájlkezelési funkciók:
• egy kiválasztott fájl azonosítása és helyének meghatározása
• könyvtár használata az összes fájlhoz helyüknek és attribútumaiknak leírásához
• osztott rendszeren a felhasználói hozzáférés vezérlése
• fájlhozzáférés blokkolása
• szabad tárhely kezelése
2. Fájlszervezés és hozzáférés
Fájlhozzáférés követelmények:
• Gyors hozzáférés – egy egyszerű rekordeléréshez szükséges – kötegelt módban (batch mode) nem szükséges
• Egyszerű frissítés – egy CD-ROM fájlt nem lehet frissíteni, így ez nem teljesül mindig
• Gazdaságos tárhelyhasználat – felesleg adatok minimalizálása – redundanciával gyorsabb hozzáférés érhető el
• Egyszerű fenntartás
• Megbízhatóság Fájlszervezés
• pile
• – adatgyűjtés érkezési sorrendben (struktúrálatlanul)
• – a cél: nagy mennyiségű adatot felhalmozni és elmenteni
• – rekordoknak különböző mezőik lehetnek
• – nincs szerkezete
• – a rekordhoz való hozzáférés fárasztó kereséssel jár....
• szekvenciális
• – a rekordokat egyetlen sorrendben, a fájl első rekordjától az utolsó felé haladva éri el, mely sorrend megegyezik a rekordok létrehozásának sorrendjével
• – a rekordok mérete és formátuma azonos,
• – kulcsmező használata
• egyértelműen meghatározza a rekordot
• a rekordok fizikailag egymás után következnek, vagy rekordmutatók használatával egy láncolt lista határozza meg a rekordok sorrendjét.
• – akkor alkalmazzuk, ha a fájlt használó program a rekordok összességének feldolgozását igényli
Állomány-(fájl)-kezelés
• indexelt szekvenciális
• – direkt hozzáférési eljárás, amely a kulcs szerinti kereséshez indexeket használ
• – index: kulcsértékeket és rekordmutatókat tartalmazó táblázat. Az index lehet egyszintű vagy többszintű.
Az indexek külön fájlba, ún. indexfájlba kerülnek.
• – az egyszintű indexben illetve a többszintű index legalsó szintjén a kulcsértékek mellett a rekordmutatókat találjuk, míg a többszintű index felsőbb szintjein a kulcsértékek mellett az alattuk lévő szint táblázataira találunk utalásokat.
• – új rekordok hozzáadása egy overflow fájlhoz, amit firssítéskor hozzáfűzünk a fő fájlhoz
• – a teljesítmény növeléséhez többszintű indexeket lehet használni ugyanahhoz a kulcsmezőhöz
• – olyan adatbázisokhoz is alkalmazzuk, ahol gyakoriak az összetett feltételű keresések
• indexelt
• – a különböző kulcsmezőkhöz többszintű indexet használunk
• – új rekord hozzáadása esetén az összes indexfájlt frissíteni kell
• – olyan alkalmazásoknál használatos, ahol az információ időzítése kritikus
• légiközlekedés foglalórendszere
• direkt hasításos (hash) fájlok
• – direkt hozzáférési eljárás, melynek során egy kulcs értékéből az ún. hasítófüggvény határozza meg a rekordmutatót. Ha az így kijelölt helyen nincs a keresett rekord, az eljárás szekvenciális kereséssel folytatódik.
• – kulcsmező szükséges minden rekordhoz
• – alkalmazás: ha a tárolandó adatmennyiséghez képest legalább 3-4- szeres terület áll rendelkezésre
• – probléma: kulcsütközés
Állomány-(fájl)-kezelés
3. Könyvtárak (Directory - fájljegyzék megoldások)
• Tartalom
• – fájlokkal kapcsolatos információkat tartalmaz (név, kiterjesztés, hely, tulajdonos, ...), ezek az állomány attribútumai
• – a fájljegyzék maga is egy fájl, melynek tulajdonosa az operációs rendszer is lehet
• – a fájlnevek és fájlok közötti kapcsolatot biztosítja
• Könyvtárszerkezet
• Egyszintű könyvtár / fájljegyzék
• – bejegyzések listája, minden fájlhoz egy
• – szekvenciális állomány, ahol a fájlnevek szolgálnak kulcsként
• – nem nyújt segítséget a fájlok rendezéséhez (csoportosítási problémák)
• – nem lehet két különböző fájlnak ugyanaz neve! (elnevezési problémák)
• Kétszintű könyvtár
• – egy-egy jegyzék minden felhasználónak és egy főkönyvtár (user/master directory)
• – a főkönyvtár minden felhasználóhoz tartalmaz bejegyzést (hozzáférési jogok)
• – minden felhasználói jegyzék egy egyszerű listája a felhasználó fájljainak
• – névadási probléma megoldva, de csoportosítás továbbra sem lehetséges
• Fa-szerkezetű könyvtár
• – főkönyvtár, alatta (benne) felhasználói könyvtárak
• – egy fájljegyzék bizonyos elemei lehetnek újabb fájljegyzékek (alfájljegyzék), így fájljegyzékeknek egy hierarchikus rendszere jön létre
• – a fájlok a főkönyvtárból kiindulva különböző ágakon haladva találhatók meg
• ez lesz a fájl elérési útja (path)
• – több fájlnak is lehet azonos neve, amíg az elérési útjuk eltérő
• – munkakönyvtár (current directory) váltása cd()
• – a fájlok a munkakönyvtárhoz képest is hivatkozhatók (relative path)
• Általános gráf - szerkezetű könyvtár
• – linkek / aliasnevek használata
• – függő link
• – pásztázás
• – ciklusfigyelés
4. Fájlmegosztás
Többfelhasználós rendszerben a fájlok megoszthatók a felhasználók között.
Állomány-(fájl)-kezelés
Hozzáférési jogok típusai:
• – nincs
• a felhasználó még a fájl létezéséről sem tud
• a felhasználó számára nem engedélyezett azon könyvtár olvasása, mely tartalmazza a fájlt
• – ismeret
• a felhasználó csak a fájl létezéséről tud, illetve tudja, hogy ki a fájl tulajdonosa
• – végrehajtás
• a felhasználó betöltheti és futtathatja a programot, de nem másolhatja
• – olvasás
• a fájl minden célból olvasható, így futtatható és másolható is
• – hozzáfűzés
• a fájlhoz adat hozzáfűzhető, de a fájl eredeti tartalma nem törölhető és módosítható
• – frissítés
• a fájl módosítható, törölhető, létrehozható, újraírható, stb.
• – védelem megváltoztatása
• a felhasználó a hozzáférési jogokat megváltoztathatja
• – törlés
• a felhasználó törölheti a fájlt
• – tulajdonos
• az összes elöbbi joggal rendelkezik
• jogokat határozhat meg más felhasználó számára a következő csoportosítással
• – egy bizonyos felhasználó
• – felhasználók egy csoportja (user group)
• – mindenki (publikus fájlok esetén) Szimultán hozzáférés
• – a felhasználó lezárhatja a fájlt frissítés megakadályozása céljából
• – a felhasználó lezárhat egyedi rekordokat frissítés közben
• – a megosztott hozzáférés problémái: kölcsönös kizárás és holtpont
5. Másodlagostár-kezelés
• fájl allokáció: másodlagos tárhely fájloknak való kiosztása
• szabad tárhely kezelés: nyomonköveti a kiosztásra alkamas tárhelyet Előfoglalás
• a fájl létrehozásakor szükség van a lehető legnagyobb várható fájlméretre
• nehéz elég pontosan megjósolni a potenciális maximális fájlméretet
• – fájlméret túlbecslése célravezető Háttértár kiosztási módszerek
• folytonos kiosztás
• – minden fájl egymást követő blokkok sorozatát foglalja el
• – a helyfoglalás katalógusbejegyzése: kezdő blokk és elfoglalt blokkok száma
• – algoritmusok szükségesek a megfelelő méretű szabad helyek megkeresésére
• – algoritmusok közös hibája: külső töredezettség veszélye
• – állományok általában nem bővíthetők
• láncolt kiosztás
• – minden állomány blokkok lácolt listája, ezek a lemezen tetszőleges helyen helyezkednek el
• – minden blokk tartalmaz egy mutatót a lánc következő blokkjára
• – a fájl allokációs tábla bejegyzése az első és az utolsó blokkra mutat
• – nincs külső töredezettség, és a fájlok egyszerűen bővíthetők
• – szekvenciális fájlok esetén biztosít nagy hatékonyságot
• indexelt kiosztás – mutatókat indexblokkokba tömöríti, az indexblokk i-edik eleme az állomány i-edik blokkjára mutat, a fájlallokációs tábla az indexblokk címét tárolja
Szabad hely nyilvántartása
• – Bit tábla használata: diszk minden blokkjához egy bitet rendelünk, a bit értéke mutatja az adott blokk foglaltságát
• – Láncolás: láncolt lista a szabad blokkokról
• – Indexelés: indextábla a szabad blokkokról
• – Szabad blokkok listája : külön területen, a diszken tárolva
Állomány-(fájl)-kezelés
6. A Unix és a Windows 2000 fájlkezelése
Unix fájlkezelés: "a Unixban minden fájl!"
• fájltípusok
• – hagyományos: tartalommal a felhasználók illetve programok töltik fel
• – könyvtár: fájlnevekből álló listát tartalmaz illetve inode-okra (I-bög) történő hivatkozásokat (mutatókat)
• – speciális: perifériák eléréséhez használatos
• – névvel rendelkezőt pipe-ok (csőhálózat)
• az inode tartalmazza:
• − a fájl tulajdonosátnak azonosítóját, a fájl típusát, hozzáférési jogokat, utolsó hozzáférés illetve módosítás idejét, fájlra mutató linkek számát, fájlméretet, a fájl által elfoglalt lemezblokkok táblázatát (többszintű indexeit)
Windows 2000 fájlkezelés
• NTFS fájlrendszer tulajdonságai
• – rendszerösszeomlás esetén visszaállítható
• – nagyfokú biztonság
• – nagy lemezek, nagy fájlok támogatása
• – többszörös adatfolyam definiálása egy fájlhoz
• – általános indexelés: minden fájlhoz több jellemzőt is rendel
12. fejezet - Operációs rendszerek védelmi kérdései
1. Biztonsági elvárások
• „Bizalmasság” (confidentiality)
• – a számítógépen tárolt információt csak az arra jogosultak tudják olvasni
• Integritás (integrity) épség
• – eszközök / adatok módosítását csak az arra jogosultak végezhetik (írás, olvasás, törlés...)
• Elérhetőség (availibility)
• – az eszközök legyenek elérhetőek az arra jogosultak számára
• Azonosítás (authentication)
• – a rendszer képes legyen megerősíteni / ellenőrizni a felhasználó azonosságát
2. Biztonsági veszélyforrások
• Megszakítás (Interruption)
• – egy rendszereszköz elérhetetlenné vagy használhatatlanná válik
• – támadás az elérhetőség ellen – hardverrombolás – kommunikációs vonal elvágása
• – a fájlkezelő rendszer megbénítása
• Lehallgatás (Interception)
• – illetéktelen csoportok hozzáférést szereznek egy eszközhöz
• – támadás a bizalmasság ellen
• – „kábelcsapolás” a hálozatban adatlopási céllal
• – tiltott fájl és programmásolás
• Módosítás (Modification)
• – illetéktelenek hozzáférést szereznek és befolyásolják is a rendszert
• – támadás az integritás ellen
• – pl.: érték megváltoztatása egy adatállományban
• – egy programkód megváltoztatása
Operációs rendszerek védelmi kérdései
• Gyártás (Fabrication)
• – illetéktelenek hamis objektumokat helyeznek a rendszerbe
• – támadás az azonosítás ellen
• – hamis üzenetek küldése hálózaton
• – rekordok hozzáadása fájlhoz
3. Rendszereszközök fenyegetései
• Hardver
• Hardver