أكورن موس
نظام تشغيل الآلة ( MOS ) [ 2 ] أو نظام التشغيل (OS) هو نظام تشغيل حاسوبي متوقف استخدامه في سلسلة حواسيب BBC من شركة Acorn Computers . تضمن النظام دعمًا للصوت رباعي القنوات، والرسومات، وتجريد نظام الملفات ، والإدخال/الإخراج الرقمي والتناظري، بما في ذلك ناقل توسعة متسلسل . كان النظام أحادي المهمة، ومتكاملًا ، وغير قابل لإعادة الدخول .
تم استخدام الإصدارات من 0.10 إلى 1.20 على BBC Micro ، والإصدار 1.00 على Electron ، والإصدار 2 على B+، والإصدارات من 3 إلى 5 في سلسلة BBC Master .
كان جهاز الكمبيوتر الأخير لهيئة الإذاعة البريطانية، وهو BBC A3000، من نوع 32 بت ويعمل بنظام التشغيل RISC OS ، والذي احتفظ بأجزاء من بنية Acorn MOS وشارك عددًا من الخصائص (مثل "أوامر النجمة" CLI ، ورموز التحكم في الفيديو "VDU" وأوضاع الشاشة) مع نظام التشغيل MOS السابق ذي 8 بت .
كانت الإصدارات من 0 إلى 2 من نظام التشغيل MOS بحجم 16 كيلوبايت ، مكتوبة بلغة الآلة 6502 ، ومخزنة في ذاكرة القراءة فقط (ROM) على اللوحة الأم . ويُخصص الربع العلوي من مساحة العناوين ذات 16 بت (من 0xC000 إلى 0xFFFF) لرمز ذاكرة القراءة فقط ومساحة الإدخال/الإخراج.
كانت الإصدارات من 3 إلى 5 لا تزال مقيدة بمساحة عنوان تبلغ 16 كيلوبايت، ولكنها تمكنت من استيعاب المزيد من التعليمات البرمجية وبالتالي إجراءات أكثر تعقيدًا، ويرجع ذلك جزئيًا إلى وحدة المعالجة المركزية البديلة 65C102 (CPU) مع مجموعة التعليمات الأكثر كثافة بالإضافة إلى الاستخدام الدقيق للصفحات .
واجهة المستخدم
لم تكن الإصدارات الأصلية من نظام التشغيل MOS، من 0 إلى 2، مزودة بواجهة مستخدم بالمعنى الحرفي: كان يُتوقع من التطبيقات توجيه أوامر نظام التشغيل إليها نيابةً عنها، وكانت لغة البرمجة BBC BASIC ROM، المزودة بمجمع 6502، والمرفقة مع جهاز BBC Micro، هي التطبيق الافتراضي المستخدم لهذا الغرض. وكان جهاز BBC Micro يتوقف عن العمل مع ظهور Language?خطأ في حال عدم وجود ذاكرة ROM تُعلن لنظام التشغيل عن إمكانية توفير واجهة مستخدم (تُسمى ذاكرة ROM للغة ). أما الإصدار 3 من نظام التشغيل MOS وما بعده، فقد احتوى على واجهة سطر أوامر بسيطة ، والتي كانت تظهر عادةً فقط عندما لا تحتوي ذاكرة CMOS على إعداد لذاكرة ROM الافتراضية للغة.
توفر برامج التطبيقات الموجودة على ذاكرة القراءة فقط (ROM)، وبعض البرامج القائمة على أشرطة الكاسيت والأقراص، عادةً واجهة سطر أوامر، وهي مفيدة للعمل مع تخزين الملفات مثل استعراض القرص المُدخل حاليًا. يوفر نظام التشغيل إمكانية إدخال الأوامر في سطر الأوامر وينفذها، لكن التطبيق يشرف على تشغيل موجه الأوامر .
تعتمد البرامج القائمة على الكاسيت والأقراص عادةً على واجهة المستخدم الخاصة بـ BBC BASIC من أجل تحميلها، على الرغم من أنه من الممكن تهيئة قرص مرن للتشغيل دون الحاجة إلى تنفيذ أوامر BASIC، إلا أن هذا نادرًا ما كان يستخدم عمليًا.
في لغة BBC BASIC، يمكن أن تسبق أوامر نظام التشغيل علامة النجمة (*) لتوجيه BASIC لإرسال الأمر مباشرةً إلى نظام التشغيل. وقد أدى ذلك إلى استخدام النجمة كرمز موجه الأوامر لأي برنامج يوفر سطر أوامر لنظام التشغيل؛ حيث يستخدم نظام MOS الإصدار 3 وما بعده النجمة رسميًا كرمز موجه الأوامر. عند الإشارة إلى أمر من أوامر نظام التشغيل، يتم تضمين النجمة عادةً كجزء من الاسم، على سبيل المثال، `<sup>*</sup>`، `<sup>*</sup>`، *RUNإلخ *CAT، *SPOOLعلى الرغم من أن الجزء الذي يلي النجمة فقط هو الأمر. كانت النجمة تُسمى "نجمة" وكانت الأوامر تُسمى "أوامر النجمة". [ 3 ]
ابتداءً من إصدار BBC BASIC 2، يمكن أيضًا إصدار الأوامر باستخدام الكلمة OSCLIالمفتاحية مع سلسلة الأوامر. [ 4 ] بدلاً من ذلك، يمكن استدعاء روتين OSCLI مباشرةً باستخدام الكلمة CALLالمفتاحية بعد تهيئة متغيرات BASIC ذات الصلة. [ 3 ]
تُعرض الأوامر غير المعروفة على أي ذاكرة قراءة فقط (ROM) خاصة بالخدمات (الامتدادات)؛ وغالبًا ما تتحقق ذاكرة القراءة فقط الخاصة بنظام الملفات من تطابق اسم الملف الموجود على القرص، كما تفعل معظم واجهات سطر الأوامر الأخرى. ومع ذلك، فإن استدعاء نظام التشغيل OSWORD مع قيمة accumulator تساوي صفرًا يُتيح للبرامج إدخال سطر واحد (مع تفعيل مفتاحي Ctrl-U لمسح السطر ونسخ المؤشر) مع إمكانية تصفية الأحرف الأساسية وتحديد طول السطر.
يتميز مُفسِّر أوامر MOS بفكرة غير مألوفة: اختصار الأوامر. لتوفير الوقت، يمكن استخدام نقطة بعد الأحرف القليلة الأولى، مثل *L.`for` *LOADو` *SA.for` *SAVE. *RUNتم اختصار `for` إلى ` */for` فقط. *CATويمكن اختصار الأمر `catalogue` (قائمة) شريط كاسيت أو قرص إلى `for` *..
ذاكرة القراءة فقط للخدمة
تدعم ذاكرات القراءة فقط (ROM) الخارجية عادةً اختصارات الأوامر، مما قد يُسبب غموضًا عند وجود ذاكرتي قراءة فقط (ROM) تُقدمان أوامر متشابهة جدًا في الاسم ولكنها قد تختلف في الوظيفة. في هذه الحالة، يُعطي نظام التشغيل (MOS) الأولوية للأمر الموجود في خانة ذاكرة القراءة فقط (ROM) ذات الرقم الأعلى، على سبيل المثال، الأمر 7 له الأولوية على الأمر 6.
يلجأ بعض الموردين الخارجيين إلى تجاوز هذه المشكلة بإضافة أحرف أخرى قبل أوامرهم النجمية. على سبيل المثال، تُضاف الأحرف الأخرى قبل أوامر ROM الخاصة بشركة Watford ElectronicsW ، مما يجعلها فريدة.
امتداد
تُخصَّص الـ 16 كيلوبايت السفلى من خريطة ذاكرة القراءة فقط (من 0x8000 إلى 0xBFFF) لبنك عناوين Sideways النشط . يسمح نظام Sideways في جهاز BBC Micro بتحويل ذاكرة قراءة فقط واحدة في كل مرة من منافذ اللوحة الأم (أو لوحات التوسعة) إلى خريطة الذاكرة الرئيسية. يمكن تشغيل البرامج من ذاكرة القراءة فقط بهذه الطريقة (مما يترك ذاكرة الوصول العشوائي خالية من كود برنامج المستخدم، لتوفير مساحة عمل أكبر)، ويمكن توسيع نظام التشغيل عبر ذاكرة القراءة فقط هذه. تُعد ذاكرة Acorn Disc Filing System، التي تُستخدم لتوفير دعم الأقراص المرنة للجهاز، أكثر أنواع ذاكرة القراءة فقط الجانبية شيوعًا بعد لغة BASIC.
أثناء إعادة الضبط، يتم تفعيل كل ذاكرة قراءة فقط (ROM) مُصفحة، ويُطلب منها تحديد مقدار مساحة العمل العامة والخاصة التي تحتاجها. تُخصص لكل ذاكرة ROM جزء من مساحة العمل الخاصة التي تبقى مُخصصة لها طوال الوقت، وتُتاح لها كتلة واحدة من مساحة العمل العامة، تساوي حجم أكبر طلب. أثناء التشغيل، يتم التبديل السريع بين ذاكرات القراءة فقط (ROM) المُصفحة عند إصدار أوامر نظام الملفات وإرسال أوامر غير معروفة إلى نظام التشغيل.
يقوم نظام التشغيل MOS بتخصيص كتلة ذاكرة بحجم 3.5 كيلوبايت (من 0x0000 إلى 0x0DFF) من أسفل خريطة الذاكرة لنظام التشغيل ومساحة عمل ROM الخاصة باللغة:
| عنوان | يستخدم |
|---|---|
| 0x0000-0x00FF | مساحة عمل اللغة الحالية، مساحة عمل النظام المتنوعة |
| 0x0100-0x01FF | مجموعة وحدات المعالجة المركزية |
| 0x0200-0x02FF | متجهات نظام التشغيل، ومتغيرات النظام، ومساحة العمل الأخرى |
| 0x0300-0x03FF | مساحة عمل برنامج تشغيل وحدة العرض المرئي، مساحة عمل نظام الكاسيت، مخزن إدخال لوحة المفاتيح |
| 0x0400-0x07FF | يتم تخصيصها لذاكرة القراءة فقط للغة الحالية، أو للأنبوب . يستخدم BASIC النطاق 0x0400-0x046B لمتغيرات الأعداد الصحيحة المكونة من حرف واحد من @% إلى Z% (4 بايت لكل حرف)، وبالتالي يتم الوصول إليها بشكل أسرع من المتغيرات الموجودة في الكومة . |
| 0x0800-0x08FF | نظام الصوت (يخزن مغلفات ADSR ومخزن النغمات؛ إذا لم يكن الصوت قيد الاستخدام، فيمكن تخزين كمية صغيرة من بيانات المستخدم هنا)، مخزن الطابعة، تعريفات المغلفات |
| 0x0900-0x09FF | مخازن إدخال الكاسيت والتسلسلي (يمكن وضع بيانات المستخدم هنا إذا لم يكن الكاسيت قيد الاستخدام، لذلك تم تجميع العديد من أدوات التعليمات البرمجية الصغيرة في الصفحة 9) |
| 0x0A00-0x0AFF | تُستخدم مخازن الإخراج التسلسلي ومخازن الكاسيت أيضًا في أدوات لغة الآلة الصغيرة. |
| 0x0B00-0x0BFF | المفاتيح المُعرَّفة من قِبل المستخدم (سلاسل نصية يتم إدراجها عند الضغط على مفاتيح الوظائف، ويتم تعيينها بواسطة *KEYالأمر) |
| 0x0C00-0x0CFF | الأحرف التي يحددها المستخدم لأوضاع العرض غير التليتكست (يمكن وضع بيانات المستخدم هنا إذا كان العرض في وضع التليتكست) |
| 0x0D00-0x0DFF | روتين خدمة المقاطعة غير القابل للإخفاء، ومساحة عمل الشبكة، ومساحة عمل الماوس/ كرة التتبع ، والمتجهات غير المباشرة إلى ذاكرة القراءة فقط المُصفحة ومؤشرات مساحة عمل ذاكرة القراءة فقط للصفحات |
في جهاز يعمل بنظام الكاسيت فقط، يُمثل العنوان 0x0E00 بداية ذاكرة برنامج المستخدم. مع تركيب وحدات ذاكرة قراءة فقط (ROM) إضافية لنظام التشغيل، مثل وحدة ذاكرة نظام الملفات، يتم تخصيص المزيد من الذاكرة فوق هذا العنوان؛ حيث تستخدم وحدات ذاكرة نظام الملفات الموزعة (DFS) عادةً 2.75 كيلوبايت إضافية لتخزين فهرس القرص مؤقتًا وإدارة مخازن الوصول العشوائي. كما تُخصص وحدة ذاكرة نظام الملفات الشبكية (لـ Econet ) 0.5 كيلوبايت إضافية. تُعد هذه مشكلة خطيرة لأن نظام التشغيل MOS لا يدعم نقل رمز الآلة، الذي يجب تشغيله من العنوان الذي تم تجميعه عنده، لذا قد تقوم بعض البرامج التي تفترض بداية ثابتة لذاكرة برنامج المستخدم بالكتابة فوق مساحة عمل MOS. تم التخفيف من هذه المشكلة في الإصدارات من 3 إلى 5 من خلال السماح لوحدات ذاكرة القراءة فقط (ROM) بتخصيص مساحة عمل في بنك ذاكرة وصول عشوائي (RAM) بديل عند العنوان من 0xC000 إلى 0xDFFF، والذي كان موجودًا في أجهزة كمبيوتر سلسلة Master، على الرغم من أن وحدات ذاكرة القراءة فقط القديمة كانت قادرة على الاستمرار في تخصيص كتل من الذاكرة الرئيسية.
يحتفظ نظام التشغيل أيضًا بجدول متجهات لجميع استدعاءاته، والذي يمكن تحديثه لربط أي استدعاءات لنظام التشغيل لأغراض التوسيع من قِبل المستخدم. ومن خلال تعديل هذه المتجهات أو "ربطها"، يستطيع المطورون استبدال إجراءاتهم الخاصة بالإجراءات الافتراضية التي يوفرها نظام التشغيل.
نص، رسومات، طباعة
يسمح نظام MOS بتوجيه المخرجات النصية المخصصة للشاشة إلى الطابعة بدلاً من ذلك، أو كليهما معًا، مما يوفر دعمًا بسيطًا جدًا لطباعة النصوص العادية. أما طباعة الرسومات فهي غير مدعومة، ويجب كتابتها بشكل منفصل.
تُعالج الرسومات، وبشكل عام جميع مخرجات الشاشة، بطريقة غير مألوفة. تُعطى أحرف التحكم ASCIIVDU 30 أهمية جديدة تمامًا في نظام MOS: تُعرف باسم "برامج تشغيل VDU"، لأن الوثائق وصفتها بالرجوع إلى عبارة VDU في لغة BBC BASIC، حيث تُفسر على أنها أحرف تحكم فيديو. على سبيل المثال، يُحرك ASCII 30 المؤشر إلى (0، 0)، بينما يحدد VDU 4 و5 ما إذا كان سيتم رسم نص عند مؤشر الرسومات أو مؤشر النص، ويقوم VDU 12 بمسح الشاشة، ويقوم VDU 14 و15 بتشغيل وإيقاف قفل التمرير. بالتالي، سيؤدي الضغط على Ctrl+L إلى مسح الشاشة، بينما سيؤدي الضغط على Ctrl+N إلى تفعيل قفل التمرير. يُبدّل VDU 2 و3 ما إذا كان سيتم عكس مخرجات الشاشة على الطابعة. VDU x [, y[, z...]]تُعادل عبارة VDU في BBC BASIC عبارة BASIC التقليدية ، وللعديد من رموز التحكم (مثل 12 لمسح الشاشة و7 لإصدار صوت تنبيه) نفس الوظائف الموجودة في الأجهزة الحديثة الأخرى.PRINTCHR$(x)[;CHR$(y)[;CHR$(z)...]]
تتطلب العديد من رموز التحكم الأخرى معلمات: يُستخدم حرف واحد أو أكثر من الأحرف التالية فقط لقيمته الثنائية كمعلمة وليس كرمز تحكم. يتولى VDU 19 إعادة تعيين لوحة الألوان؛ تمثل البايتات الخمسة التالية مدخل لوحة الألوان، واللون المطلوب، وثلاثة بايتات احتياطية. يحدد VDU 31 موقع مؤشر النص في الموقع المحدد في البايتين التاليين. يحدد VDU 17 لون النص، وVDU 18 لون الرسومات. يستخدم VDU 25 البايتات الخمسة التالية لتحريك مؤشر الرسومات ورسم الخطوط المتصلة والمتقطعة، والنقاط، والمثلثات المملوءة، وهو النطاق الموثق للرسومات في MOS 0 و1. البايت الأول هو رمز الأمر، متبوعًا بإحداثيات x وy كزوجين من البايتات. كانت وظائف رسومية أخرى - مثل تعبئة خط أفقي محدد بلون معين - متاحة باستخدام رموز أوامر غير موثقة أو موثقة بشكل سيئ.
احتوت لغة BBC BASIC على أسماء بديلة لرموز VDU الشائعة الاستخدام (مثل GCOL لـ VDU 18 أو PLOT لـ VDU 25). بعض العبارات كانت مكافئة مباشرة لرموز VDU، مثل CLS لـ VDU 12. بينما كانت عبارات أخرى أقل دقة، إذ تضمنت وظائف خاصة بلغة BASIC بالإضافة إلى استدعاء إجراءات نظام التشغيل؛ على سبيل المثال، تقوم العبارة MODE x بتعيين وضع الشاشة x وتعديل متغير نظام BASIC المسمى HIMEM وفقًا لمقدار الذاكرة المتاحة لـ BASIC بعد الوضع الجديد، بينما تقوم العبارة VDU 22, x بتعيين وضع الشاشة فقط، دون تغيير قيمة HIMEM. هذا يسمح للمبرمج بتخصيص كتلة من الذاكرة من BASIC - على سبيل المثال لتحميل إجراءات لغة الآلة - عن طريق خفض قيمة HIMEM في بداية البرنامج، مع إمكانية تغيير أوضاع الشاشة دون إلغاء تخصيصها كأثر جانبي.
يوجد أمر واحد في نظام التشغيل لكتابة حرف، وهو OSWRCH، وهو المسؤول عن جميع النصوص والرسومات. على سبيل المثال، لنقل المؤشر إلى (10، 15)، وهو الأمر المطلوب في لغة التجميع 6502 :
LDA #31: JSR OSWRCH \ تحريك مؤشر النص LDA #10: JSR OSWRCH \ إحداثيات x LDA #15: JSR OSWRCH \ إحداثيات y
(يقوم LDA بتحميل قيمة في المُراكم؛ JSR تعني " الانتقال إلى روتين فرعي "). عند استدعاء نظام التشغيل للمرة الثالثة، سيتحرك المؤشر. سيرسم الكود التالي خطًا من (0، 0) إلى (0، +100):
LDA #25: JSR OSWRCH \ begin "PLOT" (ASCII 25) command LDA #4: JSR OSWRCH \ الأمر k=4، أو نقل مطلق LDA #0: JSR OSWRCH: JSR OSWRCH: JSR OSWRCH: JSR OSWRCH أرسل (0، 0) كأزواج بايت منخفضة وعالية
LDA #25: JSR OSWRCH \ بدء الرسم التخطيطي LDA #1: JSR OSWRCH \ k=1 - رسم نسبي LDA #0: JSR OSWRCH: JSR OSWRCH \ x = 0 LDA #100: JSR OSWRCH \ y = 100 (البايت الأدنى) LDA #0: JSR OSWRCH \ البايت العالي
تتيح لغة BBC BASIC تنفيذ ما سبق بأي من الطرق التالية:
فدو 25 ، 4 ، 0 ؛ 0 ; 25 ، 4 ، 100 ؛ 0 ;اطبع CHR$ ( 25 ); CHR$ ( 4 ); CHR$ ( 0 ); ... إلخ .القطعة 4 ، 0 ، 0 : القطعة 1 ، 0 ، 100MOVE 0 , 0 : DRAW 0 , 100 : REM الإحداثيات المطلقة فقط!OSWRCH = & FFEE : A% = 25 : CALL OSWRCH : A% = 4 : CALL OSWRCH : A% = 0 : CALL OSWRCH ... إلخ .تستخدم الرسومات في نظام Acorn MOS دقة عرض افتراضية تبلغ 1280×1024، حيث تُطابق مواقع البكسلات أقرب بكسل مكافئ لها في وضع الرسومات الحالي. ولن يؤثر تغيير دقة الفيديو على شكل أو حجم أو موضع الرسومات المعروضة حتى مع اختلاف مقاييس البكسل تمامًا في الوضع الجديد، لأن نظام التشغيل يأخذ كل ذلك في الحسبان.
يوفر نظام التشغيل MOS استدعاءين آخرين لمعالجة إخراج النصوص: OSNEWL OSNEWLو OSASCIOSASCI. يقوم OSNEWL بكتابة سطر جديد وحرف إرجاع إلى دفق الإخراج الحالي. بينما يقوم OSASCI بتمرير جميع الأحرف مباشرةً إلى OSWRCH باستثناء حرف الإرجاع، الذي يستدعي OSNEWL بدلاً من ذلك. يُمكن الاطلاع على الكود الدقيق لكل من OSASCI و OSNEWL - وهو عبارة عن خمسة أسطر من لغة التجميع 6502 - في دليل مستخدم BBC Micro.
يُفعّل نظام MOS خاصية التعرّف على الأحرف، بحيث يُمكن تحديد النص المطبوع على الشاشة بخط النظام باستخدام مفاتيح الأسهم، وإدخاله باستخدام COPYمفتاح الإدخال كما لو كان يُكتب. لتفعيل تحرير الشاشة، يُحرّك المستخدم مؤشر الجهاز إلى النص المراد قراءته، فيُظهر نظام التشغيل مؤشرًا ثانيًا في البرنامج في الموضع الأصلي. يؤدي الضغط على مفتاح الإدخال إلى نسخ حرف واحد من مؤشر الجهاز إلى مؤشر البرنامج، ويُحرّك كلا المؤشرين للأمام، بحيث يؤدي الضغط المستمر على مفتاح الإدخال إلى نسخ جزء من النص، مع التفاف المؤشرين حول الحواف الرأسية للشاشة حسب الحاجة. إذا تم تمرير الشاشة أثناء التحرير، يتم تعديل موضع مؤشر الجهاز ليتبع النص. يُمكن للمستخدم إجراء تغييرات على النص أثناء النسخ، ويتم التعرّف على الأحرف المُعرّفة من قِبل المستخدم في أوضاع الرسومات. ينتهي تحرير الشاشة عند الضغط على مفتاحي الإدخال أو ، حيث يكون لكل منهما تأثيره المعتاد. تتوفر خاصية التعرّف على الأحرف للمستخدمين في واجهة برمجة التطبيقات (API) من خلال استدعاء لقراءة الحرف الموجود في موضع المؤشر الحالي.COPYRETURNESCAPE
صوت
يتم توليد الصوت من خلال استدعاء نظام تشغيل آخر يُسمى OSWORD، والذي يُعالج مجموعة متنوعة من المهام المُحددة بواسطة رمز مهمة مُخزّن في المُراكم. تحتوي جميع استدعاءات OSWORD على كتلة مُعاملات تُستخدم لإرسال واستقبال بيانات متعددة؛ ويتم تمرير عنوان هذه الكتلة في السجلين X وY، حيث يكون البايت الأدنى في X والبايت الأعلى في Y. توجد أربع قنوات صوتية مُخزّنة مؤقتًا - ثلاث قنوات لحنية وقناة واحدة تعتمد على الضوضاء، وذلك باستخدام شريحة الصوت الموجودة في BBC Micro. يوجد شكل موجي واحد فقط للقنوات اللحنية؛ وتشمل مُعاملات النوتة المدعومة: درجة الصوت، والمدة، والسعة، واختيار الغلاف، وخيارات تحكم متنوعة. بالنسبة لمعامل السعة، تُحدد القيمة صفر أو قيمة سالبة سعة ثابتة، بينما تُحدد القيمة الموجبة غلاف السعة ودرجة الصوت (تغير زمني مُحدد مُسبقًا) لتطبيقه على النوتة.
تم تمرير معلمات التحكم من خلال معلمة القناة، وتشمل التفريغ (يتم مسح المخزن المؤقت وإسكات القناة قبل تشغيل النوتة)، وعدد المزامنة (بمجرد استلام نفس عدد المزامنة لهذا العدد من القنوات، يتم تشغيل جميع النوتات المتزامنة معًا)، والتحكم في ترقية نظام الكلام عند توفرها.
تتعامل دالة OSWORD مع العديد من الوظائف الأخرى غير الصوت، والتي لا يدعمها BASIC بشكل مباشر. ويمكن الوصول إليها من BASIC عن طريق إعداد كتلة المعاملات، وتحميل عنوانها في X% وY%، ورمز المهمة في A%، ثم استدعاء الدالة.
دعم الإدخال/الإخراج الإضافي والمعالج الثاني
كان جهاز BBC Micro يدعم معالجًا ثانيًا متصلًا عبر منفذ Tube ، مما يتيح الوصول المباشر إلى ناقل النظام. لا يُخزَّن رمز تعريف واجهة Tube في ذاكرة MOS، بل يُوفَّر عادةً من ذاكرة ROM خارجية.
يحتوي نظام التشغيل على وظائف لمعالجة عمليات القراءة والكتابة لجميع منافذ الإدخال/الإخراج (المنافذ وذاكرة الشاشة)، وينصح المبرمجون بشدة باستخدامها وفقًا لوثائق Acorn. والسبب في ذلك هو أنه عند تثبيت معالج ثانٍ، يتم تشغيل برامج المستخدم من خريطة ذاكرة منفصلة على الجانب الآخر من ناقل معالج Tube، ويستحيل الوصول المباشر إلى سجلات الإدخال/الإخراج وذاكرة الفيديو المرتبطة بالذاكرة. مع ذلك، ولتحسين الأداء، تقوم العديد من التطبيقات، بما في ذلك العديد من الألعاب، بالكتابة مباشرةً إلى مساحة العناوين الرئيسية للإدخال/الإخراج، وبالتالي تتعطل أو تظهر شاشة سوداء عند توصيل معالج ثانٍ من طراز 6502. أحد هذه الجوانب الحساسة للأداء هو دعم الرسوم المتحركة (Sprites ): لا يدعم جهاز BBC Micro الرسوم المتحركة، ويجب على الألعاب تنفيذها برمجيًا. عمليًا، نادرًا ما تسبب الاستخدام الواسع النطاق للوصول المباشر بدلًا من وظائف نظام التشغيل في مشاكل. كانت وحدات المعالج الثاني باهظة الثمن، ولم يُكتب سوى القليل من البرامج للاستفادة منها، لذلك لم يشترها سوى عدد قليل من الأشخاص، وكان بإمكان من يمتلكها ببساطة إيقاف تشغيلها أو فصل الكابل في حال حدوث مشكلة.
يحتوي نظام التشغيل MOS على نظامي ملفات مدمجين: نظام الكاسيت ونظام ذاكرة القراءة فقط (ROM). وهما متشابهان إلى حد كبير (جرب ذلك *ROMمع *OPT 1 2تثبيت *CATذاكرة قراءة فقط مناسبة) ويشتركان في جزء كبير من التعليمات البرمجية. ويتميزان بآلية حماية بدائية ضد النسخ، حيث لا يمكن تحميل ملف يحمل علامة معينة إلا لتشغيله. [ 7 ] (قبل إطلاق شركة Amstrad لجهاز تسجيل كاسيت مزدوج موجه للسوق العامة في عام 1987، [ 8 ] لم يكن لدى معظم المستخدمين المنزليين إمكانية نسخ الكاسيتات دون تحميل الملفات إلى الكمبيوتر لإعادة حفظها). ويحتوي نظام ملفات الأقراص المتقدم (ADFS)، المثبت بشكل قياسي في سلسلة Master، على آلية مماثلة. [ 9 ]
الإصدارات
الإصداران 0 و 1
تتوفر إصدارات لعائلة BBC Micro ، بدءًا من 0.10 وانتهاءً بـ 1.20. ومن المثير للارتباك أن جهاز Electron صدر بالإصدار 1.00 رغم إصداره بعد إصدار BBC Micro 1.20، وذلك لأنه كان أول إصدار لـ ROM خاص بجهاز Electron. لم يكن رقم إصدار MOS مُخصصًا لتعريف واجهة برمجة التطبيقات (API): فـ ROM الخاص بجهاز Electron لم يكن "مبنيًا" على إصدار BBC Micro ROM 1.0 بأي شكل من الأشكال.
الإصدار الثاني
هذا الإصدار مخصص لجهاز BBC Model B+، وهو في الأساس نفس إصدار MOS 1.20 باستثناء إضافة دعم ذاكرة الوصول العشوائي الجانبية وذاكرة الوصول العشوائي الظلية الموجودة على B+.
الإصدارات من 3 إلى 5
تم شحن MOS 3 إلى MOS 5 مع أنظمة BBC Master Series ، في طرازات Master 128 و Master ET و Master Compact على التوالي.
أضاف الإصدار الأولي من نظام التشغيل MOS 3 مزيدًا من الميزات إلى الإمكانيات المتوفرة في MOS 2 على جهاز B+ لدعم أجهزة إضافية، وتوفير واجهة سطر أوامر، وتوسيع كود برنامج تشغيل وحدة العرض المرئي (VDU) بإضافة إمكانيات محسّنة لرسم الرسومات. وقد تم طرح إصدارين بارزين: الإصدار 3.20، وهو الأكثر شيوعًا، والإصدار 3.50 (على الرغم من احتوائه على وظائف إضافية وإصلاحات للأخطاء [ 10 ]، إلا أنه لم يكن متوافقًا تمامًا مع بعض برامج التطبيقات الشائعة [ 11 ]، لذا تم تقديمه كترقية اختيارية فقط).
كان MOS 4 نسخة مبسطة من MOS 3 مخصصة لـ Master ET المصغر بشكل مماثل، وتم إصلاح بعض الأخطاء الطفيفة.
تم شحن MOS 5 مع Master Compact، وتم تعديله بشكل كبير حيث تمت إزالة بعض الوظائف أو تعديلها بشكل كبير.
الشكر والتقدير
باستثناء نظام MOS 3.50 حيث تم استغلال المساحة لإضافة المزيد من التعليمات البرمجية، احتوت المنطقة التي عادةً ما تكون مخفية بواسطة مواقع ذاكرة الإدخال/الإخراج (768 بايت من 0xFC00 إلى 0xFEFF شاملةً) في ذاكرة القراءة فقط (ROM) لنظام MOS على قائمة بأسماء المساهمين في النظام. ويمكن استعادة هذه القائمة باستخراج ذاكرة القراءة فقط وقراءة محتوياتها باستخدام مبرمج EPROM . أما من لا يملكون مثل هذا الجهاز، فيمكنهم الوصول إلى ذاكرة القراءة فقط على جهاز رئيسي عن طريق ضبط بت اختبار في سجل التحكم بالوصول، ثم استخدام برنامج مكتوب بلغة الآلة لنسخ ذاكرة القراءة فقط مباشرةً إلى ذاكرة الشاشة في وضع النص. [ 12 ]
النص الكامل لسلسلة بيانات الاعتماد ASCII في MOS 1.20 هو كما يلي؛ لا توجد مسافات بعد الفواصل لتوفير الذاكرة:
(C) 1981 Acorn Computers Ltd.Thanks are due to the following contributors to the development of the BBC Computer (among others too numerous to mention):- David Allen,Bob Austin,Ram Banerjee,Paul Bond,Allen Boothroyd,Cambridge,Cleartone,John Coll,John Cox,Andy Cripps,Chris Curry,6502 designers,Jeremy Dion,Tim Dobson,Joe Dunn,Paul Farrell,Ferranti,Steve Furber,Jon Gibbons,Andrew Gordon,Lawrence Hardwick,Dylan Harris,Hermann Hauser,Hitachi,Andy Hopper,ICL,Martin Jackson,Brian Jones,Chris Jordan,David King,David Kitson,Paul Kriwaczek,Computer Laboratory,Peter Miller,Arthur Norman,Glyn Phillips,Mike Prees,John Radcliffe,Wilberforce Road,Peter Robinson,Richard Russell,Kim Spence-Jones,Graham Tebby,Jon Thackray,Chris Turner,Adrian Warner,Roger Wilson,Alan Wright.
استقبال
في مقابلتين أجريتا عامي 1993 و2001، روى هيرمان هاوزر، المؤسس المشارك لشركة أكورن، أن بيل غيتس، الرئيس التنفيذي لشركة مايكروسوفت ، حاول بيع نظام التشغيل MS-DOS لشركة أكورن، لكن هاوزر اعتبر أن اعتماد نظام MS-DOS سيكون بمثابة "خطوة إلى الوراء" مقارنةً بالاحتفاظ بنظام أكورن. [ 13 ] [ 14 ]
مراجع
- ↑ نماذج أولية نادرة من سلسلة هواتف آيفون P تعمل بنظام Acorn OS (فيديو). يوتيوب: Cult of Mac. ٢٩ يونيو ٢٠١٧. يبدأ الحدث في الساعة ٣:٤٦. مؤرشف من الأصل بتاريخ ٢١ ديسمبر ٢٠٢١. تم الاطلاع عليه بتاريخ ٥ يناير ٢٠١٩ .
- ↑ كول، جون (1982) [1982]. ألين، ديفيد (محرر). دليل مستخدم حاسوب بي بي سي الصغير (ملف PDF) . لندن: هيئة الإذاعة البريطانية. ص 443. ISBN 0-563-16558-8تم الاطلاع عليه بتاريخ 28 مارس 2017 .
- 1 2 "تخطيط ذاكرة بي بي سي" . دورة الحاسوب المنزلي المتقدمة . رقم 44. دار أوربيس للنشر المحدودة. 1984. الصفحات 878-880 . الرقم الدولي الموحد للدوريات 0265-2919 . تاريخ الاسترجاع: 19 مايو 2024 .
- ↑ "القديم والجديد" . دورة الحاسوب المنزلي المتقدمة . العدد 52. دار أوربيس للنشر المحدودة. 1984. الصفحات 1037-1039 . الرقم الدولي الموحد للدوريات 0265-2919 . تاريخ الاطلاع: 11 مايو 2024 .
- ↑ "أنظمة التشغيل 02 - عالم أكورن إلكترون" . www.acornelectron.co.uk . تم الاطلاع عليه بتاريخ 7 أبريل 2023 .
- ↑ "خريطة ذاكرة النظام لأجهزة BBC B وB+ وElectron وMaster 128 وET وCompact" . mdfs.net . ١٨ يونيو ٢٠١٦. تم الاطلاع عليه بتاريخ ٧ أبريل ٢٠٢٣ .
- ↑ براي، أندرو سي؛ ديكنز، أدريان سي؛ هولمز، مارك أ. (1983). دليل المستخدم المتقدم لحاسوب بي بي سي الصغير . كامبريدج: مركز كامبريدج للحاسوب الصغير. ص 347. ISBN 0-946827-00-1أُرشف من النسخة الأصلية (ملف PDF مضغوط) بتاريخ 14 يناير 2006. تم الاطلاع عليه بتاريخ 19 أبريل 2012 .
- ↑ "إعادة كاملة: 10 لحظات رئيسية في تاريخ شريط الكاسيت" . صحيفة الغارديان . 30 أغسطس 2013. تاريخ الاسترجاع: 8 ديسمبر 2022 .
- ↑ "5. أوامر نظام الملفات". دليل مستخدم نظام الملفات المتقدم للأقراص (ملف PDF) (الطبعة الأولى ). شركة Acorn Computers. أغسطس 1985. صفحة 32. تاريخ الاطلاع: 22 يوليو 2018 .
- ↑ سبنسر، ديفيد (ديسمبر 1989). "ذاكرة القراءة فقط الضخمة الجديدة". بيبغ . 8 (7). شركة تطوير RISC المحدودة: 6-7 .
إصلاح الأخطاء في نظام التشغيل الأصلي، مثل خطأ CLOSE #0 سيئ السمعة في DFS... تم تسريع ADFS بمعامل لا يقل عن الضعف... تم تضمين أدوات التنسيق والتحقق والنسخ الاحتياطي في ذاكرة القراءة فقط... زيادة السرعة في البرامج التي تُجري الكثير من العمليات الحسابية ذات الفاصلة العائمة... يسمح بإدخال الأحرف الدولية من لوحة المفاتيح... قررت شركة Acorn عدم تضمين ذاكرة القراءة فقط البديلة كمعيار في أجهزة Master الجديدة. والسبب، كما يقولون، هو أنه على الرغم من أن ذاكرة القراءة فقط الجديدة متوافقة للغاية، إلا أن هناك بعض البرامج الحالية التي لن تعمل معها. على وجه الخصوص، قد يؤدي التعامل الجديد مع المفاتيح ذات 8 بت إلى إرباك بعض البرامج، وأي برنامج يصل مباشرة إلى الإجراءات داخل ذاكرة القراءة فقط سيفشل بالتأكيد تقريبًا. أشعر أن شركة Acorn قد اتخذت قرارًا حكيمًا، بالنظر إلى كمية البرامج المتاحة بالفعل لجهاز Master، لكنني لا أعتقد أنه يجب أن تثنيك مشكلة عدم التوافق - ففي الواقع العملي ستعمل معظم البرامج.
- ↑ جيبونز، ديريك (نوفمبر 1990). "بعض التعليقات على ذاكرة القراءة فقط الرئيسية الجديدة". بيبغ . 9 (6). شركة تطوير RISC المحدودة: 38-39 .
*يسلط FX225,2 الضوء على مشكلة أخرى... نظرًا لتغيير وظيفة هذا الأمر عن تلك الموثقة أصلاً، فإن هذه البرامج لم تعد تعمل.
- ↑ هولتون، ديفيد (أبريل 1992). "ركن شفرة الآلة للسيد تود: المُقنعون الخفيون (الجزء 1)". بيبغ . 10 (10). شركة تطوير RISC المحدودة: 6.
سيؤدي ضبط البت 6 من سجل التحكم في الوصول ACCON (&FE34) إلى تحديد هذا الجزء من ذاكرة القراءة فقط (ROM)، ويمكن قراءة الأسماء ... في الصفحة F.2-3 من دليل المرجع الرئيسي (الجزء 1)، حيث يُعطى كل بت من ACCON اسمًا منفصلاً، يُسمى البت 6 TST
- ↑ غروسمان، ويندي م. (مايو 1993). "ضياع الفرصة الكبيرة" . عالم الحاسوب الشخصي . تم الاسترجاع في 6 نوفمبر 2012 .
- ↑ وولي، أليس (6 يونيو 2001). "أكبر خطأ ارتكبته: نعم، كان بإمكاني أن أصبح بيل غيتس" . صحيفة الإندبندنت . تم الاطلاع عليه في 2 يونيو 2017 .
- ملحوظات
- واتفورد للإلكترونيات، "دليل المرجع المتقدم لسلسلة بي بي سي ماستر"، 1988
- أنظمة تشغيل شركة Acorn Computers
- أنظمة التشغيل المتوقفة
- برنامج عام 1981
