1. Trang chủ
  2. » Giáo Dục - Đào Tạo

unix internals a systems operation handbook

183 186 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Unix Internals: A Systems Operation Handbook
Tác giả Csizmazia Balázs
Trường học University of Szeged
Chuyên ngành Computer Science
Thể loại handbook
Năm xuất bản 1996
Thành phố Szeged
Định dạng
Số trang 183
Dung lượng 834,55 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Azilyen, a munkadirectorybolkiindulo pathname-eket relatv pathname-nek szokas nevezni.Meg egy fontos elv van a fajlrendszerekkel kapcsolatban: akeszulekfuggetlenseg.Eszerint az elv szeri

Trang 1

Klasszikus valtozatCsizmazia Balazs1

1 Copyright 1993,1995,1996 Csizmazia Balazs Szabadon terjeszthet}o.

Trang 3

1.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 4

3.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 5

6.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 bu er 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 6

8 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 7

Fejezet 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 8

OS/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 9

Egy 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 10

kovetkez}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 11

Amg 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

Ngày đăng: 06/07/2014, 15:37

TỪ KHÓA LIÊN QUAN