A tantárgyleírás hatályossága
| Subject name (Hungarian, English) |
Linux programozás
Programming of Linux
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Subject code | BMEVIAU9157 | ||||||||||||
| Subject type | — | ||||||||||||
| Training Level | — | ||||||||||||
| Course types and hours (weekly/semester) |
|
||||||||||||
| Assessment type | vizsga | ||||||||||||
| Credits | 5 | ||||||||||||
| Subject coordinator |
Dr. Lengyel László
position: egyetemi tanár
contact:
lengyel.laszlo@vik.bme.hu
|
||||||||||||
| Responsible department |
—
|
||||||||||||
| Faculty | |||||||||||||
| Subject website | — | ||||||||||||
| Primary curriculum type | — | ||||||||||||
| Direct prerequisites – Strong prerequisite | none | ||||||||||||
| Direct prerequisites – Weak prerequisite | none | ||||||||||||
| Direct prerequisites – Parallel prerequisite | none | ||||||||||||
| Direct prerequisites – Milestone prerequisite | none | ||||||||||||
| Direct prerequisites – Exclusion | none |
Objectives
Bevezetés
A Linux operációs rendszer, a Linux kernel, információforrások fejlesztői szemszögből.
Fejlesztői eszközök
Általános szövegszerkesztők, fordítók (gcc, g++), make, grafikus fejlesztői környezet (KDevelop).
Nyomkövetés, hibakeresés
A hibakeresés, nyomkövetés eszközei (gdb, xgdb, ddd). A programhibák utólagos visszakeresése, a core állomány használata. Memória kezelési hibák keresése: Electric Fence, memprof, stb. Rendszerhívások követése: strace
Állomány és I/O kezelés
Állomány jogok, állomány típusok, egyszerű állomány kezelés, inode információk kezelése, könyvtárak kezelése, I/O eszközök kezelése, csővezetékek, I/O multiplexálás, zárolás.
Folyamatok és szálak
Folyamatok és többszálú programok létrehozásának lehetősége Linux alatt, ütemezés. Folyamatok közötti kommunikáció (signal, pipe, System V mechanizmusok). Többszálú programok fejlesztése LinuxThreads könyvtárral. Szálak létrehozása, szinkronizálás.
Könyvtárak fejlesztése
Statikus, megosztott és dinamikusan betöltött programkönyvtárak fejlesztése, használata.
Hálózati kommunikáció
Socketek létrehozása és használata. Az egyszerű socketek létrehozásától, a Unix Domain scoketeken keresztül, a TCP/IP kommunikációig. A távoli eljáráshívás (RPC) használata.
Kernel modulok fejlesztése
A modulok fejlesztésének jellemzői, eltérései a programok fejlesztéséhez képest. Karakteres típusú eszközvezérlő modul készítése. A proc állomány rendszer használata. Betöltési paraméterek kezelése.
XWindow, KDE fejlesztés
Az X grafikus felhasználói felület architektúrájának ismertetése. Eseményvezérelt programozás. A KDE programok felépítése. KDevelop fejlesztői környezet részletes ismertetése. A Qt Toolkit egyes elemei: szignál-szlot metódus, moc compiler, alaposztályok. Származtatott ablakelemek, dialógusablakok, erőforrások, konfigurációs állományok. A Dokumentum-Nézet architektúra alapkoncepciói, alkalmazása SDI és MDI programokban.
Learning outcomes
Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:
Knowledge
No learning outcomes recorded.
Skills
No learning outcomes recorded.
Attitudes
No learning outcomes recorded.
Autonomy and responsibility
No learning outcomes recorded.
Oktatási módszertan
Tanulástámogató anyagok
Not provided.
Recommended preliminary knowledge for completing the subject
General rules
Assessment methods
In-term assessments
No detailed assessments provided.
Weight of in-term assessments
No weights provided.
Exam-period assessments
No detailed assessments provided.
Weight of exam elements
No weights provided.
Grade calculation
No grade thresholds provided.
Attendance requirements
No attendance requirements provided.
Rules for retake and resubmission
Not provided.
Short description
Not provided.
Detailed description
Not provided.
Recommended courses
Not provided.
Workload to complete the subject
No workload breakdown provided.
Validity of subject requirements
Curriculum placement
No curriculum placements recorded for this subject version.