Fórum Root.cz
Práce => Studium a uplatnění => Téma založeno: semach 20. 10. 2015, 19:57:28
-
Dobrý den,
chtěl bych začít se studiem kernelu, operačních systému, architektury, principů a mechaniky, linux kernel (aktuální verze z gitu) mi přijde na studium jako velké sousto pro začátek, mám za sebou několik let programování v C a ASM, většinou blízko hardware, dost jsem četl, že je dobré začít studium minixu.
Máte tip kde začít se studiem, menší jádra/jaká, PDF manuály, nějaký obecný kernel devel portál, mailing list nebo existuje postup odkud začít číst linux kernel a jak ho vlastně hackovat (debug, qemu, atd...?), angličtina není žádný problém.
Díky. Semach.
-
osdev.org ; potom nejake BSD (Net/OpenBSD doporucuji, kod je dobre citelny);
mate-li rad stare veci, V7 Unix ma zdrojaky i knizku komentujici cely kernel.
No a potom samozrejme Minix, ale spis nejakou starsi verzi (opet, existuji knizky, mel jsem od Tanenbauma tistenou, ale mozna bude nekde ke stazeni).
-
Jádro systému Linux (http://knihy.cpress.cz/jadro-systemu-linux.html)
-
Pokud se jedna o uplny zacatek silne doporucuju knihu:
Design and implementation of the FreeBSD operating system
Podle me jedna z nejlepe napsanych IT knizek vubec, McKusick tam popisuje principy tak, jak je v prehistoricke dobe vymysleli a v odpovidajici verzi jadra "naivne" implementovali. S principy, ktere jsem pochopil z tehle knizky se od te doby potkavam v IT na kazdem rohu, takze hodnota pro me velka.
-
osdev.org ; potom nejake BSD (Net/OpenBSD doporucuji, kod je dobre citelny);
mate-li rad stare veci, V7 Unix ma zdrojaky i knizku komentujici cely kernel.
No a potom samozrejme Minix, ale spis nejakou starsi verzi (opet, existuji knizky, mel jsem od Tanenbauma tistenou, ale mozna bude nekde ke stazeni).
Díky.
Pokud jde o minix, bavíme se o této knize? http://wiki.minix3.org/doku.php?id=www:documentation:start
PDF verzi už mám na čtečte asi měsíc.
-
Pokud se jedna o uplny zacatek silne doporucuju knihu:
Design and implementation of the FreeBSD operating system
Podle me jedna z nejlepe napsanych IT knizek vubec, McKusick tam popisuje principy tak, jak je v prehistoricke dobe vymysleli a v odpovidajici verzi jadra "naivne" implementovali. S principy, ktere jsem pochopil z tehle knizky se od te doby potkavam v IT na kazdem rohu, takze hodnota pro me velka.
Skvělé, díky.
http://hackershelf.com/book/489/the-design-and-implementation-of-the-freebsd-operating-system/
-
Jak už tady padlo, tak Minix a ty knihy od Tanenbauma jsou do začátku dobré.
Ale rozhodně bych se nebál linuxu. Cca před 14 dny jsem si dělal nějaký research grafického stacku na linuxu a procházel jsem si DRM subsystém a normálně v pohodě se to dá postupně rozlouskávat, akorát u toho člověk stráví hodiny.
Forknout, pak naimportovat do Eclipse či jakéhokoliv jiného IDE, nechat zaindexovat a můžeš se pěkně navigovat stiskem jedný klávesy mezi deklaracema a definicema atd.. Ideální na pochopení, jak to funguje.
-
Jestli máte zkušenosti s ASM, tak by se vám mohl líbit http://www.menuetos.net/
Tenhle projekt si zaslouží pozornost.
-
Mozna by nebylo k zahozeni se podivat na helenos, rekl bych ze diky velke ceske komunite to muz byt pro zacatek dobre:
http://www.helenos.org/
-
osdev.org ; potom nejake BSD (Net/OpenBSD doporucuji, kod je dobre citelny);
mate-li rad stare veci, V7 Unix ma zdrojaky i knizku komentujici cely kernel.
No a potom samozrejme Minix, ale spis nejakou starsi verzi (opet, existuji knizky, mel jsem od Tanenbauma tistenou, ale mozna bude nekde ke stazeni).
Díky.
Pokud jde o minix, bavíme se o této knize? http://wiki.minix3.org/doku.php?id=www:documentation:start
PDF verzi už mám na čtečte asi měsíc.
Mel jsem na mysli neco podobneho, ale pro verzi 2 (cervena, pomerne tlusta kniha). Verzi 3 neznam (tu knihu, Minix jako takovy samozrejme ano :) ).
Krasna dokumentace byla ke QNX (ve forme knizek). Je tam vysvetlen cely princip a API jejich mikrokernelu.
Jak tu nekdo zminoval "citelnost" Linuxu, tak moc nesouhlasim. Citelne to samozrejme je, ale kod je misty dost prasacky. BSD mi prijde mnohem vice uhlazene a systematicteji navrzene. Ono je to videt i na "new features", v BSD toho zase tak moc neni, Linux casto experimentuje se vsim moznym.
-
Jestli máte zkušenosti s ASM, tak by se vám mohl líbit http://www.menuetos.net/
Tenhle projekt si zaslouží pozornost.
Mohu se zeptat proc stoji za pozornost? Marne jsem se snazil najit nejakou killer feature resp. inovaci, tedy krome toho "dokazali jsme to v assembleru". Podle meho nazoru neni nejmensi duvod programovat VSECHNO v ASM, naopak to zanese spoustu problemu do kodu.
-
Jestli máte zkušenosti s ASM, tak by se vám mohl líbit http://www.menuetos.net/
Tenhle projekt si zaslouží pozornost.
Mohu se zeptat proc stoji za pozornost? Marne jsem se snazil najit nejakou killer feature resp. inovaci, tedy krome toho "dokazali jsme to v assembleru". Podle meho nazoru neni nejmensi duvod programovat VSECHNO v ASM, naopak to zanese spoustu problemu do kodu.
Naopak to odstraní problémy se zabugovanýma compilerama, zbytečné vrstvy sra*ek atd atd. Rozhodně to zajímavý je, ale netvrdím, že použitelný.
-
Jestli máte zkušenosti s ASM, tak by se vám mohl líbit http://www.menuetos.net/
Tenhle projekt si zaslouží pozornost.
Mohu se zeptat proc stoji za pozornost? Marne jsem se snazil najit nejakou killer feature resp. inovaci, tedy krome toho "dokazali jsme to v assembleru". Podle meho nazoru neni nejmensi duvod programovat VSECHNO v ASM, naopak to zanese spoustu problemu do kodu.
Naopak to odstraní problémy se zabugovanýma compilerama, zbytečné vrstvy sra*ek atd atd. Rozhodně to zajímavý je, ale netvrdím, že použitelný.
Nevsiml jsem si, ze by treba v gcc bylo tolik bugu, aby mi to za to stalo psat cokoliv v assembleru. Kus OS (treba prepinac tasku, kde se switchuje context) normalni clovek naprogramuje v assembleru, ale jen to nejnutnejsi.
Naopak, kdyz jsem programoval v asm (shodou okolnosti i "operacni system", jeden z milionu obdobnych, ucil jsem se na tom) tak jsem tam spis zanasel chyby ja.