Avros
OS Microkernel OS المدمجة في UNIX لمحافظة ATMEL AVR
يعمل على Atmega1284p مع 16 كيلو رام
سمات:
- يتم تطبيق الحد الأدنى من microkernel مع مرافق تمرير الرسائل ، وغالبية خدمات نظام التشغيل (إدارة "العملية" ، ونظام الملفات ، وبرامج تشغيل الأجهزة) بواسطة مهام منفصلة (خوادم) تتواصل مع عملائها (مهام المستخدم) ومع بعضها البعض عن طريق تمرير الرسائل
- إن كيان نظام التشغيل الذي تم تنفيذه حاليًا يشبه UNIX ، مع مكالمات نظام مألوفة ، يتم تعريف كيان نظام التشغيل بشكل أساسي من خلال مهام خدمة OS (الخوادم)
- يمكن أن تتعايش كيانات OS متعددة على نفس وحدة المعالجة المركزية ، وتشارك نفس microkernel
- التعاونية و/أو التوقيت المقاطعة المتعددة القائمة على تعدد المهام
- نظام الملفات الافتراضية مع Unix -Pipes - (لا يتم تطبيق أسماء الملفات والمجلدات بعد - عليك الرجوع إلى كل ملف مع ثنائيات أرقام الجهاز/inode ، على سبيل المثال: "2/1")
- تعمل برامج تشغيل الأجهزة كمهام منفصلة (مؤشرات الترابط) ، بما في ذلك جهاز الأنابيب
- واجهة برنامج تشغيل الجهاز الموحدة
- الوصول إلى shell عبر USARTS ، يمكن أن تولد جلسات متعددة على init.
مستودع
Main.C: المهمة الأولى والوظيفة الرئيسية - ينفذ نظام التشغيل هذه المهمة أولاً. إنه ينشئ الخوادم بالترتيب (TS ، VFS ، ES ، PM ، انظر أدناه للمعنى) ، يقوم بإعداد الأجهزة ، ويسجلات التنفيذيين ، ثم يولد أخيرًا "init" وهي مهمة الجذر لكل مهمة مستخدم.
kernel: Microkernel و HAL (طبقة تجريد الأجهزة) رمز المصدر
- الوظائف الأساسية: إنشاء المهام والجدولة (جولة أولوية روبن) ، تمرير الرسائل ، معالجة المقاطعة ، تخصيص الذاكرة (خادم مدير الذاكرة قيد التطوير ، انظر MISC/)
- idletask - يعمل عندما لا يكون هناك شيء آخر لتشغيله - يوقف وحدة المعالجة المركزية حتى المقاطعة التالية لتوفير الطاقة
USR
الخوادم:
- PM: مدير العملية -
التسلسل الهرمي للعملية ، عمليات الزومبي ، الخروج () ، انتظر () ، exec () ، spawntask () - VFS: خادم الملف الافتراضي - واصفات الملفات ، جدول FILP ، inodes ، open () ، close () ، read () ، write () ، dup () ، pipe () ، mkdev () ، mknod () ، fstat () ، إلخ ...
- SEMA: خادم Simaphore Simple (غير مستخدم حاليًا) - P () ، V ()
- TS: Time Server - معالج المقاطعة الموقت ، النوم () ، وقت التشغيل ، الوقت الحقيقي
- على سبيل المثال: خادم Executables - سجلات Recists Runnable وتوفرها لـ PM عندما تقوم المهمة بإجراء استدعاء exec () (AVR هي وحدة المعالجة المركزية للهندسة المعمارية بجامعة هارفارد ، لا يمكن لنظام التشغيل تحميل الثنائي وحرقه في ذاكرة برنامج الفلاش)
السائقون:
- TTY_USART0: برنامج تشغيل TTY يحركه المقاطعة لجهاز USART 0
- Memfile: جهاز محرك الذاكرة مع إدارة inode
- Pipedev: جهاز الأنابيب (متعدد القراء ، متعدد الكتاب)
DOC: الوثائق (عرض مع DIA: https://wiki.gnome.org/apps/dia/)
lib: src/queue.c: قائمة مرتبطة بشكل مضاعف