Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Informatika 1

    A tantárgy angol neve: Informatics 1

    Adatlap utolsó módosítása: 2016. november 28.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar
    BSc villamosmérnök alapképzés
    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIIIAB04 4 4/1/0/f 5  
    3. A tantárgyfelelős személy és tanszék Dr. Pilászy György, Irányítástechnika és Informatika Tanszék
    A tantárgy tanszéki weboldala https://www.iit.bme.hu/informatika-1
    4. A tantárgy előadója

    Dr. Horváth Tamás (magyar)
    Dr. Pilászy György (magyar)

    Csuka Barna (német)
    Dr. Urbancsek Tamás (német)

    Rácz György (angol)

    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ő:
    (TargyEredmeny("BMEVIIIAA02" , "jegy" , _ ) >= 2 VAGY
    TargyEredmeny("BMEVIIIA106" , "jegy" , _ ) >= 2 VAGY
    TargyEredmeny("BMEVIIIA108" , "jegy" , _ ) >= 2 )
    ÉS NEM ( TárgyEredmény( "BMEVIIIA202" , "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény("BMEVIIIA202", "FELVETEL", AktualisFelev()) > 0
    VAGY
    TárgyEredmény( "BMEVIIIAB08" , "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény("BMEVIIIAB08", "FELVETEL", AktualisFelev()) > 0)

    ÉS Training.Code=("5N-A7H")

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

    A kötelező előtanulmányi rendek grafikus formában itt láthatók.

    Ajánlott:


     

    7. A tantárgy célkitűzése

    Átfogó ismeretek nyújtása és szakmai alapozás a szakirányok számára a korszerű 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.

    A tárgy által nyújtott ismeretek birtokában a hallgatók képessé válnak konkrét számítógép-rendszerek és operációs rendszerek dokumentációinak gyors megértésére, üzemeltetési, konfigurálási, karbantartási feladatok gyors megtanulására.

    8. A tantárgy részletes tematikája

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

    Bevezetés, áttekintés. A számítógép felépítése, a Neumann modell elve. Moduláris és többprocesszoros kialakítás. A CPU-k jellemző tulajdonságai a hardver-szoftver felületen: utasítás készlet, adattípus készlet, regiszterkészlet és flag-ek, memóriakép, memória-elérés, megszakítási rendszer, I/O rendszer. Magasszintű nyelveket támogató megoldások.

    Teljesítménynövelés. Az utasítás-végrehajtás gyorsítása, feldolgozás párhuzamosítása processzoron belül, pipe-line elv, utasítások egymásra hatása, társprocesszor alkalmazása. Utasítások számának és bonyolultságának hatása a teljesítményre, CISC-RISC processzorok

    Memória. Hierarchikus memória felépítés, memória hozzáférés gyorsítása, cache szervezés, leképzési elvek, működés, stratégiák, memória interleave, burst átvitel. A processzor által megcímezhető tárkapacitás növelése. Virtuális tárkezelés hardver megoldásai.

    Multiprogramozott operációs rendszerek támogatása. Memóriaszervezés, védelmi funkciók és megvalósításuk, memória, periféria processzor védelem. Privilégium szintek, privilegizált utasítások, rendszerhívások megvalósítása, taskváltás, kontextuscsere, oszthatatlan utasítások.

    I/0 kezelés. Elvek összefoglalása: programozott/megszakításos lekezelés, DMA, I/0 processzorok, intelligens I/O kezelés, szabványosítás. Periféria típusok és tulajdonságaik. Mágneslemez-tárak: tárolás elve, kódolás adattárolás szervezése, track, szektor, szoftszektor szervezés, adatelérés. Egyéb jellegzetes prifériatípusok.

    Többprocesszoros rendszerek. Lazán és szorosan csatolt rendszerek, a laza és a szoros csatolás logikai és fizikai szintje, tipikus megvalósításai.

    Sínrendszerek. Sín-kialakítás elve, modularitás, hierarchia szintek, alkatrész, kártya, hátlap interface. Közös és osztott sín. Közös rendszersín funkciók: adatátvitel, megszakítás, vezérlésátadás, hibakezelés, szolgáltatások. Sínre kapcsolódó jellegzetes modulok és funkcióik. Címzési módok, logikai és hely szerinti címzés, címzési tartományok. Időzítés: szinkron-, aszinkron-, részben szinkron, nem kapcsolt, félig kapcsolt, kapcsolt protokoll.

    Sínvezérlés, vezérlésátadás, statikus- és dinamikus vezérlésátadás, egy- és többprocesszoros sínvezérlés. Sín-megszerzési és -elengedési stratégiák. Centralizált- és decentralizált arbiter-ek. Sínek megszakítás-kezelő mechanizmusai. Vezeték nélküli kapcsolatok. Fejlődési irányok, fontosabb szabványok.

     

    Operációs rendszerek:

    Bevezetés, történeti áttekintés. Általános jellemzők, kapcsolódási felületek, tipikus szolgáltatások, hardver követelmények, alapvető rendszerhívások és rendszerprogramok, eseményvezérelt működés, programszerkezet, virtuális gép, kliens szerver, felhő architektúra. Biztonsági funkciók, védelmi, jogosultsági rendszerek.

    Folyamatok, folyamatrendszerek. A programvégrehajtás, mint folyamat. Több program konkurens végrehajtása egy, illetve több processzoron. A szál fogalma. Erőforrások. Folyamatok közötti csatolások: versengés és együttműködés. Folyamatok együttműködésének alapesetei: közös memória, üzenetváltás.

    Közös memóriás együttműködés. Szinkronizáció szükségessége. Szinkronizációs alapesetek: kölcsönös kizárás, precedencia, egyidejűség. Kölcsönös kizárás szoftver megoldása. Hardver támogatás: oszthatatlan TAS és XCHG műveletek. Szemafor. Szinkronizációs alapesetek megoldása szemaforral. Szemafor megvalósítása multiprogramozott rendszerben.

    Üzenetváltással történő együttműködés. Kommunikációs alrendszerek. Megnevezési módok. Szinkron, aszinkron kommunikáció, a szemantikai konzisztencia feltétele. Pufferelés és hatása a kommunikáló folyamatok futására.

    Holtponthelyezetek kezelése. A holtpont fogalma, a holtpont kialakulásának feltételei erőforrásokért versengő rendszerekben, az erőforráskezelés modellezése, erőforrásfoglalási gráf. A holtpont és az éhezés összevetése. Holtpontkezelési stratégiák: strucc algoritmus, megelőzés, elkerülés, felismerés és felszámolás.

    Multiprogramozott operációs rendszerek. A multiprogramozás alapelve, az operációs rendszer új feladatai. Sorállási modell és állapotmodell. Ütemezők. Folyamatok környezete. A folyamatkezelés adatszerkezetei, egy megvalósítási séma.

    CPU ütemezés. A CPU, mint kitüntetett erőforrás. FCFS, SJF, prioritásos, nem-preemptiv és preemptiv ütemezési algoritmusok, időszeleteléses ütemezés. Többszintű ütemezési sorok. Az ütemezési algoritmusok értékelése.

    Memóriakezelés. Címek kialakítása, áthelyezhetőség, újrahívhatóság. Szerkesztés és programbetöltés. Object modul, könyvtár, statikus és dinamikus relokáció, betöltési és futási idejű dinamikus szerkesztés. Memóriaallokáció problémái.

    Virtuális tárkezelés. Működési elv lapszervezésű tárkezelés esetén, hardver-szoftver munkamegosztás. Találati arány, effektív elérési idő. Vergődési határhelyzet. Lapváltási algoritmusok. Tárgazdálkodás, működő lapkészlet, dinamikus lokális tárgazdálkodás a laphiba-gyakoriság mérésére alapozva.

    Lemezkezelés és fájlrendszer. A lemezkezelő réteg feladatai. Lemezműveletek hatékonyságának javítása (lemezműveletek ütemezése, gyorsítási lehetőségek). Fájl és könyvtár mint adatszerkezet és a rajtuk értelmezett műveletek. Fájlmodellek, szabad helyek nyilvántartása, allokációs módszerek. Védelmi mechanizmusok sérülés és téves hozzáférés ellen. A megnyitás és bezárás szerepe. I/O rendszer, készülékek csatlakoztatása, interfészek szintjei. Eszköz-meghajtók szerepe. Készülékfüggetlen hívási felület kialakítása. Karakteres és blokkos eszközök.

    Korszerű beágyazott rendszerek operációs rendszerei. Erőforrás korlátok hatása az operációs rendszer szolgáltatásaira. 

    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

    Heti 4 óra élőadás, és 1 óra tantermi gyakorlat.

    Az előadásokon az elméleti ismereteket gyakorlati példákkal is illusztráljuk. A gyakorlatokon az előadáson elhangzott témakörökből kisfeladatokat oldanak meg a hallgatók, melyek segítik a félévközi számonkérésekre való felkészülést.

    10. Követelmények

    A szorgalmi időszakban:

    A félév során összesen három nagyzárthelyi (8., a 11. és a 14. oktatási héten) dolgozatot iratunk. A nagyzárthelyik mindegyikén maximum 20 pont szerezhető.

    A félévközi jegy a három zárthelyi eredménye alapján kerül megállapításra az alábbiak szerint:

                    0-23 pont : 1
                    24-32 pont: 2
                    33-41 pont: 3
                    42-50 pont: 4
                    51-60 pont: 5

     A vizsgaidőszakban: nincs

    Elővizsga: nincs

    11. Pótlási lehetőségek

    A pótlási héten egy zárthelyi pótolható vagy javítható.

    12. Konzultációs lehetőségek

    Szorgalmi időszakban: kérésre, időpont egyeztetése után meghirdetett helyen.

    13. Jegyzet, tankönyv, felhasználható irodalom

    A tananyag első részéhez:

    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,
    4th Edition The Hardware/Software Interface (2012) ISBN: 978-0-12-374750-1

    D. M. Harris, S.L. Harris, Digital Design and Computer Architecture, Morgan Kaufmann (Elsevier), 2013, ISBN 9978-0-12-394424-5

    ANDREW S. TANENBAUM: Számítógép-architektúrák PANEM kiadó (2007) ISBN 9789635454570
    Michael J. Flynn - Wayne Luk: Computer System Design (Wiley, ISBN 978-0-470-64336-5)
    Wilkinson, B.: Computer architecture, design and performance. Prentice Hall, 1991.
    Van de Goor,A.J.: Computer architecture and design. Addison-Wesley Publishing Company, 1989. 

    A tananyag második részéhez:

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

    Silberschatz, A. és mások: Operating System Concepts, Addison-Wesley Publishing Company, tetszőleges kiadás (1-9).

    Tanenbaum, Woodhull: Operációs rendszerek. Panem 2007.

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

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr. Kondorosi Károly

    docens

    IIT

    Dr. Móczár Géza

    docens

    IIT

    Dr. Horváth Tamás

    tudományos munkatárs

    IIT

    Dr. Pilászy György

    adjunktus

    IIT

    IMSc tematika és módszer A programban résztvevő hallgatóknak szeparált gyakorlatot tartunk. A gyakorlatok anyaga a törzsanyag szempontjából nem tér el a programban nem résztvevő hallgatókétól. Az eltérések az alábbiakban foglalhatók össze: alapszintű feladatokkal nem, vagy csak röviden foglalkozunk. A hallgatók több, ill. nagyobb mérnöki gondolkodást igénylő feladatot kapnak.
    IMSc pontozás

    IMSc pontokat a hallgatók csak a 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 3x5 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:

    Ha XP < 10, IP = XP
    Ha XP >= 10, IP = 2*XP - 5

    Az IMSc pontok megszerzése a programban nem résztvevő hallgatók számára is biztosított.