Přehled studia |
Přehled oborů |
Všechny skupiny předmětů |
Všechny předměty |
Seznam rolí |
Vysvětlivky
Návod
Webová stránka:
http://support.dce.felk.cvut.cz/osp/
Anotace:
Studenti se seznámí s open-source projekty a technikami ověřenými při programování rozsáhlejších aplikací a operačních systémů. Budou uvedeny důvody, které vedly k založení projektu GNU, a vysvětleno, proč může být tento přístup vhodnou platformou i pro spolupráci komerčních firem. Dále budou popsány standardní nástroje pro tvorbu, správu, ladění a testování zdrojových kódů a základní skladba operačního systému POSIXového typu. Předložen bude i úvod do tvorby ovladačů pro takovéto operační systémy a skladby uživatelských a grafických knihoven. Závěrečný blok přednášek bude zaměřen na využití popsaných technik ve vestavných aplikacích a pro řízení v reálném čase.
Výsledek studentské ankety předmětu je zde:
A4M35OSP
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 |
2. | | GNU - vznik základních vývojových nástrojů a jejich použití |
3. | | Přehled významných Open-source projektů (i pro výběr semestrální práce) |
4. | | Založení vlastního projektu a zapojení se do existujícího projektu |
5. | | Technická infrastruktura (správa verzí a chyb, komunikace, wiki) |
6. | | Komerční model; Sociální a rozhodovací struktury |
7. | | Mezilidská komunikace |
8. | | Vydávání verzí, příprava balíčků a průběžný vývoj |
9. | | Dobrovolníci, vývoj a větvení projektů |
10. | | Licence, autorská práva a patenty |
11. | | Cílové platformy, přenositelnost a open-source hardware |
12. | | Linuxové jádro - vznik, vývoj, skladba a ovladače |
13. | | Trendy a výhled do budoucnosti |
Osnovy cvičení:
Seznámení s vývojovými nástroji a prostředím GNU/Linux:
Tvorba jednoduché aplikace v jazyce C, využití automake a případných dalších metod k sestavování programu
Práce s rozsáhlým projektem a jeho historií:
Vhodným kandidátem je Linuxové jádro
Procházení historií (git), vývojové stromy, konfigurace a kompilace
Tvorba jednoduchého znakového ovladače
Samostatná práce:
Výběr z nabídky prací na různých open-source projektech nebo návrh vlastní (úprav existujícího projektu, či založení projektu nového). Projekty mohou být z celé škály softwarových projektů, preferované jsou projekty zabývající se programováním na úrovni tradičních jazyků (C, C++, Java, Mono) buď plně přenositelných aplikací (POSIX) nebo programování na systémové úrovni.
Práce na projektu/úpravách, komunikace s komunitou okolo projektu, konzultace se cvičícími
Prezentace výsledků a hodnocení úspěšnosti, míry začlenění do projektu i studentovi komunikace s dalšími členy týmu.
Literatura:
[1] | | Fogel K.: Tvorba open source softwaru, |
CZ.NIC, z. s. p. o., 2012, ISBN-13: 978-80-904248-5-2
[2] | | The Linux Documentation Project http://tldp.org/ |
[3] | | Popis programátorských technik v Unixu |
http://dce.felk.cvut.cz/pos/os_api/unix.html
[4] | | GNU Operating System http://www.gnu.org/ |
[5] | | Embedded Linux kernel and driver development, http://free-electrons.com. |
[6] | | Love R.: Linux Kernel Development (2nd Edition), Novell Press, 2005. |
[7] | | Corbet J., Rubini A., Kroah-Hartman G.: Linux Device Drivers (3rd Edition), |
O'Reilly Media, Inc., 2005, ISBN-10: 0596005903, ISBN-13: 978-0596005900
Požadavky:
Dobrá znalost jazyka C a alespoň základní zkušenosti s multithreadovým programováním v POSIXových systémech. Základní znalost skladby hardware počítačových systémů a logických obvodů je též nutnou podmínkou pro pochopení probírané látky a HW, SW návazností.
Stránky předmětu:
https://moodle.dce.fel.cvut.cz/
Poznámka:
Předmět je zahrnut do těchto studijních plánů:
Plán |
Obor |
Role |
Dop. semestr |
Stránka vytvořena 14.3.2025 15:50:53, semestry: Z/2025-6, L/2024-5, L/2025-6, Z/2024-5, připomínky k informační náplni zasílejte správci studijních plánů |
Návrh a realizace: I. Halaška (K336), J. Novák (K336) |