Informatika 1

A tantárgy angol neve: Informatics 1

Adatlap utolsó módosítása: 2017. június 22.

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
VIIIAB08   4/0/0/f 4  
3. A tantárgyfelelős személy és tanszék Dr. Pilászy György,
A tantárgy tanszéki weboldala https://www.iit.bme.hu/targyak/BMEVIIIAB08
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("BMEVIIIAA05" , "jegy" , _ ) >= 2 VAGY
TargyEredmeny("BMEVIIIAA06" , "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( "BMEVIIIAB04" , "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVIIIAB04", "FELVETEL", AktualisFelev()) > 0)
ÉS (Training.Code=("5N-A7") VAGY Training.Code=("5N-A7H") VAGY Training.Code=("5NAA7"))

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:

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:

1. 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.

2. 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

3. 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.

4. 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.

5. I/O kezelés. Elvek összefoglalása: programozott/megszakításos lekezelés, DMA, I/O 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. SSD meghajtók. Egyéb jellegzetes perifériatípusok.

6. 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.

7. 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.

8. 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 arbiterek. Sínek megszakítás-kezelő mechanizmusai. Vezeték nélküli kapcsolatok. Fejlődési irányok.

 

Operációs rendszerek:

9. 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.

10. 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.

11. 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.

12. 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.

13. 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.

14. 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.
Az előadásokon az elméleti ismereteket gyakorlati példákkal is illusztráljuk, 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 két összegző típusú számonkérést (lehetőség szerint 8., és a 14. oktatási héten) iratunk (zárthelyi). Az írásbeli számonkérések mindegyikén maximum 30 pont szerezhető. A meg nem írt számonkérés 0 pontot ér.

A félévközi jegy a két pontszám összege 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

11. Pótlási lehetőségek A pótlási héten mindkét összegző típusú számonkérés (zárthelyi) pótolható vagy javítható. A pótlásra/javításra a TR-ben jelentkezni kell.
12. Konzultációs lehetőségek Szorgalmi időszakban: az előadások szünetében, vagy kérésre, időpont egyeztetése után meghirdetett helyen.
13. Jegyzet, tankönyv, felhasználható irodalom

A tárgy honlapján közzétett előadás vázlatok, segédanyagok.

További felhasználható irodalom:

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. 

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 óra56
Félévközi készülés órákra14
Felkészülés zárthelyire40
Házi feladat elkészítése0
Kijelölt írásos tananyag elsajátítása10
Vizsgafelkészülés0
Összesen120
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

docens

IIT

IMSc tematika és módszer A programban résztvevő 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 20 IMSc pont (IP) szerezhető.
  • Az IMSc pontokért a zárthelyin 2x5 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 = 2*XP

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