Skocz do zawartości

Nauka Systemu *nix Oraz Języka C/c++? Proszę O Radę


Takedowner

Rekomendowane odpowiedzi

Dzień dobry. Chcę wgłębić się w tajniki języka programowania, jakim jest język C, więc chcę sięgnąć po bardziej specjalistyczną literaturę. Sugerowałem się przy jej wyborze, aby traktowałakody w najbardziej przenośnym standardzie, jakim jest ANSI C. Jednak bardzo zapragnąłem poznać mechanizmy działania systemu Linux. Wybór padł na książkę pt: "Programowanie w środowisku systemu UNIX", autora W. Richard Stevens. Wiem, że jądro systemu Linux jest pisany w C (przynajmniej w większości, albo się mylę więc proszę o poprawienie mnie), ale może jest jakaś dystrybucja (_linuxa_ → Linuksa) ORT, która głównie oparta jest na kodzie źródłowym C/C++, a zarazem nadaje się jako distro na serwer, ponieważ chciałem związać się z jedną dystrybucją i w miarę wprawy w język C/C++ coś wnieść w poprawki, w przyszłości, po rozwoju mojej wiedzy. Może nie ma takiej dystrybucji, która spełniałaby moje oczekiwania, to proszę mi o doradzenie innego, wolnooprogramowanego systemu, spełniające moje oczekiwania. wiem, że najodpowiedniejszym może być któryś z systemum BSD, ale może jednak znajdzie się jakieś distro (_linux'a_ → Linuksa) ORT dla mnie. Z góry dziękuję za odpowiedź. Pozdrawiam.

 

Akurat chwile temu natknąłem się na notkę,

http://en.wikipedia.org/wiki/Linux_kernel#...mming_languages

, że cały Linux jest pisany w C, a tylko szczątki w asemblerze. Czy to ma oznaczać, że wszystkie dystrybucje są pisane w tym języku? Czy można to rozumieć, że jądro jest pisane w C, a co z resztą "mechanizmów" składających się na (_linux'a_ → Linuksa) ORT ? Ogólnie proszę tylko, w miarę wiedzy, czy mechanizmy jakie autor opisuje w ww. książce, są zaimplementowane w jądrze (_linux'a_ → Linuksa) ORT? Z góry jeszcze raz dziękuję. Pozdrawiam.

 

Odnośnik do komentarza
Udostępnij na innych stronach

? Czy można to rozumieć, że jądro jest pisane w C, a co z resztą "mechanizmów" składających się na (_linux'a_ → Linuksa) ORT.

Linux to jądro, aktualnie IMO błędnie uważane za całą dystrybucję Linuksa.

 

Linux to jądro i Linux (czyli jądro) jest napisany w C z użyciem ASM.

 

Chyba tak to trzeba rozumieć...

Odnośnik do komentarza
Udostępnij na innych stronach

Małymi kroczkami proszę :rolleyes: ledwie się zacząłeś uczyć c/c++ a już chcesz kernel poprawiać. Zdziwisz się ile się tego trzeba naczytać. Ty się ucz na razie tego c/c++, od 30lat nic się nie zmieniło i jest to dominujący język. Z czasem zobaczysz, że do każdej części systemu jest "jakiś" język. Tu perl, tam python, a za rogiem bash, że o stosie bibliotek nie wspomnę.

 

ps.pierwsza książka to dopiero przedsionek piekła :lol:

Odnośnik do komentarza
Udostępnij na innych stronach

Małymi kroczkami proszę :rolleyes: ledwie się zacząłeś uczyć c/c++ a już chcesz kernel poprawiać. Zdziwisz się ile się tego trzeba naczytać. Ty się ucz na razie tego c/c++, od 30lat nic się nie zmieniło i jest to dominujący język. Z czasem zobaczysz, że do każdej części systemu jest "jakiś" język. Tu perl, tam python, a za rogiem bash, że o stosie bibliotek nie wspomnę.

 

ps.pierwsza książka to dopiero przedsionek piekła :lol:

 

Ok, dziękuję za odpowiedzi. Pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach

Małymi kroczkami proszę :rolleyes: ledwie się zacząłeś uczyć c/c++ a już chcesz kernel poprawiać. Zdziwisz się ile się tego trzeba naczytać. Ty się ucz na razie tego c/c++, od 30lat nic się nie zmieniło i jest to dominujący język. Z czasem zobaczysz, że do każdej części systemu jest "jakiś" język. Tu perl, tam python, a za rogiem bash, że o stosie bibliotek nie wspomnę.

 

ps.pierwsza książka to dopiero przedsionek piekła :lol:

Nie dołujcie chłopaka nigdy nie wiadomo czy to nie drugi Con Kolivas :)

Odnośnik do komentarza
Udostępnij na innych stronach

Nie dołuje, ale chłopak zaczął się uczyć języka, a już chce jeden z największych projektów na świecie poprawiać.

Cierpliwością i pracą...

 

dobra to na początek małe howto w co się ładujesz:

http://www.cyberciti.biz/tips/build-linux-...ource-tree.html

http://tldp.org/HOWTO/Module-HOWTO/

http://oopweb.com/OS/Documents/LKMPG/Volume/index.html

 

Mam zlecenie dla Ciebie: idź na giełdę elektroniczną, kup jakąś tanią nikomu nie potrzebną kartę/układ podłączany do PC z dobrą dokumentacją i napisz do niej sterownik. Realne studenckie zadanie. Obsługa sprzętu zawsze się przyda :) Zawsze możesz coś zlutować z AVT http://www.google.pl/search?q=AVT&ie=u...lient=firefox-a

 

[EDIT]

* wpisz "kernel module" tutaj http://www.ibm.com/developerworks/linux zawsze mają parę fajnych artykułów.

* i na długie zimowe wieczory http://tldp.org/HOWTO/HOWTO-INDEX/howtos.html

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...