Azilyen, a munkadirectorybolkiindulo pathname-eket relatv pathname-nek szokas nevezni.Meg egy fontos elv van a fajlrendszerekkel kapcsolatban: akeszulekfuggetlenseg.Eszerint az elv szeri
Trang 1Klasszikus valtozatCsizmazia Balazs1
1 Copyright 1993,1995,1996 Csizmazia Balazs Szabadon terjeszthet}o.
Trang 31.1 Folyamatok : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 81.2 Fajlok : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 91.3 Memoriakezeles : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 111.4 A shell : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 121.5 Vedelem : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 121.6 INPUT/OUTPUT : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 121.7 Operacios rendszerek bels}o szerkezete : : : : : : : : : : : : : : : : : : : : 131.8 Osztott rendszerek architekturaja : : : : : : : : : : : : : : : : : : : : : : : 141.8.1 A tavoli eljarashvas : : : : : : : : : : : : : : : : : : : : : : : : : : 151.8.2 Uzenetszoras : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 151.9 Holtpont: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 171.10 Az Intel 80386 mikroprocesszor architekturaja: : : : : : : : : : : : : : : : 171.11 Szabvanyok : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 181.12 Objektum-orientalt feluletek: : : : : : : : : : : : : : : : : : : : : : : : : : 201.12.1 Egyszer}u kopeny : : : : : : : : : : : : : : : : : : : : : : : : : : : : 201.12.2 Specializalt kopeny : : : : : : : : : : : : : : : : : : : : : : : : : : : 201.12.3 Objektum-orientalt kopenyek tervezese: : : : : : : : : : : : : : : : 201.13 Mi lesz meg : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 211.14 Kerdesek, feladatok: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 21
2.1 Nehany alapvet}o UNIX-beli fogalom : : : : : : : : : : : : : : : : : : : : : 232.2 Folyamatok a UNIX rendszerben : : : : : : : : : : : : : : : : : : : : : : : 242.3 A folyamatok kozotti kommunikacio (IPC) a UNIX rendszerben: : : : : : 252.4 A UNIX fajlrendszere : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 262.5 A UNIX shelljei: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 302.6 Vedelem a UNIX operacios rendszerben : : : : : : : : : : : : : : : : : : : 302.7 A UNIX INPUT/OUTPUT rendszere : : : : : : : : : : : : : : : : : : : : 312.7.1 A UNIX architekturajanak modernizalasa : : : : : : : : : : : : : : 312.8 Kerdesek, feladatok: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 35
3.1 Folyamatokat kezel}o rendszerhvasok : : : : : : : : : : : : : : : : : : : : : 383.2 A fajlrendszer rendszerhvasai : : : : : : : : : : : : : : : : : : : : : : : : : 413.2.1 Alapvet}o, fajlokkal kapcsolatos rendszerhvasok : : : : : : : : : : : 413.2.2 A fajlrendszer es a memoriakezel}o kapcsolata : : : : : : : : : : : : 43
3
Trang 43.3 Egyeb, fajlokkal kapcsolatos rendszerhvasok: : : : : : : : : : : : : : : : : 443.4 Fajlok konkurrens elerese : : : : : : : : : : : : : : : : : : : : : : : : : : : 473.5 Kiveteles esemenyek kezelesenek rendszerhvasai : : : : : : : : : : : : : : 503.5.1 A signalok feladata : : : : : : : : : : : : : : : : : : : : : : : : : : : 503.5.2 Hagyomanyos signalkezelesi technikak : : : : : : : : : : : : : : : : 503.5.3 POSIX signal-szemantika : : : : : : : : : : : : : : : : : : : : : : : 513.6 Meg egy kicsit a folyamatokrol : : : : : : : : : : : : : : : : : : : : : : : : 533.7 INPUT/OUTPUT eszkozoket vezerl}o rendszerhvas: : : : : : : : : : : : : 543.8 Egyeb rendszerhvasok : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 563.9 Egy osszetettebb pelda: a shell : : : : : : : : : : : : : : : : : : : : : : : : 573.10 Daemon folyamatok : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 593.11 POSIX-threadek : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 603.11.1 POSIX threadek letrehozasa es megsz}untetese : : : : : : : : : : : : 603.11.2 POSIX threadek identitasa : : : : : : : : : : : : : : : : : : : : : : 613.11.3 POSIX threadek szinkronizacioja : : : : : : : : : : : : : : : : : : : 623.11.4 Mutexek illetve }orfeltetel-valtozok attributumai: : : : : : : : : : : 643.11.5 Konyvtarak thread-biztossaga: : : : : : : : : : : : : : : : : : : : : 653.11.6 Folyamatok kommunikacioja a UNIX-ban : : : : : : : : : : : : : : 663.12 Kerdesek : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 69
4.1 A halozati kapcsolat modellje : : : : : : : : : : : : : : : : : : : : : : : : : 724.2 A TCP/IP protokollcsalad: : : : : : : : : : : : : : : : : : : : : : : : : : : 724.2.1 A zikai es az adatkapcsolati szint : : : : : : : : : : : : : : : : : : 734.2.2 A halozati szint (IP) : : : : : : : : : : : : : : : : : : : : : : : : : : 734.2.3 A transzport szint : : : : : : : : : : : : : : : : : : : : : : : : : : : 754.3 TCP/IP kon guracio: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 784.3.1 Halozati csatlakozok : : : : : : : : : : : : : : : : : : : : : : : : : : 784.3.2 IP cm bealltasa : : : : : : : : : : : : : : : : : : : : : : : : : : : : 794.3.3 ARP es RARP protokollok : : : : : : : : : : : : : : : : : : : : : : 804.3.4 Routing tablak : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 814.4 Kerdesek, feladatok: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 81
5.1 Egy osszekottetes-alapu kliens-szerver kapcsolat menete : : : : : : : : : : 845.2 Egy nem osszekottetes-alapu kliens-szerver kapcsolat menete : : : : : : : 845.3 Socketok cmzese az Internet domainben : : : : : : : : : : : : : : : : : : : 855.4 Konverzio a halozati- es host byte-abrazolasmod kozott : : : : : : : : : : 855.5 Kommunikacios vegpont (socket) letrehozasa : : : : : : : : : : : : : : : : 865.6 Socket cmenek kijelolese: : : : : : : : : : : : : : : : : : : : : : : : : : : : 875.7 Kapcsolat letrehozasa : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 875.8 Adatatvitel osszekottetes-alapu kapcsolatok eseten : : : : : : : : : : : : : 885.9 Adatatvitel nem oszekottetes-alapu kapcsolatok eseten : : : : : : : : : : : 895.10 Kapcsolat (socket) lezarasa : : : : : : : : : : : : : : : : : : : : : : : : : : 895.11 Tobb socket parhuzamos gyelese (select) : : : : : : : : : : : : : : : : : : 895.12 A kommunikacios partner cmenek megszerzese : : : : : : : : : : : : : : : 905.13 Halozatokkal kapcsolatos konyvtari segedfuggvenyek 90
Trang 56.1 Tervezesi elvek : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1056.2 A felhasznalo azonostasa : : : : : : : : : : : : : : : : : : : : : : : : : : : 1066.3 A 4.3BSD UNIX r-programjai: : : : : : : : : : : : : : : : : : : : : : : : : 1076.4 A Kerberos illetekesseg-vizsgalo protokoll : : : : : : : : : : : : : : : : : : 1076.5 Tanacsok setuid root programok rasahoz : : : : : : : : : : : : : : : : : : 109
7.1 A folyamatok kezelese : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1127.1.1 A folyamatkezeles adatszerkezetei: : : : : : : : : : : : : : : : : : : 1127.1.2 A folyamatkezeles rendszerhvasai : : : : : : : : : : : : : : : : : : 1157.1.3 Utemezesi kerdesek : : : : : : : : : : : : : : : : : : : : : : : : : : : 1167.2 A memoriakezel}o implementacioja : : : : : : : : : : : : : : : : : : : : : : 1177.2.1 A regiom}uveletek : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1187.2.2 A regio rendszer adatszerkezetei : : : : : : : : : : : : : : : : : : : 1197.2.3 A lapozas implementalasa : : : : : : : : : : : : : : : : : : : : : : : 1207.2.4 A programbetoltes : : : : : : : : : : : : : : : : : : : : : : : : : : : 1207.3 Az eszkozmeghajtok implementacioja: : : : : : : : : : : : : : : : : : : : : 1217.4 A buer cache szerepe es implementacioja : : : : : : : : : : : : : : : : : : 1237.5 A fajlrendszer implementacioja : : : : : : : : : : : : : : : : : : : : : : : : 1267.5.1 A diszken tarolt adatszerkezetek : : : : : : : : : : : : : : : : : : : 1277.5.2 Az adatszerkezeteken operalo m}uveletek : : : : : : : : : : : : : : : 1307.5.3 Allokacios strategiak : : : : : : : : : : : : : : : : : : : : : : : : : : 1317.5.4 Fajlnevr}ol - i-nodera transzformacio : : : : : : : : : : : : : : : : : 1317.5.5 A rendszerhvas interfesz : : : : : : : : : : : : : : : : : : : : : : : 1327.6 A kommunikacios alrendszer implementacioja : : : : : : : : : : : : : : : : 133
Trang 68 A UNIX SYSTEM V STREAMS programozasa 135
8.1 Bevezetes : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1358.1.1 Alapfogalmak : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1358.1.2 A STREAMS el}onyei: : : : : : : : : : : : : : : : : : : : : : : : : : 1368.1.3 A STREAMS rendszer vezerlese : : : : : : : : : : : : : : : : : : : 1368.1.4 A STREAMS uzenettpusai : : : : : : : : : : : : : : : : : : : : : : 1388.1.5 Egy STREAMS-et hasznalo program : : : : : : : : : : : : : : : : : 1408.1.6 Az ide tartozo rendszerhvasok : : : : : : : : : : : : : : : : : : : : 1428.2 A STREAMS driverek feleptese : : : : : : : : : : : : : : : : : : : : : : : 1428.2.1 Mire kell vigyazni egy driver kesztesekor : : : : : : : : : : : : : : 1428.2.2 STREAMS szolgaltatasok : : : : : : : : : : : : : : : : : : : : : : : 1438.2.3 Kritikus szakaszok vedelme : : : : : : : : : : : : : : : : : : : : : : 1468.2.4 Fontosabb adatszerkezetek: : : : : : : : : : : : : : : : : : : : : : : 1478.2.5 Tovabbi hasznos tanacsok : : : : : : : : : : : : : : : : : : : : : : : 1488.2.6 A driver hibauzenetei : : : : : : : : : : : : : : : : : : : : : : : : : 1498.2.7 A driver listaja : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1508.2.8 A driver kernelbe linkelese : : : : : : : : : : : : : : : : : : : : : : : 1518.2.9 Driver installalas ISC UNIX alatt: : : : : : : : : : : : : : : : : : : 1548.2.10 Meg egy pelda: a birka modul: : : : : : : : : : : : : : : : : : : : : 1568.2.11 Egy egyszer}u debug modul : : : : : : : : : : : : : : : : : : : : : : 1578.2.12 Flush kezelese a driverben : : : : : : : : : : : : : : : : : : : : : : : 1608.3 Egy STREAMS loopback driver: : : : : : : : : : : : : : : : : : : : : : : : 1608.3.1 Driver interface strukturak : : : : : : : : : : : : : : : : : : : : : : 1608.3.2 Tovabbi deklaraciok : : : : : : : : : : : : : : : : : : : : : : : : : : 1628.3.3 Loopback driver start rutinja : : : : : : : : : : : : : : : : : : : : : 1628.3.4 Loopback driver open rutin : : : : : : : : : : : : : : : : : : : : : : 1638.3.5 Loopback driver close rutin : : : : : : : : : : : : : : : : : : : : : : 1638.3.6 Loopback driver service rutin : : : : : : : : : : : : : : : : : : : : : 1648.3.7 Egy loopback drivert hasznalo program : : : : : : : : : : : : : : : 1668.4 Multiplexer driverek : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1688.4.1 A multiplexerek elemei: : : : : : : : : : : : : : : : : : : : : : : : : 1688.4.2 Egy multiplexer osszerakasa : : : : : : : : : : : : : : : : : : : : : : 1688.4.3 Multiplexer ioctl-ek : : : : : : : : : : : : : : : : : : : : : : : : : : 1698.4.4 Input/Output esemenyek gyelese : : : : : : : : : : : : : : : : : : 1708.5 A kernel segedrutinjai : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1748.5.1 STREAMS-speci kus hvasok : : : : : : : : : : : : : : : : : : : : : 1748.5.2 Altalanosan hasznalhato kernel rutinok : : : : : : : : : : : : : : : 1798.6 Kerdesek : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1818.7 Ajanlott irodalom: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 182
Trang 7Fejezet 1
Bevezetes
A szamtogepen futo programokat ket csoportba szokas osztani: arendszerprogramok
csoportjara, es afelhasznaloi programokcsoportjara A rendszerprogramok kozul alegalapvet}obb az operacios rendszer Ennek feladata egyreszt az, hogy eltakarja a bony-olult hardver elemek programozasat a programozo el}ol, masreszt pedig ez a szoftver felel}os
a hardver er}oforrasoknak a programok kozti elosztasaert, az egyes hardver er}oforrasokvedelmeert
Az operacios rendszerek az utobbi evtizedekben nagyon nagy fejl}odesen mentekkeresztul Az els}o generacios szamtogepekben meg nem hasznaltak operacios rend-szereket Megjelenesuk a masodik generaciohoz kot}odik: a bonyolultabb hardverrendszerekre egyre bonyolultabb operacios rendszereket eptettek, majd megjelent amultiprogramozas, a mai operacios rendszerek egy lapvet}o fontossagu tulajdonsaga
A multiprogramozasnak ket valtozata van: a tobbtaszkos (multitasking) illetve a
tobbfelhasznalos (multi user) rendszer (ez a ket forma nem zarja ki egymast) Atobbfelhasznalos rendszerekben egy kozponti egysegen osztozik tobb felhasznalo, de akozponti egyseg nagy sebessege miatt minden felhasznalo ugy erzi, hogy egy sajat gepevan, amin dolgozik A tobbtaszkos rendszer annyit tud, hogy ott egy felhasznalo egysz-erre tobb feladatot indthat el, es az elindtott feladatok egyszerre (parhuzamosan) fognakvegrehajtodni
Az operacios rendszerekkel kapcsolatban a jelenlegi kutatasok ahalozati operacios rendszerek koreben tortennek Ezekben a rendszerekben a szamtogepek valami-lyen drottal ossze vannak kapcsolva, es a felhasznalo az operacios rendszer segtsegevelezeken a drotokon keresztul adatokat vihet at az egyik gepr}ol a masikra; az egyikgepr}ol (mondjuk Magyarorszagrol) bejelentkezhet egy masik szamtogepre (peldaulKanadaba), es Magyarorszagrol ugy dolgozhat, mintha kozvetlenul a kanadai szamtogepegy keperny}ojen dolgozna Az, hogy az altala begepelt karakterek illetve a vegeredmenyekmilyen modon jutnak el t}ole Kanadaba (es onnan vissza Magyarorszagra) rejtve maradel}ole A kommunikacio tortenhet akar telefonvonalakon, akar m}uholdon keresztul - alenyeg az, hogy az informacio eljusson az egyik helyr}ol a masikra Az operacios rend-szer feladata ilyenkor az, hogy a megbzhatatlan, rossz min}oseg}u telefonvonalakon egymegbzhato kommunikacios csatornat biztostson a felhasznaloknak, amiben az egyikgepr}ol a masikra kuldott adatok "nem kallodnak el", es az adatokat a fogado allomas azelkuldes sorrendjeben kapja meg
Eddig mar szamtalan sok operacios rendszer keszult, mindegyik mas cellal, masproblemakor megoldasara Ma a legelterjedtebb ilyen rendszerek (tobbek kozt): az
7
Trang 8OS/360, a CP/CMS, a VAX VMS, a UNIX es az MS-DOS Mar eleg id}o volt hoz, hogy a legfontosabb absztrakcios szintek es szolgaltatastpusok kialakuljanak.Ezek a szolgaltatasok a hagyomanyos operacios rendszerekben ket f}o temakorbe sorol-hatok: folyamatokkal (processzekkel) kapcsolatos, es a fajlokkal kapcsolatos absztrakcioseszkozok A tovabbiakban ezekr}ol lesz szo kicsit reszletesebben.
ah-1.1 Folyamatok
A folyamat (processz) de ncioja UNIX kornyezetben a kovetkez}okeppen adhato meg:folyamatnaktekinthetunk minden egyes futo programot - az altala lefoglalt memoriavalesegyeb er}oforrasokkal egyutt (Gyakran hasznaljak hasonlo ertelemben a taszk elnevezestis.) Az operacios rendszer minden egyes futo programrol bizonyos informaciokat tarolegy un processz-tablaban A folyamatokkal kapcsolatban ket alapvet}o m}uvelet van:
uj folyamat letrehozasa, es egy futo folyamat megalltasa (abortalasa, lelovese) Ha egyfolyamat letrehoz egy uj folyamatot, akkor az ujonnan letrehozott folyamatot gyermekfolyamatnak nevezik, azt a folyamatot, amely a gyermeket letrehozta szul}o folyamatnaknevezik Fontos megoldani az egymassal parhuzamosan futo folyamatok egymas koztikommunikaciojat is
Minden egyes folyamathoz tobbek kozt hozza van rendelve egy egyedi un azonosto (processz-id, pid), es az, hogy ki indtotta el azt a folyamatot (vagyis az,hogy melyik felhasznalo indtotta el; persze az is tarolva van minden egyes folyamatrol,hogy melyik folyamat hozta letre, es meg sok mas adat) Ilyen jelleg}u informaciok ny-ilvantartasa erdekeben minden egyes felhasznalohoz hozza van rendelve egy termeszetesszam, a felhasznalo azonostoja (user-id, uid) A folyamatot elindto felhasznalo uid-je
folyamat-be lesz jegyezve a processz-tablaba, es kes}obb ha kell, akkor onnan ki lehet azt nyerni
A UNIX operacios rendszerben alapertelmezes szerint minden egyes folyamat orokli aszul}ojenek az uid-jet es a jogait valamint szamos mas jellemz}ojet is (Ezzel szemben afolyamat-azonosto, a pid peldaul nem orokolhet}o, mert ekkor az nem lenne egyedi.)
Az egymassal parhuzamosan m}ukod}o folyamatoknak gyakran kell kommunikalniukvalamilyen modon Az operacios rendszer feladatai koze tartozik afolyamatok kozotti kommunikacio(Interprocess Communication) megszervezese is
Sok operacios rendszer a folyamat fogalmat ket f}o reszre osztja: egytaszkraes egyvagy tobb un threadre (magyarul: szal) A taszk egy "er}oforrasgy}ujtemeny" (fajlok,memoriateruletek es mas objektumok) a thread pedig a folyamat "lelke": lenyegebenegy processzor-allapotbol es egy sajat stack-b}ol all Egy taszkban egy vagy tobb threadlehet Az eredeti (UNIX-szer}u) modellben egy folyamat pontosan egy taszkbol es egybenne futo threadb}ol all
(Szokas megkulonboztetnipreemptvill nem preemptvthread-rendszereket is
Az el}obbiben minden egyes threadnek van egy-egy id}oszelete, amg futhat, majd ha azlejar, akkor egy masik thread kapja meg a CPU-t; az utobbi modellben a threadnakvalamilyen op-rendszer rendszerhvas meghvasaval onszantabol kell lemondania a CPU-hasznalatrol - ez utobbi forma a program nyomkovetesekor hasznos.)
Trang 9Egy kisebb meret}u UNIX rendszerben alaphelyzetben kb 3000-10000 kisebb-nagyobbfajl van a hattertaron, ezert az ott tarolt fajlokat valahogyan rendszerezni kell Akialakult legelfogadhatobb megoldast a hierarchikus directory-szerkezet(directoryszo jelentese katalogus) jelenti Ekkor a valamilyen szempont szerint osszetartozo fajlokkerulnek egy kozos directoryba A hierarchikussag abban all, hogy minden egyes di-rectory tartalmazhat un aldirectorykat, amik szinten tartalmazhatnak aldirectorykat
Az egyetemeken ez peldaul ugy hasznalhato ki, hogy a felhasznalokat ket csoportbaosztva (pl oktatok csoportjaba ill hallgatok csoportjaba; persze lehet sok mas csoport,
ez inkabb csak pelda ertek}u) mindket csoportnak egy-egy kulon directoryja lehet, gy ahallgatok fajljai vedve vannak a kvancsi oktatok el}ol (es termeszetesen fordtva is)
A hierarchikus directory-szerkezetet biztosto operacios rendszerekben az egyesfajlokra ugy hivatkozhatunk, hogy el}oszor meg kell adni azt, hogy a fajlt tartalmazodirectoryt melyik directorykon keresztul erhetjuk el a hierarchikus directory-szerkezetgyokeret}ol kiindulva, majd meg kell adni a fajlt tartalmazo directory nevet es maganak
a fajlnak a nevet is (Ezt nevezik a fajl pathname-jenek.) Ha peldaul van egyusernev}udirectory (tegyuk fel, hogy ez a directory a directory-szerkezet gyokereben van), aminekvan egy student nev}u aldirectoryja, akkor az abban az aldirectoryban lev}o xyz nev}ufajlra a /user/student/xyznevvel hivatkozhatunk (A UNIX operacios rendszerben apathname egyes tagjait a / jel valasztja el egymastol, es a fajlnevben a legels}o /jel ahierarchia tetejen lev}o un gyoker-directoryt jeloli, amely egyetlen mas directorynak semaldirectoryja.) Ha minden egyes fajlra csak ilyen "hosszu modon" (un abszolut path-name segtsegevel) hivatkozhatnank, akkor nagyon nehez lenne az elet (es kenyelmetlenis!) Ezert alaktottak ki a munka-directory(working directory) fogalmat Ez azt je-lenti, hogy van egy un munka-directory, amelyben a fajlokat a gyokert}ol hozzajuk vezet}ominden egyes aldirectory nevenek felsorolasa nelkul erhetjuk el Csak azoknak a direc-toryknak a nevet kell felsorolni, amely a hierarchiaban a munka-directory alatt van (Azilyen, a munkadirectorybolkiindulo pathname-eket relatv pathname-nek szokas nevezni.)Meg egy fontos elv van a fajlrendszerekkel kapcsolatban: akeszulekfuggetlenseg.Eszerint az elv szerint a programokat ugy kell megrni, hogy m}ukodni tudjanak attolegy winchesteren vannak (vagy esetleg az input a billenty}uzetr}ol lesz beadva ).Egyes operacios rendszerek a fajlokrol nem felteteleznek semmifelebels}o strukturat:egyszer}uen egybyte-folyamnaktekintik azokat (ilyen a UNIX) Mas rendszerekben afajlokmondjuk x vagy valtozo szamu byteot tartalmazorekordok sorozata- ez gyakorivolt a lyukkartyas id}oszakban: minden fajl 80 byteos rekordokbol allt Ma egyre inkabb
a byte-folyam jelleg}u fajl kep kerul el}oterbe, es a fajlok bels}o szerkezetet pedig az aztfeldolgozo programok "sajat belatasuk szerint" alakthatjak ki
A fajlokhoz minden operacios rendszer nyilvantart bizonyos un fajl-attributumokat.Ezek a fajllal egyutt a hattertaron lesznek tarolva Ilyen fajl-attributumok peldaul a
Trang 10kovetkez}ok (nem minden operacios rendszer ad lehet}oseget az itt felsorolt osszes attributum nyilvantartasat):
fajl- a fajl merete byteban VAGY blokkban (operacios rendszert}ol fugg a "VAGY" )
a fajl hozzaferesehez szukseges jelsz}o
a fajl maximalis merete (nehol ez is el}ore meg van kotve)
a fajl tulajdonosanak azonostoja
a fajl "system" fajl-e (az operacios rendszerenkent valtozhat, hogy egy fajl
"system"-sege milyen lehet}osegeket jelent)
a fajl "archive" fajl-e (ez az egyik operacios rendszer szer}u eszkozben, az ban azt jeloli, hogy a fajl ki van-e mentve (BACKUP-olva) vagy sem)
MS-DOS- a fajl "hidden"-e vagy sem
a fajl leterehozasanak datuma
a fajl utolso modostasanak datuma
utolso "hasznalat" datuma
a fajl jelszavakat tartalmaz, nem nezheti meg senki (esetleg meg a rendszergazdasem)
a fajl egy aldirectory (ilyenkor gyakran az adott aldirectory altal tarolt fajlok neveittartalmazza )
esetleg azt is tarolhatja a rendszer egy fajlrol, hogy a fajl a hattertar hibas szektorait(bad blocks) is tartalmazza, ezert nem tanacsos hozzanyulni
Sok operacios rendszer a fajlokat vagy legalabb egy reszuket hasznalatuk kozben amemoriaban tartja Ezt cache-elesnek nevezik, es a memorianak azt a (gyakran di-namikusan valtozo meret}u) reszet, amit az operacios rendszer erre felhasznal cache-memorianak nevezik
Sok fajlrendszer lehet}oseget nyujt a fajlok "memoriaba agyazasara" (memorymapped les) Ez azt jelenti, hogy a folyamatok a memoria valamelyik szegmensen(reszen) keresztul a fajlba tudnak rni, illetve onnan tudnak olvasni: ha a program amemoriaszegmens 0., 1., 2 bytejat mondjuk megvaltoztatja, akkor vele egyutt megfog valtozni a hattertarolon tarolt fajl 0., 1., 2 byteja is Ez a megoldas tehategysegesse teszi a fajl- es memoriahozzaferes modjat, kapcsolatot teremtve az operaciosrendszer fajlrendszere es a memoriakezel}o komponense kozott
Az operacios rendszer feladata afajlrendszer konzisztenssegenek a biztostasa
is: ez peldaul magaba foglalja azt is, hogy az operacios nehogy ketszer ugyanazt a szektort hasznalja fel egy fajl kulonboz}o reszeinek a tarolasara, mertgy adatok vesznenekel
Trang 11Amg a multiprogramozas nem jelent meg, addig az operacios rendszerben nem voltolyan nagy szukseg a memoriakezel}o reszekre A multiprogramozas megjelenesevel azon-ban szuksegesse valt a memorianak a futo folyamatok kozotti valamilyen "igazsagos"elosztasara A megoldast a virtualis memoriakezeles jelentette Ez ugy m}ukodik,hogy az operacios rendszer minden egyes folyamatnak ad a kozponti memoriabol egyakkora reszt, amelyben a folyamat meg ugy ahogy m}ukodik, es a folyamatnak csakazt a reszet tartja a kozponti memoriaban, amely eppen m}ukodik A folyamatnak azt
a reszet, amelyre nincs szukseg (mert peldaul mar reg nem adodott ra a vezerles, esfeltetelezhetjuk, hogy rovid id}on belul nem is fog vegrehajtodni) ki kell rakni a hattertarra(a diszken az un lapozasi teruletre) Ez a megoldas azert m}ukodik, mert a pro-gramok legtobbszor egy eljarason belul ciklusban dolgoznak, nem csinalnak gyakran nagyugrasokat a program egyik veger}ol a masikra (ez a lokalitas elve)
A kozponti egyseg fel van szerelve egy ugynevezett memoriakezel}o egyseggel
(MMU), amely gyeli, hogy olyan kodreszre kerul-e a vezerles, amely nincs benn akozponti memoriaban (mert peldaul a hattertarra van kirakva) Ha a memoriakezel}oegyseg azt talalja, hogy ez az eset all fenn, akkor az operacios rendszert arra utastja,hogy rakja ki a hattertarra a folyamatnak azt a reszet, amely jelenleg a memoriaban van,
es azt a reszt hozza be a helyere, amelyre ezutan szukseg lesz
A virtualis memoria kezelese leggyakrabban lapozassal (paging) tortenik Ekkor
a virtualis memoria (egy folyamat virtualis cmtartomanya, amit a CPU biztost) fellesz osztva egyenl}o nagysagu reszekre, un lapokra(pages) - a hattertar es a memoriakozott legalabb ennyi byteot fog az operacios rendszer atvinni (vagy ennek tobbszoroset)
A ... data-page="26">
hagyta (A legtobb BSD UNIX forgalmazo azert ad valamilyen konyvtarakat, amelyek azAT&T rendszerhvasokat implementaljak vagy szimulaljak.) Az AT&T UNIX haromfeleeszkozzel... cm Azaz azok kozul az els}otartalmazza annak a (diszk-)blokknak a cmet, amelyen a fajl els}o 1024 (1 Kbyte) darabbyteja van A masodik tartalmazza annak a (diszk-)blokknak a cmet, amelyen... envp);
Az els}o parameter a vegrehajtando binaris program fajlnevet tartalmazza Akovetkez}o parameter maganak a parancsnak a nevet tartalmazza (ez nem kell, de gyszokas), a