Informatika 1

A tantárgy angol neve: Informatics 1

Adatlap utolsó módosítása: 2024. január 25.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar
Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIIIAB09 4 4/0/0/f 5  
3. A tantárgyfelelős személy és tanszék Dr. Pilászy György,
4. A tantárgy előadója

Dr. Pilászy György, BME-IIT
Dr. Horváth Tamás, BME-IIT
Dr. Rácz György, BME-IIT

5. A tantárgy az alábbi témakörök ismeretére épít Digitális technika 2, Programozás alapjai 1 
6. Előtanulmányi rend
Kötelező:
(NEM TárgyTeljesítve_Képzésen("BMEVIIIAB08") )

ÉS

(( (EgyenCsoportTagja("VILL - 2022 - MINTATANTERV HALLGATÓI") VAGY
EgyenCsoportTagja("5N-A7HALAP2022") VAGY
EgyenCsoportTagja("VILL - 2022ENG - MINTATANTERV HALLGATÓI"))
ÉS
TárgyTeljesítve("BMEVIIIAA05"))

VAGY

( (EgyenCsoportTagja("2014_tanterv_hallgatoi_vill") VAGY
EgyenCsoportTagja("2014_tanterv_hallgatoi_vill_eng"))
ÉS
(TárgyTeljesítve("BMEVIIIAA02") VAGY
TárgyTeljesítve("BMEVIIIAA06") VAGY
TárgyTeljesítve("BMEVIIIAA05") ) ))

VAGY
(EgyenCsoportTagja("VILL régi tanterv")
ÉS
TárgyTeljesítve("BMEVIIIA106") )

A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

Ajánlott:
Digitális technika 2
7. A tantárgy célkitűzése Átfogó ismeretek nyújtása és szakmai alapozás a számítógépek felépítése, működése, számítógép-architektúrák, operációs rendszerek funkciói, belső szerkezete, működési elvei területén. 
8. A tantárgy részletes tematikája
  1. 1. Tárgykövetelmények, Az előtanulmányok során megismert fogalmak rövid összefoglalása. Neumann modell, Harvard és módosított Harvard architektúra. Operációs rendszerek kialakulása, tipikus szolgáltatások, feladatok. Az architektúrák fejlesztési igényei: több feladat egyidejű végrehajtása, memória kezelés gyorsítása, védelmi feladatok, az operációs rendszerek megfelelő működéséhez szükséges speciális hardver követelmények. 

  1. 2. Számítógépek memóriakezelése: Hierarchikus memóriafelépítés, sebesség- és tárkapacitási problémák és azok lehetséges megoldása. Cache-szervezés, lokalitási elvek, blokkcsere stratégiák (LRU, LFU, FIFO, Random), lokalitástudatos programozás (egyszerű 2D tömb kezelésén keresztül), cache-szemetelés problémája. 
    DDR-SDRAM memóriák felépítése, belső szervezése (ismétlés), blokkbetöltés gyorsítása és ennek illeszkedése a cache blokkbetöltéséhez, 
    Cache kezeléshez kapcsolódó példák. 

  1. 3. Virtuális tárkezelés. címfordítás, MMU, TLB fogalma, egy- és többszintű laptáblák. A cache elhelyezkedése virtuális tárkezelés esetén (TLB előtt, vagy után). 
    Operációs rendszer memóriakezelése, hardver együttműködése a virtuális tárkezelésben, találati arány, effektív elérési idő, vergődés fogalma. Lapcsere algoritmusok, tárgazdálkodás, laphibagyakoriság-mérésen alapuló tárgazdálkodás. 

  1. 4. Háttértárolók, mágneses adattárolás elve, kódolás szerepe, SSD meghajtók működése, vezérlő egység feladatai, meghajtó élettartama. Szabványos csatoló felületek (SATA, SCSI, SAS), parancsok. 
    Lemezkezelés és fájlrendszer, lemezkezelő réteg feladatai. Kapcsolat a virtuális tárkezeléssel (blokkmérettel).  
    Fájl és könyvtár mint adatszerkezet, rajtuk végezhető műveletek. 

  1. 5. Perifériakezelés, külön I/O utasítások, memóriába ágyazott I/O, adatátvitel irányítása, programmal ellenőrzött készenlét, megszakításkezelés. Processzor tehermentesítése DMA és I/O processzor alkalmazásával. Elterjedten alkalmazott összeköttetések, busz, soros adatátvitel (A digitális technika 2 ismeretekből kiindulva kitekintés a számítógépekben alkalmazott megoldásokra). 

  1. 6. Egy- és többprocesszoros rendszerek adatátviteli megoldásai, hierarchikus sínrendszerek. Arbitráció szerepe, arbitrációs megoldások (centralizált, decentralizált megoldások), PCI, PCI-express, USB csatoló felületek. USB használata (készülékek csatlakoztatása, leíró szerepe, automatikus driver betöltés/keresés). 
    Eszköz-meghajtók szerepe. Készülékfüggetlen hívási felület kialakítása. 

  1. 7. Utasítás architektúra (ISA) fogalma, utasításkészlet kialakítási szempontjai, regiszterek, címzési módok (digitális technika 2-ből indulva, ahhoz hasonlítva más processzoroknál megjelenő egyéb lehetőségek rövid tárgyalása), kompatibilitási problémák. Magasszintű nyelvek támogatása: stack kezelés, adatszerkezetek kezelése (indexelt címzés, bázisrelatív címzés, többkomponensű címzés alkalmazása). Különböző utasításarchitektúrák összehasonlítása (PIC24 (digitális technika 2-ből), x86-64, MIPS, ARM,) Összehasonlítási szempontok: regiszterkészlet, címzési módok, gépikód felépítése. CISC és RISC fogalma, sajátosságai. 

  1. 8. Utasítások számának és bonyolultságának hatása a teljesítményre, CISC-RISC processzorok. ALU szervezés kérdései, kapcsolat az utasításrendszerekkel. 
    Utasításvégrehajtás gyorsítása, órajel-frekvencia, gépi ciklusok számának csökkentése, adatszélesség növelése. 
    Feldolgozás párhuzamosítása processzoron belül, pipe-line elv, utasítások egymásra hatása (feldolgozási, adat és vezérlés (procedurális) egymásra hatás, adat előre csatolás), soron kívüli végrehajtás. Szuperskalár elv. 

  1. 9. Többfelhasználós rendszerek, multiprogramozott, multiprocesszoros rendszerek, folyamatok, konkurens (párhuzamos) programvégrehajtás. Védelmi megoldások (x86-64, ARM) 
    Folyamatok ütemezése, sorban állási modellek, CPU ütemezés. 

  1. 10. Közös memóriás együttműködés, szinkronizációs alapesetek, kölcsönös kizárás, precedencia. Szoftver és hardvertámogatás szükségessége (test-and set, read-modify-write, compare-and-swap), tipikus megvalósításai. Üzenetváltással történő együttműködés, pipe, mesage queue, signal handling. Szinkron és aszinkron kommunikáció. Rendszerhívás megvalósítása. 

  1. 11. Erőforráskezelési problémák: versenyhelyzet, holtpont, prioritásinverzió. Az éhezés fogalma. A holtpont felszámolása. Különböző erőforrások esetén használható holtpontkezelő stratégiák. A kommunikáció hibái. 

  1. 12. Mikrokontrollerek sajátosságai, erőforráskorlátok hatása az operációs rendszer szolgáltatásaira, fejlődési trendek, mikroprocesszoron/mikrokontrolleren futó operációs rendszerek. Valós idejű beágyazott rendszerek. Biztonságkritikus rendszerek speciális követelményei, azok hardveres és szoftveres teljesíthetősége. 
    Egyszerű ütemezés/taszkváltás bemutatása egy konkrét mikrokontrolleren. 

  1. 13. Virtualizáció fogalma, szerepe. Hardver támogatás I/O kezelés virtualizálásához. Konkrét példa bemutatása virtuális gép létrehozására. Felhő alapú rendszerek, az egyetemi felhő bemutatása esettanulmány formájában. 

9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) Heti 4 óra előadás 
10. Követelmények Szorgalmi időszakban: Két félévközi zárthelyi a Kari ütemezés szerint 
11. Pótlási lehetőségek Mindkét zárthelyi pótolható/javítható a pótlási héten.
12. Konzultációs lehetőségek Igény esetén, időpont egyeztetése után
13. Jegyzet, tankönyv, felhasználható irodalom

Elsősorban a tárgy honlapján közzétett segédanyagok.

 

JOHN L. HENESSY DAVID A. PATTERSON’S : Computer Architecture FIFTH EDITION (2011) ISBN-13: 9780123838728  

DAVID A. PATTERSON & JOHN L. HENNESSY : Computer Organization and Design, Revised Fourth Edition: The Hardware/Software Interface (2012) ISBN: 978-0-12-374750-1 

ANDREW S. TANENBAUM: Számítógép-architektúrák PANEM kiadó (2006) ISBN 9789635454570 

Gaál Tibor: Interfész technikák, Szak kiadó, 2010, ISBN 978-963-9863-13-2 

SILBERSCHATZ, GALVIN, GAGNE.: Operating system concepts, 10th edition, 2018. 

Kóczy A. - Kondorosi K. (szerk.) és mások: Operációs rendszerek mérnöki megközelítésben. Panem 2000.

14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra56
Félévközi készülés órákra42
Felkészülés zárthelyire40
Házi feladat elkészítése
Kijelölt írásos tananyag elsajátítása12
Vizsgafelkészülés 
Összesen150
15. A tantárgy tematikáját kidolgozta

Dr. Pilászy György 
Dr. Rácz György 

Dr. Horváth Tamás 

IMSc tematika és módszer A programban részt vevő hallgatóknak a tárgy honlapján, otthoni feldolgozásra további (a tananyag mélyebb megértését támogató) anyagokat teszünk közzé. 
IMSc pontozás

IMSc pontokat a hallgatók csak az írásbeli számonkéréseken (zárthelyiken) szerezhetnek. A pontszerzés lehetősége mindegyik zárthelyin adott. A pontszerzés feltételei: - A tárgy követelményeinek teljesítése során összesen 25 IMSc pont (IP) szerezhető. - Az IMSc pontokért a zárthelyin 2x6 extra pont (XP) szerezhető, amelyekért külön feladatokat kell megoldani. - Az IP-ok miatt kiírt extra feladatokért szerzett pontok az érdemjegyet nem befolyásolják. - IP abban az esetben szerezhető, ha a hallgató a tárgyból jeles osztályzatot ért el. A megszerzett IP-ok számítása az alábbiak alapján történik: IP = 1+2*XP Az IMSc pontok megszerzése a programban nem résztvevő hallgatók számára is biztosított.