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 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 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 Slide

  4. És milyen is a Linux?

    Monolitikus

    Moduláris

    Szabad szoftver!

    View Slide

  5. A kernel gyökere

    View 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 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 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 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 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 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 Slide

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

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

    View 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 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 Slide

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

    View Slide

  16. Posztszkriptum

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

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

    View Slide

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

    Kernel panic – not syncing: Reached end of
    presentation.

    View Slide