Menu

Daxil olun Qeydiyyat

Assembler x86 Linux (64 bit)

Sistem proqramlaşdırma

Sistem proqramlaşdırma

Biz assembler dilində dəyişən tipləri, dəyişənlərin elanı, registrlər, ümumişlək instruksiyalar, yaddaşa müraciət üsulları, stek və funksiyalar, say sistemləri, bit əməliyyatları ilə tanış olduq. Bütün bunlar istifadəçi proqramlaşdırmanı kifayət qədər əhatə edir. Assembler dilinin sistem proqramlaşdırmaya aid olan hissəsi isə, həm mürəkkəbliyinə, həm də həcminə görə istifadəçi proqramlaşdırmadan qat-qat böyükdür. İşin problem tərəfi odur ki, sistem proqram kodları istifadəçi proqramları kimi istədiyimiz vaxt kompilyasiya və icra edə bilmərik. Sistem proqramları kodu əməliyyatlar sisteminin proqram kodudur və yalnız bir dəfə kompüter yüklənəndə yüklənir və kompüterin bütün fəaliyyəti boyu icra olunur, kompüteri, onun resurslarını, avadanlıqlarını, fiziki yaddaşı, istifadəçi proqramlarını və s. idarə edir.

Sistem proqram kodlarının işinə misal olaraq, prosessorun rejimlərini dəyişmək, kompüterin portlarına məlumat yazmaq (oxumaq), avadanlıqları sistemə tanıdıb konfiqurasiya etmək, avadanlıqların işini idarə etmək, kəsilmələrə cavab vermək və s. göstərmək olar.

Assembler barəsində daha geniş məlumatı (istifadəçi və sistem proqramlaşdırma) Intel® 64 and IA-32 Architectures Software Developer’s Manual sənədindən əldə edə bilərsiniz.

İstifadəçi proqramlaşdırmaya aid mövzuların bir qisminə bu kitabda proqram nümunələri ilə birlikdə baxdıq. Sistem proqramlaşdırmaya aid proqram nümunələrini isə, açıq qaynaqlı nüvə kodlarından əldə edə bilərsiniz. Açıq kodlu nüvələrə ən yaxşı nümunə Linux-u misal göstərə və çox məsləhət görə bilərəm. Həm proqram kodunun gözəlliyi, həm də daha çox sənədlərin olması başlanğıc üçün Linux-u tək seçim edir. Ümumiyyətlə, mən deyərdim ki, sistem proqramlaşdırmaya gedən yol Linux-un kompilyasiyasından, ilk nüvə modulunun tərtibindən, ilk sistem funksiyasının hazırlanmasından, daha sonra, artıq fayllar sistemi, virtual yaddaş və s. məsələlərin öyrənilməsindən başlayır.

 

Linux nüvə proqramlaşdırmaya aid aşağıdakı kitabları məsləhət görə bilərəm:

1. Professional Linux Kernel Architecture

2. Understanding the Linux Kernel

3. Linux Kernel Development

4. Memory Management in Linux

5. Understanding The Linux Virtual Memory Manager


Bizi dəstəkləyənlər