سؤال

يبدو أن إنشاء نظام تشغيل يشبه ملف جَسِيم مشروع.كيف يمكن لأي شخص أن يبدأ؟

على سبيل المثال، عندما أقوم بإدخال Ubuntu في محرك الأقراص الخاص بي، فكيف يمكن لجهاز الكمبيوتر الخاص بي أن يفعل ذلك؟ يجري هو - هي؟(أعتقد أن هذا هو ما أود معرفته حقًا.)

أو، بالنظر إلى الأمر من زاوية أخرى، ما هو أقل قدر من البايتات التي يمكن أن تكون موجودة على القرص ولا يزال "يتم تشغيلها" كنظام تشغيل؟

(أنا آسف إذا كان هذا غامضا.لدي فقط لا يوجد فكرة حول هذا الموضوع، لذلك لا أستطيع أن أكون محددًا جدًا.أتظاهر بمعرفة قدر لا بأس به عن كيفية عمل أجهزة الكمبيوتر، لكنني جاهل تمامًا بهذا الموضوع.)

هل كانت مفيدة؟

المحلول

حسنًا، الجواب موجود في الكتب: أنظمة التشغيل الحديثة - أندرو س.تانينباوم هو فكرة جيدة جدا.الرسم التوضيحي للغلاف أدناه.

إن أبسط نواة نظام تشغيل كاملة ومناسبة للتعلم أو لمجرد الفضول مينيكس.
هنا يمكنك تصفح مصدر الرمز.

Modern Operating Systems
(مصدر: cs.vu.nl)

نصائح أخرى

تعد أنظمة التشغيل موضوعًا ضخمًا، وأفضل شيء يمكنني أن أوصي به إذا كنت تريد التعمق في كيفية تصميم وبناء أنظمة التشغيل، فهو كتاب جيد:

Operating System Concepts

مفاهيم نظام التشغيل

إذا كنت فضوليًا حقًا سأوجهك إلى لينكس من الصفر كمكان جيد لتعلم التفاصيل الكاملة لنظام التشغيل وكيفية تناسب جميع الأجزاء معًا.إذا كانت هذه معلومات أكثر مما تبحث عنه هذه المقالة في ويكيبيديا على أنظمة التشغيل قد يكون مكانًا جيدًا للبدء.

يعرف جهاز الكمبيوتر أن ينظر إلى قطاع معين من القرص للحصول على تعليمات بدء التشغيل.ستخبر هذه التعليمات المعالج أنه عند مقاطعة المعالج، يجب استدعاء رمز محدد.على سبيل المثال، عند علامة التجزئة الدورية، اتصل برمز المجدول.عندما أحصل على شيء ما من جهاز، اتصل برمز برنامج تشغيل الجهاز.

الآن كيف يقوم نظام التشغيل بإعداد كل شيء مع النظام؟تحتوي الأجهزة الجيدة على واجهات برمجة التطبيقات (API) أيضًا.لقد تمت كتابتها مع وضع مبرمج الأنظمة في الاعتبار.

لقد رأيت الكثير من أنظمة التشغيل الأساسية وهذا هو الجوهر المطلق حقًا.هناك العديد من أنظمة التشغيل المضمنة محليًا، وهذا كل ما يفعلونه ولا شيء آخر.

الميزات الإضافية، مثل مطالبة التطبيقات بطلب الذاكرة من نظام التشغيل، أو طلب امتيازات خاصة لإجراءات معينة، أو حتى العمليات والخيوط نفسها هي في الواقع اختيارية على الرغم من تنفيذها على معظم بنيات الكمبيوتر.

نظام التشغيل هو ببساطة ما يمكّن برنامجك من إدارة الأجهزة.من الواضح أن بعض أنظمة تشغيل أكثر تعقيدًا من غيرها.

في جوهره، يبدأ الكمبيوتر في التنفيذ على عنوان ثابت، مما يعني أنه عند بدء تشغيل الكمبيوتر، فإنه يضبط عداد البرنامج على عنوان محدد مسبقًا، ويبدأ فقط في تنفيذ تعليمات برمجية للجهاز.

في معظم أجهزة الكمبيوتر، تعمل عملية "التمهيد" هذه على تهيئة الأجهزة الطرفية المعروفة على الفور (مثل محرك الأقراص على سبيل المثال).بمجرد التهيئة، ستستخدم عملية التمهيد بعض التسلسلات المحددة مسبقًا للاستفادة من تلك الأجهزة الطرفية.باستخدام برنامج تشغيل القرص مرة أخرى، قد تقوم العملية بقراءة التعليمات البرمجية من القطاع الأول من محرك الأقراص الثابتة، ووضعها في مساحة معرفة داخل ذاكرة الوصول العشوائي (RAM)، ثم الانتقال إلى هذا العنوان.

يسمح هذا التسلسل المحدد مسبقًا (بدء تشغيل وحدة المعالجة المركزية، وتحميل القرص) للمبرمجين بإضافة المزيد والمزيد من التعليمات البرمجية في الأجزاء الأولى من بدء تشغيل وحدة المعالجة المركزية، والتي يمكن بمرور الوقت، في النهاية، بدء تشغيل برامج معقدة للغاية.

في العالم الحديث، مع الأجهزة الطرفية المتطورة، وبنيات وحدة المعالجة المركزية المتقدمة، والموارد الهائلة والواسعة (جيجابايت أو ذاكرة الوصول العشوائي، تيرابايت من القرص، ووحدات المعالجة المركزية السريعة جدًا)، يمكن لنظام التشغيل دعم تجريدات قوية جدًا للمطور (عمليات متعددة، ذاكرة افتراضية ، برامج التشغيل القابلة للتحميل، وما إلى ذلك).

ولكن بالنسبة لنظام بسيط، بموارد محدودة، فإنك لا تحتاج حقًا إلى الكثير من أجل "نظام التشغيل".

كمثال بسيط، تحتوي العديد من أجهزة الكمبيوتر الصغيرة ذات وحدات التحكم على أنظمة تشغيل صغيرة جدًا، ويمكن اعتبار بعضها ببساطة "شاشة"، مما يوفر وصولاً سهلاً إلى منفذ تسلسلي (أو محطة طرفية، أو شاشة LCD).بالتأكيد، ليس هناك الكثير من الاحتياجات لنظام تشغيل كبير في هذه الظروف.

ولكن فكر أيضًا في شيء مثل نظام Forth الكلاسيكي.هنا، لديك نظام مزود بـ "OS"، والذي يوفر لك إدخال/إخراج القرص، وإدخال/إخراج وحدة التحكم، وإدارة الذاكرة، بالإضافة إلى لغة البرمجة الفعلية بالإضافة إلى المجمّع، وهذا يناسب أقل من 8 كيلو بايت من الذاكرة على جهاز آلة 8 بت.

أو الأيام الخوالي لـ CP/M مع BIOS وBDOS.

يعد CP/M مثالًا جيدًا حيث يعمل نظام التشغيل البسيط بشكل جيد كطبقة تجريد للسماح للبرامج المحمولة بالعمل على مجموعة واسعة من الأجهزة، ولكن حتى في ذلك الوقت، استغرق النظام أقل من 8 كيلو بايت من ذاكرة الوصول العشوائي لبدء التشغيل وتشغيله.

بعيد كل البعد عن ميغابايت من الذاكرة التي تستخدمها أنظمة التشغيل الحديثة.ولكن، لكي نكون منصفين، لدينا ميغابايت من الذاكرة، وحياتنا أبسط بكثير (في الغالب)، وأكثر وظيفية بكثير، بسبب ذلك.

تعد كتابة نظام التشغيل أمرًا ممتعًا لأنه من المثير للاهتمام جعل HARDWARE يطبع "Hello World" ويدفع البيانات بمقدار بايت واحد في كل مرة خارج بعض منافذ الإدخال / الإخراج الغامضة، أو حشوها في عنوان ذاكرة سحري.

احصل على محاكي x86 واحتفل بالحصول على قطاع تمهيد ليقول اسمك.إنها متعة ضاحكة.

أساسًا...يمكن لجهاز الكمبيوتر الخاص بك تشغيل القرص للأسباب التالية:

يتضمن BIOS جهاز القرص هذا في ترتيب التمهيد.

عند التمهيد، يقوم BIOS بفحص جميع الأجهزة القابلة للتمهيد بالترتيب، مثل محرك الأقراص المرنة، ومحرك الأقراص الثابتة، والقرص المضغوط.يصل كل جهاز إلى الوسائط الخاصة به ويتحقق من الموقع المشفر (عادةً قطاع، على قرص أو جهاز قرص مضغوط) بحثًا عن بصمة إصبع تحدد الوسائط، وتسرد الموقع الذي يجب الانتقال إليه على القرص (أو الوسائط) حيث تبدأ التعليمات.يخبر BIOS الجهاز بتحريك رأسه (أو أي شيء آخر) إلى الموقع المحدد على الوسائط، وقراءة جزء كبير من التعليمات.يقوم BIOS بتسليم هذه التعليمات إلى وحدة المعالجة المركزية.

تقوم وحدة المعالجة المركزية بتنفيذ هذه التعليمات.في حالتك، ستقوم هذه التعليمات ببدء تشغيل نظام التشغيل Ubuntu.ويمكن أن تكون أيضًا تعليمات بالتوقف، أو إضافة 10+20، وما إلى ذلك.

عادةً، سيبدأ نظام التشغيل بأخذ جزء كبير من الذاكرة (مرة أخرى، مباشرةً من وحدة المعالجة المركزية، نظرًا لأن أوامر المكتبة مثل "GlobalAlloc" وما إلى ذلك غير متوفرة حيث يتم توفيرها بواسطة نظام التشغيل الذي لم يتم تحميله بعد ) ويبدأ في إنشاء هياكل لنظام التشغيل نفسه.

يوفر نظام التشغيل مجموعة من "الميزات" للتطبيقات:إدارة الذاكرة، ونظام الملفات، والإدخال/الإخراج، وجدولة المهام، والشبكات، وإدارة الرسومات، والوصول إلى الطابعات، وما إلى ذلك.هذا ما يفعله قبل "السيطرة":إنشاء/بدء جميع الخدمات بحيث يمكن تشغيل التطبيقات اللاحقة معًا، وعدم الدوس على ذاكرة بعضها البعض، والحصول على واجهة برمجة تطبيقات لطيفة للخدمات المقدمة من نظام التشغيل.

تعد كل "ميزة" يوفرها نظام التشغيل موضوعًا كبيرًا.يوفر نظام التشغيل كل هذه الميزات، لذلك يجب على التطبيقات أن تقلق بشأن استدعاء مكتبة نظام التشغيل المناسبة، ويقوم نظام التشغيل بإدارة المواقف مثل محاولة برنامجين الطباعة في نفس الوقت.

على سبيل المثال، بدون نظام التشغيل، سيتعين على كل تطبيق التعامل مع موقف حيث يحاول برنامج آخر الطباعة، و"القيام بشيء ما" مثل الطباعة على أي حال، أو إلغاء المهمة الأخرى، وما إلى ذلك.بدلاً من ذلك، يجب على نظام التشغيل فقط التعامل مع هذه المشكلة، حيث تقول التطبيقات فقط لنظام التشغيل "اطبع هذه الأشياء" ويضمن نظام التشغيل طباعة تطبيق واحد، ويجب على جميع التطبيقات الأخرى الانتظار حتى ينتهي التطبيق الأول أو يقوم المستخدم بإلغائه.

إن أقل قدر من البايتات ليكون نظام تشغيل ليس له معنى حقًا، حيث أن "نظام التشغيل" قد يتضمن العديد من الميزات أو القليل جدًا منها.إذا كان كل ما تريده هو تنفيذ برنامج من قرص مضغوط، فسيكون ذلك عددًا قليلًا جدًا من البايتات.ومع ذلك، هذا ليس نظام تشغيل.تتمثل مهمة نظام التشغيل في توفير الخدمات (كنت أسميها ميزات) للسماح بتشغيل الكثير من البرامج الأخرى، وإدارة الوصول إلى تلك الخدمات للبرامج.يعد ذلك أمرًا صعبًا، وكلما زادت الموارد المشتركة التي تضيفها (الشبكات، وشبكة wifi، وناسخات الأقراص المضغوطة، وعصا التحكم، وفيديو iSight، والشاشات المزدوجة، وما إلى ذلك، إلخ) أصبح الأمر أكثر صعوبة.

أحد أحدث مشاريع أنظمة التشغيل التي رأيتها والتي تحظى بدعم جدي هو مشروع بحث MS يسمى التفرد, ، والذي تمت كتابته بالكامل بلغة C#.NET من البداية.

للحصول على فكرة عن مقدار العمل الذي يتطلبه الأمر، يوجد مطوران أساسيان ولكن لديهم ما يصل إلى اثني عشر متدربًا في أي وقت، ولا يزال الأمر يستغرق عامين قبل أن يتمكنوا حتى من توصيل نظام التشغيل إلى النقطة التي يمكن فيها تشغيله وتشغيله. عرض صور BMP (هذه هي الطريقة التي يستخدمونها لتقديم عروضهم التقديمية).لقد استغرق الأمر الكثير من العمل قبل أن يتمكنوا من الوصول إلى النقطة التي يوجد فيها سطر أوامر (حوالي 4 سنوات).

في الأساس، هناك العديد من الحجج حول ما هو نظام التشغيل في الواقع يكون.إذا اتفق الجميع على ما هو نظام التشغيل على وجه التحديد (هل هو النواة فقط؟كل ما يعمل في وضع النواة؟هل القشرة جزء من نظام التشغيل؟هل X جزء من نظام التشغيل؟هل متصفح الويب جزء من نظام التشغيل؟)، تمت الإجابة على سؤالك!بخلاف ذلك، لا توجد إجابة محددة لسؤالك.

قد ترغب في الحصول على الكتاب تصميم وتنفيذ نظام التشغيل FreeBSD للحصول على إجابة مفصلة للغاية.يمكنك الحصول عليه من أمازون أو هذا الرابط لموقع FreeBSD.org يشبه الكتاب كما أتذكره: نص الرابط

لا أستطيع أن أصدق أنه لم يتم ذكر هذا ...ولكنه كتاب كلاسيكي لإلقاء نظرة عامة على تصميم نظام التشغيل أنظمة التشغيل - التصميم والتنفيذ كتبه أندرو إس تانينباوم، مبتكر MINIX.الكثير من الأمثلة الموجودة في الكتاب موجهة مباشرةً نحو MINIX أيضًا.

إذا كنت ترغب في تعلم المزيد، تطوير نظام التشغيل مكان عظيم للبدء.خصوصا الويكي.هذا الموقع مليء بالمعلومات وكذلك بالمطورين الذين يكتبون أنظمة تشغيل شخصية لمشروع/هواية صغيرة.إنه مصدر تعليمي رائع أيضًا، نظرًا لوجود العديد من الأشخاص في نفس القارب مثلك على OSDev والذين يرغبون في معرفة ما يدور في نظام التشغيل.قد ينتهي بك الأمر إلى تجربة ذلك بنفسك في النهاية أيضًا!

نظام التشغيل (OS) هو طبقة البرنامج التي تتحكم في الأجهزة.كلما كانت الأجهزة أبسط، كان نظام التشغيل أبسط، والعكس صحيح ;-)

إذا كانت الأيام الأولى للحواسيب الصغيرة، يمكنك تركيب نظام التشغيل في ذاكرة قراءة فقط (ROM) سعة 16 كيلو بايت وتوصيل اللوحة الأم بأسلاك صلبة لبدء تنفيذ تعليمات رمز الجهاز في بداية مساحة عنوان ذاكرة القراءة فقط (ROM).ستقوم عملية "bootstrap" بعد ذلك بتحميل التعليمات البرمجية الخاصة ببرامج التشغيل للأجهزة الأخرى مثل لوحة المفاتيح والشاشة ومحرك الأقراص المرنة وما إلى ذلك، وفي غضون ثوانٍ قليلة، سيتم تمهيد جهازك ويصبح جاهزًا للاستخدام.

في الوقت الحاضر...نفس المبدأ، ولكن المزيد والمزيد من الأجهزة المعقدة؛-)

أوه، هذا هو واحد متعة.لقد قمت بالأمر برمته في مرحلة أو أخرى، وكنت هناك خلال جزء كبير من التطور.

بشكل عام، تبدأ بكتابة نظام تشغيل جديد من خلال البدء صغيرًا.أبسط شيء هو أداة تحميل التمهيد، وهي عبارة عن جزء صغير من التعليمات البرمجية التي تسحب جزءًا من التعليمات البرمجية وتقوم بتشغيلها.ذات مرة، مع أجهزة الكمبيوتر Nova أو PDP، كان بإمكانك الدخول إلى أداة تحميل التشغيل من خلال اللوحة الأمامية:لقد أدخلت الرقم السداسي للتعليمات برقم سداسي عشري.يقرأ محمل الإقلاع بعض الوسائط في الذاكرة، ويضبط عداد البرنامج على عنوان البداية لذلك الرمز.

عادةً ما يقوم هذا الجزء من التعليمات البرمجية بتحميل شيء آخر، ولكن ليس من الضروري:يمكنك كتابة برنامج مصمم للتشغيل على المعدن.هذا النوع من البرامج يفعل شيئًا مفيدًا من تلقاء نفسه.

نظام التشغيل الحقيقي أكبر حجمًا ويحتوي على أجزاء أكثر.تحتاج إلى تحميل البرامج ووضعها في الذاكرة وتشغيلها؛تحتاج إلى توفير رمز لتشغيل أجهزة الإدخال والإخراج؛عندما يكبر حجمه، تحتاج إلى إدارة الذاكرة.

إذا كنت تريد حقًا معرفة كيفية عمله، فابحث عنه كتب دوغ كومر شينو, ، و آندي تانينباومأحدث كتاب لنظام التشغيل على مينيكس.

يحاول كيف يتم تشغيل أجهزة الكمبيوتر, عملية تمهيد النواة وغيرها من المقالات ذات الصلة من نفس بلوق ل نظرة عامة قصيرة لما يفعله الكمبيوتر عند تشغيله.

ما الذي يفعله الكمبيوتر عندما تعتمد بدايته بشكل كبير (ربما يكون ذلك واضحًا؟) تصميم وحدة المعالجة المركزية وغيرها من "الأشياء ذات المستوى المنخفض"؛ولذلك فإنه من الصعب توقع ما لك يفعل الكمبيوتر عند تشغيله.

حسنًا، لديك شيء يربط بدء تشغيل الشريحة بـ "السير"، ثم بنظام التشغيل، وهي عادةً مهمة معقدة للغاية تقوم بها الكثير من خدمات التعليمات البرمجية.

إذا كنت تريد معرفة المزيد عن هذا الأمر حقًا، فإنني أنصحك بقراءة كتاب...حول وحدات التحكم الدقيقة، خاصة تلك التي تقوم فيها بإنشاء نظام تشغيل صغير في c لـ 8051 أو ما شابه.أو تعلم بعض تجميعات x86 وأنشئ "نظام تشغيل أداة تحميل التشغيل" صغير جدًا.

قد ترغب في التحقق من ذلك هذا السؤال.

نظام التشغيل هو برنامج، تمامًا مثل أي تطبيق آخر تكتبه.الغرض الرئيسي من هذا البرنامج هو أنه يسمح لك بتشغيل برامج أخرى.تستفيد أنظمة التشغيل الحديثة من الأجهزة الحديثة لضمان عدم تعارض البرامج مع بعضها البعض.

إذا كنت مهتمًا بكتابة نظام التشغيل الخاص بك، فاطلع على سؤالي الخاص هنا:

كيف تبدأ في تطوير نظام التشغيل

أنت تسأل ما عدد وحدات البايت التي يمكنك وضعها على القرص مع الاستمرار في تشغيلها كنظام تشغيل؟؟الجواب يعتمد على ما تتوقعه من نظام التشغيل الخاص بك، ولكن الأصغر مفيد نظام التشغيل الذي أعرفه يناسب 1.7 ميغا بايت.إنها حذاء توم الجذر القرص وهو نظام تشغيل لطيف للغاية وإن كان صغيرًا مزودًا بتطبيقات "الإنقاذ". يناسب على قرص مرن واحد.في الأيام التي كان فيها كل جهاز يحتوي على محرك أقراص مرنة ولم يكن كل جهاز يحتوي على محرك أقراص مضغوطة، كنت أستخدمه بشكل متكرر.

رأيي في الأمر هو أنها مثل حياتك الخاصة.في البداية، أنت تعرف القليل جدًا - فقط ما يكفي للتوافق.وهذا مشابه لما يوفره BIOS - فهو يعرف ما يكفي للبحث عن محرك الأقراص وقراءة المعلومات منه.ثم تتعلم المزيد عندما تذهب إلى المدرسة الابتدائية.هذا يشبه قراءة قطاع التمهيد في الذاكرة ومنحه التحكم.ثم تذهب إلى المدرسة الثانوية، والتي تشبه تحميل نواة نظام التشغيل.ثم تذهب إلى الكلية (السائقين والتطبيقات الأخرى.) وبطبيعة الحال، هذه هي النقطة التي تكون فيها عرضة لـ CRASH. هو هو.

خلاصة القول هي أن الطبقات ذات القدرات المتزايدة يتم تحميلها ببطء.لا يوجد شيء سحري في نظام التشغيل.

ستمنحك القراءة هنا فكرة عما يتطلبه إنشاء Linuxhttps://netfiles.uiuc.edu/rhasan/linux/

نظام تشغيل آخر صغير جدًا يناسب قرصًا واحدًا هو QNX (عندما نظرت إليه آخر مرة منذ وقت طويل، كان نظام التشغيل بأكمله، مع واجهة المستخدم الرسومية ومتصفح الويب والوصول إلى القرص وخادم الويب المدمج، ملائمًا لمحرك أقراص مرنة واحد) .

لم أسمع الكثير عنه منذ ذلك الحين، ولكنه نظام تشغيل في الوقت الفعلي، لذا فهو مصمم ليكون سريعًا جدًا.

في الواقع، يقوم بعض الأشخاص بزيارة كلية مدتها 4 سنوات للحصول على فكرة تقريبية عن هذا الأمر.

نظام التشغيل في جوهره بسيط للغاية.فيما يلي دليل المبتدئين لما تم تصميم أنظمة التشغيل الناجحة للقيام به:1.إدارة وحدة المعالجة المركزية باستخدام برنامج الجدولة الذي يقرر العملية (مثيل البرنامج قيد التشغيل) التي سيتم جدولتها.2.إدارة الذاكرة لتحديد جميع العمليات التي تستخدمها لتخزين التعليمات (الكود) والبيانات (المتغيرات).3.إدارة واجهات الإدخال/الإخراج مثل محركات الأقراص وأجهزة الإنذار ولوحة المفاتيح والماوس.الآن، المتطلبات الثلاثة المذكورة أعلاه تؤدي إلى الحاجة إلى عمليات للتواصل (وليس القتال!)، للتفاعل مع العالم الخارجي، ومساعدة التطبيقات على القيام بما تريد القيام به.للتعمق أكثر في كيفية القيام بذلك، اقرأ كتاب الديناصورات :)

لذلك، يمكنك جعل نظام التشغيل صغيرًا بقدر ما تريد طالما أنك تمكنت من التعامل مع جميع موارد الأجهزة.عند بدء التشغيل، يخبر BIOS وحدة المعالجة المركزية ببدء قراءة أداة تحميل التشغيل (التي تقوم بتحميل الوظيفة الأولى لنظام التشغيل الموجودة في عنوان ثابت في الذاكرة - شيء مثل main() لبرنامج C الصغير).ثم يؤدي هذا إلى إنشاء وظائف وعمليات وخيوط ويبدأ الانفجار الكبير!

أولاً، القراءة والقراءة والقراءة عن ما هو نظام التشغيل؛ثم ما هي الاستخدامات/الأنواع/الطبيعة/الهدف/الاحتياجات/أنظمة التشغيل المختلفة.بعض الروابط هي كما يلي؛سيستمتع المبتدئ بهذه الروابط:

نظام التشغيل الحديث - وهذا يعطي فكرة عن نظام التشغيل العام.

بداية نظام التشغيل - وهذا يعطي أساسيات ما يتطلبه إنشاء نظام التشغيل حقًا، وكيف يمكننا صنعه وكيف يمكن للمرء تعديل كود مفتوح المصدر لنظام التشغيل بنفسه.

نظام التشغيل ويكي - يعطي فكرة عن أنظمة التشغيل المختلفة المستخدمة في المجالات المختلفة واستخداماتها (الكائنات / ميزات نظام التشغيل.)

دعونا نرى بشكل عام ما يحتوي عليه نظام التشغيل (ليس Linux أو Windows المتطور)

يحتاج نظام التشغيل إلى وحدة معالجة مركزية ولتفريغ الكود فيه تحتاج إلى ملف bootloader.يجب أن يكون لدى نظام التشغيل الأهداف المراد تحقيقها ويجب تحديد تلك الأهداف في غلاف يُسمى Kernelفي الداخل كان من الممكن أن يكون لديك scheduling time و ISR's (يعتمد على الهدف ونظام التشغيل الذي تحتاج إلى إجرائه)

تطوير نظام التشغيل معقد.هناك بعض المواقع مثل osdev أو lowlevel.eu (الألمانية) مخصصة لهذا الموضوع.وهناك أيضًا بعض الكتب التي ذكرها الآخرون بالفعل.

لا يسعني إلا أن أشير أيضًا إلى سلسلة مقاطع الفيديو "اكتب نظام التشغيل الخاص بك" على موقع YouTube، حيث أنني الشخص الذي قام بإنشائها :-)

يرى https://www.youtube.com/playlist?list=PLHh55M_Kq4OApWScZyPl5HhgsTJS9MZ6M

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top