K-INFO
HU
EN
Belépés

Operációs rendszerek B

Operating Systems
A tantárgyleírás hatályossága
Hatályosság kezdete:
2026. March 21.
Hatályosság vége:
Tantárgy neve (magyarul, angolul)
Operációs rendszerek B
Operating Systems
Tantárgykód BMEVIMIBA01
Tantárgyjelleg
Képzési szint
Kurzustípusok és óraszámok (heti/féléves)
Kurzustípus elmélet gyakorlat laboratóriumi gyakorlat
óraszám (heti) 2 0 3
jelleg (kapcsolt/önálló) kapcsolt
Tanulmányi teljesítmény/értékelés típusa vizsga
Tantárgy kreditértéke 6
Tantárgyfelelős
Mészáros Tamás Csaba
beosztás: egyetemi docens
Tantárgyat gondozó oktatási szervezeti egység
Mesterséges Intelligencia és Rendszertervezés Tanszék
Kar Villamosmérnöki és Informatikai Kar
Tantárgy weboldala https://www.mit.bme.hu/oktatas/targyak/vimiba01
Tantárgy elsődleges mintatantervi jellege
Közvetlen előkövetelmények – Erős előkövetelmény nincs
Közvetlen előkövetelmények – Gyenge előkövetelmény nincs
Közvetlen előkövetelmények – Párhuzamos előkövetelmény nincs
Közvetlen előkövetelmények – Mérföldkő előkövetelmény nincs
Közvetlen előkövetelmények – Kizáró feltétel nincs

Célkitűzés

Tantárgyprogram

Az előadások tematikája:

Előadás

Előadás anyaga

1.

Bevezetés: az operációs rendszer meghatározása, feladata, kialakulása, a hardverkörnyezet áttekintése. Az elterjedt operációs rendszerek áttekintése. A terület legfontosabb szabványai.

2.

Az operációs rendszer felépítése és működése: a kernel mint vezérlőprogram és erőforrás-allokátor, a felépítés alapelvei, moduláris és mikrokernelek, rendszerhívások működése, az operációs rendszer indulása és alapvető rendszerfolyamatai.

3.

Beágyazott operációs rendszerek: felépítésük, a rendszerindulás folyamata, valósidejű rendszerek, hardverkörnyezetek és alkalmazási példák, a beágyazott laborkörnyezet részletes bemutatása.

4.

Felhasználói felületek: grafikus és parancssori felületek felépítése és működése, shell programozás.

5.

Feladatkezelés: elvárások és jellemzők, a taszk fogalma és megvalósításai (folyamat és szál), életciklus és futási állapotok, programok adatterületei.

6.

Ütemezés: alapvető ütemezési algoritmusok, a Linux és a Windows ütemezője

7.

Memóriakezelés: a taszkok memóriatérképe, lapszervezésű virtuális memóriakezelés, hardver és szoftver címleképezés, teljesítménynövelő technikák, programozási példák.

8.

Kommunikáció: a taszkok közötti alapvető adatcsere és kooperációs megoldások ismertetése. Közös memórián (PRAM) alapuló módszerek, üzenetalapú kommunikáció. Gyakorlati példák: POSIX shmem, jelzések, üzenetsorok, csővezetékek, távoli eljáráshívás stb.

9.

Szinkronizáció: az operációs rendszerek szolgáltatásai együttműködő alkalmazások fejlesztésére, kölcsönös kizárás megvalósítása szemaforokkal, a holtpont fogalma és kezelése. Gyakorlati példák: POSIX szemaforok, test-and-set és compare-and-swap.

10.

Fájlrendszerek: alapfogalmak, létrehozás és hangolás, biztonsági mentés, Windows, Linux és Android könyvtárstruktúra, fájlok tulajdonságai, fájlok zárolása

11.

Tárolórendszerek: fájlrendszerek szervezése fizikai és virtuális tárolórendszerekben, LVM és RAID, elosztott tárolórendszerek: SAN, NAS és Ceph.

12.

Virtualizáció: alapfogalmak, hardver, szoftver és adatvirtualizáció, főbb fajtái (rendszer, folyamat és infrastruktúra), hosted és bare metal virtualizáció, IaaS, PaaS, SaaS, konténervirtualizáció és Docker.

 

 

A laborok tematikája:

Labor

A labor anyaga

L1.

Linux bevezető: telepítés, szolgáltatások beállítása (távoli elérés, webszerver), felhasználók és folyamatok kezelése.

L2.

Linux-alapú kisvállalati szerver beüzemelése, email- és fájlszerver, tűzfal, hozzáférés-szabályozás.

L3.

Linux-alapú webszerver beüzemelése egy példa alkalmazási feladaton (webshop) keresztül, webszerver, adatbázis és PHP telepítése. Teljesítménymérés.

W1.

Windows alapok: felhasználók és folyamatok kezelése, munkamenetek, alkalmazásbolt, fájlrendszerek kezelése, szolgáltatásmenedzsment.

W2.

Windows menedzsment: naplózás, menedzsment konzol, teljesítmény-monitorozás, memóriafigyelés, biztonsági házirend.

W3.

Windows szerver beüzemelése.

B1.

Ismerkedés a beágyazott operációs rendszerekkel, egy mintaalkalmazás telepítése és futtatása.

B2.

Szoftverfejlesztés beágyazott operációs rendszereken: a projekt felépítése, fordítása és telepítése.

B3.

Többszálú alkalmazások beágyazott környezetben: kommunikáció és szinkronizáció.

V1.

A virtualizáció alapjai labor: Vmware, VirtualBox, KVM- és felhőalapú (VPS) virtualizációs rendszerek alapismeretei gyakorlati példákon keresztül.

V2.

Konténervirtualizáció: docker konténerek létrehozása, telepítése és használata. Egy konténeralapú szolgáltatási környezet kialakítása (web- és adatbázis szerver, alkalmazásfuttató környezet).

V3.

Privát felhő: vállalati saját felhőalapú szolgáltatások kiépítése nyílt forráskódú szoftverek segítségével.

Az operációs rendszerek felépítésének, valamint alapvető működési mechanizmusainak megismerése (rendszerindulás, feladatkezelés, eseménykezelés, kommunikáció, fájl- és tárolórendszerek, virtualizáció és felhasználói felületek), valamint a menedzselésük alapvető eszközeinek és módszereinek gyakorlati szintű bemutatása. A tantárgyat teljesítő hallgató (K1) ismeri az operációs rendszerek alapvető felépítését és működési mechanizmusait, valamint a virtualizáció alapvető területeit és módszereit. (K2) érti a taszkok (folyamatok és szálak) végrehajtási módjait, az általuk végrehajtott rendszerhívások működését, az operációs rendszerek erőforrás-kezelési mechanizmusait, így az alapvető ütemezési algoritmusokat, a memóriakezelést valamint az I/O (tároló- és fájl-) rendszerek működését. Érti a beágyazott operációs rendszerek működési módját. (K3) ismeri és alkalmazni tudja az operációs rendszerek által támogatott alapvető kommunikációs mechanizmusokat (PRAM és üzenetalapú rendszerek), valamint ismeri a szinkronizáció alapvető formáit és képes az alapvető kölcsönös kizárási eszközök alkalmazására is. Képes Linux és Windows rendszerek alapvető menedzsment feladatainak ellátására (felhasználók létrehozása, alkalmazások telepítése), valamint virtualizációs eszközök (Vmware, VirtualBox és Docker) telepítésére és alapszintű alkalmazására.

Tanulmányi eredmények

Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:

Tudás

Nincsenek rögzített tanulási eredmények.

Képességek

Nincsenek rögzített tanulási eredmények.

Attitűd

Nincsenek rögzített tanulási eredmények.

Autonómia és felelősség

Nincsenek rögzített tanulási eredmények.

Oktatási módszertan

Az előadások alapvetően egy-egy terület elméleti bemutatására kerül sor, de emellett részletesen kidolgozott demonstrációkkal és gyakorlati példákkal igyekeznek érdekessé és könnyebben elsajátíthatóvá tenni a tananyagot. A demonstrációk részben az előadásokon is követhetők, de otthoni környezetben is könnyen megismételhetők. A laborokat az előadásokkal párhuzamosan tartjuk, önálló felkészülési anyaggal rendelkeznek, így különálló tanulási egységeket képeznek. A haladó jelzésű laborok a bevezető jellegű foglalkozások tananyagára is építenek, de ezen kívül az egyes foglalkozások között nincsenek kötöttségek. A laborgyakorlatok egy része online formában, aszinkron módon elvégezhető. Ezekhez órarendileg rögzített laboridőpontban konzultációs lehetőséget biztosítunk.  Az előadások anyagához kapcsolódóan otthoni fakultatív házi feladatokat is kiadunk, amelyek a tananyag jobb megértését segítik.

Tanulástámogató anyagok

Online források
Mészáros Tamás: Az operációs rendszerek alapjai; (elektronikus jegyzet, letölthető a kari Moodle-ben); Előadásvideók, demonstrációs anyagok a kari Moodle rendszerben; Kóczy-Kondorosi (szerk.): Operációs rendszerek mérnöki megközelítésben; Silberschatz-Galvin-Gagne: Operating System Concepts with Java; Tanenbaum-Woodhull: Operációs rendszerek, tervezés és implementáció; Russinovich-Solomon-Ionescu: Windows internals Part 1-2

A tantárgy teljesítéséhez ajánlott előzetes ismeretek

Tudás típusú kompetenciák
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
Hardver alapismeretek (a számítógép felépítése, CPU és MMU működése), programozási alapismeretek (egyszerű algoritmusok megértése és megvalósítása, lista- és gráfműveletek), a számításelmélet alapjai (a komplexitás fogalma).
Képesség típusú kompetenciák
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
Hardver alapismeretek (a számítógép felépítése, CPU és MMU működése), programozási alapismeretek (egyszerű algoritmusok megértése és megvalósítása, lista- és gráfműveletek), a számításelmélet alapjai (a komplexitás fogalma).
Általános szabályok
Követelmények: 1. A szorgalmi időszakban: a. A félév során a hallgatók egy zárthelyit írnak. A félév végi aláíráshoz a zárthelyi legalább elégséges szintű (40%) teljesítése szükséges. A zárthelyi két részből álló írásbeli teljesítményértékelés. A megfelelt szint eléréséhez az első rész min. 60%-os és a teljes zárthelyi min. 40%-os teljesítése szükséges. b. Az aláíráshoz szintén szükséges a laborfoglalkozások kétharmadának legalább "megfelelt" szintű teljesítése. A laborok teljesítését a mérésvezető "megfelelt" vagy "nem megfelelt" szintekkel értékeli. c. A fakultatív házi feladatok megoldása nem feltétele az aláírás megszerzésének. 2. A vizsgaidőszakban: A tantárgyhoz tartozó kreditpontok megszerzésének feltétele a legalább elégséges vizsgaeredmény. A vizsgára bocsáthatóság feltétele az aláírás megszerzése. A vizsga két részből álló írásbeli vizsga. Az elégséges vizsgához az első rész min. 60%-os és a második rész min. 40%-os teljesítése szükséges. A vizsgajegy számítása a vizsgával megegyező félévben aláírást szerző hallgatók számára a zárthelyi pontszám (1/3) és a vizsga pontszám (2/3) súlyozott átlagával történik, amelyhez hozzáadjuk a fakultatív házi feladatokra kapott pontszámot. Ez utóbbi nélkül is megszerezhető a jeles osztályzathoz szükséges pontszám. A korábbi félévben szerzett aláírás esetén csak a vizsgán szerzett pontszámot vesszük figyelembe a vizsgajegy kiszámításánál. Elővizsga: nincs Megajánlott jegy: kiváló teljesítményt nyújtó hallgatók számára megajánlott vizsgajegyet adunk a laborok, a zárthelyi és a fakultatív házi feladatok értékelése alapján. Pótlási lehetőségek: A zárthelyi pótlására a TVSZ-nek megfelelően egy alkalommal biztosítunk lehetőséget. Laboratóriumi gyakorlat nem pótolható.    
Teljesítményértékelési módszerek
Szorgalmi időszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Szorgalmi időszakban végzett teljesítményértékelések részaránya

Nincs megadva részarány.

Vizsgaidőszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Vizsgarészek részaránya

Nincs megadva részarány.

Érdemjegy megállapítása

Nincs megadva érdemjegy határ.

Jelenléti és részvételi követelmények

Nincs megadva jelenléti követelmény.

Javítás, ismétlés és pótlás különös szabályai

Nincs megadva.

Rövid leírás

Nincs megadva.

Részletes leírás

Nincs megadva.

Ajánlott tantárgyak

Nincs megadva.

A tantárgy elvégzéséhez szükséges tanulmányi munka

Nincs megadva munkaidő bontás.

Tantárgykövetelmények hatályossága
Tantárgykövetelmények hatályosságának kezdete:
Tantárgykövetelmények hatályosságának vége:
Tantervi elhelyezés

Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.