Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Linux Kernel - Introduction (HUN)

Linux Kernel - Introduction (HUN)

I did this talk for the Free Software Conference in Szeged, 2013.
English version also available soon.

Levente Kurusa

November 29, 2013
Tweet

More Decks by Levente Kurusa

Other Decks in Programming

Transcript

  1. Hacking the
    LINUX KERNEL
    Bevezetés
    Kurusa Levente

    Szabad Szoftver Konferencia Szeged, Szent-Györgyi Albert Agóra, 2013. november 29. 15:00

    View full-size slide

  2. Egy kis történelem...

    Linus Torvalds, a finn tanuló 1991-ben kezdi el
    fejleszteni

    UNIX klón

    Eredetileg nem akarták portolhatónak

    View full-size slide

  3. Mi is az a kernel és minek is kell?

    Az operációs rendszer magja

    Feladatai:

    A rendszer inicializálása a használathoz.

    Az adatok alapvető védelme.

    A fejlesztés elősegítése

    View full-size slide

  4. És milyen is a Linux?

    Monolitikus

    Moduláris

    Szabad szoftver!

    View full-size slide

  5. A kernel gyökere

    View full-size slide

  6. Fejlesztési statisztikák

    2005 óta több mint 10000 fejlesztő több, mint 1000
    cégből

    Minden 70 nap új release, 2012-ben még 80 nap volt.

    Nagyjából 10000 módosítás kiadásonként

    Minden órában 7.14 változás, 2012-ben még csak 6.71
    volt ez a szám

    View full-size slide

  7. Kód statisztikák

    44.000 fájl

    18.000.000 sornyi kód

    Programozási nyelvek:
    – 96.08% ANSI-C
    – 3.63 % Assembly
    – 0.10 % Perl

    View full-size slide

  8. Használati területek

    Android eszközök (Napi 1.3 millió)

    Okos tévék (Napi 700.000)

    Pénzügyek (80%)

    Szuperszámítógépek (98%)
    És:

    Felhő (Google, Facebook, Amazon)

    Védelmi rendszerek

    Nukleáris tengeralattjárók

    Vonatok, légi irányítás

    View full-size slide

  9. Fejlesztési lehetőségek

    Ez a legnagyobb közösségi projekt!

    A kernelhekkerek már kitaláltak egy egyszerű,
    de hasznos utat.

    'scripts/checkpatch.pl'

    Ezzel a szkripttel gyakori kódstílus hibákat
    lehet találni.

    View full-size slide

  10. Staging driverek

    Ezek az apró startup cégek félkész driverei

    Tele vannak kódstílus hibákkal

    A checkpatch.pl fájl megkeresi és azonosítja a
    hibákat.

    Az önkéntes fejlesztő kijavítja :-) (patchelés)

    És máris hozzájárult a Linux sikeréhez!

    View full-size slide

  11. Patch készítése I.

    git clone git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-
    next.git

    'drivers/staging' mappa felderítése

    Ebben a mappában egy fájl kiválasztása

    'scripts/checkpatch.pl -f

    View full-size slide

  12. Patch készítése II.

    'git commit -a' elmenti a változásokat

    View full-size slide

  13. Patch készítése III.

    'git format-patch -1 ' elkészít egy fájlt aminek a
    nevét ki is dobja stdout-ra.

    A következő lépés a patch elküldése.

    View full-size slide

  14. Patch elküldése

    SMTP szerver beállítása



    Maintainer lista megkeresése:
    'scripts/get_maintainer.pl '



    'git send-email --to=$maintainer --cc=”Levente
    Kurusa ” '

    View full-size slide

  15. Kezdődhet az örömködés!

    View full-size slide

  16. Posztszkriptum

    Remélhetőleg ezután aki hazamegy, csinál
    egy hasonló patchet! :-)

    Utána már elmondhatja, hogy kernel hacker!

    View full-size slide

  17. Köszönöm a figyelmet!

    Kernel panic – not syncing: Reached end of
    presentation.

    View full-size slide