Operációs rendszerek

A tantárgy angol neve: Operating Systems

Adatlap utolsó módosítása: 2012. április 10.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar
Mérnök informatikus szak
Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIMIA219   3/1/0/v 4  
3. A tantárgyfelelős személy és tanszék Dr. Kovácsházy Tamás,
A tantárgy tanszéki weboldala http://www.mit.bme.hu/oktatas/targyak/vimia219/
4. A tantárgy előadója

Dr. Kovácsházy Tamás, Méréstechnika és Információs Rendszerek Tanszék

Mészáros Tamás, Méréstechnika és Információs Rendszerek Tanszék

Micskei Zoltán, Méréstechnika és Információs Rendszerek Tanszék

5. A tantárgy az alábbi témakörök ismeretére épít

Számítógép architektúrák, Programozás alapjai, Programozás technológiája

6. Előtanulmányi rend
Kötelező:
(TárgyEredmény( "BMEVIHIA210" , "aláírás" , _ ) = -1
VAGY TárgyEredmény( "BMEVIHIAA00" , "aláírás" , _ ) = -1
VAGY TárgyEredmény( "BMEVIHI2221" , "aláírás" , _ ) = -1
VAGY Aláírás( ahol a TárgyKód = "BMEVIMM2508", ahol a Ciklus = tetszőleges))


ÉS NEM ( TárgyEredmény( "BMEVIMIAB00" , "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVIMIAB00", "FELVETEL", AktualisFelev()) > 0)

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

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

7. A tantárgy célkitűzése A tárgy célja az operációs rendszerek funkcióinak, működési elveinek, fő típusainak, valamint a konkurens és elosztott rendszerek programozási modelljeinek megismertetése, az elvek szemléltetése példákon, az operációs rendszer választás szempontjainak bemutatása. A tárgy és a hozzá tartozó gyakorlat során komoly hangsúlyt kap a számítógép hardver és rendszer szoftver összefüggése illetve egymásra hatása, így a kurzus elvégzése elvezet az operációs rendszerek használatának mérnöki, készségszintű elsajátításához is.
8. A tantárgy részletes tematikája

Bevezetés, az operációs rendszerek rövid története, fejlődése. Operációs rendszerek általános ismertetése, operációs rendszer típusok, elvárások és tulajdonságok, operációs rendszerek általános felépítése. Monolitikus, moduláris és mikrokernel. Az operációs rendszer kapcsolata a hardverrel és a felhasználóval. Virtuális gép koncepció.

 

A Windows és a UNIX/Linux operációs rendszerek fejlődése, felépítése, alapvető tulajdonságai. Operációs rendszer szintű hibakeresés eszközei Windows és UNIX környezetben.

 

Multiprogramozott rendszerek. Processzor ütemezés elmélete és gyakorlata. Egyszerű ütemezési algoritmusok és azok összehasonlítása, összetett ütemezési algoritmusok. Többprocesszoros ütemezés alapjai, processzor affinitás és következményei. Windows és Linux ütemező algoritmusok. Feladatok megvalósítása és azok hardver háttere, folyamat és szál.

 

Erőforrás, közös erőforrás. Függvények és metódusok újrahívhatósága. Kölcsönös kizárás és kritikus szakasz. Szinkronizáció és kommunikáció. Feladatok együttműködése közös memórián keresztül. Kölcsönös kizárás megoldásának eszközei. Erőforrások védelme azok elzárásával (locking). Spinlock és sleeplock közötti különbségek. Lock bit, mutex, szemafor (bináris és számláló típusú). Kölcsönös kizárás megvalósításával kapcsolatos tipikus hibák, és azok elkerülésére alkalmazható fogások. Monitor koncepció.

 

Folyamatok együttműködése üzenettovábbítással (IPC). Az üzenettovábbítás műveletei, megnevezési módok, pufferelés és implicit szinkronizáció, beépített nyugtázások, adatok illetve referenciák átadása, szemantikai konzisztencia. Postaláda, üzenetsor, jelzések, távoli eljáráshívás. UNIX System V IPC.

 

Időkezelés modern operációs rendszerekben, az idő kezelésének hardware és szoftver elemei, időkezelés problémái és megoldásai elosztott rendszerekben. Az NTP és az IEEE 1588 protokollok operációs rendszer specifikus aspektusai.

 

Holtpont és kezelése. Definíció, holtpont erőforrásokért versengő rendszerekben, szükséges feltételek, strucc algoritmus, bankár algoritmus, megelőzés. Megelőzés eszközei, modell/kód analízis (demonstráció).

 

Tárhierarchia és memóriakezelés. Hierarchiaszintek és jellemzőik, gyorsítótárak (cache, cache koherencia), a memória szervezése, partíciók, lapszervezés, szegmentálás. Virtuális tárkezelés. Működés, igény szerinti lapozás, előretekintő lapozás, hardver feltételek, lapcsere algoritmusok. Globális, lokális memóriagazdálkodás, vergődés, munkahalmaz, egyensúly fenntartása, dinamikus lokális gazdálkodás. Windows memóriakezelés.

 

Fájlkezelés, adatelérési és allokációs módszerek. Fájl, fájlrendszer, szekvenciális, direkt, indexelt elérés, szabad helyek nyilvántartása, folytonos, láncolt, indexelt allokáció, könyvtárszerkezet, katalógusadatok. RAID, SAN, NAS technológiák szerepe az operációs rendszer diszk alrendszerében. Unix VFS felépítése, tulajdonságai, működése, alkalmazása.

 

Beágyazott operációs rendszerek. Beágyazott operációs rendszerek. Beágyazott operációs rendszerek típusai a hardver lehetőségeinek függvényeiben. Beágyazott operációs rendszerek konfigurálása, az operációs rendszer és az alkalmazás viszonya. A uCOS alapvető tulajdonságai.

 

Virtualizáció. A virtualizációs technológiák osztályozása. A platform virtualizáció. CPU, memória és I/O virtualizáció és HW háttere, különös tekintettel az x86 architektúrára. Hosted and Bare-metal virtualizáció. Virtualizációs megoldások és tulajdonságainak bemutatása.

 

Operációs rendszerek és biztonság. Biztonsággal kapcsolatos alapfogalmak, hitelesítés és jogosultságkezelés megvalósítása operációs rendszerekben. Windows biztonság, bejelentkezés, NTFS jogok, helyi házirend.

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

Előadás, a félévközi előrehaladás ellenőrzése zárthelyin.

10. Követelmények

a. A szorgalmi időszakban:

A félév során a hallgatók egy nagyzárthelyit írnak. A félévvégi aláíráshoz a nagyzárthelyi legalább elégséges szintű teljesítése szükséges

b. A vizsgaidőszakban:

A vizsga két részből álló írásbeli vizsga. A vizsgára bocsáthatóság feltétele az aláírás megszerzése.Az elégséges vizsgához az első rész min. 55%-os, és a második rész min. 40%-os teljesítése szükséges. A vizsgajegy megállapításába az adott évben aláírást szerzett hallgatók esetén zárthelyi eredményét 30%-ban, valamint a vizsga második részének eredményét 70%-ban vesszük figyelembe. A tantárgyhoz tartozó kreditpontok megszerzésének feltétele a legalább elégséges vizsgaeredmény.

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

A nagyzárthelyi pótlására a szorgalmi időszakban egy alkalommal, és a pótlási időszakban szintén egy alkalommal biztosítunk lehetőséget.

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

Igény esetén a személyi és tárgyi erőforrások függvényében az előadóval egyeztetett teremben és időpontban.

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

Jegyzet, tankönyv, felhasználható irodalom

A tananyagot az alábbi tankönyv, valamint a letölthető segédletek tartalmazzák:

  • Kóczy A., Kondorosi K. (szerkesztők): Operációs rendszerek mérnöki megközelítésben, Panem Kiadó, Budapest, 2000.
  • Silberschatz, Peterson: Operating System Concepts vagy Operating Systems Concept with JAVA (7. vagy későbbi kiadás
14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra60
Félévközi készülés órákra 
Felkészülés zárthelyire25
Házi feladat elkészítése
Kijelölt írásos tananyag elsajátítása 
Vizsgafelkészülés35
Összesen120
15. A tantárgy tematikáját kidolgozta

Név:

Beosztás:

Tanszék, Int.:

Dr. Kondorosi Károly

docens

IIT

Dr. Kovácsházy Tamás

docens

MIT

Dr. Várkonyiné dr.Kóczy Annamária

docens

MIT

 

 

 

Mészáros Tamás

mestertanár

MIT

Micskei Zoltán

tanársegéd

MIT

 

 

 

Szeberényi Imre

docens

IIT

Dr. Vajk István

egyetemi tanár

AUT