Studium kernelu

semach

Studium kernelu
« kdy: 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.


mhi_

Re:Studium kernelu
« Odpověď #1 kdy: 20. 10. 2015, 20:03:03 »
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).

Re:Studium kernelu
« Odpověď #2 kdy: 20. 10. 2015, 20:13:08 »

Martin

Re:Studium kernelu
« Odpověď #3 kdy: 20. 10. 2015, 20:43:46 »
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.

semach

Re:Studium kernelu
« Odpověď #4 kdy: 20. 10. 2015, 21:31:07 »
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.


semach

Re:Studium kernelu
« Odpověď #5 kdy: 20. 10. 2015, 21:45:22 »
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/

iluminát

Re:Studium kernelu
« Odpověď #6 kdy: 20. 10. 2015, 23:14:53 »
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.

Mintaka_

Re:Studium kernelu
« Odpověď #7 kdy: 21. 10. 2015, 00:27:22 »
Jestli máte zkušenosti s ASM, tak by se vám mohl líbit http://www.menuetos.net/
Tenhle projekt si zaslouží pozornost.

Daniel Kozak

Re:Studium kernelu
« Odpověď #8 kdy: 21. 10. 2015, 09:39:31 »
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/

mhi_

Re:Studium kernelu
« Odpověď #9 kdy: 21. 10. 2015, 11:28:02 »
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.

mhi_

Re:Studium kernelu
« Odpověď #10 kdy: 21. 10. 2015, 11:33:07 »
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.

Tuxik

  • *****
  • 1 473
    • Zobrazit profil
    • E-mail
Re:Studium kernelu
« Odpověď #11 kdy: 21. 10. 2015, 11:59:57 »
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ý.

mhi_

Re:Studium kernelu
« Odpověď #12 kdy: 21. 10. 2015, 12:10:55 »
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.