1 [[!meta title="Přednášky"]]
3 Účast na přednáškách je doporučná. Předpokládá se, že na cvičeních
4 jsou studenti obeznámení s látkou probíranou na přednášce.
6 Přednášky v [T2:C3-340][1]. Hlavní přednášející [Pavel Píša][2].
11 1. Úvodní slovo o předmětu; Open source software, projekt GNU, licence
12 a operační systémy vycházející z jeho filozofie
13 ([[ODF|osp-intro-gnu.odp]] a [[PDF|osp-intro-gnu.pdf]])
15 2. Přehled významných Open source projektů (i pro [[výběr semestrální
16 práce|vyznamne-projekty]])
17 ([[ODF|osp-projects-map.odp]] a [[PDF|osp-projects-map.pdf]])
19 3. Verzovací systém Git; GNU - vznik základních vývojových nástrojů a
20 jejich použití, křížový překlad
21 [Bart Trojanowski, Git the basics][3] ([[PDF|intro-to-git.pdf]])
23 git clone git://git.jukie.net/intro-to-git.git/
27 4. Linuxové jádro - vznik, vývoj, skladba a ovladače; GNU libc a
29 ([[ODF|osp-linux-overview.odp]] a [[PDF|osp-linux-overview.pdf]])
30 [Embedded Linux kernel and driver development][4]
32 5. [[Grafická uživatelská prostředí a knihovny: QT, GTK+, GNOME, KDE|gui]]
34 6. Komerční model, sociální a rozhodovací struktury
35 ([[ODF|osp-business-mdl-dec.odp]] a [[PDF|osp-business-mdl-dec.pdf]]);
36 Souborové systémy, správa paměti, bloková zařízení.
37 ([[ODF|osp-linux-fs-vmm.odp]] a [[PDF|osp-linux-fs-vmm.pdf]]);
39 7. Založení vlastního projektu a zapojení se do existujícího projektu;
40 Technická infrastruktura (správa verzí a chyb, komunikace, wiki);
43 8. Mezilidská komunikace, dobrovolníci, vývoj a větvení projektů;
44 Zpracování událostí (hlavní smyčka, thread pools, C10k)
46 9. Linuxové distribuce, vydávání verzí, příprava balíčků a průběžný
49 10. Licence, autorská práva a patenty; Sledování živého systému,
50 ladění, opravy a analýzy.
52 11. Cílové platformy, vestavěná zařízení, open source v průmyslu,
53 přenositelnost a open source hardware
55 12. Trendy a výhled do budoucnosti
60 * Základní znaky open-source software, licence (GPL, LGPL), vývojový model,
61 spolupráce s komunitou, koexistence komerčních firem a open-source komunit.
63 * Základní přehled o skladbě OS POSIXového typu, jádro, model ovladačů,
64 správa paměti, uživatelské prostředí (procesy, knihovny, souborové systémy),
65 grafická uživatelské rozhraní.
67 * Alespoň minimální základ znalostí v oblastech Linux pro vestavé systémy,
68 architektury procesorů, křížový překlad, vývojové nástroje, knihovny,
69 aplikace Linuxu v průmyslu, multimediálních zařízeních a v bezpečnostně
70 kritických aplikacích (nanokernely, virtualizace).
72 * K případné ústní části dokumentace k práci na vašem projektu, historie
73 ze systému správy verzí a záznam komunikace s dalšími vývojáři. I některé
74 otázky písemné části se mohou týkat typických aspektů, které se při
75 reálném komunitním vývoji vyskytují.
77 [1]:http://www.feld.cvut.cz/education/rozvrhy-ng/public/cz/mistnosti/10/11/m10114904.html
78 [2]:http://cmp.felk.cvut.cz/~pisa/
79 [3]:http://www.jukie.net/~bart/slides/
80 [4]:http://free-electrons.com/docs/kernel