Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: linux_nadsenec 29. 03. 2016, 23:45:18

Název: Studium kernelu - ako na to?
Přispěvatel: linux_nadsenec 29. 03. 2016, 23:45:18
Zdravim, potreboval by som od rootu pomoc :)
Mam ako taku znalost jazyku C a Assembleru, niesom ziadny profesional. Jedna sa o to, ze vo volnom case si studujem nieco o linux kerneli, v com nieje problem, ale obcas narazim na take veci ako su napriklad makra pre systemove volania a neviem k tomu najst poriadne vysvetlenia (princip a dovod) a potom mam zmetok v tom co som sa naucil predtym. Otazka teda znie, ako spravnym sposobom studovat linux kernel ?
Název: Re:Studium kernelu - ako na to?
Přispěvatel: BLEK. 30. 03. 2016, 11:05:25
znalost makier nie je vec iba kernelu, su v skoro kazdom C programe

princip je ten ze ked prekladas C program do spustitelneho tak tie makra nic ine nespravia len ten text v tom textovom subore sa nahradi inym textom

pouziva sa to kvoli prehladnosti fungovalo by aj keby programator ten text makra Copy+paste skopiroval inde , lenze to zhorsuje citatelnost
Název: Re:Studium kernelu - ako na to?
Přispěvatel: BLEK. 30. 03. 2016, 11:15:58
zalezi co konkretne z linuxom planujes robit. su aj take knihy napriklad o tej virtualnej pamati ze ako to funguje:

https://www.kernel.org/doc/gorman/pdf/understand.pdf

virtualna pamet to je nieco ako paska turingovho stroja. mas proste kusky pasky  (tie stranky cca 4kb ale byvaju aj velke)

do tej pameti si program co bezi na linuxe dava svoje udaje, a to jadro robi tu robotu ze mu to vymiena tu pamat, nieco ako ked ti dojde zosit tak si dokupis. logicky ten proces vtedy nezhavaruje anii neskonci, len je zastaveny po velmi kratku dobu, jadro ho zastavi, vymeni pamat, a znova spusti.

skoro ten isty princip je pri windows jadre alebo mac
Název: Re:Studium kernelu - ako na to?
Přispěvatel: Daniel Kozak 30. 03. 2016, 11:26:47
znalost makier nie je vec iba kernelu, su v skoro kazdom C programe

princip je ten ze ked prekladas C program do spustitelneho tak tie makra nic ine nespravia len ten text v tom textovom subore sa nahradi inym textom

pouziva sa to kvoli prehladnosti fungovalo by aj keby programator ten text makra Copy+paste skopiroval inde , lenze to zhorsuje citatelnost

Tak o makrech v C se toho da rict hodne, ale tvrdit ze zvysuji prehlednost a citelnost tak to chce poradnou odvahu :). Prave naopak nejhorsi na makrech je ze zpusobuji necitelnost kodu, ale bohuzel se jim obcas v jazyku jako je C neda vyhnout.
Název: Re:Studium kernelu - ako na to?
Přispěvatel: hu 30. 03. 2016, 11:49:11
Ted me mozna nekteri budou chtit kamenovat, ale pro ziskani zakladni orientace v kernelu se mi vyplatilo ho cely natahnout do Eclipse a nechat naindexovat. Zasadni vyhoda je moznost kontextove navigace pomoci ctrl+klik, kdy to cloveka hodi na definici / deklaraci prislusneho symbolu.

Clovek toho proste musi hodne nacist, a to jak kodu, tak i textaku v /documentation.
Název: Re:Studium kernelu - ako na to?
Přispěvatel: hu 30. 03. 2016, 11:49:39
Jeste prihodim relevantni odkaz: https://wiki.eclipse.org/HowTo_use_the_CDT_to_navigate_Linux_kernel_source
Název: Re:Studium kernelu - ako na to?
Přispěvatel: hu 30. 03. 2016, 11:57:58
virtualna pamet to je nieco ako paska turingovho stroja. mas proste kusky pasky  (tie stranky cca 4kb ale byvaju aj velke)

Tak teda debilnejsi definici jsem uz dlouho necetl... ano, kazda pamet je "paska turingovho stroja". OMG, to mu ma pomoct jak presne?
Název: Re:Studium kernelu - ako na to?
Přispěvatel: linux_nadsenec 30. 03. 2016, 16:49:54
znalost makier nie je vec iba kernelu, su v skoro kazdom C programe
princip je ten ze ked prekladas C program do spustitelneho tak tie makra nic ine nespravia len ten text v tom textovom subore sa nahradi inym textom
pouziva sa to kvoli prehladnosti fungovalo by aj keby programator ten text makra Copy+paste skopiroval inde , lenze to zhorsuje citatelnost
To mi je samozrejme jasne, skor sa jedna o to, ze vyznam tych makier napriklad SYSCALL_DEFINEx. mi je nejasny. Teda asi lepsie polozena otazka je, aky je vyznam obsahu daneho makra v pripade ze je to [1..6]? Ale to by bolo asi na dlho, skor mi ide o to, kde zozeniem zdroje napriklad k timto makram a ich obsahom atd. A v tom kernely je koli makram ocividne akurat tak bordel.
Název: Re:Studium kernelu - ako na to?
Přispěvatel: linux_nadsenec 30. 03. 2016, 16:54:52
Ted me mozna nekteri budou chtit kamenovat, ale pro ziskani zakladni orientace v kernelu se mi vyplatilo ho cely natahnout do Eclipse a nechat naindexovat. Zasadni vyhoda je moznost kontextove navigace pomoci ctrl+klik, kdy to cloveka hodi na definici / deklaraci prislusneho symbolu.
Clovek toho proste musi hodne nacist, a to jak kodu, tak i textaku v /documentation.
Dakujem za odpoved. Ja konkretnejsie pouzivam stranku http://lxr.free-electrons.com/source/ (http://lxr.free-electrons.com/source/)
Název: Re:Studium kernelu - ako na to?
Přispěvatel: hu 30. 03. 2016, 18:10:19
Jasnr, lxr je supr. Ja ale potřeboval rovnou psát modul, tak proto eclipse. A nechces si rovnou taky napsat třeba nejakej menší driver?  ;)
Název: Re:Studium kernelu - ako na to?
Přispěvatel: linux_nadsenec 30. 03. 2016, 18:21:41
Jasnr, lxr je supr. Ja ale potřeboval rovnou psát modul, tak proto eclipse. A nechces si rovnou taky napsat třeba nejakej menší driver?  ;)
Tak co som testoval, tak som si spravil modul na spajany zoznam kernel vlakien, cize vpodstate nic uzitocne len take testovanie. Nechcem sa moc pustat do pisania driveru ked nemam poriadny teoreticky zaklad.
Název: Re:Studium kernelu - ako na to?
Přispěvatel: iwtu 30. 03. 2016, 21:00:59
na uvod je velmi dobra http://knihy.cpress.cz/jadro-systemu-linux.html
Název: Re:Studium kernelu - ako na to?
Přispěvatel: linux_nadsenec 30. 03. 2016, 22:30:22
na uvod je velmi dobra http://knihy.cpress.cz/jadro-systemu-linux.html
tuto knihu som videl uz davno a som ju aj hladal, ale nenasiel som ju v ziadnej forme...
Název: Re:Studium kernelu - ako na to?
Přispěvatel: hu 30. 03. 2016, 22:56:20
Jasnr, lxr je supr. Ja ale potřeboval rovnou psát modul, tak proto eclipse. A nechces si rovnou taky napsat třeba nejakej menší driver?  ;)
Tak co som testoval, tak som si spravil modul na spajany zoznam kernel vlakien, cize vpodstate nic uzitocne len take testovanie. Nechcem sa moc pustat do pisania driveru ked nemam poriadny teoreticky zaklad.

To je blbost. Vytahni ze šuplíku třeba dvb tuner, co ti nechodí, nebo prastarou ATM sitovku do PCI, a zkratka to rozchod. Nejlepší škola; krom psaní kódu zároveň pochopis, jak funguje byrokracie kolem jádra a to je skoro vic, než ten driver napsat.
Název: Re:Studium kernelu - ako na to?
Přispěvatel: hawran diskuse 31. 03. 2016, 08:31:48
na uvod je velmi dobra http://knihy.cpress.cz/jadro-systemu-linux.html
tuto knihu som videl uz davno a som ju aj hladal, ale nenasiel som ju v ziadnej forme...

Zkusils něco pohledat tady?
https://www.root.cz/knihy/ (https://www.root.cz/knihy/)
https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#linux (https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#linux)
http://www.tldp.org/ (http://www.tldp.org/)
Název: Re:Studium kernelu - ako na to?
Přispěvatel: iwtu 01. 04. 2016, 10:23:15
na uvod je velmi dobra http://knihy.cpress.cz/jadro-systemu-linux.html
tuto knihu som videl uz davno a som ju aj hladal, ale nenasiel som ju v ziadnej forme...

Mozem Ti ju poziciat, ak chces.
Název: Re:Studium kernelu - ako na to?
Přispěvatel: faha 01. 04. 2016, 11:59:24
Mrkněte na kernelnewbies.org ,  případne by se Vám možná mohl líbit projekt Kernel Janitors, což jsou takové "uklížečky" kernel kódu, je to užitečné a jako start kernel hackera to není špatné, krom jiného pochopíte i "štábní kulturu".
http://kernelnewbies.org/KernelJanitors
http://kernelnewbies.org/KernelJanitors/Todo
F.
Název: Re:Studium kernelu - ako na to?
Přispěvatel: linux_nadsenec 01. 04. 2016, 20:53:44
na uvod je velmi dobra http://knihy.cpress.cz/jadro-systemu-linux.html
tuto knihu som videl uz davno a som ju aj hladal, ale nenasiel som ju v ziadnej forme...
Mozem Ti ju poziciat, ak chces.
To by bolo idealne, ako som cital na internete, je to kvalitna kniha pre zaciatocnikov.
Název: Re:Studium kernelu - ako na to?
Přispěvatel: linux_nadsenec 01. 04. 2016, 20:55:03
Mrkněte na kernelnewbies.org ,  případne by se Vám možná mohl líbit projekt Kernel Janitors, což jsou takové "uklížečky" kernel kódu, je to užitečné a jako start kernel hackera to není špatné, krom jiného pochopíte i "štábní kulturu".
http://kernelnewbies.org/KernelJanitors
http://kernelnewbies.org/KernelJanitors/Todo
F.
Dakujem, snad sa niekam dopracujem s timito vsetkymi zdrojmi :)
Název: Re:Studium kernelu - ako na to?
Přispěvatel: Bjarne 01. 04. 2016, 23:19:02
Začal bych tady https://github.com/torvalds/linux/blob/master/init/main.c#L479
Název: Re:Studium kernelu - ako na to?
Přispěvatel: tiez_ma_to_zaujima 02. 04. 2016, 12:17:57
Jasnr, lxr je supr. Ja ale potřeboval rovnou psát modul, tak proto eclipse. A nechces si rovnou taky napsat třeba nejakej menší driver?  ;)
Tak co som testoval, tak som si spravil modul na spajany zoznam kernel vlakien, cize vpodstate nic uzitocne len take testovanie. Nechcem sa moc pustat do pisania driveru ked nemam poriadny teoreticky zaklad.

To je blbost. Vytahni ze šuplíku třeba dvb tuner, co ti nechodí, nebo prastarou ATM sitovku do PCI, a zkratka to rozchod. Nejlepší škola; krom psaní kódu zároveň pochopis, jak funguje byrokracie kolem jádra a to je skoro vic, než ten driver napsat.
Mas nejaky tip, kde zohnat specifikaciu, ako ma ten driver fungovat? Stacil by Windows driver + debugger, to by som mozno dokazal. Este schopnejsi by to mozno dokazali aj s logickym analyzatorom a bez driverov. Alebo ti najschopnejsi tak, ako sa zevraj robila priemyselna spionaz - freza a mikroskop. Dokazem napisat boilerplate kod, aby sa driver pustil pri tom najdenom zariadeni, ale neviem, co do zariadenia posielat a kde a aky vystup mam ocakavat.
Název: Re:Studium kernelu - ako na to?
Přispěvatel: iwtu 02. 04. 2016, 17:21:20
na uvod je velmi dobra http://knihy.cpress.cz/jadro-systemu-linux.html
tuto knihu som videl uz davno a som ju aj hladal, ale nenasiel som ju v ziadnej forme...
Mozem Ti ju poziciat, ak chces.
To by bolo idealne, ako som cital na internete, je to kvalitna kniha pre zaciatocnikov.

Napis svoj mail.
Název: Re:Studium kernelu - ako na to?
Přispěvatel: linux_nadsenec 02. 04. 2016, 19:03:30
na uvod je velmi dobra http://knihy.cpress.cz/jadro-systemu-linux.html
tuto knihu som videl uz davno a som ju aj hladal, ale nenasiel som ju v ziadnej forme...
Mozem Ti ju poziciat, ak chces.
To by bolo idealne, ako som cital na internete, je to kvalitna kniha pre zaciatocnikov.
Napis svoj mail.
prave vytvoreny: random159852@gmail.com
Název: Re:Studium kernelu - ako na to?
Přispěvatel: iwtu 03. 04. 2016, 02:30:17
Hele, ked si nevies dat normalny mail, tak kasli na to. Mas aspon 15?
Název: Re:Studium kernelu - ako na to?
Přispěvatel: linux_nadsenec 03. 04. 2016, 14:51:00
Hele, ked si nevies dat normalny mail, tak kasli na to. Mas aspon 15?
mam 18, a mail pouzivam iba na skolu, a mam tam svoje realne meno, to uz som si mohol rovno sem do "Jméno" dat svoje prave meno. Ale tak nemusis to uz riesit, na upnito som uz nasiel tu knihu.
Název: Re:Studium kernelu - ako na to?
Přispěvatel: iwtu 03. 04. 2016, 23:37:29
Hej, cely internet sa poserie z Tvojho realneho mena. Ked nie si ochotny niest za svoje nazory zodpovednost, nelez na internet..
Název: Re:Studium kernelu - ako na to?
Přispěvatel: BoneFlute 04. 04. 2016, 19:32:29
Hej, cely internet sa poserie z Tvojho realneho mena. Ked nie si ochotny niest za svoje nazory zodpovednost, nelez na internet..
Koukám, jeden paranoik a hned se někteří lidé mohou zbláznit :D
Název: Re:Studium kernelu - ako na to?
Přispěvatel: čumil 05. 04. 2016, 10:45:43
Hej, cely internet sa poserie z Tvojho realneho mena. Ked nie si ochotny niest za svoje nazory zodpovednost, nelez na internet..
Řekl iwtu :D
Název: Re:Studium kernelu - ako na to?
Přispěvatel: jano 07. 04. 2016, 13:19:17
omg, chce hackovat jadro a knihu si uwarezit nevie     :P