[[!meta title="Přednášky"]] Účast na přednáškách je doporučná. Předpokládá se, že na cvičeních jsou studenti obeznámení s látkou probíranou na přednášce. Přednášky v [T2:C3-340][1]. Hlavní přednášející [Pavel Píša][2]. Osnovy přednášek ================ 1. Úvodní slovo o předmětu; Open source software, projekt GNU, licence a operační systémy vycházející z jeho filozofie ([[ODF|osp-intro-gnu.odp]] a [[PDF|osp-intro-gnu.pdf]]) 2. Přehled významných Open source projektů (i pro [[výběr semestrální práce|vyznamne-projekty]]) ([[ODF|osp-projects-map.odp]] a [[PDF|osp-projects-map.pdf]]) 3. Verzovací systém Git; GNU - vznik základních vývojových nástrojů a jejich použití, křížový překlad [Bart Trojanowski, Git the basics][3] ([[PDF|intro-to-git.pdf]]) git clone git://git.jukie.net/intro-to-git.git/ cd intro-to-git make kpdf intro-to-git.pdf 4. Linuxové jádro - vznik, vývoj, skladba a ovladače; GNU libc a uživatelský prostor ([[ODF|osp-linux-overview.odp]] a [[PDF|osp-linux-overview.pdf]]) [Embedded Linux kernel and driver development][4] 5. [[Grafická uživatelská prostředí a knihovny: QT, GTK+, GNOME, KDE|gui]] 6. Komerční model, sociální a rozhodovací struktury ([[ODF|osp-business-mdl-dec.odp]] a [[PDF|osp-business-mdl-dec.pdf]]); Souborové systémy, správa paměti, bloková zařízení. ([[ODF|osp-linux-fs-vmm.odp]] a [[PDF|osp-linux-fs-vmm.pdf]]); 7. Založení vlastního projektu a zapojení se do existujícího projektu; Technická infrastruktura (správa verzí a chyb, komunikace, wiki) ([[ODF|osp-project-init-infra.odp]] a [[PDF|osp-project-init-infra.pdf]]); Virtualizace 8. Mezilidská komunikace, dobrovolníci, vývoj a větvení projektů; Zpracování událostí (hlavní smyčka, thread pools, C10k) ([[ODF|osp-event-processing.odp]] a [[PDF|osp-event-processing.pdf]]) 9. Linuxové distribuce, vydávání verzí, příprava balíčků a průběžný vývoj. ([[ODF|osp-linux-distributions.odp]] a [[PDF|osp-linux-distributions.pdf]]) [GNU/Linux distro timeline][5] ([[SVG|gnu-linux-distributions.svg]]) 10. Licence, autorská práva a patenty; Sledování živého systému, ladění, opravy a analýzy. 11. Cílové platformy, vestavěná zařízení, open source v průmyslu, přenositelnost a open source hardware. ([[ODF|osp-hw-and-porting.odp]] a [[PDF|osp-hw-and-porting.pdf]]) 12. Trendy a výhled do budoucnosti Požadavky ke zkoušce ==================== Na položky v hranatých závorkách nebude pro rok 2010 brán důraz. * Základní znaky open-source software, licence (GPL, LGPL), vývojový model, spolupráce s komunitou, koexistence komerčních firem a open-source komunit, možnosti generování zisku. * Správa rozsáhlých softwarových projektů, systémy pro verzování, sledování chyb, koordinace vývojářů a vedení projektů. * Binární distribuce, jejich vznik, správa aplikací a koncepce balíčků (Debian DEB, RedHat RPM) a přehled důležitých open-source projektů. * Základní přehled o skladbě OS POSIXového typu, jádro, [model ovladačů,] správa paměti, uživatelské prostředí (procesy, knihovny, souborové systémy). * Grafická uživatelské rozhraní (Qt, koncepce signal-slot, Gtk, koncepce X - display server). * [Alespoň minimální základ znalostí v oblastech Linux pro vestavé systémy, architektury procesorů, křížový překlad, vývojové nástroje, knihovny, aplikace Linuxu v průmyslu, multimediálních zařízeních a v bezpečnostně kritických aplikacích (nanokernely, virtualizace).] * Minimální sada komponent pro start a běh systému a interakci s ním (shell, core-utils, BusyBox). * K případné ústní části dokumentace k práci na vašem projektu, historie ze systému správy verzí a záznam komunikace s dalšími vývojáři. I některé otázky písemné části se mohou týkat typických aspektů, které se při reálném komunitním vývoji vyskytují. [1]:http://www.feld.cvut.cz/education/rozvrhy-ng/public/cz/mistnosti/10/11/m10114904.html [2]:http://cmp.felk.cvut.cz/~pisa/ [3]:http://www.jukie.net/~bart/slides/ [4]:http://free-electrons.com/docs/kernel [5]:http://futurist.se/gldt/