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: 2009. szeptember 4.

    Tantárgy lejárati dátuma: 2009. november 24.

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

    Villamosmérnöki Szak

    Műszaki Informatika Szak

    Választható tárgy

    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIFO9376 6,7,8,9 2/0/2/v 5 1/1
    3. A tantárgyfelelős személy és tanszék Dr. Szeberényi Imre,
    4. A tantárgy előadója

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr. Szeberényi Imre

    docens

    IIT

    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 (TargyEredmeny("BMEVIAU9157", "JEGY", _) >= 2)

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

    Egyszerű példaprogramok.

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

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

    10. hét

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

    11. hét

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

    12. hét

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

    13. hét

    Konzultáció a házi feladatról, útmutatás a dokumentáció elkészítéséhez. Kiselőadások.

    14. hét

    Nagy házi feladatok bemutatása és beadása. Esetleges pótlá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.) Zárthelyi:
    A szorgalmi időszakban előre bejelentett időpontokban legalább 4 db ellenőrző dolgozat, valamint a 12. vagy a 13. tanulmányi héten (előre egyeztetett időpontban) egy nagy zárthelyi megírására kerül sor.
    b.) Otthoni feladat:
    Legkésőbb a 8. héten kiadásra kerül a nagy házi feladat, melynek megoldását a szorgalmi időszak végéig kell bemutatni.
    c.) Aláírás:
    Csak az kaphat aláírást, aki nagy házi feladatát a kiírás szerint elkészítette, és bemutatta, valamint a nagy zárthelyit legalább elégséges szinten teljesítette.
    d.) Vizsga:
    A vizsga írásbeli.
    Akinek a legjobb 3 ellenőrző dolgozata átlagosan eléri a 85 %-os szintet és a nagy zárthelyi eredménye legalább jó, valamint a házi feladata 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.

    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka

    Kontakt óra

    60

    Félévközi készülés órákra

    20

    Házi feladat elkészítése

    40

    Kijelölt írásos tananyag elsajátítása

    15

    Vizsgafelkészülés

    15

    Összesen

    150

    15. A tantárgy tematikáját kidolgozta

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr. Szeberényi Imre

    docens

    IIT