X-Git-Url: http://rtime.felk.cvut.cz/gitweb/edu/osp-wiki.git/blobdiff_plain/a71d9038ad9276b1639d28227c28bfb41d9ab9d3..1e0c93f76cff3e8c9c98a6a47b16ce918f362076:/prednasky.mdwn diff --git a/prednasky.mdwn b/prednasky.mdwn index 915f17bb..2db4780a 100644 --- a/prednasky.mdwn +++ b/prednasky.mdwn @@ -1 +1,105 @@ [[!meta title="Přednášky"]] + +Účast na přednáškách je doporučená. 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 jsou v místnosti [T2:C3-132][1]. Hlavní přednášející je [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. Materiály: kniha [Pro GIT][9] a přednáška + [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]; Standardní adresářová struktura ([FHS][6]) + +5. [[Grafická uživatelská prostředí a knihovny: QT, GTK+, GNOME, KDE|gui]] Tvorba grafických aplikací. + +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] + +10. Licence, autorská práva a patenty ([[ODF|osp-sw-licensing.odp]] a [[PDF|osp-sw-licensing.pdf]]); 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]]); [Google Code University][7] - Distributed Systems - [RPC Case Studies][8]. + +12. Trendy a výhled do budoucnosti + +Požadavky ke zkoušce +==================== + +Položky v hranatých závorkách budou zahrnuty pokud studenti +na přednáškách nebudou potřebovat příliš velké množství opakování +látky, kterou si měli osvojit již v předchozích kurzech. + +* 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.fel.cvut.cz/cz/education/rozvrhy-ng/public/cz/mistnosti/10/11/m10115004.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/ + [6]:http://refspecs.linuxfoundation.org/fhs.shtml + [7]:http://code.google.com/edu/courses.html + [8]:http://code.google.com/edu/submissions/rutgers/index.html + [9]:http://git-scm.com/book/