usama707

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

12 ردود في هذا الموضوع

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

وجدت مجموعة من المقالات الرائعة عن تصميم الكرنل و نظم التشغيل

فأحببت أن أشاركها معكم

الأولى

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 و معرفة أساسية أيضا بلغة السي

تم تعديل بواسطه Xacker
7

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

خلونا نرتاح شوي، ما بقي عندي وقت فراغ أبداً :cry:

شكراً يا أخ أسامة، زر الشكر لا يعمل بشكل مؤقت معي الآن سأضيف شكري لك عندما يعمل مرة أخرى :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
خلونا نرتاح شوي، ما بقي عندي وقت فراغ أبداً :cry:

شكراً يا أخ أسامة، زر الشكر لا يعمل بشكل مؤقت معي الآن سأضيف شكري لك عندما يعمل مرة أخرى :)

العفو يا أخ Xacker

أنا أيضا للأسف أجد صعوبة في إيجاد الوقت بسبب الإمتحانات المتلاحقة التي لا تنتهي :S

شكرا على تنسيق المحتويات :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بصراحة اكثر من رائع

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بارك الله فيك .. مصادر ممتازه :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بارك الله فيك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

انا ossam عضو جديد .اولا شكرا يا أخي على المبادرة . B)

انا من هواة .net واريد انتقل الى الاسمبلي لكني لم اجد المساعدة لكي اتعلم هده اللغة فارجو منك ان ترسل لي المراجع المناسبة .

مع تحياتي.

[email protected]

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

مشكور اخي ع المقدمة الرائعة

من .net الى الاسمبلي ؟؟ :( :S :wacko: :blink:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

ياه لم اكن اتوقع ان أجد شئ يتحدث عن أنظمة التشغيل فى هذا القسم

انا كنت ببنى نظام خاص بال embedded systems وبدأت إعتباطيا لكن خفت لكون بعيد اختراع العجلة لكن انا لقيت الدروس الى انت وضعتها فشكرا لك اخى أسامة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
انا من هواة .net واريد انتقل الى الاسمبلي لكني لم اجد المساعدة لكي اتعلم هده اللغة فارجو منك ان ترسل لي المراجع المناسبة

هذا الموقع سوف يفيدك

http://programmedlessons.org/AssemblyTutorial

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

مشكووووووووووور مبدع وربنا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .