Kurzusleírás

Bevezetés

  • Célok
  • Ki vagy te?
  • A Linux Foundation
  • Linux Foundation képzés
  • Tanúsítványok és digitális jelvények
  • Linux disztribúciók
  • Platformok
  • Rendszer előkészítése
  • Virtuális gép használata és letöltése
  • A Linux változásai

Előkészületek

  • Eljárások
  • Szabványok és az LSB

Hogyan dolgozzunk nyílt forráskódú projektekben **

  • Áttekintés a helyes hozzájárulásról
  • Maradj közel a fővonalhoz a biztonság és minőség érdekében
  • Tanulmányozd és értsd meg a projekt DNS-ét
  • Találd ki, mit szeretnél megoldani
  • Azonosítsd a karbantartókat és munkamódszereiket
  • Korai visszajelzés és nyílt munka
  • Növekményes hozzájárulás, nem nagy kóddömping
  • Hagyd az egód az ajtón kívül: Ne légy érzékeny
  • Légy türelmes, építs hosszú távú kapcsolatokat, légy segítőkész

Fordítók

  • GCC
  • Egyéb fordítók
  • Főbb gcc opciók
  • Preprocesszor
  • Integrált fejlesztői környezetek (IDE)
  • Laborok

Könyvtárak

  • Statikus könyvtárak
  • Megosztott könyvtárak
  • Könyvtárakhoz való kapcsolódás
  • Dinamikus betöltő
  • Laborok

Make

  • make és Makefile-ok használata
  • Nagy projektek építése
  • Bonyolultabb szabályok
  • Beépített szabályok
  • Laborok

Verziókövetés

  • Verziókövetés
  • RCS és CVS
  • Subversion
  • git
  • Laborok

Hibakeresés és Core Dump-ok

  • gdb
  • Mik azok a Core Dump fájlok?
  • Core Dump-ok előállítása
  • Core Dump-ok vizsgálata
  • Laborok

Hibakereső eszközök

  • Idő lekérése
  • Profilozás és teljesítmény
  • valgrind
  • Laborok

Rendszerhívások

  • Rendszerhívások vs. könyvtári függvények
  • Hogyan történik a rendszerhívás
  • Visszatérési értékek és hibaszámok
  • Laborok

Memóriakezelés és -allokáció

  • Memóriakezelés
  • Dinamikus allokáció
  • malloc() hangolása
  • Lapok zárolása
  • Laborok

Fájlok és fájlrendszerek Linuxban **

  • Fájlok, könyvtárak és eszközök
  • A virtuális fájlrendszer
  • Az ext2/ext3 fájlrendszer
  • Naplózó fájlrendszerek
  • Az ext4 fájlrendszer
  • Laborok

Fájl I/O

  • UNIX fájl I/O
  • Megnyitás és bezárás
  • Olvasás, írás és pozicionálás
  • Pozicionális és vektoros I/O
  • Standard I/O könyvtár
  • Nagy fájltámogatás (LFS)
  • Laborok

Haladó fájlműveletek

  • Stat függvények
  • Könyvtárfüggvények
  • inotify
  • Memóriatérképezés
  • flock() és fcntl()
  • Ideiglenes fájlok létrehozása
  • Egyéb rendszerhívások
  • Laborok

Folyamatok I

  • Mi az a folyamat?
  • Folyamat korlátok
  • Folyamatcsoportok
  • A proc fájlrendszer
  • Folyamatközi kommunikációs módszerek
  • Laborok

Folyamatok II

  • system() használata folyamat létrehozásához
  • fork() használata folyamat létrehozásához
  • exec() használata folyamat létrehozásához
  • clone() használata
  • Kilépés
  • Konstruktorok és destruktorok
  • Várakozás
  • Daemon folyamatok
  • Laborok

Csövek és Fifók

  • Csövek és folyamatközi kommunikáció
  • popen() és pclose()
  • pipe()
  • Nevesített csövek (FIFO-k)
  • splice(), vmsplice() és tee()
  • Laborok

Aszinkron I/O**

  • Mi az aszinkron I/O?
  • A POSIX aszinkron I/O API
  • Linux implementáció
  • Laborok

Jelek I

  • Mik azok a jelek?
  • Elérhető jelek
  • Jelek továbbítása
  • Ébresztők, szüneteltetés és alvás
  • Jelkezelő beállítása
  • Jelkészletek
  • sigaction()
  • Laborok

Jelek II

  • Újrafelhasználhatóság és jelkezelők
  • Ugrás és nem lokális visszatérés
  • siginfo és sigqueue()
  • Valós idejű jelek
  • Laborok

POSIX szálak I

  • Többszálú programozás Linux alatt
  • Alapvető programstruktúra
  • Szálak létrehozása és megszüntetése
  • Jelek és szálak
  • Forkolás vs. szálak
  • Laborok

POSIX szálak II

  • Holtpontok és versenyhelyzetek
  • Mutex műveletek
  • Szemaforok
  • Futexek
  • Feltételes műveletek
  • Laborok

Hálózatkezelés és szoftvercsatornák

  • Hálózati rétegek
  • Mik azok a szoftvercsatornák?
  • Streames szoftvercsatornák
  • Datagram szoftvercsatornák
  • Nyers szoftvercsatornák
  • Bájt sorrend
  • Laborok

Szoftvercsatornák Címek és hosztok

  • Szoftvercsatorna címstruktúrák
  • IP címek átalakítása
  • Hoszt információk
  • Laborok

Szoftvercsatornák Portok és protokollok

  • Szolgáltatási port információk
  • Protokoll információk
  • Laborok

Szoftvercsatornák Kliensek

  • Alapvető kliens sorrend
  • socket()
  • connect()
  • close() és shutdown()
  • UNIX kliens
  • Internet kliens
  • Laborok

Szoftvercsatornák Szerverek

  • Alapvető szerver sorrend
  • bind()
  • listen()
  • accept()
  • UNIX szerver
  • Internet szerver
  • Laborok

Szoftvercsatornák Bemeneti/Kimeneti műveletek

  • write(), read()
  • send(), recv()
  • sendto(), recvfrom()
  • sendmsg(), recvmsg()
  • sendfile()
  • socketpair()
  • Laborok

Szoftvercsatornák Opciók

  • Szoftvercsatorna opciók lekérése és beállítása
  • fcntl()
  • ioctl()
  • getsockopt() és setsockopt()
  • Laborok

Netlink szoftvercsatornák**

  • Mik azok a netlink szoftvercsatornák?
  • netlink szoftvercsatorna megnyitása
  • netlink üzenetek
  • Laborok

Szoftvercsatornák Multiplexálás és egyidejű szerverek

  • Multiplexált és aszinkron szoftvercsatorna I/O
  • select()
  • poll()
  • pselect() és ppoll()
  • epoll
  • Jelvezérelt és aszinkron I/O
  • Egyidejű szerverek
  • Laborok

Folyamatközi kommunikáció

  • IPC módszerek
  • POSIX IPC
  • System V IPC**
  • Laborok

Megosztott memória

  • Mi az a megosztott memória?
  • POSIX megosztott memória
  • System V megosztott memória**
  • Laborok

Szemaforok

  • Mi az a szemafor?
  • POSIX szemaforok
  • System V szemaforok**
  • Laborok

Üzenetsorok

  • Mik azok az üzenetsorok?
  • POSIX üzenetsorok
  • System V üzenetsorok**
  • Laborok

Követelmények

Ez a kurzus tapasztalt fejlesztők számára készült. A hallgatóknak jól kell ismerniük a C programozást, és alapvető Linux segédprogramokat és szövegszerkesztőket.

Közönség

Ez a kurzus tapasztalt fejlesztők számára készült. A hallgatóknak jól kell ismerniük a C programozást, és alapvető Linux segédprogramokat és szövegszerkesztőket.

Tapasztalati szint: Középhaladó

 28 Órák

Résztvevők száma


Ár per résztvevő

Közelgő kurzusok

Rokon kategóriák