الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

بدأه Usama Fayez في 12 نوفمبر 2008 · 11 رد · 9,721 مشاهدة · في المواضيع المميزة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

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

الأولى

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 في 12 نوفمبر 2008 في 22:33

7
#2

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

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

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

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

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

العفو يا أخ Xacker

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

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

1 −1
#4

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

تم حذف الصورة لكبر حجمها ومساحتها.. الإدارة

#5

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

Be Happy

^_^

#6

بارك الله فيك

سبحان الله وبحمده , سبحان الله العظيم

مدونتى ( مدونة نظرة بعمق )

=======================

GSM | GPRS |CDMA |UMTS | LTE | RHCE

#7

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

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

مع تحياتي.

os.ossam@yahoo.com

#8

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

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

FineDesign For Graphic and WebDesign

ForEach(Minute in MyLife)

MyExperience ++;

#9

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

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

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

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

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

http://programmedlessons.org/AssemblyTutorial

مواضيع مشابهة