Mövzu üzrə bənzər suallara da baxa bilərsiniz.

Kernel developer olmaq üçün hardan başlamalı

Salamlar.

Mən kernel development ilə məşğul olmaq istəyirəm. Ancaq hardan başlayacağımı tam bilmirəm.

İnternetdə araşdırma edərkən bəzi müxtəlif fikirlərlə qarşılaşmışdım:
Kimisi deyirdi ki, birbaşa kernel development kitabı al və başla oxumağa. Kimisi də deyirdi ki, c dilini mütəxəssis səviyyəsində öyrəndikdən sonra kernel development öyrənməyə başla.

Qısaca özüm haqqında deyim ki, mən ümumiyyətlə c dili ilə o qədər çox məşğul olmamışam. Yalnız orta səviyyəli proqramlar yazmışam.
Ümumi götürdükdə isə proqramlaşdırmadan anlayışım var; uzun müddətdir c# proqramlaşdırma ilə məşğulam və bu üzrə işləyirəm.
Əməliyyat sisteminə gəldikdə isə artıq 3 aydan çoxdur ki, linux əməliyyat sistemi işlədirəm. Ancaq əməliyyat sistemindən dərin biliyə sahib deyiləm.

Sözümün canı, yuxarıdakılara əsasən mənə hardan başlamağı məsləhət görərdiz?


Kateqoriya: Sual . , , , . Qısa keçid.

Verilmiş cavablar və yazılan şərhlər (3 cavab var)

(11:33, 31/12/2016 ) #66665

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.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (20:01, 01/01/2017 ) #66719

    Çox sağolun ətraflı cavab üçün.

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

      (18:05, 03/01/2017 ) #66743

      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.

      Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

Cavab verin


Cavab yazmaq üçün lütfən sağ sütundan və ya buradan hesaba daxil olun.

Üzvlər üçün giriş

Qeydiyyat

Elan qutusu

Software Developer - 571 xal

E. Hacı - 568 xal

Onar Alili - 526 xal

Dilsuz - 448 xal

Cabbarov Sübhan - 414 xal

Ruslan Butdayev - 328 xal

Namiq Bəndəli - 297 xal

U.Tarlan - 244 xal

Meherremoff - 234 xal

Bextiyar Azeroglu - 214 xal

Sistemə daxil olmuş 18388 sualdan 94%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

E-Haci.net istehsalı. © 2010-2017