1 / 62

Operációs rendszerek

Operációs rendszerek. Az operációs rendszerek fejlődése A kezdetek 1944: első elektronikus számítógép nincs operációs rendszere huzalos programozású 1946: Első Neumann elven működő szg. még mindig nincs operációs rendszer kapcsolók segítségével programozható Hátrányok:

Télécharger la présentation

Operációs rendszerek

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Operációs rendszerek

  2. Az operációs rendszerek fejlődése • A kezdetek • 1944: első elektronikus számítógép • nincs operációs rendszere • huzalos programozású • 1946: Első Neumann elven működő szg. • még mindig nincs operációs rendszer • kapcsolók segítségével programozható • Hátrányok: • kényelmetlen programozás • kihasználatlanság • Hatékonyság növelése • kártyaolvasók a bevitel gyorsítására • első szimbolikus nyelv, az assembler

  3. 1950: • szélesedő felhasználói kör (matematikusok) • Első magas szintű, algoritmusokra optimalizált nyelv a FORTRAN  bővülő feladatkör • Open Shop (Nyílt programozás) • a felhasználó a gép előtt ülve végzi el a műveleteket • gépidőt kell lefoglalni, csak ekkor tevékenykedhet • egy tipikus programfuttatás menete: • konzolon a jelszó begépelése  tártörlés • FORTRAN fordító kártyacsomag behelyezése, fordítandó program a kártyaolvasóba majd betöltés • kártyalyukasztón megjelenik a lefordított program • tártörlés, majd a lefordított program futtatása • konzol írógépen az eredmény megjelenése (ha minden tökéletes volt) • nehézkes javítás, hosszú gépidőre várás

  4. Kötegelt feldolgozás • hatékonyság növelésére szakképzett operátor alkalmazása • képes volt hibajavításra, beérkező munkák rendszerezésére kevesebb fordítóprogram betöltés • a felhasználók nem érintkeztek a géppel (Closed Shop) • Kötegelt (batch) feldolgozás: Az egyes feladatokat leíró kártyakötegek utasításait egymás után sorjában hajtja végre a számítógép. • Növekedett a számítógép sebessége  az operátor nem győzte • General Motors laboratorium • cél: operátor hibáinak kiküszöbölése • első operációs rendszer(ecske) a monitor • állandóan a memóriában volt • az operátornak csak a perifériákat kellet kezelnie • kártya helyett mágnesszalag

  5. feldolgozás menete: • felhasználói programok összegyűjtése (satellite) • az összegyűjtött program betöltése a számítógépbe • eredmény kiírása • eredmény közlése a felhasználókkal (satellite) • mágnesszalag előnye az operátor nélküli pozícionálhatóság • parancsnyelvek lérejötte • 1960: SPOOL rendszerek • a mágnesszalag is lassúnak bizonyult • gyors átmeneti tárak létrehozása az input és output adatok számára (mágneslemezek) • processzor nélküli adatátvitel (közvetlen memória hozzáférés) • művelet befejezése  megszakítás kéréssel

  6. IN IN EXEC EXEC OUT OUT JOB 4 IN IN EXEC EXEC OUT OUT JOB 3 JOB 2 JOB 1 • Multiprogramozás (Többfeladatos rendszerek) • önállóan működő egységek  párhuzamos adatfeldolgozás • átlapolt rendszerek

  7. együttes perifériaidő = együttes CPU idő igény  hatékony rendszer • nagyon ritkán valósul meg • több program egyidejű végrehajtásának szükségessége • Az operációs rendszer • több periféria jelenik meg és több feladatot kell egyidejűleg kezelni • minőségi változások szükségesek • megjelenik az alapfunkciókat ellátó vezérlőprogram (rendszermag) a kezelői felület (monitor) mellett • Operációs rendszer = burok (shell) + mag (kernel) • Az operációs rendszerek feladatai • Eszközkezelők (Device Driver) • Egységes kezelői felület a különböző perifériáknak • Megszakításkezelés (Interrupt Handling) • A perifériák igényeinek kielégítésre

  8. Rendszerhívás, válasz (System Call, Reply) • felhasználói alkalmazások erőforrás igénylésének kiszolgálása • Erőforrás kezelés (Resource Management) • közös eszközhasználat megelőzése illetve konfliktus feloldása • Processzor ütemezés (CPU Shceduling) • a várakozó munkák közötti processzoridő kiosztása valamilyen stratégia alapján • munkák közötti átkapcsolás • Memóriakezelés (Memory Management) • memóriaterület felosztása a munkák között • Állomány- és lemezkezelés (File and Disk Management) • rendszerezés, nyilvántartás • Felhasználói felület (User Interface) • kommunikáció biztosítása a felhasználóval

  9. JOB 0 Eszköz kezelő Processzor kezelés Memória kezelés Állománykezelés Erőforrás kezelés JOB 1 Rendszerhívások, válaszok Perifériák JOB 2 Megszakítás kezelő JOB x CPU MEM

  10. Interaktív rendszerek • a terminálon lehetett a programot és az adatot bevinni • programfejlesztés gyors növekedése • számológép funkció helyett információkezelés • Operációs rendszer újabb követelményei: • Válaszidő • órák, napok  másodpercek • Időosztás • felhasználóval való foglalkozás • megjelenik az óra  időosztás (time sharing) • Felhasználói felület • parancsnyelv helyett parancsértelmezők • felhasználóbarát felület • Felhasználói adminisztráció • jogi, biztonsági kérdések • felhasználók közötti kommunikáció

  11. Felhasználói felület Eszköz kezelő Processzor kezelés Memória kezelés Állománykezelés Erőforrás kezelés JOB 1 Rendszerhívások, válaszok Perifériák, óra JOB 2 Megszakítás kezelő JOB x CPU MEM KERNEL SHELL Felhasználók

  12. Valósidejű rendszerek (real time) • Olyan interaktív rendszer, melyben egy kiszolgálás kérésre az adott válasz egy szigorúan meghatározott időn belül meg kell érkezzen. • A jelen és a közeljövő • Többprocesszoros rendszerek • programok párhuzamos végrehajtása  gyorsabb feldolgozás • újabb feladatok megoldása • folyamatok közötti kommunikáció • folyamatok közötti szinkronizáció • Előnyök: • Megnövekedett átbocsátó képesség • Erőforrás megtakarítás • Megbízhatóság

  13. Típusai: • szimmetrikus • minden processzor egyenértékű • mindegyiken egy példánya fut az oprendszernek • minden folyamat bármelyik processzorra rábízható • aszimmetrikus • az egyes processzorok feladata rögzített • Elosztott rendszerek • A többprocesszoros rendszerek másfajta felépítése. • A processzoroknak saját memóriájuk és perifériáik vannak. • A processzorok közötti kapcsolat valamilyen kommunikációs csatornán történik.

  14. Előnyök • Rugalmasság • Mindenféle feladathoz található(k) megfelelő számítógép(ek) • Erőforrás megosztás • Hardver mellett információ megosztás • Sebességnövekedés • Megbízhatóság • Kommunikáció • Hátrányok • Illetéktelen hozzáférés • Operációs rendszer mindenhol • A mindennapi életben használt gépekben.

  15. Alapfogalmak • Folyamatok • Program: egy algoritmust megvalósító utasítások sorozata. • Folyamat (task, process): Végrehajtás alatt lévő „élő” programok. • Egy program több folyamatból is állhat. • Ha több folyamat van, mint processzor a folyamatoknak várakozni kell. • Folyamatleíró blokk (Process Control Block-PCB, Task State Segment-TSS) • a folyamat számlálója, a programszámláló állása • a folyamat állapota • a regiszterek tartalma • a folyamathoz tartozó memóriaterületek adatai • a használt perifériák, állományok jellemzői

  16. Folyamatok: Olyan programok, melyeknek van folyamatleíró blokkja. • A tábla alapján lehet váltani a folyamatok között. • Szálak (thread): • folyamathoz hasonlítanak • kevesebb adat kell a nyilvántartásukhoz • gyors átkapcsolás a szálak között • közös memóriahasználat (veszélyforrás) • Erőforrások • Erőforrás: Minden, ami egy folyamat végrehajtásához szükséges. • Csoportosításuk: • Elvehető (preemptive): a folyamat vagy az erőforrás nem károsodik • Nem elvehető (non preemptive): a folyamat vagy az erőforrás is károsodhat

  17. Az operációs rendszer meghatározása • Erőforrás szemlélet: A folyamatok egy olyan csoportja, amely a felhasználói folyamatok között elosztja az erőforrásokat. • Felhasználói szemlélet: A folyamatok egy olyan csoportja, amely megkíméli a felhasználókat a hardver kezelés nehézségeitől. • Az operációs rendszerek szerkezete, szolgáltatásai • Rendszermag (KERNEL) • Feladata az erőforrások elosztása és kezelése, a felhasználói folyamatok igényeinek kielégítése, adminisztrálása. • Folyamatok sokasága (rendszerfolyamatok) • Induláskor jönnek létre és leállításig tartanak.

  18. Felhasználói folyamatok létrehozása • Folyamatleíró blokk elkészítése • Memóriaterület biztosítása • Processzoridő elosztása • Folyamat sorrendjének meghatározása • Felhasználói folyamatok elválasztása és védelme • Rendszerhívások, válaszok • A felhasználói folyamatok és az operációs rendszer magja közötti kommunikáció • A rendszerhívások megvalósítására sok módszer létezik • A processzorok is támogatják • felhasználói üzemmód • rendszer üzzemmód

  19. Rendszerhívások kiszolgálása • A felhasználói folyamat legfontosabb paramétereinek elmentése • A kernel megfelelő folyamatára kerül a vezérlés • A paraméterek átadásra kerülnek a vermen, a regisztereken vagy valamely közösen használt memóriaterületen keresztül. • A processzor rendszermódba kapcsolódik át. • Elindul a megfelelő rendszerfolyamat, végrehajtja a kívánt feladatot. • A válaszok vagy hibakódok valamely paraméterátadásra szolgáló területre kerülnek. • A processzor visszatér felhasználói üzemmódba. • A megszakított folyamat visszakapja a vezérlést.

  20. Eszközkezelők, megszakításkezelés • A perifériák és az operációs rendszer magja közötti kommunikáció eszközei. • Az eszközkezelők feladata a kernel tehermentesítése. • Megszakítás kérés (interrupt request): az operációs rendszer figyelmének felhívása • Megszakítások típusai: • Megszakítás (interrupt) • Kivétel (Exception) • Nem maszkolható megszakítás (Non Maskable Interrupt) • Csapda (Trap)

  21. Megszakításkezelés lépései: • Megszakításkérés érkezik • A processzor befejezi az éppen végzett műveletet, majd, ha nincs letiltva az adott szintű megszakítás, elfogadja a kérést, ellenkező esetben várakoztatja. • A processzor elmenti a futó folyamat állapotvektorát • A CPU privilegizált (kernel) üzemmódba kerül, és letiltódik az összes olyan megszakítás, melynek prioritása kisebb vagy egyenlő az érkezett megszakításéval. • A központi egység megállapítja a megszakításkérés helyét, és megszakítási vektortáblából kikeresi a megfelelő kiszolgáló rutin címét. • A kiszolgáló rutin fut. • A CPU visszatér felhasználóin (user) üzemmódba, és engedélyezi a letiltott megszakítási szinteket. • A processzor visszaállítja a megszakított folyamat állapotvektorát, ezzel visszaadva a vezérlést.

  22. Felhasználói programok Programok készítési támogatás Felhasználói folyamatok kiszolgálása Rendszerhívások Eszközkezelők Válaszok Megszakításkezelés Rendszermag (Kernel) Processzorkezelés, Memóriakezelés, Állománykezelés Eszközvezérlő Megszakítás vezérlő Perifériák

  23. Virtuális gépek • Hol van a határ a rendszer magja és a felhasználói folyamatok között? • DOS + Windows 3.1 + Windows folyamat Felhasználói folyamat Windows DOS BIOS Hardver

  24. Többfelhasználós rendszereknél, multiprogramozott környezetben az operációs rendszerre, mint áthatolhatatlan falra szükség van. • Az IBM VM rendszere • Nincs nagyobb bonyolultságú rendszerhívás. • A felhasználói interfész hardverként viselkedik. • Több folyamat is működhet rajta párhuzamosan. • A folyamatok egymástól teljesen függetlenek • Előnye: • Egyszerre futhat rajta több operációs rendszer • Párhuzamosan fejleszthető az újabb operációs rendszer, míg a régiek futnak.

  25. I. alkalmazás II. alkalmazás IIII. alkalmazás I.Operációsrendszer II.Operációsrendszer III.Operációsrendszer Virtualizáló kernel Hardver • Hátránya: • A virtualizáló kernelnek a processzor üzemmódjainak tekintetében követnie kell a valódi viszonyokat. A folyamatok viszont csak felhasználói módban futhatnak. • Bonyolult a lemezkezelés.Minden folyamatnak a többitől függetlenül az egész lemezterületet kellene használnia.

  26. Java Alkalmazás JavaVirtuális gép Hardver • A Sun JAVA rendszer • A JAVA magas szintű, OOP. • Teljesen elfedi a hardvert. • A fordítás után ún. bájtkód keletkezik. • A megírt rendszer minden gépen képes futni. • Bonyolult, összetett operációs rendszert igényelnek.

  27. A felhasználói felület

  28. A felhasználói felület biztosítja a kommunikációt a felhasználó és a kernel között. • A felhasználói felület részei az ellátandó feladatok szempontjából a következő részekre bontható: • programindítás, kapcsolat a folyamatokkal • a rendszermag szolgáltatásainak közvetlen felhasználói elérése • a rendszermag programozói felülete • alapvető segédprogramok

  29. A felhasználó és a rendszermag • Milyen lehetőségek vannak a külső és belső erőforrások elérésére. • Külső erőforrások • Kézi beállítás • MS-DOS, Windows 16 bites verzió • Automatikus beállítás • Windows 9x • Plug and Play (PnP) • Félautomatikus beállítás • NetWare: scan for new devices

  30. Belső erőforrások • Operációs rendszer alapvető erőforrásai a memóriák. • Különböző rendszerekben különböző képen lehet felhasználni. • Pl. DOS különböző verziói • Memória optimalizálása történhet • Kézzel, önműködően, közbülső eljárással • DOS esetén betöltéskor kell megadni az átmeneti tárolok, fájlleíró táblák vázlatát. • Windows esetén kevés lehetőség. • NetWare szükség esetén foglal le memóriát

  31. A programozói felület • A programozó csak a kernelen keresztül érheti el a hardvert. • A forráskód elkészítése • Minden rendszerben van egy szövegszerkesztő (editor) • Fordítás • A fordító program készíti el a tárgykódot (object – OBJ) amely tartalmazza: • a processzor által ismert utasításokat, és a • szoftvermegszakításokat • Relatív címek szerepelnek benne

  32. Az előre elkészített programrészletek a rendszerkönyvtárban helyezkednek el (library –LIB) • A kernel programozói szempontból egy függvény-, vagy eljáráskönyvtár. Application Programming Interface (API) • Szerkesztés • A szerkesztő (linker) feladata • a tárgykódú modulok címeinek összehangolása, • a kereszthivatkozások feloldása, • A betölthető program (executable – EXE) előállítása.

  33. Assemblyforrás C forrás C fordító ASM fordító Rendszerkönyvtárak Tárgykód Tárgykód Betölthető program

  34. Karakteres felhasználói felület • Ezek az ún. parancsértelmezők • Feladatuk az OR szolgáltatásainak biztosítása az interaktív felhasználónak. • Gyakori elnevezéseik: • Shell: a felhasználói felület burokba zárja, eltakarja a rendszer magját • Command interpreter: akkor használják, ha a rendszer parancsainak a kiszolgálása a leglényegesebb • Monitor: akkor használják, ha a folyamatok felügyelete az elsődleges.

  35. A shell alapvető feladatai • Programindítás, programkezelés • Egyéb, operációs rendszer funkciók felhasználói szintű biztosítása • Programkezelés Négy részből áll • A betöltendő állomány kiválasztása. • A program számára a megfelelő környezet biztosítása. • A folyamat futásának megfigyelése, szabályozása. • Vezérlési szerkezetek megvalósítása.

  36. Program indítása A program indítása általában nem más, mint a gépi utasítássorozatot tartalmazó állomány nevének megadása. • Run (fut) vagy Load (betölt) utasítás a program neve előtt. • Közvetett fájlelérés. • Ugyanazon állományhoz több helyről is hivatkozhatunk. • Keresési útvonal megadása. • DOS esetén PATH • NetWare esetén SEARCH DRIVE • Láncolt programfuttatás • Automatikus programbetöltés

  37. Program környezet beállítása (enviroment) A program futását befolyásoló, módosító paraméterek összességét nevezzük a program környezetének. A környezeti változók adatokat biztosítanak a létrejövő folyamat számára • Az adatok lehetnek: • Paraméterek • Kapcsolók (switch, flag, option) • Átirányítási adatok (redirection) • Környezeti változók (environment variables) • A folyamat futásának ellenőrzése • Személyi számítógépeknél korlátozott • Többfeladatos rendszereknél folyamatot lehet megszüntetni illetve felfüggeszteni. • Vezérlési szerkezetek • Korlátozott feltételes elágazás és ciklus megvalósítás

  38. A parancsértelmező egyéb funkciói • Állományokkal, katalógusokkal kapcsolatos műveletek általában. • Ha nem mindent a parancsértelmező végez el, akkor megkülönböztetünk külső és belső parancsokat.

  39. Grafikus felhasználói felületek • A folyamatok ablakokban futnak  ablakozó technika • Az ablakozó rendszer működése • GUI (Graphical User Interface – Grafikus Felhasználói Felület) • GUI feladata: • A folyamat számára biztosítsa a grafikus bevitelt és megjelenítést. • GUI működése: • Minden futó alkalmazáshoz tartozik egy ikon. • A felhasználó tevékenykedik, eseményeket vált ki. • GUI megállapítja melyik folyamattal kíván kommunikálni a felhasználó, és üzenetet küld. • Az alkalmazás feldolgozza az üzenetet.

  40. A grafikus felületek jellemzői • Ablakok rendszere • Az események címzettjeinek felismerése • Eszközfüggetlen működés • Az adatforgalom csökkentése • Egy felhasználóbarát felület jellemzői • Könnyű legyen megtanulni. • Billentyűkombináció helyett menüszerkezet • Méretezhető legyen • A felhasználó ismerete szerinti segítségnyújtás. • Lehessen visszavonni • Legyen megszakítható egy művelet. • Legyen többszintű súgó rendszer. • Használata hasonlítson a nyelvhez. • Minden utasításra legyen válasz.

  41. Állományok

  42. Fájl = Állomány Az adatok egy olyan csoportja, melyre együttesen, egy névvel hivatkozhatunk. • UNIX-nál a fájl nem csak a tárolt adatokat jelenti. A mágneses háttértárak feladata: • Operatív tár kiegészítése, méretének látszólagos megnövelése. • Létrehozott állományok megőrzése. Lemezen tárolt adatok csoportosítása • Ideiglenes állományok • Felhasználói állományok • Adminisztratív állományok

  43. Fájlkezelő: a rendszermag azon része, amely a fájlokkal kapcsolatos műveleteket végzi Megj.: Ez nem azonos az ugyan ilyen nevű felhasználó programmal. A fájlkezelő egy folyamat, ami a felhasználói kéréseket az eszközvezérlőkhöz továbbítja.

  44. KERNEL Felhasználói folyamatok Buffer (cache) Fájlkezelő Eszközkezelő Eszközök

  45. Fájlnevek MS-DOS Két komponenses 1 rész a név: minimum 1, maximum 8 karakter 2 rész a kiterjesztés: legfeljebb 3 karakter A két részt pont választja el egymástól. A felhasználható karakterek ASCII kódtábla nagybetűi ASCII kódtábla számai Néhány speciális karakter (~ ! @ # $ % ^ & _ - {}) Ékezetek használata Az újabb verzióknál lehetséges, de nem ajánlott

  46. UNIX Hossza maximum 255 karakter. Komponensek száma tetszőleges. A komponensek elválasztója a pont. Különbséget tesz kis és nagybetű között. Használható karakterek: nagyjából megegyeznek a DOS-nál használhatókkal. Windows 9x Kettős elnevezésrendszer Dokumentum-orientált szemlélet Max. 250 tetszőleges karakterből álló név Max. 3 karakteres hosszúságú kiterjesztés DOS kompatibilitás Hosszú fájlnevekből rövid név képzése

  47. Példák: DOS EZEREGY.DOC UNIX Az.ezeregy.Ejszaka.Mesei.DOC Win 9x (h) Az ezeregy éjszaka meséi.doc Win 9x (r) AZEZER~1.DOC Helyettesítő karakterek • Wildcard, joker, metakarakter • DOS: ?, * • UNIX: ?, *, karaktercsoport

  48. Fájlok jellemzői Utolsó módosítás időpontja Fájl mérete Tulajdonos (több felhasználós) Fájl állapotára utaló jelzőbitek • Archiválandó • Csak olvasható • Rendszerfájl • Rejtett állomány • Katalógus • Szimbolikus hivatkozás • Adatcsere fájl • Hozzáférési jogok (Unix) • Fájl fizikai elhelyezkedése

  49. Közvetett hivatkozás • Egy fájlhoz több elnevezés • Főleg UNIX esetén, de Windows 9x-nél is előfordul Előnye • Csak a nevek szaporodnak • Többféleképpen csoportosíthatók • Több katalógusban is szerepelhet • A fájlban történő változások azonnal megjelennek mindenhol Fajtái • Merev láncolás • Lágy láncolás

  50. Katalógusok (directory) Def.: Olyan speciális állomány, melynek tartalma a fájlok nevét és jellemzőit tartalmazó rekordok listája • Fájl hivatkozás esetén a katalógust vizsgálja az OR, hogy létezik-e a fájl. • Ha megvan a fájl, következik a jogosultsági ellenőrzés Fajtái • Katalógus nélkül: soros tárolású adathordozóknál

More Related