11. Gyakorlat. Az operációs rendszer szintje

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

Download "11. Gyakorlat. Az operációs rendszer szintje"

Átírás

1 11. Gyakorlat Az operációs rendszer szintje Az operációs rendszer szintű utasítások az alkalmazói programozók rendelkezésére álló teljes utasításkészletet jelentik. Tartalmazzák majdnem az összes ISA-szintű utasítást, valamint az operációs rendszer szintű plusz utasításokat. Ezeket az utasításokat rendszerhívásoknak nevezzük. Ténylegesen minden rendszerhívás az operációs rendszer valamely előre definiált szolgáltatását hívja meg. Ha egy felhasználói program az operációs rendszer szintű utasítást végez, az operációs rendszer ezt az utasítást lépésenként hajtja végre. Amikor azonban az ISA-szintű utasítást hajt végre a program, ezt az operációs rendszer közreműködése nélkül közvetlenül az alatta lévő mikroarchitektúra szintje végzi el. Virtuális memória Régebben a programozóknak kellett megoldania, hogy a program elférjen a memóriában. A megoldás egy másodlagos memória, pl. a lemez igénybevétele. A programozó olyan átfedéseknek nevezett kisebb részekre osztotta fel programját, amelyek külön-külön elfértek a memóriában. A program futásakor először az első rész töltődött be, futott egy darabig, azután amikor befejeződött, betöltődött a második rész, és így tovább. A programozónak kellett gondoskodni az átfedésekre darabolásról, az egyes részek elhelyezkedéséről a másodlagos memóriában, a memória és a lemez közötti mozgatásukról, és általában az átfedéses rendszer kezeléséről. A virtuális memória megszabadítja a programozót minden ilyen adminisztrációtól. Lapozás A gépeken a használható címtartomány és a memóriacímek különböznek. A címtartomány és a memóriacímek elkülönítésnek elve a következő. Bármely időpillanatban közvetlenül 4096 szó érhető el a memóriából, de ezek nem feltétlenül a közötti memóriacímeknek felelnek meg. A címekhez memóriacímeket rendelünk. Valós és virtuális címek közötti leképezés

2 Az átfedések kezelésének ezen technikáját lapozásnak hívjuk, a lemezről beolvasott programrészeket lapoknak nevezzük. Azon címeket, amelyekre a program hivatkozni tud virtuális címtartománynak, míg a tényleges, "hardveres" címeket fizikai címtartománynak nevezzük. A memóriatérkép, vagy laptábla a virtuális címeket kapcsolja össze a fizikai címekkel. Feltehető, hogy a lemezen van elég hely a teljes virtuális címtartomány számára. A lapozásnak köszönhetően a programozónak nem is kell tudni a virtuális memória létezéséről, csak azt látja, hogy mennyi hely van még a memóriában. Csak az operációs rendszer íróinak kell tudni, hogyan tartható fenn ez az illúzió. A virtuális címtartományt azonos méretű lapokra szokás felosztani. A ma szokásos lapméretek 512 bájt és 64 kb közé esnek, de előfordul a 4 MB-os lap is. A lapméret mindig 2- hatvány. A fizikai címtartományt hasonlóan osztják fel. A darabok mérete megegyezik a lapmérettel, így mindegyik darab egy lap tárolására alkalmas. Azokat a memóriadarabokat, amelyekbe lapokat töltünk be lapkereteknek nevezzük. Minden virtuális memóriával ellátott gép tartalmaz a virtuális címről fizikai címre leképező eszközt. Ez az MMU (Memory Management Unit, memóriakezelő egység), amely lehet a CPU lapkán, vagy külön lapkán, amely szorosan együttműködik a CPU-val. A következő példában az MMU 32 bites virtuális címeket 15-bites fizikai címekre képez le. Ehhez 32 bites bemeneti és 15 bites kimeneti címekre van szüksége. A 32 bites virtuális címet az MMU 20 bites virtuális lapszámra és a lapon belüli 12 bites offszetre bontja fel (a 20 bit a 4 K-s lapméretből adódik). A virtuális lapszámot indexként használva keresi ki a laptáblából a megfelelő bejegyzést. Az alábbi ábrán a virtuális lapszám 3, így a laptábla 3. elemét veszi. Először megvizsgálja, hogy a hivatkozott lap nincs-e a memóriában, ehhez egy jelenlét /hiány bitet használ. Ebben a példában a bit értéke 1, vagyis a laptáblában van. A következő lépésben a kiválasztott bejegyzésben szereplő lapkeretértéket átmásolja a 15 bites kimeneti regiszter felső 3 bitjére. Azért van szükség 3 bitre, mert a fizikai memória nyolc lapkeretből áll. A virtuális cím alsó 12 bitje átmásolódik a kimeneti regiszter alsó 12 bitjére. Ezt a 15 bites címet küldi tovább a gyorsítótárhoz, vagy a memóriához.

3 Kérésre lapozás és munkahalmaz modell Nem biztos, hogy a hivatkozott virtuális lap a memóriában van. Az olyan hivatkozás, amely nem a memóriában lévő lapon található címre vonatkozik, laphibát okoz. Laphiba felléptekor az operációs rendszernek be kell olvasni a lemezről a kért lapot, be kell írni új fizikai helyét a laptáblába, és meg kell ismételnie a hibát okozó utasítást. A virtuális memóriával rendelkező gépen akkor is elindíthatunk egy programot, ha egyetlen része sincs a memóriában. Csupán úgy kell beállítani a laptáblát, jelezze, a programhoz tatozó lapok közül egyik sincs a memóriában, mind a másodlagos tárolón helyezkedik el. Amikor a CPU megpróbálja az első utasítást betölteni, akkor rögtön laphiba lép fel, melynek hatására az első utasítást tartalmazó lap betöltődik a memóriába és ez bekerül a laptáblába is. Ezután kezdődhet az első utasítás végrehajtása. Ha az első utasítás 2 címet tartalmaz, s ezek már a betöltöttől két különböző lapon találhatók, akkor újabb két laphiba lép fel és két újabb lap töltődik be mielőtt az utasítás végrehajtódna. A virtuális memóriának ezt a módszerét kérésre lapozásnak nevezzük. A legtöbb program nem egyenletesen hivatkozik a címtartományára, hanem a néhány lap körül "sűrűsödnek össze" a hivatkozások. Bármely t időpillanatban tekinthetjük a legutóbbi k memóriahivatkozásban szereplő lapok halmazát. Ezt munkahalmaznak nevezzük. A programozók ritkán tudják, hogy mely lapok tartoznak a munkahalmazhoz, ezt az operációs rendszernek kell kiderítenie. Ha a program olyan lapra hivatkozik, amely nincs a memóriában, a szükséges lapot be kell tölteni lemezről. Legtöbbször azonban helyet kell csinálni neki, bizonyos lapokat vissza kell írni a lemezre. A legtöbb operációs rendszer megpróbálja megjósolni, hogy melyek a memóriában lévő leghaszontalanabb lapok, amelyek eltávolítása a legkisebb mértékben zavarja a futó programot. Ennek egyik módja az lehet, hogy minden lapra megjósolja, hogy mikor lesz rá legközelebb hivatkozás, és azt a lapot távolítja el, amelynél ez az időpont a legtávolibb. Az LRU algoritmus a legrégebben használt lapot távolítja el a memóriából. Az alábbi példában csak 8 lap fér a memóriába. A 7. laphoz ért a program futása, majd olyan utasításhoz érünk, amely a 8. lapról próbálna meg utasítást betölteni. Az LRU algoritmus szerint a 0. lapot kell eltávolítani, mert ezt használtuk legrégebben. A 8. lapon lehet olyan utasítás, amely visszatérne a 0. lapra. Ekkor a 0. lapot vissza kell hozni a memóriába az 1. lap helyére.

4 Ha a rendelkezésre álló memória mérete nagyobb a munkahalmazénál, akkor az LRU algoritmus minimalizálni fogja laphibák számát. Egy másik elv a FIFO (First In First Out), amely minden laphoz egy számlálót rendel. Laphiba esetén a számlálókat eggyel növeljük. Ha új lapot hozunk be, akkor annak a számlálóját 0-val kell inicializálni. Azt a lapot kell eltávolítani, amelynek a számlálója a legnagyobb. Ha a munkahalmaz nagyobb a rendelkezésre álló lapkeretek számánál, akkor laphibák gyakoriak lesznek, és egyetlen algoritmus sem adhat jó eredményeket. Azt a jelenséget, amikor egy program gyakran, szinte folyamatosan laphibát generál, vergődésnek nevezzük. Meg kell jegyezni, hogy egy lapot csak akkor kell visszaírni a lemezre, hogyha a tartalma megváltozott. Azokat a lapokat, amelyek beolvasásuk óta nem változtak, tiszta (clean) lapoknak, míg a módosított lapokat szennyezett (dirty) lapoknak hívjuk. Egy-egy bittel nyilvántarthatjuk, hogy az adott lapot módosítottuk-e, és csak akkor kell visszaírni a lemezre, ha igen. Lapméret és elaprózódás Ha a programok és adatok a lapon pontosan elférnek, akkor nem pocsékolunk el helyet. Ellenkező esetben valamennyi hely kihasználatlanul marad. Az elvesztegetett bájtokkal kapcsolatos problémát belső elaprózódásnak nevezzük. Kis lapméreteknél minimális a veszteség, azonban nagy laptáblát kell és sok lapot kell nyilvántartani, amelynek hardveres megvalósítása drága, szoftveresen viszont sok időbe telik. Előnye viszont az, hogy kisebb a vergődés esélye. Szegmentálás A fordítóprogramoknak fordításkor sokféle táblázatuk lehet: változók nevét és attribútumait tartalmazó szimbólumtábla kilistázáshoz megőrzött forráskód az összes felhasznált egész és lebegőpontos konstanst tartalmazó tábla. a program szintaktikus elemzésekor létrehozott elemzési fa a fordítóprogramon belüli eljáráshíváshoz tartozó verem

5 Az első négy tábla mérete folyamatosan nő a fordítás előrehaladtával, az utolsóé előre nem látható módon nő vagy csökken. Egy megoldás erre a problémára sok teljesen független címtartomány, szegmens bevezetése. A szegmenscímek 0-tól valamely maximális értékig terjednek. Az egyes szegmensek hossza 0-tól a megengedett maximumig bármekkora lehet, még változhat is a végrehajtás során. A szegmensek elvileg be is telhetnek, de általában ez ritkán fordul elő. Ilyen szegmentált memória esetén a programok két részből álló címmel adják meg tényleges címet. Az első a szegmens cím, a második a szegmensen belüli cím. A szegmensek nem csak az az előnye, hogy a változó méretű adatstruktúrát könnyebben kezeli, hanem az is, hogyha csak csak egy részt módosítunk a programban, akkor nem fog a teljes program újra lefordulni, csak az a része, amely szegmensben változás történt. Mivel minden szegmens a programozó által is látható logikai egységet képez, a szegmensek védelme eltérő lehet. Az eljárás-szegmensek lehetnek csak végrehajthatók, vagyis írásukat és olvasásukat megtilthatjuk. A lebegőpontos tömbök lehetnek írhatóak és olvashatóak, de nem végrehajthatóak. Szegmentált memória esetén a felhasználó tudja, hogy mi van az egyes szegmensekben. Szegmentálás megvalósítása A szegmentálás megvalósítása kétféle módon történhet, cseréléssel vagy lapozással. Cserélésnél minden időpillanatban a szegmensek bizonyos halmaza van a memóriában. Ha olyan szegmensre történik hivatkozás, amely nincs a memóriában, akkor az betöltődik. Ha nincs elég hely számára, akkor egy másikat lemezre kell írni, és a helyére betölteni a másik szegmenst. Ez hasonlít a kérésre lapozáshoz. A különbség annyi, hogy a lapméret fix, míg a szegmensek mérete változó. A szegmensek eltávolításakor és egy új szegmens betöltésekor lyukak keletkezhetnek, mivel az új szegmens nem biztos, hogy kitölti a régi helyét. Ezt külső elaprózódásnak nevezzük. A lyukacsosodás megszüntetésének egyik lehetséges módja, hogy a lyuk mögötti szegmenseket a 0. memóriacím felé toljuk. Ekkor a memória végén keletkezik egy nagyobb lyuk. Ezt a módszert összepréselésnek nevezzük. Az összepréselés hátránya, hogy sok időt vesz igénybe. Egy másik megoldás, hogy a lyukak címét és méretét egy listába rakjuk, és a kért szegmenst abba a legkisebb lyukba másoljuk, amibe még belefér. Az eljárás neve legjobb illesztés. Ezáltal a kis lyukakba kisméretű szegmenseket, a nagy lyukakba nagyméretű szegmenseket másolhatunk. Egy másik módszer, hogy egy új szegmens betöltésekor végigmegyünk a listán és azt az első lyukat választjuk, amelybe belefér a szegmens. A módszer neve első illesztés. Ez utóbbi gyorsabb és jobb is a legjobb illesztésnél, azonban sok kis lyukat hozhat létre. A kis lyukak létrejöttét elkerülhetjük, ha olyan szegmenst törlünk, amely előtt és után kis lyuk áll, vagyis ekkor egy nagy lyuk keletkezik. A lapozáskor minden szegmenshez külön laptábla kell. Mivel minden szegmens egy lineáris címtartomány, az összes eddigi lapozási technika alkalmazható a szegmensekre, az eltérés csupán annyi, hogy minden szegmens saját laptáblát kap.

6 Virtuális B/K utasítások Bevitel/kivitel tekintetében a operációs rendszer szintje lényegesen eltér az ISA-szinttől. Az a felhasználó, aki valódi ISA-szintű utasításokat tudna végrehajtani, hozzájuthatna a rendszerben tárolt bizalmas adatokhoz, be tudna lépni más gépére, stb. A virtuális B/K megszervezésének egyik módja a fájl nevű absztrakció. Legegyszerűbb formájában egy B/K-ra írt bájtsorozatot jelent. Az operációs rendszer szempontjából a fájl általában csak egy bájsorozatot jelent. További struktúrája a felhasználói programoktól függ. A fájl olvasására, írására, lezárása külön utasítások vannak. Amikor egy fájlt olvasunk, akkor a fájlt meg kell keresni a lemezen és be kell tölteni a memóriába. Megnyitás után a fájlok olvashatók. Minden megnyitott fájlhoz tartozik egy pointer, amely a legközelebb kiolvasható bájtra mutat. Értéke a beolvasott bájtok számának megfelelően változik. Ez lehetővé teszi tetszőleges adatblokkok olvasását a fájlból. A pointert tetszőleges értékre is be lehet állítani, így a fájl bármely részét véletlenszerűen el lehet érni. Olvasás után a program lezárhatja a fájlt, ezzel jelzi az operációs rendszernek, hogy már nem fogja használni. Nagygépes operációs rendszerekben a fájlokat logikai rekordok sorozataként képzelik el. Bizonyos operációs rendszerek megkülönböztetnek olyan fájlokat, amelyek csak típusú rekordokat tartalmaznak, és amelyek különböző rekordokat tartalmaznak. Virtuális B/K utasítások megvalósítása A fájlok a lemezen lehetnek egymás követő szektorokban vagy pedig nem egymást követő szektoraiban. Akkor érdemes egymást követő szektorokba rendezni a fájlokat, ha biztosak lehetünk benne, hogy a fájlok mérete nem változik (pl. CD lemez). Ha a fájl nem egymást követő szektorokban helyezkedik el, akkor egy tetszőleges bájt vagy logikai rekord pozícióját egy fájlindex nevű táblázatban kell nyilvántartani, amely tényleges lemezcímeket tartalmazza. A fájl helyfoglalási egységeit úgy is megkereshetjük, hogy láncolt listaként minden helyfoglalási egység tartalmazza a rákövetkező címét. Ha a fájlok egymást követő szektorokban vannak, akkor könnyű megállapítani a fájlok kezdőcímét és méretét, viszont nehezen - vagy egyáltalán nem - lehet bővíteni a fájlok méretét. A második megoldás esetében, akkor fájlméretet könnyen változtathatjuk. Az operációs rendszernek nyomon kell követnie a szabad és a lefoglalt blokkokat. Az egyik megoldás, hogy lyukakat egy listára fűzzük. Ezt a listát szabad listának nevezzük. Előnye, hogy könnyű vele adott méretű lyukakat találni, hátránya, hogy a lista változó méretű. Egy másik megoldás, hogy helyfoglalási egységenként 1 bitet tartalmazó bittérképpel dolgozunk. 0

7 bit a szabad, az 1 bit a foglalt helyfoglalási egységeket jelöli. A bittérkép előnye, hogy mérete állandó és könnyű a helyfoglalási egységek állapotát szabadról foglaltra (és vissza) változtatni. Nehéz azonban meghatározni a szabad blokkok méretét. Könyvtárkezelő utasítások A számítógép szempontjából megkülönböztetünk online (emberi beavatkozás nélküli) és offline (csak emberi közreműködéssel hozzáférhető) információkat. Az utóbbira példa a CD-ROM. Az on-line információkat fájlokban tároljuk, amelyeket könyvtárakban csoportosíthatunk. A fájlokat, könyvtárakat különböző módon védhetjük, pl. jelszóval, vagy megadhatjuk, hogy bizonyos felhasználók milyen műveleteket végezhetnek a fájlon. A párhuzamos feldolgozás virtuális utasításai Bizonyos számításokat két vagy több párhuzamos processzusként a legkényelmesebb végrehajtani. A párhuzamos processzusoknak előnye még, hogy ezáltal csökkenthető a végrehajtási idő. A párhuzamos processzusok végrehajtásához viszont virtuális utasításokra van szükség. Több CPU-s gépeken a processzusokat egy-egy CPU-hoz rendelhetjük. Az egy CPU-s gépeken a párhuzamos végrehajtást időosztással szimulálják. Az a) ábra párhuzamos processzusokat mutat be, a b) ábrán három processzus időosztással történő végrehajtása látható

8 Processzusok létrehozása A végrehajtandó programok mindig valamilyen processzus részeként futnak. Ez a processzus a többihez hasonlóan állapottal és azzal a címtérrel jellemezhető, melyen keresztül a program adatai elérhetők. Az állapot minimálisan a programszámlálót, a programstátusz szót, a veremmutatót és az általános regisztereket tartalmazza. A legtöbb modern operációs rendszer megengedi a processzusok dinamikus létrehozását és befejezését. Ehhez külön rendszerhívások kellenek. A rendszerhívás vagy csak egyszerű másolatot készít a hívóról, vagy megengedheti azt is, hogy a hívó állítsa be az állapotát. Néha a létrehozó "szülő" processzus teljesen vagy részben ellenőrzése alatt tarthatja a létrehozott "gyerek" processzust. A párhuzamosan futó processzusok feladataikat sokszor csak úgy képesek megoldani, ha kommunikálnak és működésüket szinkronizálják. A Java program szálakat használ a processzusok szimulálására. A szálak processzusokhoz hasonlítanak, azzal a kivétellel, hogy ugyanazon Java programhoz tartozó szálak ugyanazon címtartományban futnak. Ha egy gépben több CPU van, akkor minden szál másik CPU-n futhat. Ha csak egy CPU-van, akkor a párhuzamos végrehajtást időosztással szimulálják. A processzusok szinkronizációját és versengését az operációs rendszer két nemnegatív egész változóval, a szemaforokkal irányítja. A szemafor műveletek lényeges tulajdonsága oszthatatlanságuk. Miután egy művelet végrehajtása megkezdődött, a szemafort egyetlen másik processzus sem használhatja, amíg az első processzus be nem fejezte a műveletet, vagy nem tért "alvó" állapotba.

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

Számítógép architektúrák Számítógép architektúrák Számítógépek felépítése Digitális adatábrázolás Digitális logikai szint Mikroarchitektúra szint Gépi utasítás szint Operációs rendszer szint Assembly nyelvi szint Probléma orientált

Részletesebben

Problémák. Lehet hogy a program nem fér be a memóriába Mozgatás diszkre és vissza A programok lokalitásának elve

Problémák. Lehet hogy a program nem fér be a memóriába Mozgatás diszkre és vissza A programok lokalitásának elve Virtuális memória 1 Problémák Lehet hogy a program nem fér be a memóriába Mozgatás diszkre és vissza A programok lokalitásának elve A program rövid idő alatt csak kis részét használja a memóriának Biztonság

Részletesebben

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

Máté: Számítógép architektúrák 2010.12.01. Máté: Számítógép architektúrák... A feltételes ugró utasítások eldugaszolják a csővezetéket Feltételes végrehajtás (5.5 5. ábra): Feltételes végrehajtás Predikáció ió C pr. rész Általános assembly Feltételes

Részletesebben

Dr. Illés Zoltán zoltan.illes@elte.hu

Dr. Illés Zoltán zoltan.illes@elte.hu Dr. Illés Zoltán zoltan.illes@elte.hu Operációs rendszerek kialakulása Op. Rendszer fogalmak, struktúrák Fájlok, könyvtárak, fájlrendszerek Folyamatok Folyamatok kommunikációja Kritikus szekciók, szemaforok.

Részletesebben

Fábián Zoltán Hálózatok elmélet

Fábián Zoltán Hálózatok elmélet Fábián Zoltán Hálózatok elmélet Fizikai memória Félvezetőkből előállított memóriamodulok RAM - (Random Access Memory) -R/W írható, olvasható, pldram, SDRAM, A dinamikusan frissítendők : Nagyon rövid időnként

Részletesebben

9. Virtuális memória kezelés

9. Virtuális memória kezelés 9. Virtuális memória kezelés Háttér Igény szerinti (kényszer) lapozás A kényszer lapozás teljesítménye Laphelyettesítési algoritmusok Frame-k allokálása Vergôdés (csapkodás, thrashing) Kényszer szegmentálás

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

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

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

Processzus. Operációs rendszerek MINB240. Memória gazdálkodás. Operációs rendszer néhány célja. 5-6-7. előadás Memóriakezelés Processzus Operációs rendszerek MINB40 5-6-7. előadás Memóriakezelés Egy vagy több futtatható szál Futáshoz szükséges erőforrások Memória (RAM) Program kód (text) Adat (data) Különböző bufferek Egyéb Fájlok,

Részletesebben

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot

Részletesebben

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

Máté: Számítógép architektúrák Rekurzív eljárások megvalósításához veremre van szükség. Minden hívás esetén az eljárás paramétereit a verembe kell tenni, és ott kell elhelyezni a lokális változókat is! Eljárás prológus: a régi verem

Részletesebben

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

Számítógép Architektúrák A virtuális memória Horváth Gábor 2016. március 30. Budapest docens BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu Virtuális tárkezelés Motiváció: Multitaszking környezet Taszkok

Részletesebben

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek Tömb Ugyanolyan típusú elemeket tárol A mérete előre definiált kell legyen és nem lehet megváltoztatni futás során Legyen n a tömb mérete. Ekkor:

Részletesebben

Bevezetés a programozásba. 5. Előadás: Tömbök

Bevezetés a programozásba. 5. Előadás: Tömbök Bevezetés a programozásba 5. Előadás: Tömbök ISMÉTLÉS Specifikáció Előfeltétel: milyen körülmények között követelünk helyes működést Utófeltétel: mit várunk a kimenettől, mi az összefüggés a kimenet és

Részletesebben

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

Operációs rendszerek. Az NT memóriakezelése Operációs rendszerek MS Windows NT (2000) memóriakezelés Az NT memóriakezelése 32-bites virtuális memóriakezelés: 4 GB-os címtartomány, alapesetben: a fels! 2 GB az alkalmazásoké, az alsó 2 GB az OPR-é.

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

Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30.

Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30. Online algoritmusok Algoritmusok és bonyolultságuk Horváth Bálint 2018. március 30. Horváth Bálint Online algoritmusok 2018. március 30. 1 / 28 Motiváció Gyakran el fordul, hogy a bemenetet csak részenként

Részletesebben

8. Memória management

8. Memória management 8. Memória management Háttér Logikai és fizikai címtér Swapping Folytonos allokálás Lapozás Szegmentáció Szegmentáció lapozással 101 Háttér Az számítógép (processzor) kapacitásának jobb kihasználása megköveteli,

Részletesebben

Memóriakezelés (Memory management) folytatás Virtuális memória és kezelése

Memóriakezelés (Memory management) folytatás Virtuális memória és kezelése 1 Memóriakezelés (Memory management) folytatás Virtuális memória és kezelése Alapok (lapok, csere, hibák, címszámítás) Lapkiosztási elvek Lapcsere stratégiák A programozó szerepe a laphibák számának csökkenésében

Részletesebben

találhatók. A memória-szervezési modell mondja meg azt, hogy miként

találhatók. A memória-szervezési modell mondja meg azt, hogy miként Memória címzési módok Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről) a program utasításai illetve egy utasítás argumentumai a memóriában találhatók. A memória-szervezési

Részletesebben

Digitális rendszerek. Utasításarchitektúra szintje

Digitális rendszerek. Utasításarchitektúra szintje Digitális rendszerek Utasításarchitektúra szintje Utasításarchitektúra Jellemzők Mikroarchitektúra és az operációs rendszer közötti réteg Eredetileg ez jelent meg először Sokszor az assembly nyelvvel keverik

Részletesebben

Digitális rendszerek. Mikroarchitektúra szintje

Digitális rendszerek. Mikroarchitektúra szintje Digitális rendszerek Mikroarchitektúra szintje Mikroarchitektúra Jellemzők A digitális logika feletti szint Feladata az utasításrendszer-architektúra szint megalapozása, illetve megvalósítása Példa Egy

Részletesebben

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

Számítógép felépítése Alaplap, processzor Számítógép felépítése Az alaplap A számítógép teljesítményét alapvetően a CPU és belső busz sebessége (a belső kommunikáció sebessége), a memória mérete és típusa, a merevlemez sebessége

Részletesebben

8. gyakorlat Pointerek, dinamikus memóriakezelés

8. gyakorlat Pointerek, dinamikus memóriakezelés 8. gyakorlat Pointerek, dinamikus memóriakezelés Házi ellenőrzés Egy számtani sorozat első két tagja A1 és A2. Számítsa ki a sorozat N- dik tagját! (f0051) Egy mértani sorozat első két tagja A1 és A2.

Részletesebben

Programozás alapjai. 10. előadás

Programozás alapjai. 10. előadás 10. előadás Wagner György Általános Informatikai Tanszék Pointerek, dinamikus memóriakezelés A PC-s Pascal (is) az IBM PC memóriáját 4 fő részre osztja: kódszegmens adatszegmens stackszegmens heap Alapja:

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

5. SOR. Üres: S Sorba: S E S Sorból: S S E Első: S E

5. SOR. Üres: S Sorba: S E S Sorból: S S E Első: S E 5. SOR A sor adatszerkezet is ismerős a mindennapokból, például a várakozási sornak számos előfordulásával van dolgunk, akár emberekről akár tárgyakról (pl. munkadarabokról) legyen szó. A sor adattípus

Részletesebben

Egyirányban láncolt lista

Egyirányban láncolt lista Egyirányban láncolt lista A tárhely (listaelem) az adatelem értékén kívül egy mutatót tartalmaz, amely a következő listaelem címét tartalmazza. A láncolt lista első elemének címét egy, a láncszerkezeten

Részletesebben

Adatszerkezetek 1. Dr. Iványi Péter

Adatszerkezetek 1. Dr. Iványi Péter Adatszerkezetek 1. Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot kódoltan tároljuk

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

Mutatók és mutató-aritmetika C-ben március 19.

Mutatók és mutató-aritmetika C-ben március 19. Mutatók és mutató-aritmetika C-ben 2018 március 19 Memória a Neumann-architektúrában Neumann-architektúra: a memória egységes a címzéshez a természetes számokat használjuk Ugyanabban a memóriában van:

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

C programozási nyelv Pointerek, tömbök, pointer aritmetika

C programozási nyelv Pointerek, tömbök, pointer aritmetika C programozási nyelv Pointerek, tömbök, pointer aritmetika Dr. Schuster György 2011. június 16. C programozási nyelv Pointerek, tömbök, pointer aritmetika 2011. június 16. 1 / 15 Pointerek (mutatók) Pointerek

Részletesebben

Memóriakezelés (Memory management)

Memóriakezelés (Memory management) 1 Memóriakezelés (Memory management) Háttér, alapok Logikai és fizikai címtér Valós címzésű menedzselés Partíciók Szabad/foglalt partíciók kezelése 2 Háttér, alapok Az számítógép (processzor) kapacitásának

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

C++ programozási nyelv

C++ programozási nyelv C++ programozási nyelv Gyakorlat - 13. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. december A C++ programozási nyelv Soós Sándor 1/10 Tartalomjegyzék Objektumok

Részletesebben

A 32 bites x86-os architektúra regiszterei

A 32 bites x86-os architektúra regiszterei Memória címzési módok Jelen nayagrészben az Intel x86-os architektúrára alapuló 32 bites processzorok programozását tekintjük. Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről)

Részletesebben

sallang avagy Fordítótervezés dióhéjban Sallai Gyula

sallang avagy Fordítótervezés dióhéjban Sallai Gyula sallang avagy Fordítótervezés dióhéjban Sallai Gyula Az előadás egy kis példaprogramon keresztül mutatja be fordítók belső lelki világát De mit is jelent, az hogy fordítóprogram? Mit csinál egy fordító?

Részletesebben

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés. Szekvenciális fájlkezelés Fájlok használata

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés. Szekvenciális fájlkezelés Fájlok használata Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 4. gyakorlat PLanG: 2011.10.04. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Fájlok

Részletesebben

Adatbázis és szoftverfejlesztés elmélet

Adatbázis és szoftverfejlesztés elmélet Adatbázis és szoftverfejlesztés elmélet Témakör 4. Összefoglalás 1. A kódolás eszközei Általános szövegszerkesztő Programozói szövegszerkesztő Fejlesztői környezet Vizuális fejlesztői környezet Általános

Részletesebben

Programok, statikus linkelés

Programok, statikus linkelés Memória kezelés 1 Programok, statikus linkelés Rendszer könyvtár, mint bármelyik másik tárgykód (object file) Előny Egyszerű Nincs verzió probléma, program és library illeszkedik Hátrány Nagy bináris kód

Részletesebben

10. gyakorlat Struktúrák, uniók, típusdefiníciók

10. gyakorlat Struktúrák, uniók, típusdefiníciók 10. gyakorlat Struktúrák, uniók, típusdefiníciók Házi - (f0218) Olvass be 5 darab maximum 99 karakter hosszú szót úgy, hogy mindegyiknek pontosan annyi helyet foglalsz, amennyi kell! A sztringeket írasd

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

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 4. gyakorlat PLanG: 2011.10.04. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Fájlok

Részletesebben

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix 2. Adattípusonként különböző regisztertér Célja: az adatfeldolgozás gyorsítása - különös tekintettel a lebegőpontos adatábrázolásra. Szorzás esetén karakterisztika összeadódik, mantissza összeszorzódik.

Részletesebben

Operációs Rendszerek II. 5. előadás

Operációs Rendszerek II. 5. előadás Operációs Rendszerek II. 5. előadás Virtuális memóriakezelés Megjelenésekor komoly viták zajlottak a megoldás hatékonyságáról A (nem túl jelentős) teljesítmény csökkenésért cserébe jelentős előnyök: a

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

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer 1 Fájl rendszer Terminológia Fájl és könyvtár (mappa) koncepció Elérési módok Fájlattribútumok Fájlműveletek ----------------------------------------- Könyvtár szerkezet -----------------------------------------

Részletesebben

Utolsó módosítás:

Utolsó módosítás: Utolsó módosítás:2010. 09. 15. 1 2 Kicsit konkrétabban: az utasítás hatására a belső regiszterek valamelyikének értékét módosítja, felhasználva regiszter értékeket és/vagy kívülről betöltött adatot. A

Részletesebben

Bonyolultságelmélet. Thursday 1 st December, 2016, 22:21

Bonyolultságelmélet. Thursday 1 st December, 2016, 22:21 Bonyolultságelmélet Thursday 1 st December, 2016, 22:21 Tárbonyolultság A futásidő mellett a felhasznált tárterület a másik fontos erőforrás. Ismét igaz, hogy egy Ram-program esetében ha csak a használt

Részletesebben

1. Jelölje meg az összes igaz állítást a következők közül!

1. Jelölje meg az összes igaz állítást a következők közül! 1. Jelölje meg az összes igaz állítást a következők közül! a) A while ciklusban a feltétel teljesülése esetén végrehajtódik a ciklusmag. b) A do while ciklusban a ciklusmag után egy kilépési feltétel van.

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

Operációs rendszerek 1. 8. előadás Multiprogramozott operációs rendszerek

Operációs rendszerek 1. 8. előadás Multiprogramozott operációs rendszerek Operációs rendszerek 1. 8. előadás Multiprogramozott operációs rendszerek Soós Sándor Nyugat-magyarországi Egyetem Faipari Mérnöki Kar Informatikai és Gazdasági Intézet E-mail: soossandor@inf.nyme.hu 2011.

Részletesebben

ALAPOK. 0 és 255 közé eső számértékek tárolására. Számértékek, például távolságok, pontszámok, darabszámok.

ALAPOK. 0 és 255 közé eső számértékek tárolására. Számértékek, például távolságok, pontszámok, darabszámok. ADATBÁZIS-KEZELÉS ALAPOK Főbb Adattípusok: Igen/Nem Bájt Ez az adattípus logikai adatok tárolására alkalmas. A logikai adatok mindössze két értéket vehetnek fel. (Igen/Nem, Igaz/Hamis, Férfi/Nő, Fej/Írás

Részletesebben

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző

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

A programozás alapjai 1 Rekurzió

A programozás alapjai 1 Rekurzió A programozás alapjai Rekurzió. előadás Híradástechnikai Tanszék - preorder (gyökér bal gyerek jobb gyerek) mentés - visszaállítás - inorder (bal gyerek gyökér jobb gyerek) rendezés 4 5 6 4 6 7 5 7 - posztorder

Részletesebben

Adatelérés és memóriakezelés

Adatelérés és memóriakezelés Adatelérés és memóriakezelés Jelen nayagrészben az Intel x86-os architektúrára alapuló 32 bites processzorok programozását tekintjük. Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésrő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

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek Programozás alapjai II. (7. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2016.04.05. - 1

Részletesebben

Adatszerkezetek 2. Dr. Iványi Péter

Adatszerkezetek 2. Dr. Iványi Péter Adatszerkezetek 2. Dr. Iványi Péter 1 Hash tábla A bináris fáknál O(log n) a legjobb eset a keresésre. Ha valamilyen közvetlen címzést használunk, akkor akár O(1) is elérhető. A hash tábla a tömb általánosításaként

Részletesebben

Amortizációs költségelemzés

Amortizációs költségelemzés Amortizációs költségelemzés Amennyiben műveleteknek egy M 1,...,M m sorozatának a futási idejét akarjuk meghatározni, akkor egy lehetőség, hogy külön-külön minden egyes művelet futási idejét kifejezzük

Részletesebben

Emlékeztető: a fordítás lépései. Szimbólumtábla-kezelés. Információáramlás. Információáramlás. Információáramlás.

Emlékeztető: a fordítás lépései. Szimbólumtábla-kezelés. Információáramlás. Információáramlás. Információáramlás. Emlékeztető: a fordítás lépései Forrás-kezelő (source handler) Szimbólumtábla-kezelés Fordítóprogramok előadás (A, C, T szakirány) Lexikális elemző (scanner) Szintaktikus elemző (parser) Szemantikus elemző

Részletesebben

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak

Részletesebben

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája Adatszerkezetek Összetett adattípus Meghatározói: A felvehető értékek halmaza Az értékhalmaz struktúrája Az ábrázolás módja Műveletei Adatszerkezet fogalma Direkt szorzat Minden eleme a T i halmazokból

Részletesebben

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba Programozás alapjai Ha egy adott adattáblára Ctrl + G t nyomunk,

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

Láncolt lista. az itt adott nevet csak a struct deklaráción belül használjuk

Láncolt lista. az itt adott nevet csak a struct deklaráción belül használjuk Láncolt lista int szam char szoveg[10] következő elemre mutató pointer int szam char szoveg[10] következő elemre mutató pointer elem elem elem int szam char szoveg[10] következő elemre mutató pointer A

Részletesebben

Adatszerkezetek 1. előadás

Adatszerkezetek 1. előadás Adatszerkezetek 1. előadás Irodalom: Lipschutz: Adatszerkezetek Morvay, Sebők: Számítógépes adatkezelés Cormen, Leiserson, Rives, Stein: Új algoritmusok http://it.inf.unideb.hu/~halasz http://it.inf.unideb.hu/adatszerk

Részletesebben

file:///d:/okt/ad/jegyzet/ad1/b+fa.html

file:///d:/okt/ad/jegyzet/ad1/b+fa.html 1 / 5 2016. 11. 30. 12:58 B+ fák CSci 340: Database & Web systems Home Syllabus Readings Assignments Tests Links Computer Science Hendrix College Az alábbiakban Dr. Carl Burch B+-trees című Internetes

Részletesebben

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

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Multiplexer (MPX) A multiplexer egy olyan áramkör, amely több bemeneti adat közül a megcímzett bemeneti adatot továbbítja a kimenetére.

Részletesebben

A szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok

A szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok A szemantikus elemzés helye Forrásprogram Forrás-kezelő (source handler) Lexikális elemző (scanner) A szemantikus elemzés feladatai Fordítóprogramok előadás (A, C, T szakirány) Szintaktikus elemző (parser)

Részletesebben

OOP. #6 (VMT és DMT) v :33:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.

OOP. #6 (VMT és DMT) v :33:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. OOP #6 (VMT és DMT) v1.0 2003.03.07. 19:33:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_06-1 - E jegyzet másolata

Részletesebben

A processzor hajtja végre a műveleteket. összeadás, szorzás, logikai műveletek (és, vagy, nem)

A processzor hajtja végre a műveleteket. összeadás, szorzás, logikai műveletek (és, vagy, nem) 65-67 A processzor hajtja végre a műveleteket. összeadás, szorzás, logikai műveletek (és, vagy, nem) Két fő része: a vezérlőegység, ami a memóriában tárolt program dekódolását és végrehajtását végzi, az

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

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

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök Programozás alapjai II. (8. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT Speciális adatszerkezetek A helyes adatábrázolás választása, a helyes adatszerkezet

Részletesebben

Beágyazott rendszerek fejlesztése laboratórium DSP fejlesztési technológiák

Beágyazott rendszerek fejlesztése laboratórium DSP fejlesztési technológiák BME-MIT Beágyazott rendszerek fejlesztése laboratórium DSP fejlesztési technológiák Bevezető mérési feladatok a Beágyazott operációs rendszer alkalmazása jelfeldolgozó processzoron című altémához Orosz

Részletesebben

Hatékony memóriakezelési technikák. Smidla József Operációkutatási Laboratórium január 16.

Hatékony memóriakezelési technikák. Smidla József Operációkutatási Laboratórium január 16. Hatékony memóriakezelési technikák Smidla József Operációkutatási Laboratórium 2014. január 16. 1 Tartalom A cache áthidalása Cache optimalizálás Adatszerkezetek tervezése A programkód szerkezete Prefetch

Részletesebben

Mikroprocesszor CPU. C Central Központi. P Processing Számító. U Unit Egység

Mikroprocesszor CPU. C Central Központi. P Processing Számító. U Unit Egység Mikroprocesszor CPU C Central Központi P Processing Számító U Unit Egység A mikroprocesszor általános belső felépítése 1-1 BUSZ Utasítás dekóder 1-1 BUSZ Az utasítás regiszterben levő utasítás értelmezését

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

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi. Függvények 1.Függvények...1 1.1.A függvény deníció szintaxisa... 1..Függvények érték visszatérítése...3 1.3.Környezettel kapcsolatos kérdések...4 1.4.Lokális változók használata...4 1.5.Rekurzív hívások...5.kód

Részletesebben

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT Eddig Tetszőleges

Részletesebben

Digitális technika VIMIAA01 9. hét

Digitális technika VIMIAA01 9. hét BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT Eddig Tetszőleges

Részletesebben

Fájlszervezés. Adatbázisok tervezése, megvalósítása és menedzselése

Fájlszervezés. Adatbázisok tervezése, megvalósítása és menedzselése Fájlszervezés Adatbázisok tervezése, megvalósítása és menedzselése Célok: gyors lekérdezés, gyors adatmódosítás, minél kisebb tárolási terület. Kezdetek Nincs általánosan legjobb optimalizáció. Az egyik

Részletesebben

Programozás alapjai II. (7. ea) C++

Programozás alapjai II. (7. ea) C++ Programozás alapjai II. (7. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2016.04.05. - 1

Részletesebben

Online migrációs ütemezési modellek

Online migrációs ütemezési modellek Online migrációs ütemezési modellek Az online migrációs modellekben a régebben ütemezett munkák is átütemezhetőek valamilyen korlátozott mértékben az új munka ütemezése mellett. Ez csökkentheti a versenyképességi

Részletesebben

Programozás alapjai 6. előadás. Wagner György Általános Informatikai Tanszék

Programozás alapjai 6. előadás. Wagner György Általános Informatikai Tanszék Programozás alapjai 6. előadás Wagner György Általános Informatikai Tanszék Record A valós életben a nyilvántartásra kerülő adatok nem azonos típusúak. Pl.: Név Cím Telefon GySz Fiz Kis Béla Miskolc Török

Részletesebben

Szövegek C++ -ban, a string osztály

Szövegek C++ -ban, a string osztály Szövegek C++ -ban, a string osztály A string osztály a Szabványos C++ könyvtár (Standard Template Library) része és bár az objektum-orientált programozásról, az osztályokról, csak később esik szó, a string

Részletesebben

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

Számítógép Architektúrák Cache memória Horváth Gábor 2016. március 30. Budapest docens BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu Már megint a memória... Mindenről a memória tehet. Mert lassú. A virtuális

Részletesebben

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba Inheritance beállítás Ez egy olyan beállítás, amely a modell alapján

Részletesebben

Adatbázis rendszerek Gy: Az adattárolás fejlődése

Adatbázis rendszerek Gy: Az adattárolás fejlődése Adatbázis rendszerek 1. 2. Gy: Az adattárolás fejlődése 1/22 B ITv: MAN 2017.09.17 Papír alapú adattárolás Lyukkártya 2/22 Probléma: 3/22 Papír alapú adattárolás Lyukszalag 4/22 Papír alapú adattárolás

Részletesebben

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

Számítógépek felépítése, alapfogalmak 2. előadás Számítógépek felépítése, alapfogalmak Lovas Szilárd, Krankovits Melinda SZE MTK MSZT kmelinda@sze.hu B607 szoba Nem reprezentatív felmérés kinek van ilyen számítógépe? 2 Nem reprezentatív felmérés

Részletesebben

DSP architektúrák dspic30f család memória kezelése

DSP architektúrák dspic30f család memória kezelése DSP architektúrák dspic30f család memória kezelése Az adatmemória Az adatmemória 16 bites, két külön memóriazóna van kiépítve, az X és az Y memória, mindkettőnek címgeneráló egysége és adat sínrendszere

Részletesebben

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban OpenCL alapú eszközök verifikációja és validációja a gyakorlatban Fekete Tamás 2015. December 3. Szoftver verifikáció és validáció tantárgy Áttekintés Miért és mennyire fontos a megfelelő validáció és

Részletesebben

Mintavételes szabályozás mikrovezérlő segítségével

Mintavételes szabályozás mikrovezérlő segítségével Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés

Részletesebben

7. Virtuális tárkezelés. Operációs rendszerek. Bevezetés. Motiváció 2. Motiváció 1. 7.1. A virtuális tárkezelés általános elvei

7. Virtuális tárkezelés. Operációs rendszerek. Bevezetés. Motiváció 2. Motiváció 1. 7.1. A virtuális tárkezelés általános elvei 7. Virtuális tárkezelés Operációs rendszerek 7. Virtuális tárkezelés Simon Gyula Bevezetés A virtuális tárkezelés általános elvei Lapcsere stratégiák Folyamatok lapigénye, lapok allokációja Egyéb tervezési

Részletesebben

Az optimális megoldást adó algoritmusok

Az optimális megoldást adó algoritmusok Az optimális megoldást adó algoritmusok shop ütemezés esetén Ebben a fejezetben olyan modellekkel foglalkozunk, amelyekben a munkák több műveletből állnak. Speciálisan shop ütemezési problémákat vizsgálunk.

Részletesebben

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015 Objektumorientált programozás Pál László Sapientia EMTE, Csíkszereda, 2014/2015 9. ELİADÁS Kivételkezelés (Exception handling) 2 Mi a kivétel (exception)? A kivétel, olyan hibás állapot vagy esemény, amely

Részletesebben