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 <[email protected]> Szabad Szoftver

    Konferencia Szeged, Szent-Györgyi Albert Agóra, 2013. november 29. 15:00
  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
  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
  4. 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
  5. 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
  6. 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
  7. 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.
  8. 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!
  9. 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 <fájl elérési helye>
  10. 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.
  11. Patch elküldése • SMTP szerver beállítása • • • Maintainer

    lista megkeresése: 'scripts/get_maintainer.pl <patchfájl>' • • • 'git send-email --to=$maintainer --cc=”Levente Kurusa <[email protected]>” <patchfájl>'