TRSDOS

نظام التشغيل TRSDOS (نظام تشغيل أقراص تاندي راديو شاك) هو نظام التشغيل الخاص بسلسلة أجهزة الكمبيوتر الصغيرة تاندي TRS-80 ذات معالج Zilog Z80 ثماني البتات ، والتي بيعت عبر متاجر راديو شاك من عام 1977 إلى عام 1991. وقد أوصت كتيبات تاندي بنطقه "تريس-دوس" . يجب عدم الخلط بين TRSDOS ونظام التشغيل تاندي DOS، وهو إصدار من نظام MS-DOS مرخص من مايكروسوفت لأجهزة الكمبيوتر الشخصية من سلسلة تاندي x86 .

في جهاز TRS-80 موديل I الأصلي لعام 1977، كان نظام TRSDOS في الأساس وسيلة لتوسيع لغة MBASIC ( BASIC في ذاكرة ROM ) بإضافة أوامر إدخال / إخراج تعمل مع ملفات القرص بدلاً من أشرطة الكاسيت التي كانت تستخدمها أنظمة موديل I غير المزودة بأقراص. لاحقًا، استخدمت أجهزة كمبيوتر موديل III المزودة بأقراص إصدارًا مختلفًا تمامًا من TRSDOS من شركة Radio Shack، والذي بلغ ذروته في عام 1981 مع إصدار TRSDOS 1.3. ومنذ عام 1983، استخدمت أجهزة كمبيوتر TRS-80 موديل 4 المزودة بأقراص TRSDOS الإصدار 6، وهو تطوير لنظام LDOS الخاص بموديل III من شركة Logical Systems, Inc. تم تحديث هذا الإصدار الأخير في عام 1987 وصدر باسم LS-DOS 6.3.

كانت هناك نسخة من نظام التشغيل TRSDOS من إنتاج شركة Radio Shack لأجهزة الكمبيوتر الاحترافية TRS-80 Model II و TRS-80 Model 12 الصادرة عام 1979، والتي كانت تعتمد أيضًا على معالج Z80 ومجهزة بمحركات أقراص بحجم 8 بوصات، وهي نسخة منفصلة تمامًا عن تلك الأجهزة. أما الأجهزة اللاحقة في هذه السلسلة، وهي Model 16 و16B وTandy 6000، فقد استخدمت معالج Z80 كمعالج إدخال/إخراج لشريحة Motorola 68000 الرئيسية عند تشغيل أنظمة التشغيل على شريحة 68000، وكان بإمكانها تشغيل نسخة Model II من نظام TRSDOS لتحقيق التوافق مع الإصدارات السابقة من برامج تطبيقات Z80. عند تشغيل أنظمة تشغيل Z80 القديمة، لم يتم استخدام شريحة 68000.

تاريخ

لم يكن حاسوب TRS-80 الصغير من شركة تاندي مزودًا بمحرك أقراص أو نظام تشغيل للأقراص عند إصداره. كانت النسخة الأولى من نظام TRSDOS، التي طورها راندي كوك، مليئة بالأخطاء لدرجة دفعت آخرين إلى كتابة بدائل، منها NewDOS وLDOS. بعد خلافات مع كوك حول ملكية شفرة المصدر ، استعانت تاندي بشركة Logical Systems، مطورة LDOS، لمواصلة تطوير TRSDOS. [ 2 ] يُعدّ TRSDOS 6، الذي تم شحنه مع جهاز TRS-80 موديل 4 عام 1983، مطابقًا تمامًا لـ LDOS 6.00. [ 3 ]

بلح

  • أكتوبر 1979 - أصدرت شركة راديو شاك نظام التشغيل TRSDOS 2.3
  • 1 مايو 1981 - أصدرت شركة راديو شاك نظام التشغيل TRSDOS 1.3 من طراز 3
  • 26 أبريل 1983 - شركة راديو شاك تقدم نظام التشغيل TRSDOS الإصدار 6.0 مع طراز 4s الجديد
  • 1984 – أصدرت شركة راديو شاك الإصدار 6.2، وهو الإصدار النهائي للطراز 4 [ 4 ]
  • 1984 – نشرت شركة Logical Systems برنامج The Source ، وهو عبارة عن شفرة مصدرية مُعلقة للغة التجميع لنظام التشغيل TRSDOS 6.2 [ 1 ]
  • أواخر عام 1986 - أصدرت شركة Logical Systems نظام التشغيل LS-DOS 6.3، وهو التحديث المكافئ وظيفيًا لنظام التشغيل TRSDOS 6.2. ومنذ هذا التاريخ، قامت شركة Tandy/Radio Shack بشحنه مع جهاز Model 4D.

الميزات والقدرات

تدعم سلسلة حواسيب TRS-80 من راديو شاك، المبنية على معالج Z80 ( الطرازات I/III والطراز 4 )، ما يصل إلى أربعة محركات أقراص مرنة (ميني ديسكيت) تستخدم أقراصًا بحجم 5¼ بوصة . كان نظام التشغيل TRSDOS الأصلي للطراز I يدعم فقط الأقراص أحادية الجانب ذات 35 مسارًا بتنسيق أحادي الكثافة ( يتم ترميز القطاعات باستخدام تقنية تعديل التردد ). أما نظام TRSDOS للطراز III (الذي وصل إلى الإصدار 1.3) فكان يدعم الأقراص ذات 40 مسارًا بتنسيق مزدوج الكثافة (باستخدام تعديل تردد مُعدّل ). لم يكن بإمكان الطراز I، المُزوّد ​​بوحدات تحكم مزدوجة الكثافة، والطرازات I/III المُجهزة بمحركات أقراص ذات 80 مسارًا أو محركات أقراص مزدوجة الجوانب، استخدام نظام TRSDOS؛ لذا باعت راديو شاك نظام التشغيل LDOS من شركة Logical Systems، والذي كان قادرًا على التحكم في هذه الأنواع من محركات الأقراص. يُعد نظام TRSDOS 6 الخاص بالطراز 4 تطويرًا لنظام LDOS، ويتمتع بنفس الإمكانيات.

كانت محركات الأقراص الصلبة (المعروفة آنذاك باسم محركات وينشستر ) تتطلب برامج تشغيل مخصصة من الشركات المصنعة. سمحت هذه البرامج لأي نظام تشغيل TRSDOS بالوصول إليها مع ما يصل إلى ثمانية أقسام ، يُخصص لكل قسم رقم من صفر إلى سبعة. يمكن تهيئة محرك أقراص صلبة كبير بأكثر من ثمانية أقسام، لكن TRSDOS لا يمكنه الوصول إلا إلى ثمانية محركات في الجلسة الواحدة. يمكن تهيئة بعض أقسام محركات الأقراص الصلبة بنظام TRSDOS والبعض الآخر بنظام CP/M. كما يشغل كل محرك أقراص مرنة في النظام رقمًا واحدًا. يمكن أيضًا لجهاز Model 4 إنشاء واستخدام قرص ذاكرة (Memdisk)، والذي يتطلب بدوره رقمًا مخصصًا له.

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

يتمثل الأثر الثاني لبنية التراكب في ضرورة وجود قرص يحتوي على ملفات نظام TRSDOS (امتداد الملف /SYS) دائمًا في أي محرك أقراص مُخصص له رقم محرك الأقراص المنطقي صفر. (في الطراز 4، قد يكون هذا هو قرص الذاكرة Memdisk، مما يُتيح استخدام محرك الأقراص الفعلي صفر لقرص بيانات غير نظامي). يحتوي كل من LDOS وTRSDOS 6 على أمر SYSRES الذي يُحمّل ملفات نظام مُحددة إلى ذاكرة الوصول العشوائي Z80، مما يُحرر مساحة على قرص النظام لبيانات غير نظامية. تحتوي جميع الإصدارات على صيغ مختلفة من أمر SYSTEM الذي يُمكنه إعادة تعيين أرقام محركات الأقراص المنطقية إلى محركات الأقراص الفعلية. من الممكن تعيين أرقام محركات الأقراص بطريقة تُلغي تعيين رقم محرك أقراص منطقي لمحرك أقراص فعلي؛ وهذا مفيد أحيانًا لضمان عدم إمكانية الوصول إلى محرك الأقراص لأغراض أمنية ( حماية الكتابة ). (يمكن أيضًا ضبط محركات الأقراص بواسطة نظام التشغيل DOS لتكون محمية ضد الكتابة).

إدارة الأقراص

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

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

تُنظَّم الأقراص على النحو التالي: يُهيَّأ كل مسار إلى عدد محدد من القطاعات، كل قطاع منها بحجم 256 بايت، وبسعة قصوى تبلغ 32 قطاعًا لكل مسار. تُجمَّع القطاعات في كتل تُسمى " حبيبات" ، وتختلف أحجامها تبعًا لسعة المسارات الإجمالية لوسائط القرص، مع العلم أن حجم الحبيبة ثابت لكل تنسيق قرص. بالنسبة للأقراص ذات الأربعين أسطوانة والمُهيَّأة بكثافة مزدوجة، وهي المعيار في محركات الأقراص المُثبَّتة في طرازي TRS-80 III و4، يبلغ حجم الحبيبة ستة قطاعات، كل قطاع منها بحجم 256 بايت، أو 1.5 كيلوبايت. يحتوي كل مسار على ثلاث حبيبات بسعة تخزين تبلغ 4.5 كيلوبايت. يُهيَّأ كل جانب (سطح) من القرص عادةً بـ 40 مسارًا، مما يُنتج 180 كيلوبايت لكل جانب. أما طراز 4D، بمحركاته ذات الوجهين، فيُنتج 360 كيلوبايت من سعة التخزين. عند الحاجة إلى مساحة إضافية على القرص لملف ما (مثل توسيع ملف أثناء الكتابة إليه)، تُخصَّص حبيبة إضافية. وبذلك تصبح الحبيبة أصغر وحدة تخزين.

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

أثناء عملية التهيئة، يتم وضع أسطوانة دليل القرص على الأسطوانة ذات الرقم الأوسط؛ لذا، في قرص قياسي مكون من 40 أسطوانة، يتم تثبيت الدليل على الأسطوانة رقم 20. هذا يقلل متوسط ​​المسافة (وزمن الوصول) التي يجب أن يقطعها رأس القراءة/الكتابة للوصول إلى الدليل. يحتوي القطاع الأول من دليل القرص على جدول تخصيص الحبيبات (GAT). يتم ربط جدول تخصيص الحبيبات (GAT) بكل حبيبة مساحة على القرص. تتضمن الحقول الأخرى في جدول تخصيص الحبيبات (GAT) اسم الحزمة، وتاريخ الإنشاء (عند تهيئة القرص)، وكلمة مرور الحزمة، وبيانات تتعلق بتكوين القرص.

عند فتح ملف للوصول إليه، يحتاج النظام إلى البحث في الدليل عن سجله. يتم تقليل وقت البحث باستخدام تقنية التجزئة لتقليص سلسلة الأحرف المكونة من 11 حرفًا، والمكونة من اسم الملف وامتداده، إلى قيمة بايت واحد. يُخزَّن رمز التجزئة لكل ملف في جدول فهرس التجزئة (HIT)، وهو القطاع الثاني من الدليل. يتوافق كل موضع في هذا الجدول مع سجل إدخال محدد في الدليل. يمكن لجدول التجزئة، الذي يبلغ طوله قطاعًا واحدًا، فهرسة 256 سجلًا أو ملفًا كحد أقصى. يتم تحديد حجم الدليل نفسه وفقًا لسعة القرص، حيث يبلغ حجمه أسطوانة واحدة كحد أقصى (حتى 34 قطاعًا). وبالتالي، كلما زادت سعة تخزين القرص، زاد حجم الدليل، وزاد عدد أسماء الملفات التي يمكن تخزينها على القرص.

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

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

تُمرَّر وظائف قرص SVC الأساسية عبر إجراءات النظام المشتركة الموجودة في برنامج التشغيل المُثبَّت لكل نوع من أنواع أجهزة تخزين الأقراص. يُسمى برنامج تشغيل محركات الأقراص المرنة من الطرازين III و 4 بـ $FD ويقع في منطقة الذاكرة المنخفضة لنظام TRSDOS. أما محركات الأقراص الصلبة، فتأتي مزودة ببرنامج تشغيل خاص بها، وعادةً ما تُثبَّت في الذاكرة العالية (ذاكرة الوصول العشوائي Z80 الرئيسية بسعة 64 كيلوبايت) أعلى مؤشر النظام HIGH$ ، نظرًا لأن المساحة في منطقة الذاكرة المنخفضة عادةً ما تكون غير كافية (خاصةً في الطراز 4، حيث لا يمكن للبرامج اللازمة للوصول إلى بنوك الذاكرة الخارجية أن تتواجد في ذاكرة الوصول العشوائي Z80 العالية لأن هذه المنطقة تقع ضمن منطقة تبديل ذاكرة الوصول العشوائي). تُنشئ إجراءات برنامج التشغيل هذه بروتوكول ربط بين التطبيق الذي يطلب الوصول إلى القرص ووحدة تحكم القرص المرن في الكمبيوتر. تستخدم أجهزة TRS-80 رقائق تحكم من سلسلة Western Digital : WD1791 في إصدار الطراز 4 بدون مصفوفة البوابات، وWD1773 في إصدار الطراز 4 بمصفوفة البوابات. عندما يُستدعى طلب إدخال/إخراج من قِبل وحدة خدمة ذات مستوى أعلى، مثل طلب قراءة سجل ملف، يُترجم الطلب إلى وظيفة القرص الأساسية (أمر FDC أو تقرير الحالة) اللازمة لتلبية طلب الوظيفة. بروتوكول الربط موحد عبر جميع أجهزة القرص المتصلة بالنظام. هذا يجعل الوصول إلى الملفات شفافًا بغض النظر عن حجم أو طبيعة جهاز القرص ضمن نطاق المعلمات المخزنة في DCT لهذا القرص. [ 5 ]

إدارة الملفات

تدعم ملفات القرص نوعين من الوصول: إدخال/إخراج السجلات وإدخال/إخراج الأحرف. يمكن قراءة أو كتابة السجلات المنطقية التي يتراوح طولها من بايت واحد إلى 256 بايت باستخدام طلبات الخدمة @READ أو @WRITE. يمكن أن يكون إدخال/إخراج السجلات عشوائيًا (عن طريق طلبات الخدمة الخاصة بالموضع قبل القراءة/الكتابة) أو متسلسلًا باستخدام عمليات قراءة أو كتابة متكررة. يتم تنفيذ إدخال/إخراج الأحرف (أو البايتات) بواسطة طلبات الخدمة @GET و@PUT، وهو مشابه لإدخال/إخراج السجلات مع طول سجل منطقي (LRL) يساوي واحدًا. (يتم الوصول الفعلي إلى جهاز تخزين القرص دائمًا بوحدات قطاعات 256 بايت. هذا ثابت بواسطة وحدة تحكم القرص TRS-80). مع ذلك، إذا تم استخدام GET أو PUT لتنفيذ الوصول المتسلسل، فيمكن اعتبار الملف جهاز إدخال/إخراج أحرف تمامًا مثل الطابعة أو المنفذ التسلسلي أو جهاز عرض الفيديو. وبالتالي، فإن طلب إدخال/إخراج البايت مستقل عن الجهاز المادي "المتصل" بوحدة التحكم التي تطلب الإدخال/الإخراج. وهذا يجعل النظام "مستقلاً عن الجهاز".

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

في نظامي التشغيل TRSDOS وLDOS، لا يتم تسجيل دخول النظام إلى أي محرك أقراص حالي كما هو الحال في أنظمة CP/M و PC DOS و MS-DOS . ويكون موجه النظام دائمًاجاهزية TRSDOSتُلبى جميع طلبات الوصول إلى الملفات (سواءً صدرت من المستخدم عبر وحدة التحكم أو من برنامج قيد التشغيل) بالبحث في دليل القرص الأول المحدد (يُعتبر القرص صفر إذا لم يُحدد رقم قرص)، وإذا لم يُعثر على الملف المطلوب، يُبحث في القرص التالي (ذي الرقم الأعلى) في النظام. يستمر هذا حتى يُعثر على الملف أو يُبحث في جميع الأقراص في النظام (انظر أدناه للاطلاع على اختلافات هذه القاعدة).

تُحدد أرقام محركات الأقراص بنقطتين رأسيتين :متبوعتين مباشرةً برقم محرك الأقراص. النقطتان الرأسيتان اختياريتان إلا إذا استُخدمت مواصفات محرك الأقراص كلاحقة لاسم ملف. مثال على ذلك: استخدام أمر الدليل (directory).DIR

  • DIRيعرض جميع الملفات بدءًا من محرك الأقراص المنطقي صفر، ثم محرك الأقراص واحد، وهكذا.
  • DIR :4أو يبحث في محرك الأقراص المنطقي الرابع (لجميع الملفات، كما هو الحال دائمًا عندما لا يتم تحديد اسم ملف).DIR 4
  • DIR :4-6أو يبحث في محركات الأقراص المنطقية أربعة وخمسة وستة.DIR 4-6
  • DIR :4-أو يبحث في محركات الأقراص المنطقية أربعة وخمسة وستة وسبعة.DIR 4-
  • DIR FILENAME:2يبحث عن اسم الملف على محرك الأقراص المنطقي الثاني.
  • DIR FILENAME:2-يبحث عن اسم الملف على جميع محركات الأقراص المنطقية بدءًا من محرك الأقراص الثاني.

كما هو موضح، يُستخدم رمز الشرطة (- ) لتحديد نطاق أرقام محركات الأقراص. يعرض الأمران `catalog` و` catalog` جميع مواصفات الملفات ( filespecs ) المطابقة للاستعلام على جميع محركات الأقراص. تتوقف الأوامر/الأدوات الأخرى، مثل `catalog` و`catalog` ، وعمليات البحث عن محركات الأقراص التي تبدأها البرامج قيد التشغيل، عند أول محرك أقراص مطابق. إذا وُجدت مواصفات الملف نفسها على عدة محركات أقراص، فسيتم استبعاد الملفات الموجودة على محركات الأقراص ذات الأرقام الأعلى.-DIRCATBACKUPCOPYPURGE

يدعم النظام الوصول إلى الملفات باستخدام أجزاء من أسماء الملفات ( partspecs )، وامتدادات الملفات، وتواريخ الملفات. على سبيل المثال:

  • DIR SAMPLEسيتم تحديد الملفات SAMPLE و SAMPLE1 و SAMPLE23 و SAMPLEIT.
  • DIR /BASسيتم تحديد الملفات SAMPLE/BAS و TEST/BAS و EXAMPLE/BAS وما إلى ذلك.

كما هو الحال في المثال السابق، يمكن إضافة مواصفات محركات الأقراص ( drivespecs ) إلى مواصفات الملفات (filespecs). تفترض هذه الأمثلة أن الملفات المحددة لم تُخفَ في دليل القرص. وتعمل طلبات الوصول إلى الملفات الصادرة عن برامج التطبيقات التي تعمل تحت نظام TRSDOS بنفس الطريقة.DIR

واجهة سطر الأوامر

في نظام TRSDOS/LS-DOS 6.x، يمكن استبدال مُفسِّر أوامر النظام القياسي (SYS1/SYS) بمُفسِّر مُخصَّص عن طريق نسخ المُفسِّر الجديد إلى ملف النظام SYS13/SYS (وهو ملف وهمي في حالة التثبيت غير المُعدَّل). يمكن أن يكون هذا الملف أي ملف برنامج بلغة الآلة/CMD. يُشار إلى هذا في الوثائق باسم "مُفسِّر الأوامر المُوسَّع" أو ECI.

يدعم نظام التشغيل TRSDOS/LS-DOS 6.x الأحرف البديلة في أسماء الملفات، سواء الحرف الواحد  ؟ أو الأحرف المتعددة *.

تميز نظام TRSDOS (الإصدار الثاني) بإضافة كلمات ضوضاء ، على غرار مواصفات لغة COBOL لعام 1959. وقد جعلت هذه الكلمات الأوامر أقرب إلى اللغة الإنجليزية. على سبيل المثال، تعمل الأوامر التالية بنفس الطريقة:

  • COPY filea fileb
  • COPY filea TO fileb

بما أن نظام TRSDOS لا يدعم مفهوم إعادة توجيه الإدخال/الإخراج كما هو الحال في أنظمة UNIX / Linux و MS-DOS ، فإن أمر APPEND يختلف نوعًا ما في مفهومه عن مفهوم الإلحاق عبر إعادة توجيه الإخراج في أنظمة UNIX أو MS-DOS. يوفر نظاما TRSDOS/LS-DOS 6.x إعادة توجيه الإدخال/الإخراج لأجهزة النظام (لوحة المفاتيح *KI، شاشة العرض *DO، الطابعة *PR، المنفذ التسلسلي *CL)، وكذلك بين الأجهزة وملفات القرص. يعرض أمر DEVICE خريطة لروابط ومسارات الإدخال/الإخراج. في أنظمة DOS وUNIX، يمكن طباعة ملف مع إعادة التوجيه؛ في نظام UNIX، يتم ذلك عادةً عن طريق تخزين الملف مؤقتًا على " طابعة الخط " (باستخدام أمر lpr ) لأن UNIX نظام متعدد المستخدمين تقليديًا. يمكن إعادة توجيه مهام الطباعة في نظامي TRSDOS/LS-DOS 6.x (مثلًا إلى ملف على القرص) بتطبيق أمري LINK أو ROUTE على جهاز النظام *PR.

لا يدعم نظاما TRSDOS/LS-DOS 6.x المجلدات الفرعية أو مساحات المستخدم. مع ذلك، تدعم أوامر DIR وCAT (الفهرسة) لعرض بيانات الملفات أسماء الملفات الجزئية واللواحق وتواريخ الملفات المعتادة. في نظامي TRSDOS/LS-DOS 6.x، يمكن إخفاء الملفات عن أوامر DIR وCAT، ويمكن عرضها باستخدام المعامل INV (إلا إذا كانت بعض الملفات محمية بكلمة مرور ولم يتم إدخال كلمة المرور الصحيحة).

يمكن لبرنامج TRSDOS/LS-DOS 6.3 إخراج شاشة الفيديو إلى طابعة الخطوط بالضغط على + .CTRL:

تدعم العديد من الإصدارات نظام أمان بسيط بكلمة مرور للملفات والبرامج، مع إمكانية الوصول الكامل والقراءة/التنفيذ بشكل منفصل. مثال: اسم الملف/امتداد.كلمة المرور:محرك الأقراص# . يدعم نظام TRSDOS 6.x كلمات مرور المالك والمستخدم (بحد أقصى 8 أحرف) لملفات القرص. يستخدم نظام LS-DOS 6.3 مساحة كلمة مرور المستخدم لنظام التأريخ الممتد (بعد 31 ديسمبر 1987). يمكن لكلا نظامي التشغيل Model 4 تحديد مستويات وصول مختلفة للملفات، والسماح بحماية البرامج ضد الكتابة لملفات القرص والأقراص بأكملها.

الأوامر

على الرغم من أن نظام MS-DOS يدين في أصوله بشكل كبير لنظام CP/M ومن ثم لنظام TOPS-10 ، فإن العديد من أوامر معالجة الملفات فيه تشبه تلك الموجودة في نظام TRSDOS. بعض أوامر TRSDOS التالية موجودة على القرص كملفات برامج منفصلة (DIR/CMD، FORMAT/CMD، BACKUP/CMD)، بينما توجد جميع الأوامر الأخرى كوحدات نمطية مدمجة في ملفات المكتبة (أو مجموعات البيانات المقسمة تقنيًا) SYS6/SYS وSYS7/SYS وSYS8/SYS؛ وتشمل هذه أوامر TRSDOS مثل CAT وCOPY وLIST وREMOVE وRENAME.

بعض الأدوات النموذجية لنظام TRSDOS:

أوامر نظام التشغيل TRSDOS وما يقابلها في أنظمة التشغيل الأخرى
يأمرMS-DOS ، OS/2 ، ويندوزيونكس ، شبيه يونكسوصف
أضفاكتب file1 >> file2cat file >> file2في نظام TRSDOS 6.x، قد يكون مصدر البيانات المضافة جهاز إدخال النظام مثل *KI. وبالتالي، سيتم إلحاق كل ما يُكتب على لوحة المفاتيح بالملف المستهدف. استخدم الأمر RESET *KI لإنهاء هذه العملية.
السمةالسمةchmodتختلف أوامر ATTRIB وPROT وأمر chmod في نظام UNIX اختلافًا طفيفًا في دلالاتها. نظام UNIX/Linux متعدد المستخدمين، حيث يمكن لكل مستخدم التحكم في أذونات القراءة والكتابة والتنفيذ على ملفاته ومجلداته. أما نظام MS-DOS فهو أحادي المستخدم، وتُعتبر سمات الملفات "للقراءة فقط" و"مخفي" و"نظام" استشارية. كان نظام TRSDOS أحادي المستخدم أيضًا. في TRSDOS 6.x، يُمكن لأمر ATTRIB تعديل حالة حماية جميع الملفات على وحدة تخزين القرص إذا تم إدخال كلمة المرور الرئيسية للقرص. كما يُمكن إزالة جميع كلمات مرور المستخدمين والمالكين للملفات الظاهرة باستخدام أمر ATTRIB واحد.
آليAUTOEXEC.BAT~/.profile أو ~/.login أو /etc/rc*يُحدد الأمر AUTO أمرًا تلقائيًا ليتم تنفيذه عند بدء تشغيل TRSDOS؛ في MS-DOS، كان الملف الخاص المحجوز المسمى AUTOEXEC.BAT يحتوي على قائمة بهذه الأوامر. يدعم TRSDOS/LS-DOS 6.x لغة التحكم في المهام (Job Control Language) التي تسمح لأي ملف نصي يحمل اللاحقة /JCL بمعالجة أي عدد من ملفات البرامج القابلة للتنفيذ دفعةً واحدة (باستخدام الأمر DO ). يمكن أن يكون هذا الملف هدفًا لأمر AUTO. في UNIX، تُمثل مجموعة من ملف rc واحد أو أكثر ضمن /etc/ مجموعة من أوامر التشغيل عند بدء التشغيل، كما يتم تشغيل ملفات "dot" خاصة في دليل المستخدم الرئيسي في كل مرة يسجل فيها المستخدم دخوله إلى النظام. يدعم UNIX العديد من ملفات "dot" الأخرى للعديد من أوامره، وهي تُشبه محتويات مجلد "التفضيلات" في نظام Macintosh .
النسخ الاحتياطينسخ القرص ، tartar، cpio ، pax ، (وغيرها الكثير)يتضمن نظاما التشغيل TRSDOS/LS-DOS 6.x أداة BACKUP/CMD التي تتيح نسخ الملفات دفعة واحدة بناءً على مطابقة جزئية لأسماء الملفات، أو لاحقات الملفات (مثل /CMD أو /BAS)، أو تاريخ الملف. يمكن ضبط BACKUP بحيث تستعلم أولاً عن إذن نسخ كل ملف باستخدام المعامل (Q=Y) . في أجهزة الكمبيوتر ذات القرص الواحد، يسمح المعامل X بالنسخ بين قرصين من خلال مطالبة المستخدم عند الرغبة في تبديل الأقراص في محرك الأقراص.
قطةيعرض الأمر CATalog في نظام TRSDOS سطرًا واحدًا يتضمن معلومات عن القرص المحدد (اسم القرص، السعة، التاريخ) وقائمة بأسماء الملفات وامتداداتها الموجودة على القرص. هذا الأمر هو نسخة مختصرة من الأمر DIRectory، مما يسمح بعرض المزيد من معلومات الملفات على شاشة واحدة مع تقليل الحاجة إلى التمرير لعرض محتويات القرص بالكامل. يستخدم الأمر CAT نفس معلمات الأمر DIR لعرض الملفات غير المرئية وملفات النظام.
ساعةموجه $t *في بعض أنظمة التشغيل: PS1="...\t..." *يقوم برنامج CLOCK بتثبيت مهمة مقاطعة تعرض وقت النظام في الزاوية العلوية من الشاشة؛ لا توجد ميزة مماثلة تمامًا في MS-DOS أو UNIX، على الرغم من أن العديد من البرامج قدمت ميزات مماثلة لنظام DOS ويمكن لأصداف UNIX الشائعة تضمين الوقت في "سلسلة المطالبات" المحددة من قبل المستخدم.
CLSالفصلواضحشاشة عرض فيديو واضحة ومؤشر رئيسي
إتصالاتفي نظام التشغيل TRSDOS 6.x، يُعدّ برنامج COMM/CMD برنامجًا طرفيًا يُنشئ اتصالًا بين منفذ RS-232C التسلسلي الخاص بجهاز Model 4 ومنفذ جهاز كمبيوتر آخر، أو مودم، أو طابعة/راسمة تسلسلية. يجب أولًا تثبيت برنامج تشغيل المنفذ التسلسلي COM/DVR باستخدام الأمر SET، الذي يُنشئ جهاز *CL (خط الاتصال) الخاص بالنظام. استخدم الأمر SETCOM/CMD لضبط معلمات الاتصال.
ينسخينسخcpفي نظام TRSDOS 6.x، يُمكن استخدام الأمر COPY لنقل المعلومات بين أجهزة النظام وملفات القرص. على سبيل المثال، سيحوّل الأمر COPY *KI *PR الحاسوب (إذا كان متصلاً بطابعة خطية نشطة) إلى آلة كاتبة، حيث تُرسل كل حرف يُكتب على لوحة المفاتيح إلى الجهاز *PR بالإضافة إلى الجهاز *DO. وهذا يُعادل فعليًا الأمر LINK *KI *PR في نظام TRSDOS. استخدم الأمر RESET *KI لإيقاف هذه الوظيفة.
تصحيح الأخطاءتصحيح الأخطاءيقوم ملف التحديد الاختياري أيضًا بتنفيذ وظيفة التحميل على برنامج لغة الآلة /CMD المستهدف؛ (ext) يقوم بتحميل أوامر تصحيح الأخطاء الإضافية من ملف النظام SYS9/SYS
جهازيعرض حالة محركات النظام والأجهزة المنطقية للنظام، بالإضافة إلى المسارات والروابط الموجودة بينها.
مديردليلlsيعرض الأمر DIR نفس الملفات التي يتم تحديدها بواسطة الأمر BACKUP، ولذلك فهو مفيد كأداة معاينة. يرسل المعامل (p) قائمة محتويات الدليل إلى طابعة الخطوط، والتي بدورها يمكن توجيهها أو ربطها بملف على القرص.
نسخ القرصنسخ القرصيتضمن LS-DOS 6.3 أداة DISKCOPY/CMD التي تقوم بعمل نسخة طبق الأصل من قرص المصدر عن طريق تهيئته ونسخه إلى قرص وجهة فارغ.
فلتريُستخدم الأمر FILTER لربط برنامج تصفية /FLT بجهاز النظام. ثلاثة برامج مُضمنة في TRSDOS 6.x هي FORMS/FLT المُستخدم للطباعة المُنسقة، وKSM/FLT وهي وظيفة ماكرو لوحة المفاتيح، وCLICK/FLT التي تُصدر صوت تنبيه من مكبر صوت Model 4 في كل مرة يتم فيها الضغط على مفتاح.
شكلشكلmkfsيتم ضبطها افتراضيًا على 40 مسارًا، أحادية الجانب في الطرازين III و4، وثنائية الجانب في الطراز 4D. يمكن تحديد عدد المسارات لكل جانب باستخدام المعامل (CYL= nn ). جميع طرازات 4D ومعظم طرازات 4 تدعم تهيئة 42 مسارًا، على الرغم من أن محركات الأقراص التي توفرها Radio Shack مصممة أساسًا لـ 40 مسارًا.
النماذجفي نظام TRSDOS 6.x، يتم ضبط معلمات البيانات المرسلة إلى جهاز الطباعة *PR بعد ربط مرشح FORMS به. وتشمل هذه المعلمات عدد الأحرف في كل سطر مطبوع، وعدد الأسطر في الصفحة، والهوامش، وأحرف تغذية الأسطر المضافة، وما إلى ذلك.
حرchkdskdfيعرض TRSDOS 6.x خريطة ASCII توضح حبيبات القرص التي تشغلها الملفات النشطة بـ xxxxxx؛ يتم عرض أسطوانة الدليل كـ DDDDDD.
احصل على قرص/احصل على شريط؟dd
قتلحذفrmابتداءً من TRSDOS 6.0، تم استبدال الأمر KILL بالأمر REMOVE (وفقًا لمقال مجلة LSI بعنوان "لا تقتل").
قائمةيكتبقطةفي نظام التشغيل TRSDOS/LS-DOS 6.x، يُمكن لأمر LIST عرض أو طباعة محتويات الملفات غير ASCII باستخدام مُعامل HEX. يُمكن إيقاف عملية العرض مؤقتًا باستخدام + .⇧ Shift@
تحميل ملف المواصفات(لا يوجد ما يعادله)(لا يوجد ما يعادله)يتم استدعاء البرامج في أنظمة TRSDOS وDOS وUNIX باستخدام اسم الملف؛ فلا حاجة إلى أمر LOAD صريح للملفات التنفيذية الثنائية العادية ولا لملفات الأوامر النصية ( ملفات الدفعات في DOS ونصوص shell في UNIX/Linux). يقوم أمر LOAD في TRSDOS بتحميل البرنامج الثنائي إلى الذاكرة، ولكنه لا يُنفّذه؛ ولا يوجد ما يُماثله في DOS أو UNIX. يُستخدم أمر LOAD في TRSDOS غالبًا لجعل برنامج Z80 مكتوب بلغة الآلة (ملف /CMD) متاحًا لمصحح أخطاء النظام لفحصه أو تعديله.
ذاكرةيُظهر الأمر MEMORY أسماء وأحجام وحدات الذاكرة المقيمة. كما يُستخدم لتعديل بايتات علامات النظام. على سبيل المثال، العلامة A هي بايت تخصيص DOS، والذي يستخدمه الأمر BACKUP لتحديد أسطوانة البداية على القرص لبدء نسخ الملفات. يمنح هذا المستخدم تحكمًا في الموضع الفعلي للملفات على الأقراص، وهو أمر بالغ الأهمية لتقليل حركة رأس القراءة/الكتابة أثناء الوصول إلى الملفات.
رقعة؟رقعةتتضمن جميع إصدارات نظام التشغيل TRSDOS أداة PATCH/CMD. تسمح هذه الأداة بتعديل ملفات التعليمات البرمجية /CMD باستخدام بيانات التصحيح المُقدمة من ملف /FIX بتنسيق ASCII سداسي عشري .
مطبعةاكتب الملف >> prnlprفي نظام TRSDOS 6.x، تتوفر مهمة مقاطعة لعرض شاشة الفيديو الحالية على طابعة خطية في أي وقت. يتم تفعيل هذه المهمة باستخدام علامة + . إذا كان جهاز *PR الخاص بالنظام مُوجَّهًا أو مرتبطًا بملف على القرص، فسيتم إرسال البيانات إليه.CTRL:
تطهيريدعم نظاما التشغيل TRSDOS/LS-DOS 6.x أمر PURGE الذي يقوم بحذف مجموعة من الملفات المحددة بواسطة جزء من اسم الملف، أو لاحقة الملف، أو تاريخ الملف. يطلب أمر PURGE إذن المستخدم لحذف كل ملف على حدة ما لم يتم تحديد المعامل (Q=N) .
إعادة تسميةren أو إعادة تسميةmvفي نظام TRSDOS 6.x، يمكن للمستخدم إعادة تسمية الملفات الفردية أو القرص المرن بأكمله.
TAPE100يقرأ برنامج TAPE100/CMD ويكتب أشرطة الكاسيت المسجلة بواسطة حاسوب TRS-80 موديل 100 المحمول كملفات قرص TRSDOS 6.x. يتطلب ذلك استخدام واجهة الكاسيت الخاصة بالموديل 4، والتي يفتقر إليها جهاز Model 4P المحمول.

مثال على التعليمات البرمجية

شفرة المصدر التالية بلغة التجميع Z80 خاصة ببرنامج فرعي يُسمى HELLO_WORLD . هذا برنامج تمهيدي يقوم بطباعة رسالة على شاشة العرض ثم يتوقف. على الرغم من بساطته، إلا أنه يوضح كيفية تنسيق شفرة المصدر بلغة التجميع وتفاعلها مع شاشة العرض عبر نظام TRSDOS. يستخدم هذا المثال جهاز TRS-80 موديل 4 يعمل بنظام TRSDOS/LS-DOS 6.x، من إنتاج Tandy/Radio Shack و Logical Systems، مع معظم برامج التجميع التي تُباع من قِبل Radio Shack أو Misosys Inc. (السلسلة I/EDTASM، ALDS، EDAS أو MRAS مع مفتاح تبديل).-GC

 3000 3E 69 3002 EF 3003 21 14 30 3006 3E 0A 3008 EF 3009 0E 0D 300B 3E 02 300D EF 300E 21 00 00 3011 3E 16 3013 EF 3014 48 65 6C 6C 3018 6F 2C 20 77 301 درجة مئوية 6 فهرنهايت 72 6 درجة مئوية 64 3020 21 0D 0D 3023 
; hello_world_TRS-80 Model 4 ; اطبع "Hello, world!" ثم اخرج إلى TRSDOS Ready ; ; سجلات الإدخال: لا يوجد ; سجلات الإرجاع: لا يوجد ; ; القيم أدناه عشرية ما لم تلحقها H ; مصطلح "pseudo-op" يعني نفس "توجيه المُجمِّع"، وهو ليس كود Z80 ; @CLS EQU 105 ; EQU pseudo-op يضبط @CLS text label = TRSDOS Supervisor Code @DSP EQU 2 ; اضبط @DSP text label = TRSDOS SVC لإرسال حرف للعرض @DSPLY EQU 10 ; اضبط @DSPLY text label = SVC لعرض سلسلة نصية @EXIT EQU 22 ; اضبط @EXIT text label = SVC للعودة إلى TRSDOS Ready ; ORG 3000H ; يقوم الأمر ORG بتعيين عنوان البدء القياسي في نظام TRSDOS 6.x. START LD A , @CLS ; CLS = مسح الشاشة، مسح الشاشة ومؤشر البداية RST 40 ; تعليمات إعادة تشغيل معالج SVC الخاص بنظام Z80، تنفيذ @CLS LD HL , MSG ; الإشارة إلى سلسلة الرسالة باستخدام HL (مطلوبة بواسطة @DSPLY SVC) LD A , @DSPLY ; إرسال سلسلة نصية إلى جهاز إخراج العرض *DO (شاشة الفيديو) RST 40 ; تنفيذ @DSPLY SVC (يلزم بايت 13d لإنهاء السلسلة) LD C , 13 ; الآن إرسال سطر جديد آخر، مطلوب في السجل C LD A , @DSP ; لإيقاف رسالة Hello من موجه TRSDOS Ready RST 40 ; بمجرد الخروج إلى النظام LD HL , 0 ; الإشارة إلى عدم وجود حالة خطأ لمفسر الأوامر LD A , @EXIT ; العودة إلى TRSDOS Ready RST 40 ; (تم الحفاظ على سلامة المكدس، وكان من الممكن استخدام RET أيضًا!) MSG DB 'Hello, world!' , 13 ; DB = Define Byte pseudo-op يقوم بتجميع سلسلة ASCII إلى ذاكرة Z80 CR DB 13 ; البايت 13d هو حرف إرجاع ASCII، ينقل المؤشر لأسفل END START ; END pseudo-op مطلوب من المجمع ; لإنتاج سجل نقل إلى نقطة دخول البرنامج

مراجع

  1. 1 2 "المصدر" . موقع TRS-80.org الخاص بماثيو ريد . تم الاطلاع عليه بتاريخ 21 مايو 2019 .
  2. وايت، رون (أغسطس 1987). "قصة تاندي: كل شيء بدأ قبل 10 سنوات في معرض سيارات مستعملة مُحوّل..." 80 مايكرو . ص 50-64 . تم الاطلاع عليه بتاريخ 18-05-2019 . 
  3. آرتشر، رولاند الابن (أكتوبر 1983). "جهاز راديو شاك TRS-80 موديل 4" . بايت . الصفحات 292-302 . تم الاطلاع عليه بتاريخ 31 يناير 2015 . 
  4. "جديد! TRSDOS 6.2" . كتالوج TRS-80 (RSC-12) . تاندي/راديو شاك. 1985. صفحة 28. مؤرشف من الأصل في 5 يناير 2026. تم الاطلاع عليه في 7 مايو 2019 - عبر موقع كتالوجات راديو شاك. 
  5. سولتوف، روي. "دليل المبرمج لنظام TRSDOS 6" (ملف PDF) . الصفحة الرئيسية لتيم مان . تم الاطلاع عليه في 4 نوفمبر 2019 .
  • كلايز، مايكل (19 فبراير 2000). "TRS-80 موديل 1 TRSDOS" . متحف مايك الافتراضي للحاسوب . مؤرشف من الأصل في 21 فبراير 2006.