Ahoj! Vítej na místě, kde strhneme oponu z tajuplného světa systémového programování v Linuxu.
Možná ti někdo tvrdil, že abys mohl psát kód, který komunikuje přímo s operačním systémem, musíš mít plnovous, pít kafe z litrového hrnku s logem Debianu a mluvit v assembleru. Blbost. Systémové programování je sice řemeslo, které vyžaduje přesnost, ale základy pochopí úplně každý. A přesně od toho je tu tahle série.
Systémové programování znamená, že tu bublinu praskneme. Budeme psát kód, který sahá přímo na železo a na systémová volání (syscalls) Linuxu.
Možná ti někdo tvrdil, že abys mohl psát kód, který komunikuje přímo s operačním systémem, musíš mít plnovous, pít kafe z litrového hrnku s logem Debianu a mluvit v assembleru. Blbost. Systémové programování je sice řemeslo, které vyžaduje přesnost, ale základy pochopí úplně každý. A přesně od toho je tu tahle série.
O čem to sakra je?
Když píšeš běžnou aplikaci (třeba web nebo mobilní hru), jsi schovaný v bezpečné bublině. Jazyky jako Python nebo JavaScript za tebe řeší všechno špinavé na pozadí.Systémové programování znamená, že tu bublinu praskneme. Budeme psát kód, který sahá přímo na železo a na systémová volání (syscalls) Linuxu.
Co se v této sérii naučíš?
Téma
Co si z toho odneseš?*
1. Práce s procesy
Naučíš se klonovat procesy a donutíš procesor dělat deset věcí naráz.
2. Souborový systém
Zjistíš rozdíl mezi složkou a souborem. Rozbiješ všechny odkazy v systému.
3. Práce se soubory
Zapomeň na běžné ukládání textu. Podíváme se, jak Linux vidí všechno jako soubor.
4. Zařízení
Přepíšeš svůj disk na nuly a zjistíš jak krást hesla z terminálů.
5. Virtuální souborové systémy
Tvá peněženka bude brečet až zjistíš přesnou spotřebu tvýho kompu.
*Všechny upoutávky byly vygenerovány pomocí gemini ve 2:00 ráno, pravděpodobnost pravdivost se blíží nule
Pro koho to NENÍ a pro koho TO JE?
- NENÍ TO pro úplné programátorské nuly. Pokud netušíš, co je to cyklus
fornebo proměnná, nejdřív si dej rychlokurz jakéhokoliv jazyka. - NENÍ TO nudná akademická příručka plná suché teorie a matematických definic. (možná)
- JE TO pro lidi, co už umí trochu kódovat, ale chtějí vědět, JAK ty věci uvnitř počítače doopravdy fungují.
- JE TO psané lidsky, s humorem a hromadou praktických (a občas schválně rozbitých) ukázek.**
**To byla lež
Co budeš potřebovat do začátku?
- Počítač s Linuxem (
Ubuntu, Fedora, Arch – cokoliv, klidně i WSL2 ve Windows). - Terminál (tvůj nový nejlepší kamarád).
- Textový editor (
VS Code, Vim, Nano – je nám to jedno, hlavně když v tom umíš psát). - Trochu odvahy nebát se chybových hlášek.
Zlaté pravidlo této série: Nejvíc se naučíš, když tvůj kód pošle operační systém do háje. Chybami se člověk učí a v systémovém programování to platí dvojnásob!