مقدمة عن بناء نظم التشغيل Kernel Development Tutorial
مقدمة عن بناء نظم التشغيل Kernel Development Tutorial
مقدمة عن بناء نظم التشغيل Kernel Development Tutorial
مقدمة عن بناء نظم التشغيل Kernel Development Tutorial
مقدمة عن بناء نظم التشغيل Kernel Development Tutorial



أثناء تجوالي بين الصفحات

وجدت مجموعة من المقالات الرائعة عن تصميم الكرنل و نظم التشغيل
فأحببت أن أشاركها معكم

الأولى

Bran's Kernel Development Tutorial

تضمن بعض أساسيات تصميم الكرنل

تتحدث بالطبع عن الIRQ و ال Interrupt Descriptor Table و ال Global Descriptor Table و ال PIC

و توفر لك بيئة بسيطة للطباعة على الشاشة و التعامل مع الكيبورد

تفترض المقالة أنك تستخدم GRUB كBoot Loader لتحميل الكرنل في الذاكرة


كود:
Overview

This tutorial was created in an attempt to show you, the reader, how to set up the basics for a kernel. This involves:
1) Setting up your development environment
2) The basics: Setting the stage for GRUB
3) Linking in other files and calling main()
4) Printing to the screen
5) Setting up a custom Global Descriptor Table (GDT)
6) Setting up a custom Interrupt Descriptor Table (IDT)
7) Setting up Interrupt Service Routines (ISRs) to handle your Interrupts and IRQs
8) Remapping the Programmable Interrupt Controllers (PICs) to new IDT entries
9) Installing and servicing IRQs
10) Managing the Programmable Interval Timer / System Clock (PIT)
11) Managing Keyboard IRQs and Keyboard Data
12) ...and the rest is up to you!



السلسة الأخرى و التى أراها أشمل و أغنى من الأولى هي

Operating System Development Series

وهي خاصة للمبتدئين أيضا و ستجدوا فيه روابط لكل البرامج المستخدمة بل و ستجد فيها أيضا شرح لتصميم الBoot Loader لتحميل الكرنل إلى الذاكرة

و تتضمن المواضيع التالية
كود:
# Bootloaders

    * Tutorial 1: Introduction
    * Tutorial 2: History and Basic Theory
    * Tutorial 3: Bootloaders
    * Tutorial 4: Bootloaders 2
    * Tutorial 5: Bootloaders 3
    * Tutorial 6: Bootloaders 4

# Stage 2

    * Tutorial 7: System Architecture and Memory Mapping
    * Tutorial 8: Protected Mode
    * Tutorial 9: Direct Hardware Programming and A20
    * Tutorial 10: Prepare for the Kernel Part 1
    * Tutorial 11: Prepare for the Kernel Part 2

# The Kernel: Setting up

    * Tutorial 12: Kernel: Basic Concepts Part 1
    * Tutorial 13: Kernel: Basic Concepts Part 2
    * Kernel Setup: MSVC++ 2005
    * Coming Soon: Kernel Setup: DJGPP
    * Coming Soon: Kernel Setup: Cygwin GCC

# The Kernel

    * Tutorial 14: Kernel: Basic CRT Setup and Code Design
    * Tutorial 15: Kernel: Error, Exception, and Interrupt Handling
    * Tutorial 16: Kernel: PIC, PIT, and exceptions
    * Tutorial 17: Kernel: Physical Memory Management
    * Tutorial 18: Kernel: Virtual Memory Management (Demo not up yet)

# Microcontrollers

    * 8259A Programmable Interrupt Controller (Advanced)
    * 8253 Programmable Interval Timer
بالطبع لن تسطيع بعد قراءة هذه المقالات أن تكتب نظام تشغيل كويندوز أو لينكس في شهر أو في سنة!!
وليس هذا هو الغرض منها

لكنها تعطيك مقدمة جيدة عن تصميم الكرنل و عن كيفية عمل نظام التشغيل
والقاريء المهتم ينصح بقراءة المزيد من الكتب عن Operating System Design Concepts

قبل قراءة المقالات يفضل بالطبع معرفة أساسية بالx86 Assembly و معرفة أساسية أيضا بلغة السي


مقدمة عن بناء نظم التشغيل Kernel Development Tutorial
مقدمة عن بناء نظم التشغيل Kernel Development Tutorial
مقدمة عن بناء نظم التشغيل Kernel Development Tutorial
مقدمة عن بناء نظم التشغيل Kernel Development Tutorial
مقدمة عن بناء نظم التشغيل Kernel Development Tutorial