]> rtime.felk.cvut.cz Git - edu/osp-wiki.git/blob - prednasky.mdwn
Update links to official subject pages to adapt to the faculty web changes.
[edu/osp-wiki.git] / prednasky.mdwn
1 [[!meta title="Přednášky"]]
2
3 Účast na přednáškách je doporučená. Předpokládá se, že na cvičeních
4 jsou studenti obeznámení s látkou probíranou na přednášce.
5
6 Přednášky jsou v místnosti [T2:C3-132][1]. Hlavní přednášející je [Pavel Píša][2].
7
8 Osnovy přednášek
9 ================
10
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]])
14
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]])
18
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. Materiály: kniha [Pro GIT][9] a přednáška
21    [Bart Trojanowski, Git the basics][3] ([[PDF|intro-to-git.pdf]])
22
23         git clone git://git.jukie.net/intro-to-git.git/
24         cd intro-to-git
25         make
26         kpdf intro-to-git.pdf
27
28 4. Linuxové jádro - vznik, vývoj, skladba a ovladače; GNU libc a
29    uživatelský prostor
30    ([[ODF|osp-linux-overview.odp]] a [[PDF|osp-linux-overview.pdf]])  
31    [Embedded Linux kernel and driver development][4]; Standardní adresářová struktura ([FHS][6])
32
33 5. [[Grafická uživatelská prostředí a knihovny: QT, GTK+, GNOME, KDE|gui]] Tvorba grafických aplikací.
34
35 6. Komerční model, sociální a rozhodovací struktury
36    ([[ODF|osp-business-mdl-dec.odp]] a [[PDF|osp-business-mdl-dec.pdf]]);
37    Souborové systémy, správa paměti, bloková zařízení.
38    ([[ODF|osp-linux-fs-vmm.odp]] a [[PDF|osp-linux-fs-vmm.pdf]]);
39
40 7. Založení vlastního projektu a zapojení se do existujícího projektu;
41    Technická infrastruktura (správa verzí a chyb, komunikace, wiki)
42    ([[ODF|osp-project-init-infra.odp]] a [[PDF|osp-project-init-infra.pdf]]);
43    Virtualizace
44
45 8. Mezilidská komunikace, dobrovolníci, vývoj a větvení projektů;
46    Zpracování událostí (hlavní smyčka, thread pools, C10k)
47    ([[ODF|osp-event-processing.odp]] a [[PDF|osp-event-processing.pdf]])
48
49 9. Linuxové distribuce, vydávání verzí, příprava balíčků a průběžný
50    vývoj. ([[ODF|osp-linux-distributions.odp]] a [[PDF|osp-linux-distributions.pdf]])
51    [GNU/Linux distro timeline][5]
52
53 10. Licence, autorská práva a patenty ([[ODF|osp-sw-licensing.odp]] a [[PDF|osp-sw-licensing.pdf]]); Sledování živého systému,
54    ladění, opravy a analýzy.
55
56 11. Cílové platformy, vestavěná zařízení, open source v průmyslu,
57    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].
58
59 12. Trendy a výhled do budoucnosti
60
61 Požadavky ke zkoušce
62 ====================
63
64 Položky v hranatých závorkách budou zahrnuty pokud studenti
65 na přednáškách nebudou potřebovat příliš velké množství opakování
66 látky, kterou si měli osvojit již v předchozích kurzech.
67
68 * Základní znaky open-source software, licence (GPL, LGPL), vývojový model, 
69   spolupráce s komunitou, koexistence komerčních firem a open-source komunit,
70   možnosti generování zisku.
71
72 * Správa rozsáhlých softwarových projektů, systémy pro verzování, sledování
73   chyb, koordinace vývojářů a vedení projektů.
74
75 * Binární distribuce, jejich vznik, správa aplikací a koncepce balíčků
76   (Debian DEB, RedHat RPM) a přehled důležitých open-source projektů.
77
78 * Základní přehled o skladbě OS POSIXového typu, jádro, [model ovladačů,]
79   správa paměti, uživatelské prostředí (procesy, knihovny, souborové systémy).
80
81 * Grafická uživatelské rozhraní (Qt, koncepce signal-slot, Gtk,
82   koncepce X - display server).
83
84 * [Alespoň minimální základ znalostí v oblastech Linux pro vestavé systémy,
85   architektury procesorů, křížový překlad, vývojové nástroje, knihovny,
86   aplikace Linuxu v průmyslu, multimediálních zařízeních a v bezpečnostně
87   kritických aplikacích (nanokernely, virtualizace).]
88
89 * Minimální sada komponent pro start a běh systému a interakci s ním
90   (shell, core-utils, BusyBox).
91
92 * K případné ústní části dokumentace k práci na vašem projektu, historie
93   ze systému správy verzí a záznam komunikace s dalšími vývojáři. I některé
94   otázky písemné části se mohou týkat typických aspektů, které se při
95   reálném komunitním vývoji vyskytují.
96
97   [1]:http://www.fel.cvut.cz/cz/education/rozvrhy-ng/public/cz/mistnosti/10/11/m10115004.html
98   [2]:http://cmp.felk.cvut.cz/~pisa/
99   [3]:http://www.jukie.net/~bart/slides/
100   [4]:http://free-electrons.com/docs/kernel
101   [5]:http://futurist.se/gldt/
102   [6]:http://refspecs.linuxfoundation.org/fhs.shtml
103   [7]:http://code.google.com/edu/courses.html
104   [8]:http://code.google.com/edu/submissions/rutgers/index.html
105   [9]:http://git-scm.com/book/