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ó    

    A UNIX rendszer felhasználói és fejlesztői felülete

    A tantárgy angol neve: User and Developer Interface of Unix

    Adatlap utolsó módosítása: 2011. január 19.

    Tantárgy lejárati dátuma: 2019. január 31.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar

    Villamosmérnöki Szak

    Mérnöki Informatikus Szak

    Szabadon választható tárgy

    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIIIJV76   4/0/0/v 4  
    3. A tantárgyfelelős személy és tanszék Dr. Szeberényi Imre, Irányítástechnika és Informatika Tanszék
    A tantárgy tanszéki weboldala http://www.iit.bme.hu/~szebi/unixfejl.html
    4. A tantárgy előadója Dr. Szeberényi Imre egyetemi docens -Irányítástechnika és Informatika Tanszék
    5. A tantárgy az alábbi témakörök ismeretére épít
  • C/C++ Programozási ismeretek
  • Operációs rendszerek alapfogalmai
  • 6. Előtanulmányi rend
    Kötelező:
    NEM ( TárgyTeljesítve("BMEVIIIAV94") )
    VAGY
    NEM ( TárgyTeljesítve("BMEVIFO9376") )

    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:
    A tantárgyat nem vehetik fel azok, akik már előzőleg teljesítették a VIFO9376 (A UNIX rendszer felhasználói és fejlesztői felülete) tantárgyat.
    7. A tantárgy célkitűzése A tantárgy célja a UNIX rendszerek felhasználó felületének olyan szintű megismertetése, hogy a hallgatók képesek legyenek a UNIX mint fejlesztői környezet hatékony alkalmazására. Számos olyan fejlesztői eszköz létezik a UNIX rendszerekben, melyek helyes alkalmazása igen hatékonyan segíti a programfejlesztői munkát. Ezen eszközökkel egyszerűen elvégezhetők ill. automatizálhatók egy alkalmazásszerver napi üzemeltetési feladatai is, mely feladatok meghatározása, megtervezése nem elhanyagolható tervezői feladat.

    A tárgy keretében a hallgatók programozási példákon keresztül megismerik a UNIX belső működési mechanizmusainak alapjait is, így pl. azokat a kommunikációs eszközöket, melyek elengedhetetlenek egy komplex informatikai rendszer kialakításában.

    Az elméleti órák keretében megismert elveket, eszközöket a hallgatók ki is próbálhatják.

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

    1. hét:

    Bevezetés. Történelmi áttekintés. Unix rendszer legfontosabb tulajdonságai. Bejelentkezés, session. Állományrendszer fő egységei, szerkezete. UNIX operációs rendszer védelmi rendszere. Az alapvető Unix parancsok (cd, ls, rm, mv, mkdir, man, cat, chmod, umask, passwd). Shell feladata, egy általánosan használt shell (pl. Bash) legfontosabb parancsainak megismerése.

    2. hét:

    Shellek szerepe. Fő tulajdonságai. Parancsok szerkezete. Legfontosabb környezeti változók jelentése, kényelmi beállítások. File- és paraméterhelyettesítés, I/O átirányítás, "here" dokumentum.

    3. hét:

    Szűrők és más segédprogramok jelentősége a UNIX-ban. Reguláris kifejezések. (sort, tee, tr, tail, head, sed, pr, grep, comm, cmp, diff, find, dd, dc, bc, file)

    4. hét:

    Szövegszerkesztők szerepe, jelentősége, történelmi fejlődése. Legfontosabb szerkesztő funkciók. Néhány alapvető parancs és fogás az ed, vi, sed programban.

    Sed, awk, perl programok bemutatása. Perl és más scriptek.

    5. hét:

    Shell programozás jelentősége és fő változatai. Shell változók. Vezérlési szerkezetek. Programozást segítő programok (test, expr). Egyszerű példák (telefon regiszter, ff, önkicsomagoló script, "helyesírás ellenőrző").

    6. hét:

    Processz kezelés. I/O átirányítás megvalósításának rendszerhívás szintű részletei (fork, exec, dup, pipe). Egyszerű script nyelv megvalósítása.

    7. hét:

    Processzek közötti kommunikáció (IPC). (Shared memory, semaphor, message queue, signal, socket).

    Szálak és processzek. Szinkronizációs eszközök.

    8. hét:

    Szálak, processzek: Egyszerű példaprogramok.  

    9. hét:

    Make segédprogram szerepe, használata. Verzió követést segítő eszköz bevezetése, használata (sccs, rcs, cvs, svn). Egyszerű filter program írása, kipróbálása C, vagy C++ nyelven. (pl. ékezetes szövegből repülő ékezetes szöveg konvertálása és vissza). 

    10. hét

    Hibakeresés, nyomkövetés eszközei (gdb, ddd). Futási idő analízis (profile). Dokumentáció készítés hagyományos és újabb eszközei (nroff, latex, Doxygen).

    11. hét

    Lex és yacc nyelvek alapjai. Saját parancsértelmező ötlete.

    12. hét

    Grafikus felület (X-window) programozásának alapjai. Window kezelők.

    13. hét

    Egyszerű programozási példák. Grafikus megjelenítés segédprogramjai (xfig, gnuplot).

    14. hét 

    Összefoglalás, Konzultáció a házi feladatról. Kiselőadások. 

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

    A tárgy oktatása kiscsoportos formában történik. Az előadások is laboratóriumban lesznek, így az elmondottak könnyen illusztrálhatók példákkal.

    Az elméleti és labor jellegű foglalkozások, feladatok gyakran egy-egy tanórán belül is váltják egymást az adott tananyagnak megfelelően.

    10. Követelmények

    a.) Szorgalmi időszakban:

    A tanórákon a jelenlétet a félév folyamán több, előre nem jelzett alkalommal ellenőrizzük, aláírást nem kaphat az, aki ezek alapján az alkalmak több, mint 30%-áról hiányzott.

    Előre bejelentett időpontokban legalább 4 db ellenőrző dolgozat, valamint a 12. tanulmányi héten (előre egyeztetett időpontban) egy nagy zárthelyi megírására kerül sor. Az ellenőrző dolgozatok megírása nem kötelező, azok a jegymegajánlást teszik lehetővé.

    b.) Otthoni feladat:

    A 8. héten kiadásra kerül a nagy házi feladat, melynek megoldását legkésőbb a vizsga napját megelőzően elektronikusan fel kell tölteni, a vizsgán pedig be kell mutatni.

    c.) Aláírás:

    Csak az kaphat aláírást, aki az előadások legalább 70%-án részt vett, és a nagy zárthelyit legalább elégséges szinten teljesítette.

    d.) Vizsga:

    A vizsga írásbeli és szóbeli. A szóbeli rész a házi feladat bemutatásából, és a feladattal kapcsolatos kérdések megválaszolásából áll.. Akinek a legjobb 3 ellenőrző dolgozata átlagosan eléri a 85 %-os szintet és a nagy zárthelyi eredménye jeles, valamint a házi feladatát a szorgalmi időszak végéig bemutatta és az kiváló minősítésű, megajánlott vizsgajegyet kaphat.

    11. Pótlási lehetőségek
    • A szorgalmi időszakban a sikertelen vagy meg nem írt nagy zárthelyi egyszer pótolható.
    • A pótlási héten a sikertelen nagy zárthelyi ismételten pótolható.
    • Az ellenőrző dolgozatok nem pótolhatók. Azok eredménye csak a jegymegajánlást befolyásolja.  

       

    12. Konzultációs lehetőségek Igény szerint.

     

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

    [1] W. Richard Stevens

     Advanced Programming int the UNIX environment,

     Addison-Wesley, 1992

     

    [2] Szeberényi Imre, Ketler Iván, Szigeti Szabolcs:

    UNIX A rendszer használata,

    Budapest: PANEM, 2004.

     

    [3] Szeberényi Imre

    Bevezetés a UNIX operációs rendszerbe (oktatási segédlet), 1998

    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ákra-
    Felkészülés zárthelyire6
    Házi feladat elkészítése10
    Kijelölt írásos tananyag elsajátítása-
    Vizsgafelkészülés48
    Összesen120
    15. A tantárgy tematikáját kidolgozta Dr. Szeberényi Imre egyetemi docens - BME Irányítástechnika és Informatika Tanszék