K-INFO
HU
EN
Belépés

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

User and Developer Interface of Unix
A tantárgyleírás hatályossága
Hatályosság kezdete:
—
Hatályosság vége:
—
Tantárgy neve (magyarul, angolul)
A UNIX rendszer felhasználói és fejlesztői felülete
User and Developer Interface of Unix
Tantárgykód BMEVIFO9376
Tantárgyjelleg —
Képzési szint —
Kurzustípusok és óraszámok (heti/féléves)
Kurzustípus elmélet gyakorlat laboratóriumi gyakorlat
óraszám (heti) 2 0 2
jelleg (kapcsolt/önálló) — — kapcsolt
Tanulmányi teljesítmény/értékelés típusa vizsga
Tantárgy kreditértéke 5
Tantárgyfelelős
Dr. Szeberényi Imre
beosztás: egyetemi docens
Tantárgyat gondozó oktatási szervezeti egység
—
Kar
Tantárgy weboldala —
Tantárgy elsődleges mintatantervi jellege —
Közvetlen előkövetelmények – Erős előkövetelmény nincs
Közvetlen előkövetelmények – Gyenge előkövetelmény nincs
Közvetlen előkövetelmények – Párhuzamos előkövetelmény nincs
Közvetlen előkövetelmények – Mérföldkő előkövetelmény nincs
Közvetlen előkövetelmények – Kizáró feltétel nincs

Célkitűzés

Tantárgyprogram

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.

 

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.

Tanulmányi eredmények

Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:

Tudás

Nincsenek rögzített tanulási eredmények.

Képességek

Nincsenek rögzített tanulási eredmények.

Attitűd

Nincsenek rögzített tanulási eredmények.

Autonómia és felelősség

Nincsenek rögzített tanulási eredmények.

Oktatási módszertan

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.

Tanulástámogató anyagok

Online források
[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.

A tantárgy teljesítéséhez ajánlott előzetes ismeretek

Tudás típusú kompetenciák
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
C/C++ Programozási ismeretek Operációs rendszerek alapfogalmai
Képesség típusú kompetenciák
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
C/C++ Programozási ismeretek Operációs rendszerek alapfogalmai
Általános szabályok
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. 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.   
Teljesítményértékelési módszerek
Szorgalmi időszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Szorgalmi időszakban végzett teljesítményértékelések részaránya

Nincs megadva részarány.

Vizsgaidőszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Vizsgarészek részaránya

Nincs megadva részarány.

Érdemjegy megállapítása

Nincs megadva érdemjegy határ.

Jelenléti és részvételi követelmények

Nincs megadva jelenléti követelmény.

Javítás, ismétlés és pótlás különös szabályai

Nincs megadva.

Rövid leírás

Nincs megadva.

Részletes leírás

Nincs megadva.

Ajánlott tantárgyak

Nincs megadva.

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

Nincs megadva munkaidő bontás.

Tantárgykövetelmények hatályossága
Tantárgykövetelmények hatályosságának kezdete:
—
Tantárgykövetelmények hatályosságának vége:
—
Tantervi elhelyezés

Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.