OKJ: 166/2.1/ Hálózati operációs rendszerek elmélete

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "OKJ: 166/2.1/1168-06. Hálózati operációs rendszerek elmélete"

Átírás

1 OKJ: 166/2.1/ Hálózati operációs rendszerek elmélete Összeállította: Miklay György 2008 Barhács Oktatóközpont

2

3 1. fejezet 1. fejezet Az operációs rendszerek alapfogalmai Az operációs rendszerek meghatározása Az operációs rendszer fogalmát nehéz meghatározni. Röviden a számítógépen állandóan futó program, mely közvetlenül vezérli a gép működését, biztosítja a gép és a felhasználó közötti kommunikációt, elosztja az erőforrásokat. Közvetítő szerepet tölt be a számítógép hardvere és a felhasználó között. Az operációs rendszerek célja: A felhasználók kényelme A számítógép egyszerű, kényelmes, biztonságos használata Hatékony gépkihasználás A gép azonos idő alatt minél több programot hajtson végre Operációs rendszerek osztályozási szempontjai: 1. Felhasználók száma (egyfelhasználós, többfelhasználós) 2. A multiprogramozás foka (nem multiprogramozott / multiprogramozott) 3. Az elérés módja (kötegelt, interaktív (idõosztásos), valós idejű) 4. A hardver mérete (nagygépes, kisgépes, mikrogépes) 5. A rendszer struktúrája (centralizált, elosztott, hálózati) 6. A felhasználás jellege (ügyviteli, adatfeldolgozó, tranzakciós és lekérdezõ rendszerek, folyamatvezérlõ, ipari és tervezõi munkaállomások, programfejlesztõi környezet, személyi számítógépes rendszerek stb.). 1

4 1. fejezet Az operációs rendszerek feladatai Erőforrás-szervezés Az operációs rendszer elsődleges feladata szervezni az erőforrásokat. Az erőforrások szervezése alapvetően két fő céllal történik: az első cél az, hogy támogassuk a kényelmes használatot. A kezdeti időkben minden felhasználó önmaga írta meg azokat a programokat, amelyek képesek voltak kezelni az I/O készülékeket és egyéb közösen használt erőforrásokat. Ma a felhasználók legnagyobb többsége nem programozó. Õk úgy tekintik a számítógépet, mint egy olyan eszközt, amely a saját értékes idejük egy részét megtakarítja és így méltán várnak el kényelmes használatot. Mivel nem akarnak gondoskodni semmilyen részletről, ezért a mai operációs rendszerek által nyújtott szolgáltatásoknak könnyen kezelhetőnek kell lenni. Emellett persze a hatékonyság és az alakíthatóság is természetes felhasználói igény. Az erőforrások szervezésének másik fő célja az, hogy támogassa és elősegítse az ellenőrzött kiosztást. Abban az esetben, ha egy számítógépet több felhasználó vesz igénybe egyidejűleg, akkor azok programjai a legkülönbözőbb módokon érintkezhetnek egymással. Egy általános célú számítógépen bármilyen program futhat. Ezek a programok tartalmazhatnak hibákat, vagy nem megengedett dolgokat akarnak végrehajtani. Ha megengednénk egy programnak, hogy közvetlenül kezelje a közös erőforrásokat az operációs rendszer felügyelete nélkül, akkor átírhatna más programokat, leblokkolhatna erőforrásokat. Az erőforrások ellenőrzött kiosztása nagyon összetett feladat. Amellett, hogy ténylegesen ellenőrzöttnek kell lennie, a kiosztástól elvárjuk, hogy hatékony és igazságos legyen. Ez azt jelenti, hogy egy erőforrás csak ritkán várakozhat akkor, ha valamelyik programnak igénye van rá. Másrészről, ha egy erőforrásra egyidejűleg több program vár, akkor ezek valamelyikét igazságosan kell kiválasztani következőként. Felhasználói felület biztosítása Egy operációs rendszernek alkalmasnak kell lenni arra, hogy kommunikálni tudjon a felhasználókkal és azok programjaival, Az ezt megvalósító felhasználói felület két részből áll: Parancs interface, amely biztosítja a felhasználónak, hogy parancsokat adjon közvetlenül a számítógépnek. Program interface, amely biztosítja azokat a szolgáltatásokat, amelyekre az éppen futó programoknak szükségük van. Programok szervezése A (futó) programok szervezése az operációs rendszer egyik legfontosabb feladata. Ha az operációs rendszer részére csak egy CPU áll rendelkezésre, akkor két lehetőség közül választhat: vagy egy program fut egy adott időben, a memóriában a befejezésig, vagy ha több program futásáról kell gondoskodni, akkor ezek sorban kapnak lehetőséget egy-egy rövid időre a CPU használatára. 2

5 1. fejezet Készülék-kezelés A számítógépek az I/O készülékek széles választékával rendelkeznek. Nyomtatók, terminálok, plotterek, mágneslemezek, mágnesszalagok és egyéb kommunikációs készülékek találhatók az ilyen rendszerekben. Fontos a készülékek kezelését, ellenőrzését egy jól szervezett rendszerre bízni. A készülékek kezeléséhez szorosan hozzátartoznak a megszakítások. Sok esetben ugyanis az adatátvitel a készülékek között akkor is folytatódik, ha a CPU mással van elfoglalva. Ha egy I/O egység készen áll adatok továbbítására vagy fogadására, akkor egy megszakítás jellel ezt közli az operációs rendszerrel. Memória-kezelés A központi tár egy számítógép legkritikusabb erőforrása. A korai operációs rendszerek esetében a memóriakezelés viszonylag egyszerű volt: Az operációs rendszer elfoglalta a memória egy részét, és az éppen futó program rendelkezett a memória megmaradt részével. A többprogramos rendszereknél azonban a memória egyidejűleg több program között kerül felosztásra és ezek védelme egymás ellen már sokkal összetettebb feladat. Állomány-kezelés Egy számítógépes rendszeren az információk tárolását többnyire állományokba (fájlokba) szervezéssel oldjuk meg. Az állományok kezelésén értjük azok olvasását, írását, szervezését és a tárolt információk elérésének ellenőrzését is. Munkamenet- és csomag-kezelés Néha előfordul, hogy egy feladat teljes körű végrehajtásához programok sorozatát kell végrehajtani. A sorozat egy tagját elemnek (job) nevezzük. Az elemek összekapcsolt sorozata a csomag (session). Néha kívánatos, hogy az elemeket, ill. a csoportokat egy komplett egységként kezeljük. Hiba-kezelés Az operációs rendszernek kell foglalkozni minden olyan hibával, amely a számítógépes rendszerben előfordulhat. A hibák lehetnek hardware hibák (készülékekben, memóriában, átviteli vonalakban) és software hibák (rendszerprogramokban vagy felhasználói programokban). A hiba kezelésének az a feladata, hogy érzékelje és felfedje ezeket a hibákat. A hibák megoldása azonban (extrém eseteket kivéve) a felhasználó feladata. Megbízhatóság és védelem Az operációs rendszer kiemelt feladatai közé tartozik az, hogy biztosítsa a számítógépes rendszer korrekt működését, továbbá az, hogy védje mind az adatokat, mind a programokat a sérüléstől és az illetéktelen hozzáféréstől. Felügyelet és elszámolás A legjobban felkészített operációs rendszerek rendelkeznek egy olyan lehetőséggel, amelynek segítségével a felhasználók által igénybe vett 3

6 1. fejezet erőforrások felhasználása mérhető. Erre azért van szükség, mert a rendszer egyes részei olyan költségekkel rendelkezhetnek, amelyeket a felhasználókra kívánunk terhelni. Az operációs rendszerek története Élet operációs rendszer nélkül Ebben a számítógépes környezetben először egy induló címet adtunk be az adatoknak, majd egy sor kapcsoló beállítása után egy gomb lenyomásával bejuttattuk az adatokat a gépbe. Ezt a műveletsort ismételtük aztán mindaddig, amíg az összes programlépést és az adatokat is a számítógép memóriájába juttattuk. Az ilyen programrögzítéshez és hibakereséshez arra volt szükség, hogy a gépen dolgozó programozó teljesen az ellenõrzése alatt tarthassa a gépet. A számítógépes igények beosztása is ennek megfelelően történt: a programozó igényelte a gépet egy időszakra, és azt egyedül használta ezen idő alatt. (Open Shop). Senki más nem használhatta a gépet ebben az időben. A helyzeten először az segített, amikor egyszerű I/O készüléket csatlakoztathattunk a géphez. Írógépek és lyukszalagos készülékek könnyítették meg az adat-és programbevitelt. A programozás fejlődött: az assembly szintű programnyelvekkel már olvasható formában írhattuk a programjainkat. Szükség volt egy fordítóprogramra, amely az assembly nyelven megírt programokat lefordította gépi kódú utasítások sorozatára. Összeszerkeszteni a kész modulokat: szerkesztő (linker) programmal lehetett. Az assembler fordítókkal és a szerkesztőkkel megszülettek az első rendszer programok. Jelentős javulást eredményezett a hatékonyságban a mágnesszalagos tárolók megjelenése. Ennek eredménye az lett, hogy a kártyáról az adatokat mágnesszalagra rögzítették, a szalagról történő feldolgozás pedig már lényegesen gyorsabb volt. Ennek az lett a következménye, hogy programok egész sora várakozott mágnesszalagon a feldolgozásra. Szükség volt egy olyan szakemberre, aki a szükséges előkészületeket nagy hozzáértéssel, gyorsan el tudta végezni. Ő lett az operátor. Az ő jelenléte megjavította a számítógépek hatásfokát. Ekkor kezdtek el gondolkodni azon, hogy hogyan lehetne automatizálni az operátor munkáját. Egy ilyen felügyelő (supervisor vagy monitor) program az elképzelések szerint a memória "egy félreeső sarkában" foglalt helyet. A supervisor programok alkalmazásával megteremtődött a lehetőség az első operációs rendszerek elkészítéséhez. Supervisor programok és I/O rendszerek A supervisorok első telepítésének gondolata egy felhasználói csoporttól származott, ők fejlesztették ki az Input/Output System supervisor programot, amely egy IBM 701-es számítógépen működött. Az itt keletkezett tapasztalatokat használta fel egy SHARE nevű felhasználói csoport, amelynek specifikációi alapján az IBM implementált (számítógépre fejlesztett) egy új operációs rendszert, amelynek a SHARE Operaing System (SOS) nevet adta. 4

7 1. fejezet Ez az operációs rendszer ellátta a supervisori feladatokat, elvégezte az I/O kezelést, és támogatta az assemblerben írt programozást is. Egy másik csoport is fejlesztésbe kezdett, a program neve FORTRAN Monitor System (FMS) lett. Ez volt az első olyan operációs rendszer, amely magas szintű programnyelven megírt programok feldolgozását támogatta. A supervisor programok nem, vagy csak igen korlátozott számban voltak alkalmasak a hibák felfedezésére, azok elhárítására. Szalagos és lemezes operációs rendszerek A mágnesszalagok megjelenése azt eredményezte, hogy egyre sűrűbben használták ezeket a háttértárolókat adatok tárolására. Kialakult a "fontos", és a "kevésbé fontos" szalagok fogalma. A fontos szalagok állandóan a számítógéphez lettek kötve, míg a kevésbé fontosak csak akkor, amikor szükség volt rájuk. Ez a stratégia vezetett el a szalagos operációs rendszerek családjának kialakulásához (Tape Operating System = TOS). Ilyen operációs rendszer volt pl. a TOS/360 az első IBM-360-hoz. A szalagos operációs rendszerek viszonylag rövid ideig uralkodtak. Hanyatlásukat egy új típusú adathordozó eszköz, a mágneslemez megjelenése idézte elő, amely a mágnesszalaggal szemben két nagy előnyt tudott felmutatni: lényegesen több adatot lehetett rajta tárolni, amelyek ráadásul sokkal gyorsabban voltak elérhetőek. Így a szalagos operációs rendszereket hamarosan felváltották lemezes operációs rendszerek (Disk Operating System = DOS). Mind a mai napig ők uralják az operációs rendszerek világát (Pl. Windows, Unix, Linux). A lemezes operációs rendszerek első eleme egy rezidens (folyamatosan a tárban tartózkodó) betöltő program (loader), amelynek be kell tölteni az operációs rendszert és a felhasználói programokat a memóriába, elő kellett készíteni azokat a futásra. E feladatok ellátása után át kellett adnia a vezérlést az operációs rendszer egy másik részének, hogy azok folytassák tovább a munkát. Az új programoknak (job) szükségük volt olyan utasításokra, amelyek megmondták az operációs rendszernek, hogy a végrehajtás során milyen erőforrásokra lesz szüksége a programnak. Ezeket a parancsokat egy speciális nyelv segítségével írták le. Ez volt a Munka Vezérlő Nyelv (Job Control Language = JCL). Egy ilyen DOS operációs rendszerben az Input/Output Ellenőrző Rendszert (Input/Output Control System = IOCS) is jelentősen megjavították. A különböző erőforrások, készülékek kezelésével, támogatásával a szubrutinok egy egész csoportja foglalkozott. A működés szempontjából kritikusnak ítélt készülékeket támogató rutinok állandó jelleggel a memóriában maradtak, míg más készülékek kezeléséhez a rutinokat csak akkor szerkesztették a felhasználói programokhoz a rendszer szerkesztője (linker) segítségével, ha annak szüksége volt rá. Kialakult az operációs rendszer két speciális része: a rezidens, amely állandóan a központi memóriában van, és a tranziens, amely csak a felhasználása idején kerül a tárba. Ezeket az operációs rendszereket már a hardvert gyártó cégek készítették, és a géppel együtt szállították. 5

8 1. fejezet Operációs rendszerek típusai Kötegelt rendszerek Szakképzett operátorokat alkalmaztak. Gyakorlottabb, gyorsabb lett a gépkezelés, de nem volt közvetlen hibakeresés, hiba esetén tártartalom kiírása történt. A programozó utasításokat, valamint a futtatáshoz szükséges adatokat mellékelte a programhoz. Az előkészítési idő csökkent, így az operátor csoportosíthatta a munkákat, illetve annak egyes fázisait (például egyszerre fordított minden programot). Ez jelenti a kötegelt (batch) feldolgozást. Az operátor későn vette észre, hogy a futó program befejeződött, vagy hiba miatt leállt, reakcióideje, kézi beavatkozásai a számítógép sebességéhez képest lassúak voltak. Korszerű kötegelt rendszerek A gyors, véletlen hozzáférésű mágneslemezek elterjedésével megszűnt a kötegelt rendszerek eredeti elvének, a hasonló munkafázisok csoportosításának szükségszerűsége, de a régi név megmaradt. A jelenlegi rendszerek megkülönböztető tulajdonsága, hogy a programok futásába nem lehet interaktívan beavatkozni csak előre összeállított, vezérlő információkkal ellátott munkák futnak. Egy munkának a rendszerbe adása és az eredmények között eltelt idő (átfutási idő) hosszú. A programok csak statikusan, az eredmények illetve elszállás esetén a memóriakép, nyom-követési információk alapján fejleszthetők, illetve használhatók. A hosszú átfutási idő nagyon megnehezíti a programokkal való kísérletezést. Manapság csak igen nagy számítógépeken használnak tiszta kötegelt rendszert, de időosztásos rendszereknél is megtalálható lehetőség. Elosztott rendszerek A számításokat több központi egység között osztják meg. Ezek lehetnek szorosan csatolt (tightly coupled) rendszerben, ahol a tár egy részét közösen használják. Ezeket a hardvereket kiszolgáló operációs rendszerek (multiprocessing) igyekeznek a felvetődő számítási igényeket a processzorok között egyenletesen elosztani. Fontosabb szervezési elvek: homogén (azonos típusú processzorok) vagy inhomogén rendszer szimmetrikus (nincs kitüntetett processzor) vagy aszimmetrikus rendszer. Elosztott operációs rendszerekből (distributed operating system) inkább lazán csatolt (loosely coupled) hardver esetén beszélünk, ahol a processzorokat valamilyen kommunikációs csatorna kapcsolja össze. Az elosztott operációs rendszer feladata, hogy az egyes gépek mellett ülő felhasználók elől elrejtse azt, hogy a programja végrehajtásában több processzor működik közre. Ennek előnyei a következők: 6

9 1. fejezet Erőforrás megosztás (resource sharing): a felhasználó a másik géphez tartozó speciális erőforrásokat is tudja használni. Ilyen erőforrások lehetnek speciális hardverek, perifériák, állományok, adatbázisok, stb. Terhelés megosztás (load sharing): ha egy programrészt párhuzamosan végrehajtható részekre lehet osztani, akkor ezeket szét lehet osztani a szabad processzorok között. Megbízhatóság (reliability) növekedése: az elosztott rendszer egyes elemeinek kiesése esetén a többi elem esetleg átviheti a kiesett feladatait. Homogén rendszerekben ez könnyebb, inhomogénnél jóval nehezebben megvalósítható. A rendszerben hardver- és szoftver redundancia szükséges, sőt a felhasználói információkat is redundánsan kell tárolni. Kommunikáció (communication): Programok illetve felhasználók közötti adatcsere. (elektronikus levelezés, ). Időosztásos, többfelhasználós rendszerek Az időosztásos rendszerek (timesharing, multitasking system) közvetlen, interaktív kommunikációt biztosítanak a felhasználó és programja, illetve az operációs rendszer között. Minden felhasználó egy-egy kijelölt beviteli eszközön (terminál, konzol) adhatja a rendszer működtetéséhez szükséges parancsokat. Ez a terminál, mint be- és kiviteli periféria a programok rendelkezésére áll. A több felhasználó egyidejű kiszolgálásának következményei: A felhasználók programjainak és adatainak tárolása közvetlen (on-line) állományrendszerre van szükség. Az állományok csoportosításához könyvtárakra van szükség, ezeket írja le a nyilvántartás (directory). A felhasználók interakciója a gép sebességéhez képest nagyon lassú, közben az operációs rendszernek más tevékenységet kell végrehajtania A felhasználók elvárják, hogy a rendszer viszonylag gyorsan reagáljon a parancsaikra, azaz a válaszidő (response time) kicsi legyen. Az operációs rendszernek sűrűn kell a programok között kapcsolgatnia, nem várhatja meg, amíg egy program várakozni kényszerül. A felhasználók egymástól függetlenül akarják használni a gépet, mintha mindegyikük egy saját gépen dolgozna. Prioritásos (Real- time) rendszerek A valós idejű rendszerek általában folyamatirányítási feladatokban kapnak szerepet, ahol a rendszernek a környezettel azonos időléptékben kell működnie, a környezeti változásokra amit általában megszakítások (interrupt) jeleznek adott idő alatt válaszolnia kell. Valósidejű rendszerek leggyakrabban célrendszerek, gyakran célhardveren, ROM-ba égetve futnak. A T.H.E. architektúra Európában egy új többfelhasználós rendszert dolgoztak ki. A T.H.E.-nek nevezett rendszer olyan új elvek alapján épült fel, amelyek hatással voltak az operációs rendszerek későbbi fejlesztésére. A T.H.E. újdonsága elsősorban az 7

10 1. fejezet interaktív folyamatok kezelésében, és a rendszer hierarchikus felépítésében rejlett. A rendszer komponenseit különböző szintekre sorolták be. Ezek a szintek csak a közvetlen szomszédjaikkal álltak kapcsolatban. Így az első szinten helyezkedtek el az időzítők (timerek), a megszakítások és a virtuális memóriakezelés. Az alsó két szint egy ún. absztrakt gépet szolgáltatott, amelyet mindenki szabadon használt fel. A rendszer hierarchikus felépítése a fejlesztése során is kamatozott: az alsó szintek a teljes kifejlesztés után megbízhatóan támogatták a további szintek fejlesztését. A T.H.E. rendszert számos hierarchikus struktúrájú operációs rendszer követte. A TENEX a PDP- 10, PDP-11 gépeken lett felépítve. Ez a rendszer egy olyan absztrakt gépet szolgáltatott, amely magába foglalta a fájlrendszert, minden felhasználónak megengedte egy időben több folyamat futását, virtuális memóriát lehetett használni. Így egy fajta virtuális gépet szolgáltatott. Ehhez alakították ki a virtuális gép koncepcióját. Ez a virtuális memória illúziójához hasonlóan minden felhasználó számára azt a képzetet keltette, hogy saját CPU-val és saját erőforrásokkal rendelkezik. Az operációs rendszerek szerkezete Rétegszerkezet 8 Az operációs rendszerek nagy, komplex programok, amelyek belső szerkezetét megpróbáljuk logikusan részekre bontani. Nem követi minden operációs rendszer belső szerkezete a most következő csoportosítást, vannak olyan rendszerek, amelyek programját vizsgálva nehéz jól elkülöníthető részeket megállapítani. Az első strukturálási lehetőség a rétegekre (layer) bontás. Az egyes rétegek az alattuk elhelyezkedő réteggel jól definiált felületen érintkeznek, az egyes rétegek szolgáltatásait, a felsőbb rétegek számára elemi műveleteket nyújtanak. Minden rendszerben legalább 3 réteget lehet elkülöníteni, a hardver, az operációs rendszer szintjét esetenként tovább lehet bontani, például Unix operációs rendszer esetén.

11 1. fejezet Tiszta rétegszerkezetű rendszerekben egy réteg csak a közvetlenül alatta lévő réteg szolgáltatásait használhatja, sem mélyebben, sem felette lévő rétegét nem. Ez a rétegek feladatának, egymásra épülésének meghatározását nagyon megnehezíti. Tendencia, hogy viszonylag kevés réteget különítenek el. Megjegyzendő, hogy a rétegszerkezet felfelé tovább bővülhet, léteznek olyan megoldások, amelyek támogatják, hogy azonos kommunikációs eljárásokat használó programokból tovább építkezzünk. Az azonos rétegen belüli további strukturálásra modulokat lehet elkülöníteni, amelyek egy-egy jól körülhatárolt feladatcsoportot oldanak meg. A rétegen belüli modulok használhatják egymás szolgáltatásait. Legtisztább esetben az összes modul egységes mechanizmus segítségével kommunikál a többivel. Fontosabb rendszermodulok A folyamatok kezelése A folyamat egy végrehajtás alatt álló program-dinamikus entitás, szemben a programmal, amely statikus (egy program egyszerre több folyamatként végrehajtásának különböző pontján is létezhet). Léteznek felhasználói folyamatok, illetve olyan rendszerfolyamatok, amelyek az operációs rendszer valamelyik tevékenységét hajtják végre. A rendszerfolyamatok általában a rendszer indulásakor, míg felhasználói folyamatok egy munkafázis (task) elindulásakor jönnek létre. Egyes rendszerek megengedik, hogy egy folyamat más folyamatokat hozzon létre. A folyamatoknak erőforrásokra van szükségük, amit az operációs rendszer biztosít. Az erőforrásokat vagy a folyamat létrejöttekor allokálják, vagy akkor, amikor a programnak szüksége van rá. Az operációs rendszernek foglalkoznia kell(ene) az olyan holtpont (deadlock) helyzetekkel, amikor a folyamatok nem tudnak tovább működni, mert erőforrásigényük mások által már használt erőforrások miatt kölcsönösen nem elégíthetők ki. A központi egység, mint erőforrás folyamatok közötti felosztása (CPU ütemezés) is ide tartozik. A központi tár kezelése Egy folyamat elindulásakor a rendszernek a programot be kell tölteni a memóriába, adatai és verme részére memóriát kell biztosítani. A folyamatokhoz futásuk során esetleg további tárterületeket kell allokálni. Virtuális tárkezelés estén meg kell oldani a folyamatokban található virtuális címek közvetlen fizikai memóriacímekhez rendelését. A központi tárban egy időben több folyamathoz tartozó utasítások találhatók. A rendszernek meg kell oldania, hogy a folyamat futtatásához szükséges részek az operatív tárba bekerüljenek, esetleg éppen nem fontos programrészeket kiszorítva. Perifériakezelés Általános periféria meghajtók segítségével el kell rejteni a programok elől a különböző perifériák kezelésének sajátosságait. 9

12 1. fejezet A processzor sebességének jobb kihasználása miatt az átvitelt pufferelni kell. A mágneslemez perifériáknál az eszköz jobb kihasználása érdekében szükség lehet a több egyidejű átvitel igény ütemezésére, sorrendjének meghatározására. Az állományok kezelése Az állomány (file) egymáshoz tartozó adatok gyűjteménye. Olyan fogalom, amely a felhasználó elől elrejti az adattárolás részleteit. A rendszer a háttértárakon állományokban tárolja a felhasználói programokat és adatokat. Az állományok csoportosításához könyvtárakat hoz létre. A könyvtárakat gyakran szervezik hierarchikus struktúrába. A rendszer támogatja állományok létrehozását, megszűnését, tartalmuk olvasását, írását, módosítását. Ehhez az állományokat a háttértár konkrét területeihez kell rendelni. Szükség van a szabad területek nyilvántartására. Szükség van a mágneslemezen tárolt állományok megbízható elmentésére (backup). Védelmi mechanizmusok (Protection system) Az operációs rendszer részeit, erőforrásait védeni kell a hibás, illetve illetéktelen beavatkozásoktól. A hardver segítségével, illetve az operációs rendszerben megvalósított védelmi mechanizmusok korlátozzák a véletlen hardver és programhibák hatását, szándékos rongálás lehetőségét. A hálózatok kezelése A korszerű operációs rendszerek biztosítják, hogy felhasználók a különböző kommunikációs csatornák segítségével távoli felhasználókkal, illetve gépekkel kommunikáljanak, távoli erőforrásokat használjanak. Kezelői felületek Minden operációs rendszer tartalmaz a felhasználóval kommunikálásra szolgáló mechanizmusokat. Ennek feladata programok elindítása, interaktív információcsere az egyes programokkal, illetve a programok eredményeinek megjelenítése. A felhasználó által megadott, speciális (kényelmes?) szintaxisú parancsokat a rendszer parancsértelmezője (command interpreter) értelmezi és hajtja végre. A parancsnyelv lehet bonyolult, a magas szintű programozási nyelvek képességeihez hasonló nyelv. A klasszikus karakteres kommunikációt napjainkban egyre inkább felváltják a korszerűbb - képek, speciális beviteli eszközök, emberi hang- módszerek. A korszerű rendszerek nem csak az operációs rendszerrel való kapcsolattartásra adnak egységes eszközöket, de rendszerhívásokkal, programkönyvtárakkal és ezek használatát szabályozó ajánlásokkal próbálják a felhasználói programok kommunikációját egységesíteni. 10

13 1. fejezet Rendszerhívások A programok és az operációs rendszer közötti felület minden tisztességes rendszernél szigorúan rögzített, a programok ezen a felületen kívül mást a rendszerből nem látnak. Ezen a felületen keresztül a kapcsolattartás, a rendszer szolgáltatásainak igénybevételének eszközei a rendszerhívások. A rendszerhívások általában speciális gépi utasítás (csapda, trap) segítségével történnek, amely a vezérlést az operációs rendszer programjának jól meghatározott pontjára adja. A rendszerhívások gépi nyelvű (assembly) programból közvetlenül kiadhatók, magas szintű nyelvek használata esetén könyvtári eljárásokat hívunk. A rendszerhívás végrehajtásának lépései a következők: 1. Paraméterátadás: A paramétereket az operációs rendszer által elérhető helyen kell átadni: általános célú regiszterben, vagy olyan tárterületen, aminek a címét adjuk át. 2. Módváltás: A program végrehajtása az operációs rendszerhez tartozó utasításokkal folytatódik. Mivel az operációs rendszert a felhasználói programok ellen védeni kell, így a programok általában olyan hardver üzemmódban (felhasználói mód, user mode) futnak, amely lehetetlenné teszi bizonyos utasítások végrehajtását. Ebből a módból át kell kapcsolni a rendszermódra (rendszer mód, system mode), amelyben az operációs rendszer fut. Az átkapcsolást maga a rendszerhívó gépi utasítás szokta elvégezni. 3. Paraméterek másolása: Szükség esetén a rendszernek saját területére kell a hívó által átadott paramétereket másolni. 4. Végrehajtás: Elágazás a hívott szolgáltatáshoz 5. Eredmény másolása: A rendszerhívás végrehajtása által szolgáltatott eredmény, vagy sikertelen végrehajtás esetén a hiba okának visszaadása a hívó programnak. 6. Módváltás: Visszatérés a felhasználói módba, a hívóprogram futtatásának folytatása. Az operációs rendszerek fontosabb, tipikus, a rendszerhívások által kiváltható szolgáltatásai a következők: A folyamatok vezérlése: o Program betöltése, végrehajtása o Folyamatok létrehozása, megszüntetése, attribútumainak beállítása o Központi tár igénylése, felszabadítása o Folyamatok közötti kommunikáció, folyamatok egymáshoz illetve külső eseményekhez vagy órához szinkronizálása o Nyomkövetés hibakereséshez. Az állományok kezelése: o Állományok létrehozása, törlése, attribútumainak beállítása o Könyvtárak létrehozása, módosítása 11

14 1. fejezet o Állományok megnyitása, lezárása, szekvenciális és véletlen elérésű átvitel A perifériás eszközök kezelése: o Perifériás eszköz igénylése, lefoglalása, felszabadítása o Adatátvitel a program és a periféria között A rendszerinformációk kezelése: o Különböző rendszerkomponensek (folyamatok, állományok, perifériák, felhasználók, rendszeridő, stb.) állapotának, lekérdezése, módosítása o Rendszerstatisztikák, számlázási adatok lekérdezése (accounting) Kommunikáció: o Kommunikációs csatornák létrehozása, megszüntetése o Üzenetek, állapotinformációk küldése és fogadása o Műveletek távoli erőforrásokon Rendszerprogramok A rendszerprogram (system program) fogalmát nehezen lehet pontosan definiálni. Rendszerprogramnak nevezhetünk minden, az operációs rendszerrel szállított, a rendszer általános célú felhasználását támogató programot. Például: Parancsértelmező Állományrendszer kezelő Szövegszerkesztők (editor) egyszerű szöveges állományok tartalmának változtatására Fordítóprogram (compiler), program-értelmező (interpreter), kapcsolatszerkesztő (linker), betöltő (loader), programkönyvtár kezelő (librarian) Kommunikációs programok (üzenetek küldése, faliújság, Internet böngészés, elektronikus levelezés) 12

15 1. fejezet Ellenőrző kérdések 1. I. Válassza ki a helyes megoldást! 1. Melyik nem tartozik az operációs rendszer céljai közé? a. A felhasználók kényelme b. A hálózati kommunikáció c. A hatékony gépkihasználás 2. Melyik nem illik a többi közé? a. Nagygépes b. Mikrogépes c. Kötegelt 3. Mi az Open Shop? a. Számítógép használati mód b. Egy operációs rendszer neve c. Programszervező algoritmus 4. Minek a rövidítése a JCL? a. Egy a 60-as években létrehozott operációs rendszeré b. Java Command Layer c. Job Control Language 5. Mi a rendszerhívás? a. Vezérlésátadási folyamat b. Rendszer programcsomag c. Az operációs rendszer indítási folyamata 6. Mi takar a T.H.E rövidítés? a. Egy operációs rendszer neve b. Egy ütemező algoritmus c. Egy számítógép gyártó cég neve 7. Melyik nem rendszerszolgáltatás? a. A folyamatvezérlés b. Az állománykezelés c. A nyomtatás 8. Melyik nem rendszerprogram? a. Az állományrendszer-kezelő b. A táblázatkezelő c. A parancsértelmező 13

16 1. fejezet II. Döntse el, hogy igaz, vagy hamis-e az állítás! 1. Az operációs rendszer elsődleges feladata szervezni az erőforrásokat. Igaz Hamis 2. Az operációs rendszernek nem kell foglalkozni a hibákkal. Igaz Hamis 3. Az első operációs rendszer neve FORTRAN Monitor System volt. Igaz Hamis 4. Az időosztásos rendszerek interaktívak. Igaz Hamis 5. A T.H.E.-nek nevezett rendszer olyan új elvek alapján épült fel, amelyek hatással voltak az operációs rendszerek későbbi fejlesztésére. Igaz Hamis 6. Minden rendszerben legalább 3 réteget lehet elkülöníteni. Igaz Hamis 7. Minden operációs rendszer tartalmaz a felhasználóval interaktív kommunikálásra szolgáló mechanizmusokat. Igaz Hamis 8. Rendszerprogramnak nevezhetünk minden, a rendszer általános célú felhasználását támogató programot. Igaz Hamis III. Válaszoljon a feltett kérdésekre 1. Adja meg az operációs rendszerek meghatározását! 2. Melyek az operációs rendszerek osztályozási szempontjai? 3. Mit jelent a készülék-kezelés? 4. Mik voltak a supervisor programok? 5. Milyen jellemzői vannak az időosztásos rendszernek? 6. Mi a T.H.E. architektúra lényege? 7. Határozza meg a rendszerhívás fogalmát? 8. Mit nevezünk rendszerprogramnak? 14

17 2. fejezet 2. fejezet Folyamat és megszakításkezelés Folyamatkezelés A folyamat fogalma A folyamat (process) a multiprogramozott operációs rendszerek alapfogalma. Legtömörebb megfogalmazása: végrehajtás alatt álló ( életre kelt ) program. Valójában a folyamat, a legtöbb esetben, több mint a program, mivel a folyamat fogalma nem csak a programot, hanem a futás közben lefoglalt erőforrásokat is takarja. Természetesen vannak olyan programok-programrendszerek, melyek több folyamatból állnak, ilyen esetben a folyamat nem fedi le a program fogalmát. A különböző típusú (kötegelt, időosztásos, stb.) rendszerek multiprogramozott illetve multiprocesszáló megvalósításának közös jellegzetessége, hogy a rendszerben egy adott pillanatban több feladat végrehajtása van folyamatban, azaz már megkezdődött, de még nem fejeződött be. A feldolgozás jellegzetes egységeinek megnevezése a különböző rendszerekben más és más például munka (job), feladat (task), ennek megfelelően beszélhetünk több megkezdett munkáról (kötegelt feldolgozás esetén), több végrehajtás alatt álló feladatról (valós idejű rendszerekben), egyidejűleg több felhasználó kiszolgálásáról (időosztásos rendszerekben). A szakirodalomban azonban a job, task, process kifejezések gyakran egymás szinonimájaként fordulnak elő. Az operációs rendszer felügyelete alatti minden tevékenység folyamat, ezek egy része felhasználói folyamat, de lehetnek az operációs rendszer tevékenységét végző, támogató rendszerfolyamatok is. Folyamatkezelés multiprogramozott rendszerekben Multiprogramozott rendszerekben több folyamat végrehajtása folyik látszólag párhuzamosan egyetlen CPU-t tartalmazó konfiguráción. Az ilyen rendszereken a CPU kitüntetett erőforrás. Valójában egy adott pillanatban egyetlen folyamat végrehajtása folyik, amelyik utasításait a CPU éppen végrehajtja. A folyamat az életre kelt program végrehajtásának dinamikáját egy hozzárendelt állapotjelzővel és az állapot-átmeneti gráffal írhatjuk le. Folyamatállapotok Fut (running): A központi egység a folyamathoz tartozó utasításokat hajtja végre. CPU-nként egyetlen ilyen folyamat lehet. Várakozik, blokkolt (blocked): A folyamat várakozni kényszerül, működését csak valamilyen külső vagy belső esemény bekövetkezésekor tudja folytatni. Például a folyamat elindított egy perifériás átvitelt és be kell várnia annak lezajlását. A rendszerben több várakozó folyamat is lehet. 15

18 2. fejezet Futásra kész (ready): A folyamat futásához minden feltétel adott, de a multiprogramozott rendszer központi egysége éppen foglalt, egy másik folyamat utasítását hajtja végre. A rendszerben több futásra kész folyamat is lehet. Állapotátmeneti gráf Állapotátmenetek Folyamat létrehozása: Egy futó folyamat újabb folyamatokat hozhat létre, A létrehozó folyamatot szülő (parent), a létrejötteket gyerek (child) folyamatoknak nevezzük. A folyamatok közötti leszármazási reláció hierarchikus struktúrát definiál. A létrejött folyamatnak futásához erőforrásokra van szüksége, amelyeket vagy az operációs rendszertől kap, vagy a gyerek folyamatok a szülő erőforrásain osztoznak. A létrejött folyamat a szülőtől a futását befolyásoló paramétereket kaphat. A gyerekfolyamat létrehozása után a szülő a gyerekkel párhuzamosan fut vagy bevárja a gyerekének, gyerekeinek befejeződését. Ehhez a szülőnek azonosítani kell a gyerekeit. Folyamat befejeződése: A folyamat akkor fejeződik be önszántából, ha végrehajtotta utolsó utasítását. A folyamatot leállíthatják egyéb okok miatt: az operációs rendszer vagy egy másik általában rokon, leggyakrabban a szülő folyamat, mert a folyamat hibásan működik, túllépte a számára engedélyezhető erőforrás-használatot, vagy működésére már nincs többé szükség. A befejezett folyamat erőforrásai felszabadulnak, azokkal újra vagy az operációs rendszer, vagy a szülő rendelkezik, attól függően, hogy az erőforrásokat kitől kapta. A befejeződő folyamat a szülő folyamatnak információt adhat át a befejeződés tényéről, esetleg okáról. Fut à várakozik: A folyamat olyan tevékenységet kezdeményezett, amelynek a végrehajtását be kell várnia, vagy más folyamattól érkező jelzést kell várnia, vagy olyan erőforrásra van szüksége, amely pillanatnyilag nem szabad. Az operációs rendszer a folyamathoz feljegyzi, hogy milyen okból, milyen eseményre várakozik. Ugyanarra az eseményre több folyamat is várakozhat. Várakozik à futásra kész: Bekövetkezett az esemény, amelyre a folyamat várt. Az operációs rendszer ennek hatására megváltoztatja a várakozó folyamat állapotát. 16

19 2. fejezet Futásra kész à fut: Az éppen futó folyamat várakozni kényszerül, a processzor felszabadul, az operációs rendszer a futásra kész folyamatok közül kiválaszt egyet és annak a futtatását folytatja. A továbbítandó folyamat kiválasztása különböző kritériumok, például a folyamat prioritása, várakozási ideje alapján történik (CPU ütemezés). Fut à futásra kész: Egyes operációs rendszerekben (elsősorban időosztásosnál) a rendszer egy futó folyamattól elveheti a processzort akkor is, ha az nem kényszerül várakozásra, de már túl hosszú ideje fut. Ezt az eseményt egy programozható óra megszakítása jelezheti. Egy folyamat önként is lemondhat a futás jogáról, más futásra kész folyamatot a processzorhoz engedhet. Ilyenek például a rendszerekben gyakran meglévő statisztikákat gyűjtő folyamatok. Az állapotátmenetek közül a folyamat tudtával, kezdeményezésére a futóból várakozó állapotba illetve egyes esetekben a futóból futásra kész állapotba kerülése, valamint a folyamat megszűnése történik, a többi átmenetet a folyamatokon kívül álló okok váltják ki. Folyamatok felfüggesztése Az operációs rendszer felfüggeszthet (suspend) bizonyos folyamatokat, azaz időlegesen kiveheti azokat a fenti három állapot körforgásából. Ennek okai a következők lehetnek: A rendszer túlterheltté vált, túl sok folyamat vetélkedik a futás jogáért, a rendszer fontosabb erőforrásai túlzottan foglaltak. A rendszer gyanúsan működik, vagy valamilyen vészhelyzet következik be (áramszünet) A felhasználó fel akarja függeszteni valamelyik folyamatot, mert annak futására pillanatnyilag nincs szükség. A felfüggesztett folyamatok nem versengenek a rendszer erőforrásaiért, de az operációs rendszer számon tartja őket, elmentett állapotukból bármikor újra aktiválhatók. A folyamatok állapotait kiegészíthetjük két új állapottal: Felfüggesztve várakozik: A folyamat felfüggesztett állapotban van, ráadásul még valamilyen esemény bekövetkezésére is várakozik. Felfüggesztve futásra kész: A folyamat felfüggesztett állapotban van, ám esetleges futtatásához semmiféle esemény bekövetkezése nem szükséges. Elképzelhető lenne, hogy csak egyetlen felfüggesztett állapotot tartsunk fel a futásra kész folyamatoknak, a várakozó folyamatokat csak azután függesszük fel, ha az esemény, amire vártak, már bekövetkezett. A probléma ezzel a megoldással, hogy az esemény nem biztos, hogy belátható időn belül bekövetkezik. A folyamatok felfüggesztéséhez kapcsolódó állapotátmenetek a következők: Felfüggeszt: Az operációs rendszer egy folyamatot a futásra kész vagy a várakozik állapotból függeszthet fel. A felfüggesztett folyamattól az operációs rendszer a fontosabb erőforrásokat (központi tár) elveszi, 17

20 2. fejezet bizonyos erőforrásokat, pl. nyomtatót viszont továbbra is lefoglalva tarthat. Aktivál: A felfüggesztett folyamat visszakapja erőforrásait. Elméletileg elképzelhető lenne a felfüggesztve vár-várakozik átmenet, azonban sok értelme nincs, hiszen a folyamat továbbra is várakozni kényszerül, de újra leköti a rendszer erőforrásait. A rendszer feleslegesen dolgozik, ha egy felfüggesztett, futásra kész folyamatot aktivál, majd az nem kapja meg a processzort, hanem újra felfüggesztődik. Célszerű ezt az odavissza állapotmenetet elkerülni, azaz olyan folyamatot kell aktiválni, amelyiknek nagy esélye van, hogy hamarosan futni is kezd. A kiegészített állapotátmeneti gráf Környezetváltás A folyamatok végrehajtása közötti váltogatás megvalósításakor minden olyan adatot meg kell őrizni, ami az egyes folyamatok zökkenőmentes folytatásához szükséges. Ez egyrészt a folyamat saját, másrészt az őt végrehajtó gép állapotjellemzőinek megőrzését jelenti. A folyamat saját állapotjellemzői: A folyamathoz tartozó programkód A folyamat folytatásához szükséges adatokat tartalmazó programváltozók aktuális értéke, beleértve a verem tartalmát is A programlépés a sorszáma, amelynek végrehajtásánál a folyamat éppen tart (programszámláló) A végrehajtó gép állapota: A folyamat és a végrehajtó gép határvonala a rendszer rétegszerkezetéből következően több szinten képzelhető el. Legegyszerűbb esetben amikor a folyamat kódja gyakorlatilag csak gépi utasításokat tartalmaz ez a hardver 18

21 2. fejezet szoftver határfelület, legtöbbször azonban az operációs rendszer alapszolgáltatásait is tartalmazó virtuális gép határfelülete. Ennek megfelelően a végrehajtó gép állapotának megőrzése minimálisan a CPU regisztereinek, de általában az operációs rendszer állapotának (rendszertáblázatok, memóriakezelési információk, periféria hozzárendelések, stb.) megőrzését is jelenti. Egy multiprogramozott operációs rendszer akkor hatékony, ha az átkapcsolást igen gyorsan lehet végrehajtani. Ennek egyik feltétele, hogy a tárban több folyamat számára legyen hely. Így a saját állapotjelzők a tártartalom megőrzésével megmaradnak, átkapcsoláskor csak a végrehajtó gép állapotát kell menteni és visszaállítani. A végrehajtó gép állapotjelzőinek összességét szokásos kontextusnak, az állapotváltást pedig kontextus kapcsolásnak (context switching, környezetváltás) nevezni. A környezetváltás akkor következik be, amikor egy folyamat elhagyja a futó állapotot, egy másik futásra kész folyamat pedig elindul. Két, egymással valamilyen határfelülettel érintkező objektumra igaz, hogy kölcsönösen egymás környezetét alkothatják. Így az átkapcsolás értelmezhető úgy, hogy a végrehajtó gép (operációs rendszer) környezet kapcsolódik át az egyik folyamatról a másikra, valamint úgy is, hogy a folyamatok környezetét jelentő végrehajtó gépet kapcsoltuk át egyik állapotról egy másikra. Folyamatok közötti kommunikáció Amennyiben egy folyamatban azt tervezzük, hogy kooperálni akarunk más folyamatokkal, akkor létre kell hozni egy közös területet, hogy az információcserét megkönnyítsük. Mivel az operációs rendszerek világában a tevékenységek közötti kommunikáció egyre nagyobb szerepet kap, ezért az Interprocess Communication (IPC) egyre fontosabb lesz. Bárhogyan is választjuk meg az IPC algoritmust, az alábbi modellek közül valamelyiket be kell építeni: Többszörös hozzáférésű memória kezelés esetében megosztott típusú változókat és adatstruktúrákat helyezünk el olyan területen, amely közvetlenül elérhetõ több folyamat számára is. Az üzenetátadás technikája azt jelenti, hogy egy folyamat közvetlenül küld adatokat, és egy másik pedig fogadja azt. Az adatok egységét üzenetnek nevezzük. Szinkronizálás A kommunikációnak a legegyszerűbb formája az, amikor egyetlen bit adatot cserél két folyamat. Ez olyankor következik be, amikor egy folyamat valamilyen esemény bekövetkeztérõl kívánja tájékoztatni a többi folyamatot, vagy egyszerűen csak azt akarja tudatni, hogy a végrehajtás során egy bizonyos pontig eljutott. Ezt az egyszerű folyamatot szinkronizációnak nevezzük. Előfordulhat, hogy egy folyamat a várakozás vagy a felfüggesztés állapotában van, mert egy jelre (signal) várakozik. Ha ez a jel nem érkezik meg, akkor a felfüggesztett, illetve várakozó folyamat sohasem fog folytatódni. 19

22 2. fejezet Közvetlen kommunikáció üzenetek küldésével és fogadásával A folyamatok közötti közvetlen adatcserének leggyakrabban alkalmazott módja az, hogy a folyamatok üzenetküldő (send) és üzenetfogadó (receive) rendszerhívásokat használnak. Üzenetek továbbításakor fizikailag nem mindig az üzenetet küldjük el. Ha az üzenet nagy, akkor az üzenetet tartalmazó puffer kezdőcímének átadásával a mozgó adatok mennyisége lecsökkenthető. Az információcsere úgy zajlik le, hogy a fogadó folyamat egy receive rendszerhívás segítségével jelzi, hogy kész fogadni üzenetet. Ha az üzenetátadás szimmetrikus, akkor a fogadónak meg kell neveznie azt a folyamatot, amelytől az üzenetet várja, és csak a megnevezett folyamattól fogad el üzenetet. Aszimmetrikus üzenetváltás esetében a send rendszerhívás név nélküli, és a legközelebb érkező üzenetet le is fogja függetlenül attól, hogy kitől érkezett. Közvetlen kommunikáció csatorna használattal A kommunikációs csatornát úgy kell elképzelni, mint egy speciális tulajdonságú állományt. Az üzeneteket egy írási (write) rendszerhívással küldjük el ebbe az állományba, és egy olvasási (read) művelettel fogadjuk őket. Ez a fajta megközelítés a csatorna (pipe) alkalmazásával először a UNIX-ban jelent meg. Itt az eljárás úgy működik, hogy két folyamat között átmenetileg egy információs csatornát hozunk létre, amelybe az egyik folyamat beleír és a másik a beírt információt kiolvassa. Közvetett kommunikáció. Abban az esetben, ha sem az üzenetküldő folyamatot sem pedig a fogadót nem akarjuk megnevezni, akkor a közvetlen adatcsere mellett (vagy helyett) más módszereket is használhatunk. Ha az üzeneteket közös elérésű pufferben tároljuk, akkor ez tekinthető egy hétköznapi értelemben vett levelesládának (mailbox). Ekkor az üzenetküldő folyamat egy send műveletet használ, de kommunikációs partnerként a levelesládát jelöli meg. Ez a név vagy állandó és minden folyamat által ismert, vagy dinamikusan deklarálódik. Folyamatok precedenciája A folyamatokban lehetnek olyan utasítások, melyek végrehajtása meg kell, hogy előzze más utasítások végrehajtását. A lehetséges párhuzamosítások, ill. sorrendi kötöttségek szemléletes ábrázolására szolgál a precedenciagráf, mely egy irányított ciklusmentes gráf. A gráf csomópontjai utasítások, míg, ha egy csomópontból él vezet egy másik csomópontba, akkor ez jelenti azt, hogy az első csomópont utasításának végrehajtása meg kell, hogy előzze a második 20

23 2. fejezet csomópontét. Ha egy csomópontból egynél több él indul ki, akkor ez azt jelenti, hogy az élek mentén lévő csomópontok utasításai párhuzamosíthatók. Míg, ha egy csomópontba egynél több él fut be, akkor ez azt jelenti, hogy az eddig párhuzamosan futó tevékenységeket szinkronizálni kell, azaz a csomópontban szereplő utasítást csak azután lehet végrehajtani, ha minden bevezető ág tevékenysége véget ért. A precedenciagráfok szemléletesek, de közvetlenül programozásra nem használhatók fel. A párhuzamosítható utasítások végrehajtására dolgozták ki a folyamatok több részre bontásának technikáit: a Fork/Join ill. Parbegin/Parend utasításpárt. Fork/Join A Fork/Join utasítás működése: a Fork címke utasítás kiadása után a végrehajtás két párhuzamos ágra szakad, az egyik ág következő utasítása a Fork utasítást követő utasítás, míg a másik ágé a címkénél található. A Join számláló utasítás kiadása esetén a számláló által mutatott darabszámú ág egyesítése válik lehetővé. Működése: minden ág befejeződése eggyel csökkenti a számláló értékét, és a Join után következő utasítás végrehajtása csak akkor kezdődhet el, ha a számláló eléri a nulla értéket (minden ág befejeződik). 21

24 2. fejezet A Fork/Join utasításokkal tetszés szerinti precedenciagráf leírható, mivel nem szükséges, hogy minden szétbomlott folyamat újraegyesüljön, de a program strukturálatlan, a címkék és a Goto utasítások miatt áttekinthetetlen lesz. Parbegin/Parend A strukturált programozás magával hozta a Parbegin/Parend utasítások bevezetését. A Parbegin/Parend utasítások között egymással párhuzamosan végrehajtható utasításokat sorolhatunk fel. A Parbegin/Parend utasításokkal készült program strukturált, áttekinthető, Goto utasítás mentes lesz, de csak önmagukban ezekkel az utasításokkal nem írható le minden precedenciagráf, mivel az utasításpár csak együtt használható, ennek az eredménye, hogy csak olyan szülő-gyerek kapcsolatok írhatók le ezekkel, melyeknél a gyerekfolyamat a műveletei végrehajtása után visszatér a szülőhöz. Folyamatleírók Az operációs rendszer a folyamatok kezeléséhez szükséges adatokat egy speciális adatszerkezetben, a folyamatleíróban (process control block) tárolja. Ez a következőket tartalmazza: A folyamat azonosítója A folyamat állapota A folyamat szülőjének és gyerekeinek azonosítója A folyamathoz tartozó összes tárterület leírása, mutatók, illetve a virtuális tárkezeléshez szükséges összes adat (címtranszformációs táblák, lemezblokkok leírása, stb.) A folyamat által használt egyéb erőforrások leírása (pl. a nyitott állományok leírása) A regiszterek tartalma Várakozó folyamatok esetében a várt esemény leírása Az ütemezéshez szükséges adatok (prioritás, várakozási idő) 22

25 2. fejezet Szálak Számlázási információk és egyéb statisztikák A szál (thread) a folyamtokhoz hasonló aktív entitás, a folyamatoktól az különbözteti meg, hogy az operációs rendszernek a szálak kezeléséhez kevesebb adatot kell nyilvántartania, általában csak saját regiszterei, és verme van, a kód- és az adatterületén és egyéb erőforrásokon más szálakkal osztozik. A szálak futási környezete a tradicionális folyamat, amely a szálak által közösen használt erőforrások tulajdonosa. A szálak előnye, hogy a váltás közöttük nagyon gyors és a közösen használt tárterület megkönnyíti a szálak közötti információcserét. Amikor megbízunk a szálak működésében nem szükséges minden aktív tevékenységnek független környezet. Újabb operációs rendszerek (WinXp, Linux) a folyamatok kezeléséhez hasonló rendszer-szolgáltatásokkal támogatják a szálak használatát, máshol felhasználói szintű könyvtárak használatával (UNIX, ANSI C) lehet szálakat kezelni. Megszakításkezelés A megszakításokról általában A megszakítási rendszerre azért van szükség, mert a számítógépes rendszerek olyan alkatrészeket is tartalmaznak, amelyek párhuzamosan is működtethetők. Megszakításnak nevezünk a számítógép részéről kezdeményezett minden olyan akciót, amely az éppen feldolgozás alatt álló folyamatot külsőleg vagy belsőleg megszakítva, (annak állapotát esetlegesen a folytatáshoz szükséges állapotban megőrizve) egy másik folyamatnak az ún. megszakítási rutinnak adja át a vezérlést. A megszakítási rutin ezután dönthet újabb akció(k) végrehajtásáról és/vagy a vezérlés visszaadásáról a megszakított folyamatnak. A kiváltó mechanizmus alapján kétféle megszakítást különböztetünk meg: Hardver-megszakítások: Mindig valamilyen, a számítógéphez csatlakoztatott külső (tehát nem a végrehajtó egységen belüli) egység váltja ki (pl. bővítőkártya, DMA vezérlő) ezáltal jelezve valamilyen tevékenység befejezését (pl. adat küldése) vagy éppen megkezdésének szükségességét (pl. adat fogadása). Szoftver-megszakítások: Egy speciális utasítás segítségével maga az éppen aktív folyamat váltja, voltaképpen egy másik folyamatnak (a megszakítási rutinnak) átadva a vezérlést. A fejlettebb architektúrákban azonban a megszakítások prioritási hierarchiában vannak elrendezve. Ez azt jelenti, hogy a megszakítások között valamilyen fontossági sorrendet állapítanak meg, időkritikusság (pl. valós idejű alkalmazások) ill. a rendszer működőképességének fenntartását befolyásoló jellemzőik (pl. hibakezelő megszakítások) alapján. Így az azonos időben beérkezett megszakítási kérelmek közül mindig egyértelműen meghatározható, hogy melyik kerüljön előbb végrehajtásra. E mellett általában a nagyobb 23

26 2. fejezet prioritású megszakításkérelmek megszakíthatják az alacsonyabb prioritású megszakítások kiszolgálását, míg ez fordítva nem lehetséges. Általában az ilyen rendszerekben megkülönböztetnek két típusú megszakítást: Maszkolható megszakítások: Kiszolgálásuk letiltható Nem maszkolható megszakítások: Kiszolgálásuk nem tiltható le. Ezen megszakítások általában valamilyen, a rendszer működőképességét biztosan veszélyeztető hibát jeleznek (pl. memória-paritás hiba). A megszakítási rendszer lehetővé teszi: a központi egységen belül előálló speciális feltételekre való reagálást, a kívülről érkező jelzések (megszakításkérelmek) kezelését, a párhuzamosan üzemeltethető egységek közötti koordinációt. Megszakításosztályok A megszakításokat a következő osztályokba soroljuk: Perifériák megszakításai, amelyek perifériás berendezések állapotának változását, adatátvitel befejeztét jelzik. Belső hardver megszakítások, pl. programozható óra. Utasítás-végrehajtási hibák, amelyeket például nullával való osztás, vagy pl. a (virtuális) tárkezelés védelmi mechanizmusai válthatnak ki, Hiba megszakítások, amelyeket a hardver meghibásodásai, vagy a tápfeszültség kimaradás váltanak ki. Szoftver megszakítások, amelyek speciális gépi utasítások (csapda), például a rendszerhívások. Megszakítási kérelmek kiszolgálása Az operációs rendszerek a megszakítások kiszolgálásánál kétféle módon járhatnak el: 1. A megszakítások hatására az operációs rendszer megfelelő kiszolgáló rutinja indul el, egy rövid időre felfüggesztve az éppen futó folyamatot, a megszakítás kiszolgálása után általában a felfüggesztett folyamat tovább fut. A megszakítás bekövetkeztekor, illetve kiszolgálása végeztével nem történik környezetváltás, csak a kiszolgáló rutin által használt regisztereket mentjük el és állítjuk vissza. 2. Ritkábban a megszakítást kiszolgáló rutin környezetváltást okoz, azonnal elindítva egy a megszakításra váró folyamatot. Ez a folyamat így elkerüli a futásra kész állapotot, várakozóból rögtön futóvá válik. A megszakítás menete a következő: 1. Megszakítási kérelem érkezik a CPU-hoz. 2. A CPU a kérelmet várakoztatja, amíg egy utasításciklus be nem fejeződik, vagy amíg az adott osztályú megszakítás tiltott. 24

2. Folyamatok. Operációs rendszerek. Folyamatok. Bevezetés. 2.1. Folyamatkezelés multiprogramozott rendszerekben. Folyamatok modellezése

2. Folyamatok. Operációs rendszerek. Folyamatok. Bevezetés. 2.1. Folyamatkezelés multiprogramozott rendszerekben. Folyamatok modellezése Operációs rendszerek 2. Folyamatok Simon Gyula 2. Folyamatok Bevezetés Folyamatkezelés multiprogramozott rendszerben Környezet váltás Folyamatleírók, I/O leírók Szálak Megszakítások Felhasznált irodalom:

Részletesebben

Az operációs rendszer szerkezete, szolgáltatásai

Az operációs rendszer szerkezete, szolgáltatásai Az operációs rendszer szerkezete, szolgáltatásai Felhasználói programok Rendszerhívások Válaszok Kernel Eszközkezelők Megszakításvezérlés Perifériák Az operációs rendszer szerkezete, szolgáltatásai Felhasználói

Részletesebben

Operációs rendszerek. Bemutatkozás

Operációs rendszerek. Bemutatkozás Bevezetés az operációs rendszerek világába dr. Benyó Balázs benyo@sze.hu Bemutatkozás www.sze.hu/~benyo 1 Számítógép HW-SW felépítése felhasználó felhasználó felhasználó Operációs rendszer Operációs rendszer

Részletesebben

Operációs rendszerek Folyamatok 1.1

Operációs rendszerek Folyamatok 1.1 Operációs rendszerek p. Operációs rendszerek Folyamatok 1.1 Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK A rendszermag Rendszermag

Részletesebben

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

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication) 1 Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication) 1. A folyamat (processzus, process) fogalma 2. Folyamatok: műveletek, állapotok, hierarchia 3. Szálak (threads)

Részletesebben

Uniprogramozás. várakozás. várakozás. Program A. Idő. A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna

Uniprogramozás. várakozás. várakozás. Program A. Idő. A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna Processzusok 1 Uniprogramozás Program A futás várakozás futás várakozás Idő A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna 2 Multiprogramozás Program A futás vár futás

Részletesebben

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

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication) 1 Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication) 1. A folyamat (processzus, process) fogalma 2. Folyamatok: műveletek, állapotok, hierarchia 3. Szálak (threads)

Részletesebben

OPERÁCIÓS RENDSZEREK. Elmélet

OPERÁCIÓS RENDSZEREK. Elmélet 1. OPERÁCIÓS RENDSZEREK Elmélet BEVEZETÉS 2 Az operációs rendszer fogalma Az operációs rendszerek feladatai Csoportosítás BEVEZETÉS 1. A tantárgy tananyag tartalma 2. Operációs rendszerek régen és most

Részletesebben

Az interrupt Benesóczky Zoltán 2004

Az interrupt Benesóczky Zoltán 2004 Az interrupt Benesóczky Zoltán 2004 1 Az interrupt (program megszakítás) órajel generátor cím busz környezet RESET áramkör CPU ROM RAM PERIF. adat busz vezérlõ busz A periféria kezelés során információt

Részletesebben

Alkalmazások típusai Szoftverismeretek

Alkalmazások típusai Szoftverismeretek Alkalmazások típusai Szoftverismeretek Prezentáció tartalma Szoftverek csoportjai Operációs rendszerek Partíciók, fájlrendszerek Tömörítés Vírusok Adatvédelem 2 A szoftver fogalma A szoftver teszi használhatóvá

Részletesebben

Előadás_#02. Előadás_02-1 -

Előadás_#02. Előadás_02-1 - Előadás_#02. 1. Folyamatok [OR_02_Folyamatok_zs.ppt az 1-12. diáig / Előadás_#02 (dinamikusan)] A multiprogramozott rendszerek előtt a tiszta szekvenciális működés volt a jellemző. Egy program (itt szándékosan

Részletesebben

Operációs rendszerek

Operációs rendszerek Operációs rendszerek Hardver, szoftver, operációs rendszer fogalma A hardver a számítógép mőködését lehetıvé tevı elektromos, elektromágneses egységek összessége. A számítástechnikában hardvernek hívják

Részletesebben

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor Ismerkedjünk tovább a számítógéppel Alaplap és a processzeor Neumann-elvű számítógépek főbb egységei A részek feladatai: Központi egység: Feladata a számítógép vezérlése, és a számítások elvégzése. Operatív

Részletesebben

(kernel3d vizualizáció: kernel245_graph.mpg)

(kernel3d vizualizáció: kernel245_graph.mpg) (kernel3d vizualizáció: kernel245_graph.mpg) http://www.pabr.org/kernel3d/kernel3d.html http://blog.mit.bme.hu/meszaros/node/163 1 (ml4 unix mérés boot demo) 2 UNIX: folyamatok kezelése kiegészítő fóliák

Részletesebben

Operációs rendszerek. Folyamatok ütemezése

Operációs rendszerek. Folyamatok ütemezése Operációs rendszerek Folyamatok ütemezése Alapok Az ütemezés, az események sorrendjének a meghatározása. Az ütemezés használata OPR-ekben: az azonos erőforrásra igényt tartó folyamatok közül történő választás,

Részletesebben

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

Operációs rendszerek. Az NT folyamatok kezelése Operációs rendszerek Az NT folyamatok kezelése Folyamatok logikai felépítése A folyamat modell: egy adott program kódját végrehajtó szál(ak)ból és, a szál(ak) által lefoglalt erőforrásokból állnak. Folyamatok

Részletesebben

Adatbázis rendszerek. dr. Siki Zoltán

Adatbázis rendszerek. dr. Siki Zoltán Adatbázis rendszerek I. dr. Siki Zoltán Adatbázis fogalma adatok valamely célszerűen rendezett, szisztéma szerinti tárolása Az informatika elterjedése előtt is számos adatbázis létezett pl. Vállalati személyzeti

Részletesebben

Operációs rendszerek

Operációs rendszerek Operációs rendszerek? Szükségünk van operációs rendszerre? NEM, mert mi az alkalmazással szeretnénk játszani dolgozni, azért használjuk a számítógépet. IGEN, mert nélküle a számitógépünk csak egy halom

Részletesebben

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. Az Executive és a kernel Policy és mechanizmusok szeparálása Executive: policy - objektum kezelés Kernel: mechanizmusok: Operációs rendszerek MS Windows NT (2000) folyamatok Az Executive és a kernel Policy és mechanizmusok szeparálása Executive: policy - objektum kezelés Kernel: mechanizmusok: szálak ütemezése végrehajtásra

Részletesebben

IT - Alapismeretek. Feladatgyűjtemény

IT - Alapismeretek. Feladatgyűjtemény IT - Alapismeretek Feladatgyűjtemény Feladatok PowerPoint 2000 1. FELADAT TÖRTÉNETI ÁTTEKINTÉS Pótolja a hiányzó neveket, kifejezéseket! Az első négyműveletes számológépet... készítette. A tárolt program

Részletesebben

Operációs Rendszerek II.

Operációs Rendszerek II. Operációs Rendszerek II. Második előadás Első verzió: 2004/2005. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter Visszatekintés Visszatekintés Operációs rendszer a számítógép hardver elemei és az

Részletesebben

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

OPERÁCIÓS RENDSZEREK I. BEVEZETÉS Koczka Ferenc - OPERÁCIÓS RENDSZEREK I. BEVEZETÉS Koczka Ferenc - koczka.ferenc@ektf.hu KÖVETELMÉNYEK GYAKORLATI JEGY: Két zárthelyi dolgozat eredményes megírása. Forrás: http://wiki.koczka.hu ELMÉLETI VIZSGA Az előadások

Részletesebben

A számítógép-hálózat egy olyan speciális rendszer, amely a számítógépek egymás közötti kommunikációját biztosítja.

A számítógép-hálózat egy olyan speciális rendszer, amely a számítógépek egymás közötti kommunikációját biztosítja. A számítógép-hálózat egy olyan speciális rendszer, amely a számítógépek egymás közötti kommunikációját biztosítja. A hálózat kettő vagy több egymással összekapcsolt számítógép, amelyek között adatforgalom

Részletesebben

Matematikai és Informatikai Intézet. 4. Folyamatok

Matematikai és Informatikai Intézet. 4. Folyamatok 4. Folyamatok A folyamat (processzus) fogalma Folyamat ütemezés (scheduling) Folyamatokon végzett "mûveletek" Folyamatok együttmûködése, kooperációja Szálak (thread) Folyamatok közötti kommunikáció 49

Részletesebben

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

Adatbázis-kezelő rendszerek. dr. Siki Zoltán Adatbázis-kezelő rendszerek I. dr. Siki Zoltán Adatbázis fogalma adatok valamely célszerűen rendezett, szisztéma szerinti tárolása Az informatika elterjedése előtt is számos adatbázis létezett pl. Vállalati

Részletesebben

Architektúra, megszakítási rendszerek

Architektúra, megszakítási rendszerek Architektúra, megszakítási ek Mirıl lesz szó? Megszakítás fogalma Megszakítás folyamata Többszintű megszakítási ek Koschek Vilmos Példa: Intel Pentium vkoschek@vonalkodhu Koschek Vilmos Fogalom A számítógép

Részletesebben

Informatika érettségi vizsga

Informatika érettségi vizsga Informatika 11/L/BJ Informatika érettségi vizsga ÍRÁSBELI GYAKORLATI VIZSGA (180 PERC - 120 PONT) SZÓBELI SZÓBELI VIZSGA (30 PERC FELKÉSZÜLÉS 10 PERC FELELET - 30 PONT) Szövegszerkesztés (40 pont) Prezentáció-készítés

Részletesebben

elektronikus adattárolást memóriacím

elektronikus adattárolást memóriacím MEMÓRIA Feladata A memória elektronikus adattárolást valósít meg. A számítógép csak olyan műveletek elvégzésére és csak olyan adatok feldolgozására képes, melyek a memóriájában vannak. Az információ tárolása

Részletesebben

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

Operációs rendszerek. Folyamatok kezelése a UNIX-ban Operációs rendszerek Folyamatok kezelése a UNIX-ban Folyamatok a UNIX-ban A folyamat: multiprogramozott operációs rendszer alapfogalma - absztrakt fogalom. A gyakorlati kép: egy program végrehajtása és

Részletesebben

Utolsó módosítás:

Utolsó módosítás: Utolsó módosítás: 2011. 09. 08. 1 A tantárggyal kapcsolatos adminisztratív kérdésekkel Micskei Zoltánt keressétek. 2 3 4 5 6 7 8 9 10 11 12 13 14 Erősen buzzword-fertőzött terület, manapság mindent szeretnek

Részletesebben

Folyamatok. 6. előadás

Folyamatok. 6. előadás Folyamatok 6. előadás Folyamatok Folyamat kezelése, ütemezése folyamattábla új folyamat létrehozása átkpcsolás folyamatok elválasztása egymástól átlátszó Szál szálkezelő rendszer szálak védése egymástól

Részletesebben

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai A programozás alapjai 1 1. előadás Híradástechnikai Tanszék Amiről szólesz: A tárgy címe: A programozás alapjai A számítógép részegységei, alacsony- és magasszintű programnyelvek, az imperatív programozási

Részletesebben

Programozás alapjai Bevezetés

Programozás alapjai Bevezetés Programozás alapjai Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Programozás alapjai Bevezetés SWF1 / 1 Tartalom A gépi kódú programozás és hátrányai A magas szintÿ programozási nyelv fogalma

Részletesebben

Számítógép architektúra

Számítógép architektúra Budapesti Műszaki Főiskola Regionális Oktatási és Innovációs Központ Székesfehérvár Számítógép architektúra Dr. Seebauer Márta főiskolai tanár seebauer.marta@roik.bmf.hu Irodalmi források Cserny L.: Számítógépek

Részletesebben

Bevezetés az informatikába

Bevezetés az informatikába Bevezetés az informatikába 5. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.

Részletesebben

Számítógépes alapismeretek

Számítógépes alapismeretek Számítógépes alapismeretek 3. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Programtervező Informatikus BSc 2008 / Budapest

Részletesebben

A számítógép egységei

A számítógép egységei A számítógép egységei A számítógépes rendszer két alapvető részből áll: Hardver (a fizikai eszközök összessége) Szoftver (a fizikai eszközöket működtető programok összessége) 1.) Hardver a) Alaplap: Kommunikációt

Részletesebben

Szenzorhálózatok programfejlesztési kérdései. Orosz György

Szenzorhálózatok programfejlesztési kérdései. Orosz György Szenzorhálózatok programfejlesztési kérdései Orosz György 2011. 09. 30. Szoftverfejlesztési alternatívák Erőforráskorlátok! (CPU, MEM, Energia) PC-től eltérő felfogás: HW közeli programozás Eszközök közvetlen

Részletesebben

Operációs rendszerek (I 1204)

Operációs rendszerek (I 1204) egyetemi docens Debreceni Egyetem 1999/2000 2. félév Mi az operációs rendszer? Korai rendszerek. Bevezetés A kötegelt feldolgozás egyszerû rendszerei. (Simple Batch) A kötegelt feldolgozás multiprogramozott

Részletesebben

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés . Számítógépek működési elve Bevezetés az informatikába. előadás Dudásné Nagy Marianna Az általánosan használt számítógépek a belső programvezérlés elvén működnek Külső programvezérlés... Vezérlés elve

Részletesebben

Bevezetés a számítástechnikába

Bevezetés a számítástechnikába Bevezetés a számítástechnikába Megszakítások Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. november 9. Bevezetés Megszakítások

Részletesebben

Operációs rendszerek III.

Operációs rendszerek III. A WINDOWS NT memóriakezelése Az NT memóriakezelése Memóriakezelő feladatai: Logikai-fizikai címtranszformáció: A folyamatok virtuális címterének címeit megfelelteti fizikai címeknek. A virtuális memóriakezelés

Részletesebben

SZOFTVER = a számítógépet működtető és az azon futó programok összessége.

SZOFTVER = a számítógépet működtető és az azon futó programok összessége. SZOFTVEREK SZOFTVER = a számítógépet működtető és az azon futó programok összessége. Programok Programnak nevezzük egy algoritmus valamelyik számítógépes programnyelven való leírását, amely a számítógép

Részletesebben

Operációs rendszerek II. Folyamatok ütemezése

Operációs rendszerek II. Folyamatok ütemezése Folyamatok ütemezése Folyamatok modellezése az operációs rendszerekben Folyamatok állapotai alap állapotok futásra kész fut és várakozik felfüggesztett állapotok, jelentőségük Állapotátmeneti diagram Állapotátmenetek

Részletesebben

ADATBÁZIS-KEZELÉS. Adatbázis-kezelő rendszerek

ADATBÁZIS-KEZELÉS. Adatbázis-kezelő rendszerek ADATBÁZIS-KEZELÉS Adatbázis-kezelő rendszerek Adat (Data) Észlelhető, felfogható ismeret Jelsorozat Tény, közlés Valakinek vagy valaminek a jellemzője Adatbázis (Data Base, DB) Hosszú ideig évekig meglévő

Részletesebben

Ütemezés (Scheduling),

Ütemezés (Scheduling), 1 Ütemezés (Scheduling), Alapfogalmak Ütemezési feltételek (kritériumok) Ütemezési algoritmusok Több-processzoros eset Algoritmus kiértékelése 2 Alapfogalmak A multiprogramozás célja: a CPU foglaltság

Részletesebben

Az operációs rendszer fogalma

Az operációs rendszer fogalma Készítette: Gráf Tímea 2013. október 10. 1 Az operációs rendszer fogalma Az operációs rendszer olyan programrendszer, amely a számítógépekben a programok végrehajtását vezérli. 2 Az operációs rendszer

Részletesebben

Iman 3.0 szoftverdokumentáció

Iman 3.0 szoftverdokumentáció Melléklet: Az iman3 program előzetes leírása. Iman 3.0 szoftverdokumentáció Tartalomjegyzék 1. Az Iman rendszer...2 1.1. Modulok...2 1.2. Modulok részletes leírása...2 1.2.1. Iman.exe...2 1.2.2. Interpreter.dll...3

Részletesebben

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon Mi az IMDG? Nem memóriában futó relációs adatbázis NoSQL hagyományos relációs adatbázis Más fajta adat tárolás Az összes adat RAM-ban van, osztott

Részletesebben

Operációs rendszerek. A védelem célja. A fenyegetés forrásai. Védelmi tartományok. Belső biztonság. Tartalom

Operációs rendszerek. A védelem célja. A fenyegetés forrásai. Védelmi tartományok. Belső biztonság. Tartalom Tartalom Operációs rendszerek 12. Az operációs rendszerek biztonsági kérdései Simon Gyula A védelem célja A fenyegetés forrásai Belső biztonság Külső biztonság Felhasznált irodalom: Kóczy-Kondorosi (szerk.):

Részletesebben

Java programozási nyelv 9. rész Kivételkezelés

Java programozási nyelv 9. rész Kivételkezelés Java programozási nyelv 9. rész Kivételkezelés Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/24 Tartalomjegyzék

Részletesebben

Léteznek nagyon jó integrált szoftver termékek a feladatra. Ezek többnyire drágák, és az üzemeltetésük sem túl egyszerű.

Léteznek nagyon jó integrált szoftver termékek a feladatra. Ezek többnyire drágák, és az üzemeltetésük sem túl egyszerű. 12. Felügyeleti eszközök Néhány számítógép és szerver felügyeletét viszonylag egyszerű ellátni. Ha sok munkaállomásunk (esetleg több ezer), vagy több szerverünk van, akkor a felügyeleti eszközök nélkül

Részletesebben

C# Szálkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21

C# Szálkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21 C# Szálkezelés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21 Tartalomjegyzék 1 Bevezetés 2 Szálkezelés 3 Konkurens Programozás Tóth Zsolt (Miskolci Egyetem)

Részletesebben

vbar (Vemsoft banki BAR rendszer)

vbar (Vemsoft banki BAR rendszer) vbar (Vemsoft banki BAR rendszer) BAR bemutatása 1994. július 1-jétől kezdte meg működését a Központi Adós- és Hitelinformációs Rendszer, azóta is használt rövidített nevén a BAR, amely kezdetben kizárólag

Részletesebben

Számítógépes munkakörnyezet II. Szoftver

Számítógépes munkakörnyezet II. Szoftver Számítógépes munkakörnyezet II. Szoftver A hardver és a felhasználó közötti kapcsolat Szoftverek csoportosítása Számítógép működtetéséhez szükséges szoftverek Operációs rendszerek Üzemeltetési segédprogramok

Részletesebben

Informatika szóbeli vizsga témakörök

Informatika szóbeli vizsga témakörök KECSKEMÉTI MŰSZAKI SZAKKÉPZŐ ISKOLA, SPECIÁLIS SZAKISKOLA ÉS KOLLÉGIUM 6000 Kecskemét, Szolnoki út 31., Telefon: 76/480-744, Fax: 487-928 KANDÓ KÁLMÁN SZAKKÖZÉPISKOLA ÉS SZAKISKOLÁJA 6000 Kecskemét, Bethlen

Részletesebben

Debreceni Egyetem Matematikai és Informatikai Intézet. 13. Védelem

Debreceni Egyetem Matematikai és Informatikai Intézet. 13. Védelem 13. Védelem A védelem célja Védelmi tartományok Hozzáférési mátrixok (access matrix, AM) A hozzáférési mátrixok implementációja A hozzáférési jogok visszavonása Képesség-alapú rendszerek Nyelvbe ágyazott

Részletesebben

SZÁMÍTÓGÉP HÁLÓZATOK BEADANDÓ ESSZÉ. A Windows névfeloldási szolgáltatásai

SZÁMÍTÓGÉP HÁLÓZATOK BEADANDÓ ESSZÉ. A Windows névfeloldási szolgáltatásai SZÁMÍTÓGÉP HÁLÓZATOK BEADANDÓ ESSZÉ A Windows névfeloldási szolgáltatásai Jaszper Ildikó jaszper.ildiko@stud.u-szeged.hu Jaszper.Ildiko@posta.hu Budapest, 2007. május 19. - 1 - TARTALOMJEGYZÉK 1. Névfeloldás...

Részletesebben

A Budapesti Értéktőzsde Részvénytársaság Igazgatóságának 110/2003. számú határozata

A Budapesti Értéktőzsde Részvénytársaság Igazgatóságának 110/2003. számú határozata A Budapesti Értéktőzsde Részvénytársaság Igazgatóságának 110/2003. számú határozata A Budapesti Értéktőzsde Részvénytársaság Igazgatósága A Budapesti Értéktőzsde Részvénytársaság Szabályzata a Távkereskedés

Részletesebben

13. óra op. rendszer ECDL alapok

13. óra op. rendszer ECDL alapok 13. óra op. rendszer ECDL alapok 1. Mire szolgál az asztal? a) Az ideiglenesen törölt fájlok tárolására. b) A telepített alkalmazások tárolására. c) A telepített alkalmazások ikonok általi gyors elérésére.

Részletesebben

ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES

ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES Számítógép = Univerzális gép! Csupán egy gép a sok közül, amelyik pontosan azt csinálja, amit mondunk neki. Hardver A számítógép

Részletesebben

Tartalom jegyzék 1 BEVEZETŐ 2 1.1 SZOFTVER ÉS HARDVER KÖVETELMÉNYEK 2 2 TELEPÍTÉS 2 3 KEZELÉS 5

Tartalom jegyzék 1 BEVEZETŐ 2 1.1 SZOFTVER ÉS HARDVER KÖVETELMÉNYEK 2 2 TELEPÍTÉS 2 3 KEZELÉS 5 Tartalom jegyzék 1 BEVEZETŐ 2 1.1 SZOFTVER ÉS HARDVER KÖVETELMÉNYEK 2 2 TELEPÍTÉS 2 3 KEZELÉS 5 3.1 ELSŐ FUTTATÁS 5 3.2 TULAJDONOSI ADATLAP 6 3.3 REGISZTRÁLÁS 6 3.4 AKTIVÁLÁS 6 3.5 MÉRÉS 7 3.5.1 ÜGYFÉL

Részletesebben

Védené értékes adatait, de még nem tudja hogyan?

Védené értékes adatait, de még nem tudja hogyan? Védené értékes adatait, de még nem tudja hogyan? Ismerje meg az easysafe kulcs által nyújtott megoldást! Az easysafe kulcs két megoldást ötvöz az adatvédelem érdekében: 1. easydrive: titkosított adattárolásra

Részletesebben

Előadás_#06. Előadás_06-1 -

Előadás_#06. Előadás_06-1 - Előadás_#06. 1. Holtpont, Éheztetés [OR_04_Holtpont_zs.ppt az 1-48. diáig / nem minden diát érintve] A holtpont részletes tárgyalása előtt nagyon fontos leszögezni a következőt: Az éheztetés folyamat szintű

Részletesebben

Java-s Nyomtatványkitöltő Program Súgó

Java-s Nyomtatványkitöltő Program Súgó Java-s Nyomtatványkitöltő Program Súgó Hálózatos telepítés Windows és Linux operációs rendszereken A program nem használja a Registry-t. A program három könyvtárstruktúrát használ, melyek a következők:

Részletesebben

Informatikai Rendszerek Intézete Gábor Dénes Foiskola. Operációs rendszerek - 105 1. oldal LINUX

Informatikai Rendszerek Intézete Gábor Dénes Foiskola. Operációs rendszerek - 105 1. oldal LINUX 1. oldal LINUX 2. oldal UNIX történet Elozmény: 1965 Multics 1969 Unix (Kernighen, Thompson) 1973 Unix C nyelven (Ritchie) 1980 UNIX (lényegében a mai forma) AT&T - System V Microsoft - Xenix Berkeley

Részletesebben

6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes.

6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes. 6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes. Neumann elv: Külön vezérlő és végrehajtó egység van Kettes

Részletesebben

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

Számítógépek felépítése Számítógépek felépítése Emil Vatai 2014-2015 Emil Vatai Számítógépek felépítése 2014-2015 1 / 14 Outline 1 Alap fogalmak Bit, Byte, Word 2 Számítógép részei A processzor részei Processzor architektúrák

Részletesebben

Orvosi készülékekben használható modern fejlesztési technológiák lehetőségeinek vizsgálata

Orvosi készülékekben használható modern fejlesztési technológiák lehetőségeinek vizsgálata Kutatási beszámoló a Pro Progressio Alapítvány számára Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Mérnök informatika szak Orvosi készülékekben használható modern

Részletesebben

MPLAB IDE - SIM - - Rövid ismertető a használathoz - Kincses Levente 3E22 89/ November 14. Szabadka

MPLAB IDE - SIM - - Rövid ismertető a használathoz - Kincses Levente 3E22 89/ November 14. Szabadka MPLAB IDE - SIM - - Rövid ismertető a használathoz - 3E22 89/2004 2006. November 14 Szabadka - 2 - Tartalomjegyzék TARTALOMJEGYZÉK 3 SIMULATOR I/O 4 SIMULATOR STIMULUS 4 STIMULUS VEZÉRLŐ (CONTROLLER) 5

Részletesebben

Györgyi Tamás. Szoba: A 131 Tanári.

Györgyi Tamás. Szoba: A 131 Tanári. Györgyi Tamás Szoba: A 131 Tanári E-Mail: gyorgyit@petriktiszk.hu 2 Számítógépek megjelenésekor mindenki külön dolgozott. (Personal Computer) A fejlődéssel megjelent az igény a számítógépek összekapcsolására.

Részletesebben

Vezetői információs rendszerek

Vezetői információs rendszerek Vezetői információs rendszerek Kiadott anyag: Vállalat és információk Elekes Edit, 2015. E-mail: elekes.edit@eng.unideb.hu Anyagok: eng.unideb.hu/userdir/vezetoi_inf_rd 1 A vállalat, mint információs rendszer

Részletesebben

Kommunikáció. 3. előadás

Kommunikáció. 3. előadás Kommunikáció 3. előadás Kommunikáció A és B folyamatnak meg kell egyeznie a bitek jelentésében Szabályok protokollok ISO OSI Többrétegű protokollok előnyei Kapcsolat-orientált / kapcsolat nélküli Protokollrétegek

Részletesebben

Szoftverarchitektúrák 3. előadás (második fele) Fornai Viktor

Szoftverarchitektúrák 3. előadás (második fele) Fornai Viktor Szoftverarchitektúrák 3. előadás (második fele) Fornai Viktor A szotverarchitektúra fogalma A szoftverarchitektúra nagyon fiatal diszciplína. A fogalma még nem teljesen kiforrott. Néhány definíció: A szoftverarchitektúra

Részletesebben

Konkurens TCP Szerver

Konkurens TCP Szerver A gyakorlat célja: Konkurens TCP Szerver Megismerkedni a párhuzamos programozás és a konkurens TCP szerver készítésének az elméleti és gyakorlati alapjaival és egy egyidejűleg több klienst is kiszolgáló

Részletesebben

Utolsó módosítás:

Utolsó módosítás: Utolsó módosítás:2011. 09. 29. 1 2 4 5 MMU!= fizikai memóriaillesztő áramkör. Az utóbbinak a feladata a memória modulok elektromos alacsonyszintű vezérlése, ez sokáig a CPU-n kívül a chipset északi hídban

Részletesebben

Digitális írástudás 2012. március 13. TÁMOP-5.3.1-C-09/2-2010-0068 Trambulin

Digitális írástudás 2012. március 13. TÁMOP-5.3.1-C-09/2-2010-0068 Trambulin Digitális írástudás 2012. március 13. TÁMOP-5.3.1-C-09/2-2010-0068 Trambulin Cél: A képzés célja, hogy a projekt résztvevői tudják kezelni a számítógépet és perifériáit, ismerjék a szoftvereket. Képessé

Részletesebben

Nyíregyházi Egyetem Matematika és Informatika Intézete. Input/Output

Nyíregyházi Egyetem Matematika és Informatika Intézete. Input/Output 1 Input/Output 1. I/O műveletek hardveres háttere 2. I/O műveletek szoftveres háttere 3. Diszkek (lemezek) ------------------------------------------------ 4. Órák, Szöveges terminálok 5. GUI - Graphical

Részletesebben

3Sz-s Kft. Tisztelt Felhasználó!

3Sz-s Kft. Tisztelt Felhasználó! 3Sz-s Kft. 1158 Budapest, Jánoshida utca 15. Tel: (06-1) 416-1835 / Fax: (06-1) 419-9914 E-mail: zk@3szs. hu / Web: http://www. 3szs. hu Tisztelt Felhasználó! Köszönjük, hogy telepíti az AUTODATA 2007

Részletesebben

IT - Alapismeretek. Megoldások

IT - Alapismeretek. Megoldások IT - Alapismeretek Megoldások 1. Az első négyműveletes számológépet Leibniz és Schickard készítette. A tárolt program elve Neumann János nevéhez fűződik. Az első generációs számítógépek működése a/az

Részletesebben

TestLine - GINOP teszt Minta feladatsor

TestLine - GINOP teszt Minta feladatsor GINOP képzés szintfelmérő tesztje Mit lehet a HTML-el csinálni 1. 1:10 Könnyű emutatót készíteni Weblapot készíteni Jósolni Szöveget szerkeszteni Melyek tartoznak az operációs rendszer alapvető feladatai

Részletesebben

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Autóipari beágyazott rendszerek. Komponens és rendszer integráció Autóipari beágyazott rendszerek és rendszer integráció 1 Magas szintű fejlesztési folyamat SW architektúra modellezés Modell (VFB) Magas szintű modellezés komponensek portok interfészek adattípusok meghatározása

Részletesebben

Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Email: info@silentsignal.hu Web: www.silentsignal.

Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Email: info@silentsignal.hu Web: www.silentsignal. Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Email: info@silentsignal.hu Web: www.silentsignal.hu. 1 Tartalom 1. BEVEZETŐ... 3 1.1 Architektúra (terv) felülvizsgálat...

Részletesebben

Bevezetés a párhuzamos programozási koncepciókba

Bevezetés a párhuzamos programozási koncepciókba Bevezetés a párhuzamos programozási koncepciókba Kacsuk Péter és Dózsa Gábor MTA SZTAKI Párhuzamos és Elosztott Rendszerek Laboratórium E-mail: kacsuk@sztaki.hu Web: www.lpds.sztaki.hu Programozási modellek

Részletesebben

Információ menedzsment

Információ menedzsment Információ menedzsment Szendrői Etelka Rendszer- és Szoftvertechnológiai Tanszék szendroi@witch.pmmf.hu Infrastruktúra-menedzsment Informatikai szolgáltatások menedzsmentje Konfigurációkezelés Gyorssegélyszolgálat

Részletesebben

Utolsó módosítás:

Utolsó módosítás: Utolsó módosítás: 2012. 09. 06. 1 A tantárggyal kapcsolatos adminisztratív kérdésekkel Micskei Zoltánt keressétek. 2 3 4 5 6 7 8 9 Forrás: Gartner Hype Cycle for Virtualization, 2010, http://premierit.intel.com/docs/doc-5768

Részletesebben

Számítógépek, perifériák és a gépeken futó programok (hálózati szoftver) együttese, amelyek egymással összeköttetésben állnak.

Számítógépek, perifériák és a gépeken futó programok (hálózati szoftver) együttese, amelyek egymással összeköttetésben állnak. Számítógépek, perifériák és a gépeken futó programok (hálózati szoftver) együttese, amelyek egymással összeköttetésben állnak. Előnyei Közös erőforrás-használat A hálózati összeköttetés révén a gépek a

Részletesebben

Párhuzamos programozási platformok

Párhuzamos programozási platformok Párhuzamos programozási platformok Parallel számítógép részei Hardver Több processzor Több memória Kapcsolatot biztosító hálózat Rendszer szoftver Párhuzamos operációs rendszer Konkurenciát biztosító programozási

Részletesebben

Operációs rendszerek MINB240

Operációs rendszerek MINB240 Operációs rendszerek MINB240 Ismétlés. előadás Processzusok 2 Alapvető hardware komponensek CPU Diszk Diszk kezelő Diszk Memória kezelő (Controller) Memória Nyomtató Nyomtató kezelő Rendszer busz 3 Alapvető

Részletesebben

FORD Edifact IHS Import

FORD Edifact IHS Import FORD Edifact IHS Import 1149 Budapest, Egressy út 17-21. Telefon: +36 1 469 4021; fax: +36 1 469 4029 1/13 Tartalomjegyzék 1. FORD gyártói adatok betöltése... 3 1.1. Import Javasolt Ütemezése... 10 1.2.

Részletesebben

Segédlet Hálózatok. Hálózatok 1. Mit nevezünk hálózatnak? A számítógép hálózat más-más helyeken lévő számítógépek összekapcsolását jelenti.

Segédlet Hálózatok. Hálózatok 1. Mit nevezünk hálózatnak? A számítógép hálózat más-más helyeken lévő számítógépek összekapcsolását jelenti. Segédlet Hálózatok Hálózatok 1. Mit nevezünk hálózatnak? A számítógép hálózat más-más helyeken lévő számítógépek összekapcsolását jelenti. 2. A hálózat célja - Erőforrások megosztása ami azt jelenti, hogy

Részletesebben

Kameleon Light Bootloader használati útmutató

Kameleon Light Bootloader használati útmutató Kameleon Light Bootloader használati útmutató 2017. Verzió 1.0 1 Tartalom jegyzék 2 1. Bootloader bevezető: A Kameleon System-hez egy összetett bootloader tartozik, amely lehetővé teszi, hogy a termékcsalád

Részletesebben

1. tétel. A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei. Informatika érettségi (diák)

1. tétel. A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei. Informatika érettségi (diák) 1. tétel A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei Ismertesse a kommunikáció általános modelljét! Mutassa be egy példán a kommunikációs

Részletesebben

Balogh Ádám Lőrentey Károly

Balogh Ádám Lőrentey Károly Architektúrák és operációs rendszerek: Folyamatok, ütemezés Balogh Ádám Lőrentey Károly Eötvös Loránd Tudományegyetem Informatikai Kar Algoritmusok és Alkalmazásaik Tanszék Tartalomjegyzék 1. A folyamat

Részletesebben

Operációs rendszerek. Holtpont

Operációs rendszerek. Holtpont Operációs rendszerek Holtpont Holtpont (deadlock) fogalma A folyamatok egy csoportja olyan eseményre vár, amelyet egy másik, ugyancsak várakozó folyamat tud előidézni. Esemény: tipikusan erőforrás felszabadulása.

Részletesebben

A billentyűzet a legfontosabb adatbeviteli eszköz, mely szinte rögtön a számítógép bekapcsolása után,,életre kel. Segítségével az operációs rendszer

A billentyűzet a legfontosabb adatbeviteli eszköz, mely szinte rögtön a számítógép bekapcsolása után,,életre kel. Segítségével az operációs rendszer Billentyűzet A billentyűzet a legfontosabb adatbeviteli eszköz, mely szinte rögtön a számítógép bekapcsolása után,,életre kel. Segítségével az operációs rendszer automatikusan letöltődik, de betöltése

Részletesebben

Biztonsági folyamatirányító. rendszerek szoftvere

Biztonsági folyamatirányító. rendszerek szoftvere Biztonsági folyamatirányító rendszerek szoftvere 1 Biztonsági folyamatirányító rendszerek szoftvere Tartalom Szoftverek szerepe a folyamatirányító rendszerekben Szoftverek megbízhatósága Szoftver életciklus

Részletesebben

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat Megoldás Feladat 1. Statikus teszt Specifikáció felülvizsgálat A feladatban szereplő specifikáció eredeti, angol nyelvű változata egy létező eszköz leírása. Nem állítjuk, hogy az eredeti dokumentum jól

Részletesebben

Mértékegységek a számítástechnikában

Mértékegységek a számítástechnikában Mértékegységek a számítástechnikában BIT legkisebb adattárolási egység Értékei lehetnek: 0,1. Bájt= 8 BIT a számítógép számára egységesen kezelhető legkisebb egység. (Bit,) Bájt, KiloBájt, MegaBájt, GigaBájt,

Részletesebben

Tartalomjegyzék. Előszó... 10

Tartalomjegyzék. Előszó... 10 Előszó... 10 1. Bevezetés a Symbian operációs rendszerbe... 11 1.1. Az operációs rendszer múltja...11 1.2. Az okos telefonok képességei...12 1.3. A Symbian felépítése...15 1.4. A könyv tartalma...17 2.

Részletesebben