Bu yaxınlarda ilkaddimlar -ın dəstəyi ilə Linux kernel programming seminarlarına başlanacaq - Pulsuz. İstəsəniz iştirak edə bilərsiniz. Vaxt və yeri ilkaddimlar.com -da elan olunacaq.
Çox sağolun ətraflı cavab üçün.
Deməli belə: C vəya C++ -dan göstəriciləri mükəmməl bilməlisiniz, o cümlədən siyahıları, biristiqamətli və ikiistiqamətli. Siyahıları əla bildikdən sonra (element əlavə etmək, axtarmaq, silmək) deməli C dilini kafi bilirsiniz hesab etmək olar.
İkinci mərhələ mütləq Unix sistemini örgənməlisiniz. Ən azından aşağıdakı funksiyaları mükəmməl bilməlisiniz:
open(), read()/write(), fork(), exec(), pipe(), dup2(), socket(). Üstəgəl unixdə faylsistemi anlayışını da bilmək tələb olunur.
Üçüncü mərhələ əlbəttdə ki Assembler. Assembler dilini mükəmməl olmasa da ən azından orta səviyyədə bilmılisiniz. Funksiyaların tərtibi, funksiyalara parametr ötürmə, funksiyaların qiymət qaytarması v.s. -a aid assemblerdə sərbəst proqram qurmağı örgənməlisiniz.
Bütün bunlar əlbəttdə ki istifadəçi proqramlaşdırmaya aiidir və bu mövzuları mükəmməl bildikdən sonra artıq sistem proqramlaşdırmanı örgənməyə başlamaq olar. Linux mürəkkəb inkişaf etmiş nüvədir. İlk olaraq onu örgənmək sizə çox çətin ola bilər. Ona görə ilk əvvəl arxitektura, sistem v.s. məsələrlə tanış olmaq lazımdır. Nəzərə alın ki, sistem proqramlaşdırma istifadəçi proqramlaşdırmadan köklü şəkildə fərqlənir. Burada sizin adət etdiyiniz kimi salam dünya proqramı yazım, test edim v.s. yoxdur. Sistem proqramlaşdırmada birbaşa avadanlıqlar, ünvanlar, kəsilmələrlə işləyirsiniz. Ona görə avadanlıqlarla da tanış olmalısınız.
Ilk olaraq bu dərsliyi nəzərdən keçirin writing your toy os
Daha sonra əlbəttdə ki məşhur Bkendev dərsliyi
Bkerndevi də mükəmməl bildikdən sonra, deyək ki, artıq klaviatura drayverində sərbəst dəyişikliklər edə bildikdən sonra Linuxa başlamaq olar. Professional Linux Kernel Architecture kitabını məsləhət görürəm. Bundan əlavə Linux Memory Management, Linux Virtual Filesystem v.s. -ə aid çoxlu məqalələr, pdf kitablar mövcuddur.
Bundan əlavə mütləq İntel Programmers Referense Manual sizin stolüstü kitabınız olmalıdır.