OPERÁCIÓS RENDSZEREK. Célkitűzések, tárgyfelépítés. Módszerek. OS fogalom, struktúrák. 2005/2006. tanév II. félév Dr. Vadász Dénes



Hasonló dokumentumok
OPERÁCIÓS RENDSZEREK. Célkitűzések, tárgyfelépítés. Módszerek. OS fogalom, struktúrák. 2006/2007. tanév II. félév Dr. Vadász Dénes

Operációs rendszerek. A Windows NT felépítése

Operációs rendszerek MINB240 V2+2+0

Operációs rendszerek MINB240 V kredit KF Nagyváradi Anett 0. előadás Bevezetés

Az informatika alapjai. 10. elıadás. Operációs rendszer

Operációs rendszerek. Bemutatkozás

Operációs rendszerek

Operációs rendszerek. Windows NT. A Windows NT

Operációs rendszerek

A mai program OPERÁCIÓS RENDSZEREK. A probléma. Fogalmak. Mit várunk el? Tágítjuk a problémát: ütemezési szintek

Tartalom. Történeti áttekintés. Történeti áttekintés Architektúra DCOM vs CORBA. Szoftvertechnológia

Virtualizációs Technológiák Bevezetés Kovács Ákos Forrás, BME-VIK Virtualizációs technológiák

Operációs rendszerek. Az Executive és a kernel Policy és mechanizmusok szeparálása Executive: policy - objektum kezelés Kernel: mechanizmusok:

Operációs rendszerek II. jegyzet

Bevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb

SAP vállalatirányítási rendszer alapjai

A SZOFTVERTECHNOLÓGIA ALAPJAI

Szoftveripar és üzleti modellek

Osztott alkalmazások fejlesztési technológiái Áttekintés

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Bevezetés az informatikába

Bánsághi Anna 1 of 67

Operációsrendszerek. 2. elıadás. Standard ismeretek II.

Hálózati operációs rendszerek II. Novell Netware 5.1 Szerver

Számítógépes alapismeretek

eseményvezérelt megoldások Vizuális programozás 5. előadás

KÉPZÉS NEVE: Informatikai statisztikus és gazdasági tervezı TANTÁRGY CÍME: Számítógép hálózatok. Készítette:

Operációs rendszerek. A Windows NT

Operációs rendszerek Microsoft Windows 2000

UNIX operációs rendszer bemutatása. A UNIX története, fejlesztésének céljai.

IT trendek és lehetőségek. Puskás Norbert

Informatika szintmérő-érettségi tételek február

OPERÁCIÓS RENDSZEREK I. BEVEZETÉS Koczka Ferenc -

Operációs rendszerek Memóriakezelés 1.1

Összefüggő szakmai gyakorlat témakörei évfolyam. 9. évfolyam

Összefüggő szakmai gyakorlat témakörei. 13 évfolyam. Információtechnológiai gyakorlat 50 óra

Máté: Számítógép architektúrák

Operációs rendszerek Folyamatok 1.1

10. évfolyam 105 óra azonosító számú Hálózatok, programozás és adatbázis-kezelés 105 óra Adatbázis- és szoftverfejlesztés gyakorlat tantárgy

Az Ön kézikönyve HP COMPAQ DC5700 MICROTOWER PC

Rendszerfelügyelet Logikai partíciók

Operációs rendszerek

Operációs rendszerek MINB240. Bevitel-Kivitel. 6. előadás Input és Output. Perifériák csoportosításá, használat szerint

Számítógép Architektúrák

Dr. Illés Zoltán

Számítógép architektúrák

Memóriák - tárak. Memória. Kapacitás Ár. Sebesség. Háttértár. (felejtő) (nem felejtő)

Rendszertervezés 2. IR elemzés Dr. Szepesné Stiftinger, Mária

A számítógép használata és a fájlkezelés Windows XP-vel

Az Oracle rendszer komponensei

INFORMATIKA ZÁRÓSZIGORLAT TEMATIKA

Operációsrendszerek. 1. elıadás. Standard ismeretek

Nagy adattömbökkel végzett FORRÓ TI BOR tudományos számítások lehetőségei. kisszámítógépes rendszerekben. Kutató Intézet

Szoftverprototípus készítése. Szoftverprototípus készítése. Szoftverprototípus készítése

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

386 processzor címzés

Bevezetés a Symbian operációs rendszerbe

SEAGUARD. Integrált Biztonság-felügyeleti Rendszer

Számítógép Architektúrák

Az időhöz kötődő parancsok

Mérő- és vezérlőberendezés megvalósítása ARM alapú mikrovezérlővel és Linux-szal

Matematikai és Informatikai Intézet. 4. Folyamatok

Operációs rendszerek

Operációs rendszerek III.

Általános rendszergazda Általános rendszergazda

Számítógépek felépítése, alapfogalmak

Organizáció. Számítógépes Hálózatok Gyakorlati jegy. Vizsga. Web-oldal

Intelligens Érzékelők

Gyors üzembe helyezés és első lépések útmutató Evo D500 ultravékony asztali számítógép személyi számítógép

1. Fejezet: Számítógép rendszerek

Riak. Pronounced REE-ahk. Elosztott adattároló eszköz. Molnár Péter

Számítástechnika-kidolgozott szóbeli tételek (11-15.)

Számítógépes Hálózatok ősz 2006

Organizáció. Számítógépes Hálózatok ősz Tartalom. Vizsga. Web-oldal

2016/06/23 07:47 1/13 Kérdések

Előzmények

Operációs rendszerek 1. kidolgozott tételsor Verzió: 1.0 (Build: )

Operációs rendszerek. Folyamatok kezelése a UNIX-ban

6. Tárkezelés. Operációs rendszerek. Bevezetés A program címeinek kötése. A címleképzés. A címek kötésének lehetőségei

Közbeszerzési Értesítő száma: 2015/133

Végpont védelem könnyen és praktikusan

Dr. Schuster György október 30.

2. modul. Operációs rendszerek és fájlkezelés 2. MODUL OPERÁCIÓS RENDSZEREK ÉS FÁJLKEZELÉS

Szoftver-ergonómiára vonatkozó szabvány, avagy ISO 9241

NetWare 6 technikai áttekintés 2. rész

Operációs rendszerek. Az NT folyamatok kezelése

Budapesti Műszaki- és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar MIT. Nagyteljesítményű mikrovezérlők tantárgy [vimim342]

Processzus. Operációs rendszerek MINB240. Memória gazdálkodás. Operációs rendszer néhány célja előadás Memóriakezelés

IT TERMÉKEK TANÚSÍTÁSA

Gyakorla( útmutató és demonstrációk a SZTAKI Felhő használatához

iseries Access for Windows: Adminisztráció

Utolsó módosítás:

IBM Tivoli Endpoint Manager

A Polycom RealPresence Group Series készülékek és tartozékok szoftverének és opcióinak telepítése. Áttekintés

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet. Java Web technológiák

Párhuzamos és Grid rendszerek. Hol tartunk? Klaszter. Megismerkedtünk az alapfogalmakkal,

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

1. AZ AUDITPRO RENDSZER ÁTTEKINTÉSE ALAPVETÕ TELEPÍTÉS AZ AUDITPRO TELEPÍTÉSE ÉS FELÜGYELETE HÁLÓZATOKON EREDMÉNYEK...

Operációs rendszerek. Az NT memóriakezelése

Közbeszerzési Értesítő száma: 2015/108

Átírás:

OPERÁCIÓS RENDSZEREK OS fogalom, struktúrák 2005/2006. tanév II. félév Dr. Vadász Dénes Célkitűzések, tárgyfelépítés Alapfogalmak, koncepciók, struktúrák, működés megismerése OS példák: Unix, Linux, W (a közös kiemelve) Témakörök: OS fogalom, történet, struktúrák, Felületek a kernelhez (burok és API) processzek és menedzsmentjük, memóriamendzsment, I/O, eszköz és fájlmenedzsment, rendszermenedzseri feladatok. Vadász Ea1 2 Módszerek Előadások: lényegkiemelés, összefoglalások Gyakorlatok: a tanszéki laborokban, teljesítendő feladatok minden gyakorlaton Teljesítés aláírás feltétele: gyakorlatokon aktív részvétel, legalább 10 gyakorlat elismertetése, évközi zárthelyi dolgozat eredményes megírása. Aláírás pótlás a vizsgaidőszakban nincs. Vizsga: írásbeli + szóbeli. Vizsgatételek az év végén. A tárgy anyaga szigorlati tananyag is! Vadász Ea1 3 1

A gyakorlatok, gyakorlatvezetők Vadász Ea1 4 Irodalom Tannenbaum: Modern Operating Systems, Prentice Hall, 1992. Silberschach, Galvin: Operating Systems Concepts, Addison- Wesley, 1994. Kóczy, Kondorossi szerk: Operációs rendszerek mérnöki megközelítésben, Panem, 2000. Bach: The Unix System, Prentice Hall, 1985. Vahalia: UNIX Internals: the new frontiers, Prentice Hall, 1996 Vadász: Operációs rendszerek, ME, http://www.iit.uni-miskolc.hu/~vadasz/geial302b Unix on-line manual lapok, helps stb. Tudni kell angolul olvasni! Vadász Ea1 5 Lásd a hirdetőtáblán! Az ütemterv Vadász Ea1 6 2

Számítógéprendszer fő komponensei A HW fő részei: CPU, memória, eszközök, buszok A működtető rendszer: OS Az alkalmazások: segédprogramok, fejlesztők, AB rendszer, üzleti programok stb. A felhasználó: alkalmazás használó, fejlesztő stb. Vadász Ea1 7 Működtető rendszerek fejlődése Direkt futtatás a hardveren Monitor Futtatható rutinok gyűjteménye, ROM. Ismeri a konzolt Konzol terminálon parancsok examine mem-cell set mem-cell go mem-cell etc. Esetleg primitív fájl-rendszer, load, store parancsok Operációs rendszer Vadász Ea1 8 Az operációs rendszer fogalma Kiterjesztett gép (Extended Machine). Kényelmessé, "felhasználóbarát" jellegűvé teszi a géphasználatot. Erőforrás menedzser. Hatékonnyá, biztonságossá, igazságossá teszi a géphasználatot. Válaszoló gép (Veszély: burok (kezelő, UI) - kernel összetévesztés) Vadász Ea1 9 3

Történetük Kapcsolódik a hardver fejlődéshez, a számítógép használók munkamegosztása történetéhez (hardveresek, rendszerprogramozók, rendszermenedzserek, operátorok, programozók, felhasználók.) a programozási módszerek fejlődéséhez stb. Tanenbaum 4 generációt említ Vadász Ea1 10 I. generáció: 1945-55. (Prelingual Stage) Csövek, dugaszoló táblák, lyukkártyák Nincs munkamegosztás: egybeesik a számítógépépítő, működtető, programozó, felhasználó szerepkör Gépi nyelvű programozás Nincs operációs rendszer Vadász Ea1 11 II. generáció: 1955-65 (Exploiting Machine Power) Tranzisztorok. Kötegelt rendszerek. Karakterorientált (1401) és szószervezésű (7094) gépek. Tervezők és építők; karbantartók; operátorok; programozók, felhasználók (Increasing the Expressive Power) FORTRAN nyelv A JOB fogalom: load-translate-load-exec szekvencia, eleinte kézzel, később automatizálva. nem_rezidens loader = monitor jellegű OS. Végül: ütemező is. Tipikus a kötegelt (batch) feldolgozás Vadász Ea1 12 4

III. generáció: 1965-80 (Reducing the Machine Dependency) Egységesítés a karakter- és szófeldolgozásban (360) Integrált áramkörök Időosztásos multiprogramozás, memória particionálás, spooling (Simultaneuos Peripheral Operation On-Line) Interaktivitás igény: kifejlődnek a parancsnyelvi értelmezők Kis gépek (PDP-11, VAX 780 stb.) Sok operációs rendszer (OS360, MULTICS, RSX, Unix stb.) Hardveresek; operátorok; rendszerprogramozók; programozók; felhasználók Imperatív, funkcionális, logikai nyelvek. Szoftverkrízis (Algol, PL1, APL, LISP, PROLOG, C stb.) Vadász Ea1 13 IV. generáció: 1980-90 (Reducing the Complexity) LSI, VLSI; Személyi számítógépek, munkaállomások, szuperszámítógépek Visszaesés a védelemben Interaktivitás, felhasználóbarát kapcsolattartás. GUI is! MS DOS, Unix, VAX/VMS, Novell stb. Hálózati operációs rendszerek, osztott feldolgozás Teljes a munkamegosztás Objektumorientált programozás, párhuzamos programozás, szoftvertechnológiák, CASE Vadász Ea1 14 És ma? Személyi számítógépek (kliensek), szerverek, grafikus munkaállomások, különleges architektúrák, az Internet, grid Mikrokernelek Unix, MS W, Linux, mach Internet és WEB technológiák, OOP, Java, CORBA, DCOM, SW reengineering Teljes munkamegosztás, mindenki felhasználó Vadász Ea1 15 5

Az utóbbi évtizedek 1985 95: olcsó processzálás 1995-02: olcsó sávszélesség A jövő: olcsó érzékelők Egy másik áttekintés Két lapot mutatok Vadász Ea1 16 Az utóbbi évtizedek a számítástechnikában Az évek 60-as 70-es 80-as 90-es A paradigma Kötegelt feldolgozás Időosztás Asztali gépek Hálózatok Hol? Terminálszobában Számítóközpontban Íróasztalon Mobil Az adatok Numerikus adatok Szövegek + számok + rajzok Multimédia Fő cél Számítások Hozzáférés Kommunikáció Megjelenítés Vadász Ea1 17 Az utóbbi évtizedek a számítástechnikában 2 Az évek 60-as 70-es 80-as 90-es A paradigma Batch Time sharing Desktop Network Az interfész Lyukkártya Billentyűzet + CRT Lásd és kattints Kérdezd és mondd Kapcsolódás Nincs Terminál vonalak LAN Internet Tulajdonos Intézeti sz.központ Osztályok Osztályok dolgozói Mindenki Vadász Ea1 18 6

OS osztályozási szempontok Hardver függőség szerint Személyi, kis, nagy gépek OS-e (?), architektúra független Cél szerint Általános, vagy speciális célú Processzek, processzorok, felhasználók száma szerint Single, vagy multi tasking, multi processing, multi threading Single, vagy multi user Distributed Időkiosztás szerint Szekvenciális, kooperatív, vagy beavatkozó; time sharing, real time Memóriakezelés szerint Valós címzésű, vagy virtuális címzésű I/O és fájlrendszer megvalósítás szerint Vadász Ea1 19 A számítógép architektúrában az OS Az OS rendszerszoftver, 2 fő céllal kényelmet biztosít, hatékonyságot, védelmet biztosít. Elválasztja az alkalmazásokat a hardvertől Alkalmazás 1 Alkalmazás 2 OS kernel Hardver Lehetne-e struktúrálni? Vadász Ea1 20 Egy később tovább részletezett fogalom: a folyamat (processz) A folyamat (processz) egy (párhuzamos szerkezetet nem tartalmazó) program futó példánya Önálló entitás, azonosítható Megkülönböztetem a programtól Ugyanannak a programnak több futó példánya is lehet A processz kontextus fogalmat is fogjuk tárgyalni Az alkalmazás kifejezést itt felhasználói processz értelemben fogom használni A taszk fonál fogalmat is tárgyaljuk majd Vadász Ea1 21 7

Kernel struktúrák Funkcionális szerkezetek (szolgáltatások szerinti komponensek) Implementációs szerkezetek (hogyan programozzák az egyes komponenseket). Vadász Ea1 22 Szolgáltatások szerinti komponensek Processz (taszk, fonál) menedzsment komponensek Memória menedzselő komponensek I/O menedzsment device driver interface szabad terület (blokk) menedzselése blokk allokáció, diszk blokk scheduling bufferezés Fájl-rendszert megvalósító komponensek jegyzék (directory) megvalósítás (fájl attribútumok kezelése) fájlkezelés, biztonsági komponensek Védelmi komponens(ek) Hálózatkezelő komponensek Felhasználói felület (nem feltétlenül OS komponens) Vadász Ea1 23 Processz (taszk, fonál) menedzsment komponensek Ad Funkcionális struktúra Processzek kreációját és terminálódását biztosító funkciók Processz/taszk/fonál kontroll, ütemezés Állapotok nyilvántartása, CPU ütemezés, kiosztás; felfüggesztés, elvétel, processz szinkronizációs mechanizmusok (beleértve a holtpont elkerülését is biztosító kölcsönös kizárási mechanizmusokat), processzek közti kommunikációs mechanizmusok. Vadász Ea1 24 8

Memória menedzselő komponensek Ad Funkcionális struktúra Memória használatának nyilvántartása Memória allokálás/felszabadítás a processzek számára Címleképzés: logikai (virtuális) címek leképzése valós (buszra kiadható) címekre) közben ki/be söprés, vagy ki/be lapozás. Utóbbiakhoz kapcsolat a másodlagos tároló menedzsmenttel. Vadász Ea1 25 I/O és másodlagos tároló menedzsment Ad Funkcionális struktúra Eszközmeghajtó szoftverek (device drivers) biztosítása blokkorientált eszközökhöz (diszkekhez), karakterorientált eszközökhöz (terminálok, nyomtatók, portok stb.), speciális eszközökhöz (óra, hálózat(?)) Szabad blokk menedzselés (diszkeken) Blokk allokálás/deallokálás (fájlokhoz, virtuális memóriához) Diszk-blokk buffer cashing Vadász Ea1 26 Fájl-rendszert megvalósító komponensek Ad Funkcionális struktúra Jegyzék (directory) struktúra biztosítása Jegyzék implementáció, fájl-attribútumok rögzítése Blokkhozzárendelés módszerei Fájlok kreálása/törlése Jegyzékek kreálása/törlése Fájlok írása/olvasása Fájlrendszer létrehozásának, helyreállításának segédprogramjai Mentések és visszaállítások segédprogramjai Vadász Ea1 27 9

Esettanulmányok A VAX/VMS, a W NT és a UNIX funkcionális struktúrája. 6 lapot mutatunk Vadász Ea1 28 A VAX/VMS struktúrája A VAX CPU négy futási módja: User, Supervisor, Executive, Kernel. Áttérés: trap mechanizmussal. Lásd: $ MONITOR MODES U mode: alkalmazások, segédprogramok, fejlesztők S mode: a DCL (A DCL szoros kapcsolatban a VMS-sel) E mode: RMS rutinok: felelősek a fájl szervezésért; ACP-k: felelősek az elhelyezkedésért, méretekért. K mode: System Services: I/O alrendszer Memória menedzsment Processz és időkezelés Vegyes szolgáltatások (nincs az ábrán): logikai név kezelés, lock menedzsment stb. Vadász Ea1 29 VMS struktura Memory Management Pager Swapper DCL Record Management System System Services $ASSIGN $QIO $OPEN $GET $PUT Run Time Libraries Math Library String Manipulation etc. Utilities SORT HELP DIRECTORY etc. $CRETVA I/O Subsystem K Device Drivers I/O Routines E System Wide Protected $WAKE $CREPRC Data Structures S Page Tables U I/O Database $GETTIM $NUMTIM Scheduler Process & Time Management: Scheduler, Process Vadász Control Ea1 30 10

Az NT struktúra HAL: csatoló a HW és a mikrokernel között. A HW különbözőségeket (processzor architektúra, processzorok száma stb.) küszöböli ki. A HW gyártók készítik, szállítják. Mikrokernel: IT kezelés, ütemezés a szálakra, CPU szinkronizáció stb. Szolgáltatások: Objektum menedzser: objektum elnevezések, biztonsági tényezők kezelése. Handle készítés az objektumokhoz. Folyamat menedzser: taszkok létrehozása, törlése, szálak létrehozása, törlése. Együttműködik a biztonsági rendszerrel, a memória menedzserrel. Helyi elj. hívás: (hasonlít az RPC-hez) egy alkalmazáshoz a rendszerkörnyezetet létrehozó alrendszer (kliens-szerver) létrehozáshoz hívás. Vadász Ea1 31 Felhasználói mód Alkalmazás Kernel mód Windows NT Executive Executive szolgáltatások I/O Objektum menedzser menedzser Biztonsági figyelő Folyamat menedzser Helyi elj.hívás Virtuális mem. men. Win32K & GDI Eszköz meghajtók Microkernel Hardware Abstraction Layer (HAL) Hardver Grafikus eszk.megh. Windows NT Kernel Vadász Ea1 32 Az NT struktúra (folyt.) Szolgáltatások (folyt.): I/O menedzser: Cache funkciókat, fájl-rendszereket (FAT, NTFS, CDFS), eszköz meghajtókat (NET+diszkes) biztosít. Virtuális memória menedzser (ld. később). Megjelenítő rendszer: Win32K ablak menedzser: kezeli az ablakokat, képernyőt; a bejövő jeleket (eljuttatja az alkalmazásokhoz). GDI (Graphics Device Interface): grafikus csatoló: képernyő rajzoló eszköz (primitívek) gyűjtemény. Grafikus eszközmeghajtók (drivers): vezérlik a HW-t. A konzol (ez felhasználói szintű, csak a teljesség kedvéért itt!): szöveges ablak támogatást biztosít. Biztonsági figyelő. Vadász Ea1 33 11

A Unix funkcionális felépítése Felhasználói mód Kernel mód Felhasználói processz (trap) Programozói felület, rendszerhívás diszpécser Fájlrendszer I/O alrendszer Buffer cache Device drivers Folyamat vezérlő alrendszer Folyamatok közti kommunikáció Ütemező Memória menedzser Hardver szint Hardver, vezérlők Vadász Ea1 34 Implementációs struktúrák Hogyan programozzák a komponenseket Funkciókhoz rutinok Call jelleggel hívható rutinok Argumentumok visszatérési érték Megszakítással hívható rutinok (IT kezelők) Az IT típusa Iret Eseménykezelő rutinok (esemény kezelők) Az esemény jellemzői visszatérési érték, ha egyáltalán ) Hol lehetnek ezek a rutinok? A betöltődő kernelbe linkelve Futtatható programba linkelve Vadász Ea1 35 Lehetséges archeo típusok Monolitikus rendszer Réteges struktúrák Az ügyfél szolgáltató (kliens szerver) modell A módváltás a trap A szolgáltató rutinok (sokszor) kernel módban futnak! Akár a kernelbe vannak linkelve, Akár futtaható program rutinjai. Vadász Ea1 36 12

Monolitikus rendszer Ad Implementációs struktúra Egyszerű szerkezet A kernel (mag): egy betölthető modulba összelinkelt, szolgáltató rutinok összessége A kernel a rendszer indításkor (teljes egészében) betöltődik A szolgáltató rutinok hívása: rendszerhívással (system call), megszakítással (IT), vagy kivételes eseményre való reagálással. Futási mód váltás (user mód - kernel mód: trap) Tipikus példa: korai Unix-ok Vadász Ea1 37 Réteges struktúra Ad Implementációs struktúra A szolgáltató rutinok rétegekbe szervezettek. A rétegezés előnye Egy rétegben jól meghatározott, összetartozó funkciók Egy réteg elrejti az alatta lévő komponensek részleteit Magasabb absztrakciós szintű szolgáltatásokat biztosít: virtuális gépet A rétegeket külön-külön betölthető fájlokba linkelik A betöltés akár dinamikusan is történhet (DLL) Már a monolitikusban is lehet diszpécser réteg Lehetséges: a rétegekhez egyre privilegizáltabb futási módok. Tipikus példa: a The OS Vadász Ea1 38 Rétegek A THE struktúrája 5 4 Operátor Felhasználói programok Az operátor indít, lelő processzeket Független processzek 3 2 1 0 I/O menedzsment, eszközök Operátor-processz kommunikáció Memória-dob menedzsment Processz allokálás, multiprogramozás Felette virtuális (absztrakt) I/O A processzeknek saját, virtuális konzolok Virtuális memória, a processz látja a teljes címtartományát Virtuális CPU-k, minden processztől elrejtve a többi Dijkstra professzor és hallgatói készítették, 1968. A rétegezés tervezési koncepció volt: egyetlen modulba linkelték. Vadász Ea1 39 13

A réteges struktúrától a virtuális gépig Ad Implementációs struktúra Emlékezz: az operációs rendszer virtuális gép: ezt a koncepciót erősíti a rétegezettség A rétegek virtuális (absztrakt, kiterjesztett) gépek Absztrakt (kiterjesztett, virtuális) instrukcióknak foghatók fel a rétegek közötti felületek hívásai Vadász Ea1 40 A kliens-szerver modell Ad Implementációs struktúra Igény a kisebb kernelre: mikrokernel Bizonyos rendszerszolgáltatások kiszolgálására önálló processzeket készítenek. Ezek önállóan linkelhetők Betöltődhetnek a rendszer egész életére, vagy időlegesen (daemon processzek) Futhatnak kernel-, vagy akár felhasználói módban Processzek közti kommunikációval kérhetők a szolgáltatások. A kernel szinte csak a kommunikációt és az időosztást biztosítja. Ebből fejlődtek ki a hálózati osztott rendszerek. Vadász Ea1 41 A kliens szerver modell Ad Implementációs struktúra Felhasználói mód Kliens processz Kliens processz Terminál szerver Fájl szerver Nyomtató szerver Kernel mód Kérelem, válasz üzenet Mikro-kernel Memória szerver Kliens processz Kernel Fájl szerver Kernel Processz szerver Kernel Üzenet Vadász Ea1 42 14

Kis összefoglalás Két oldalon összefoglaljuk a programtechnikai megoldásokat, majd A kernelbe való belépés és kilépés lehetőségeit, forgatókönyveit. Vadász Ea1 43 Programtechnikai megvalósítások Szolgáltató eljárás, függvény kód; call hívással érhető el (trap) Kivételes eseményt, megszakítást kiszolgáló rutinok; elérésük: IT-vel, kivétellel Önálló processzek (felhasználói/rendszer processzek) rutinjai; elérhetők processz közti kommunikációs mechanizmusokkal. Ilyenek pl.: a swapper; a módosított lapok készletét kiíró processz; az ACP-k (Ancillary Control Process), melyek pl. a fájloknak az eszközökön való elhelyezéséért felelősek (a rekordformátumokért az RMS felelős!); mentő/visszaállító processzek stb. Vadász Ea1 44 Programtechnikai megvalósítások Statikusan betöltődő kernel rutinok (A rutinokat fordítják, összelinkelik egyetlen végrehajtható fájlba; a betöltés során betöltődik és megkapja a vezérlést) Call hívással elérhetőek (gyakran trap-pel) IT-vel elérhetőek Dinamikusan betöltődő rutinok (regisztráció - betöltés - inicializálás - szokásos hívások [call/it] - shutdown - regisztráció megszüntetés szekvenciák) Önálló processzek (felhasználói vagy kernel szinten) Vadász Ea1 45 15

Hogyan juthat a vezérlés a kernelbe? A felhasználói processzekből rendszerhívással (System Call). (Ez a programozónak RTL hívásnak tűnik.) Hardverből megszakítással (Interrupt). Aszinkron. Hardverből kivételes esemény (Exeption Condition) bekövetkezésével. Váratlan, de szinkron. (Némely esetben ezt nevezik trap-nek.) Vadász Ea1 46 A kernelbe lépés eseményei (Unix) Átkapcsolás kernel módba Push PC és PSW (már a kernel verembe!) Hívás kódja a verembe Ált. célú regiszterek lementése (assembly rutin) Hívódik syscall() : rendszerhíváshoz (ez diszpécser); trap() : kivételes eseményhez; device driver rutin : IT-hez. A diszpécser ellenőrzi, másolja a paramétereket, felkészül a megszakítására, hívja a megfelelő szolgáltató rutint. Jegyezzük meg: a syscall és kivétel kiszolgálás processz kontextusban fut, míg az IT kiszolgálás rendszer kontextusban! Vadász Ea1 47 Visszatérés a kernelből Visszatérés a diszpécserhez (siker/sikertelenség jelezve); Szignál vizsgálat, szignál kiszolgálás; Ált. regiszterek visszavétele (assembly rutin); Hibakód az errno-ba, visszatérési regiszter beállítása; Return-from-interrupt instrukció (Pop PSW és PC); Visszaáll a felhasználói mód. Vadász Ea1 48 16

Összefoglalás. Eddig vettük: Az OS fogalmát, OS-ek fejlődési fokozatait, OS struktúrákat különböző nézőpontok szerint: funkcionális struktúra, az implementáció szerinti struktúra. A kernelbe lépés, a kernelből való kilépés eseményeit. Ezeket később még részletezzük. Vadász Ea1 49 OPERÁCIÓS RENDSZEREK OS fogalom, struktúrák, Vége 17