الملفات-11

نظام الملفات Files-11 هو النظام المستخدم في أنظمة التشغيل RSX-11 و IAS و OpenVMS من شركة Digital Equipment Corporation . يدعم هذا النظام الإدخال والإخراج الموجه نحو السجلات ، والوصول عن بُعد عبر الشبكة ، والتحكم في إصدارات الملفات . الطبقة الأصلية ODS-1 هي نظام ملفات مسطح ، بينما الإصدار ODS-2 هو نظام ملفات هرمي يدعم قوائم التحكم في الوصول .

نظام الملفات Files-11 مشابه لأنظمة الملفات المستخدمة في أنظمة التشغيل السابقة لشركة Digital Equipment Corporation مثل TOPS-20 و RSTS/E ، ولكنه أكثر تطوراً بشكل ملحوظ .

تاريخ

قدّم الإصدار الأصلي من نظام الملفات 11 (ODS-1) بنية دليلية بدائية غير هرمية، تعتمد على تخصيص دليل واحد لكل حساب مستخدم. وكان كل حساب مستخدم يُمثّل برقمين، ويرتبط به دليل واحد؛ وهذا مشابه لنظام ملفات RSTS/E. أما ملفات النظام الخاصة، مثل الملفات التنفيذية للبرامج ونظام التشغيل نفسه، فكانت تُخزّن في دليل حساب نظام محجوز.[project,programmer]

في حين أن هذا كان مناسبًا لأنظمة PDP-11 ، التي كانت تمتلك سعة تخزين دائمة محدودة، فإن أنظمة VAX ذات محركات الأقراص الصلبة الأكبر حجمًا تتطلب طريقة أكثر مرونة لتخزين الملفات، لذلك فإن إصدار ODS-2 من Files-11، الذي تم تقديمه في VMS، وفر تخطيطًا هرميًا للدليل على وجه الخصوص.

ملخص

"Files-11" هو المصطلح العام لخمسة أنظمة ملفات منفصلة، ​​تُعرف باسم مستويات بنية القرص (ODS) من 1 إلى 5.

نظام الملفات المسطح ODS-1 هو النظام الذي يستخدمه نظام التشغيل RSX-11، والذي تدعمه أنظمة VMS القديمة من أجل التوافق مع RSX، ولكنه لم يُستخدم أبدًا لدعم VMS نفسه؛ وقد تم استبداله إلى حد كبير بنظامي ODS-2 و ODS-5.

نظام ODS-2 هو نظام الملفات الأصلي لنظام VMS. بالمقارنة مع نظام ODS-1، فهو نظام ملفات هرمي .

على الرغم من أنه نادرًا ما يُشار إليها بتسميات مستوى ODS الخاصة بها، فإن ODS-3 و ODS-4 هما دعم Files-11 لأنظمة ملفات CD-ROM ISO 9660 و High Sierra Format ، على التوالي.

يُعدّ ODS-5 نسخةً مُطوّرة من ODS-2، مُتاحة على منصات Alpha و IA-64 و x86-64 ، تُضيف دعمًا لأسماء الملفات التي تحافظ على حالة الأحرف حتى مع الأحرف غير ASCII ، بالإضافة إلى تحسينات في دعم الدليل الهرمي. كان الهدف الأصلي منه هو خدمة الملفات لأنظمة Microsoft Windows أو غيرها من الأنظمة غير الافتراضية كجزء من مشروع "NT Affinity"، ولكنه يُستخدم أيضًا على أقراص المستخدمين وخوادم الإنترنت .

تخطيط الدليل

التسلسل الهرمي النموذجي لمجلدات Files-11: جميع الملفات موجودة في المجلد الرئيسي للملفات؛ الملف 2 موجود في مجلدين.

تُخزَّن جميع الملفات والمجلدات في نظام ملفات Files-11 داخل مجلد رئيسي واحد أو أكثر ، وفي النهاية تحت المجلد الجذر، وهو مجلد الملفات الرئيسي (انظر أدناه). ولذلك، يُنظَّم نظام الملفات في بنية رسم بياني موجه غير دوري ( DAG ).

في هذا المثال ( انظر إلى اليمينFile 2يوجد ملف في كل من الدليلين Dir 2و Dir 3؛ فهو موجود في كلا الدليلين في آن واحد. حتى لو تم حذفه من أحدهما، فسيظل موجودًا في الدليل الآخر إلى أن يتم حذفه منه أيضًا. يشبه هذا مفهوم الروابط الصلبة في أنظمة يونكس ، مع ضرورة توخي الحذر لضمان عدم حذف الملف فعليًا على الأقراص غير المُهيأة للروابط الصلبة (متوفرة فقط على أقراص ODS-5، وفقط إذا كانت الروابط الصلبة مُفعّلة على القرص).

تنظيم القرص وتسميته

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

الشكل 1 : نموذج لتكوين قرص مجموعة OpenVMS

في تكوين مجموعة OpenVMS، تُشارك الأقراص غير الخاصة بين جميع العُقد في المجموعة (انظر الشكل 1) . في هذا التكوين، يكون قرصا النظام متاحين لكلا العقدتين عبر الشبكة، بينما لا يُشارك القرص الخاص: فهو مُخصص للاستخدام من قِبل مُستخدم أو عملية مُحددة على ذلك الجهاز فقط. يُدار الوصول إلى الملفات عبر المجموعة بواسطة مدير القفل المُوزع في OpenVMS، وهو جزء لا يتجزأ من نظام الملفات.

يمكن دمج عدة أقراص لتكوين قرص منطقي واحد كبير، أو مجموعة وحدات تخزين . كما يمكن نسخ الأقراص تلقائيًا إلى مجموعات ظل لضمان أمان البيانات أو لتحسين سرعة القراءة.

يُعرَّف القرص إما باسمه الفعلي أو (في أغلب الأحيان) باسم منطقي يُحدده المستخدم. على سبيل المثال، قد يكون لجهاز الإقلاع (قرص النظام) الاسم الفعلي $3$DKA100، ولكنه يُشار إليه عمومًا بالاسم المنطقيSYS$SYSDEVICE .

أنظمة الملفات على كل قرص (باستثناء ODS-1) هرمية. يتكون اسم الملف المحدد بالكامل من اسم العقدة، واسم المستخدم وكلمة المرور، واسم الجهاز، والدليل، واسم الملف، ونوع الملف، ورقم الإصدار، بالصيغة التالية:

NODE"accountname password"::device:[directory.subdirectory]filename.type;ver

على سبيل المثال، [DIR1.DIR2.DIR3]FILE.EXTيشير إلى أحدث إصدار من FILE.EXT، على القرص الافتراضي الحالي، في الدليل [DIR1.DIR2.DIR3].

DIR1هو دليل فرعي من دليل الملفات الرئيسي (MFD)، أو الدليل الجذر ، DIR2وهو دليل فرعي من DIR1. يتم تحديد دليل الملفات الرئيسي للقرص بواسطة [000000].

يمكن حذف معظم أجزاء اسم الملف، وفي هذه الحالة تُؤخذ من مواصفات الملف الافتراضية الحالية . تحل مواصفات الملف الافتراضية محل مفهوم "المجلد الحالي" في أنظمة التشغيل الأخرى، وذلك بتوفير مجموعة من القيم الافتراضية للعقدة واسم الجهاز والمجلد. لكل عملية مواصفات ملف افتراضية تتضمن اسم القرص والمجلد، وتقبل معظم إجراءات نظام ملفات VMS مواصفات ملف افتراضية يمكن أن تتضمن أيضًا نوع الملف؛ TYPEعلى سبيل المثال، يكون .LISنوع الملف الافتراضي للأمر هو " "، لذا يحاول الأمر TYPE F، بدون امتداد، فتح الملف F.LIS.

لكل ملف رقم إصدار، ويكون افتراضيًا 1 إذا لم تكن هناك إصدارات أخرى تحمل نفس اسم الملف (وإلا، يكون رقمًا أعلى بواحد من أحدث إصدار). عند حفظ أي ملف، بدلًا من استبدال الإصدار الحالي، يُنشأ ملف جديد بنفس الاسم ولكن برقم إصدار مُتزايد. يمكن حذف الإصدارات القديمة يدويًا باستخدام الأمر ` delete` DELETEأو ` delete`، أو اختياريًا، يمكن حذف الإصدارات القديمة من الملف تلقائيًا عند الوصول إلى الحد الأقصى لإصداراتPURGE الملف (المُحدد بواسطة `delete` ). وبالتالي، لا تُستبدل الإصدارات القديمة، بل تُحفظ على القرص ويمكن استرجاعها في أي وقت. الحد الأقصى لأرقام الإصدارات هو 32767. يمكن تجاوز سلوك التحكم في الإصدارات بسهولة إذا لم يكن مرغوبًا فيه. على وجه الخصوص، لا تُنشئ الملفات التي تُحدَّث مباشرةً، مثل قواعد البيانات، إصدارات جديدة إلا إذا تمت برمجتها صراحةً.SET FILE/VERSION_LIMIT

يقتصر نظام ODS-2 على ثمانية مستويات من المجلدات الفرعية، ويقتصر على أسماء أبجدية رقمية بأحرف كبيرة فقط (بالإضافة إلى الشرطة السفلية والشرطة وعلامة الدولار) بحد أقصى 39.39 حرفًا (39 لاسم الملف و39 أخرى للامتداد). أما نظام ODS-5 فيوسع نطاق الأحرف ليشمل الأحرف الصغيرة ومعظم أحرف ASCII القابلة للطباعة، بالإضافة إلى أحرف ISO Latin-1 و Unicode ، ويزيد الحد الأقصى لطول اسم الملف، ويسمح بعدد غير محدود من مستويات المجلدات الفرعية. عند إنشاء مسار ملف ODS-5 باستخدام أحرف غير مسموح بها في ODS-2، تُستخدم صيغة خاصة "^" للحفاظ على التوافق مع الإصدارات السابقة؛ file.tar.gz;1على سبيل المثال، يُشار إلى الملف " " على قرص ODS-5 باسم " file^.tar.gz" اسم الملف هو " file.tar"، وامتداده هو " .gz".

أمان الملفات: الحماية وقوائم التحكم بالوصول

تعتمد آلية التحكم في الوصول على رموز تعريف المستخدم (UICs). يتضمن رمز تعريف المستخدم رقم المستخدم ورقم المجموعة؛ ويُشار إلى الأخير أيضًا برقم المشروع. يمتلك المستخدم المسجل رمز تعريف مستخدم، ويملك رمز تعريف المستخدم الملف.

RSX-11 و IAS

في RSX-11 و IAS، يتم التحكم في الوصول من خلال أربع مجموعات من الأذونات: [ 1 ] [ 2 ] [ 3 ] [ 4 ]

نظاممالكمجموعةعالم
RWEDRWEDRWEDRWED
تنسيق عرض حماية الملف؛ لا يتم عرض الأذونات غير الممنوحة
  • نظام
  • مالك
  • مجموعة
  • عالم

وأربعة بنود تتعلق بالإذن:

  • يقرأ
  • يكتب
  • يمتد
  • يمسح

ينطبق الوصول "النظام" على أي مستخدم يكون رقم مجموعة UIC الخاص به أقل من أو يساوي 10 ثماني أو 8 عشري)؛ ينطبق "المالك" و"المجموعة" على مالك الملف ومجموعة المستخدم الخاصة به، وينطبق "العالم" على أي مستخدم آخر.

نظام إدارة الفيديو

في نظام VMS، تكون بتات الأذونات الأربعة كالتالي:

  • يقرأ
  • يكتب
  • ينفذ
  • يمسح

باستخدام إذن التنفيذ بدلاً من إذن التمديد.

ينطبق الوصول "للنظام" على أي مستخدم يكون رقم مجموعته في UIC أقل من أو يساوي قيمة مُعامل النظام MAXSYSGROUP(عادةً 8، أو 10 بالنظام الثماني ). يوجد أيضًا بت إذن خامس، "التحكم"، يُستخدم لتحديد إمكانية الوصول لتغيير بيانات تعريف الملفات، مثل الحماية. لا يمكن تحديد هذه المجموعة بشكل صريح؛ فهي مُفعّلة دائمًا للنظام والمالك، ولا تُفعّل أبدًا للمجموعة أو المستخدمين الآخرين.

كما تتأثر أمان الملفات بأربع امتيازات نظامية ، تسمح للمستخدمين الذين يمتلكونها بتجاوز ضوابط الوصول:

  • BYPASS: يتمتع المستخدم ضمنيًا بإمكانية الوصول للقراءة والكتابة والتحرير إلى جميع الملفات، بغض النظر عن حماية الملفات؛
  • READALL: يتمتع المستخدم ضمنيًا بإمكانية الوصول إلى جميع الملفات في برنامج R؛
  • SYSPRV: يمكن للمستخدم الوصول إلى الملفات بناءً على حماية النظام؛
  • GRPPRV: يمكن للمستخدم الوصول إلى الملفات بناءً على حماية النظام إذا كانت مجموعة UIC الخاصة به تتطابق مع مجموعة الملف.

أضاف نظام VMS 4.0 ميزة التحكم في الوصول المستندة إلى قوائم التحكم بالوصول (ACL) . تسمح قوائم التحكم بالوصول بتعيين امتيازات إضافية على أساس خاص بالمستخدم أو المجموعة ؛ على سبيل المثال، يمكن منح وحدة تحكم المستخدم (UIC) لخادم ويب حق الوصول للقراءة لجميع الملفات في دليل معين. يمكن وضع علامة " موروث" على قوائم التحكم بالوصول ، حيث تنطبق قائمة التحكم بالوصول الخاصة بملف دليل على جميع الملفات الموجودة أسفله. يتم تعديل قوائم التحكم بالوصول باستخدام EDIT/ACLالأمر، وتأخذ شكل أزواج من المعرف/الوصول. على سبيل المثال، إدخال قائمة التحكم بالوصول التالي:

(IDENTIFIER=HTTP$SERVER,ACCESS=READ+EXECUTE)

سيسمح ذلك للمستخدم HTTP$SERVERبقراءة الملف وتنفيذه.

الأسماء المنطقية

الاسم المنطقي هو متغير نظام قد يشير إلى قرص أو دليل أو ملف، أو يحتوي على معلومات أخرى خاصة بالبرنامج. على سبيل المثال، SYS$SYSDEVICEيحتوي الاسم المنطقي على جهاز إقلاع النظام. يشير الاسم المنطقي عادةً إلى دليل أو قرص واحد، مثلSYS$LOGIN: دليل تسجيل دخول المستخدم (الرئيسي) (أو أدلة المستخدم)؛ لا يمكن استخدام هذه الأسماء المنطقية كأسماء أقراص حقيقية -SYS$LOGIN:[DIR]FILE فهي ليست مواصفات ملف صالحة. ومع ذلك، يمكن استخدام الأسماء المنطقية المخفية ، المُعرَّفة بواسطة DEFINE/TRANSLATION=CONCEALED، بهذه الطريقة؛ تُعرَّف هذه الأدلة الجذرية بإضافة نقطة "." في نهاية مواصفات الدليل، وبالتالي

$ DEFINE/TRANS=CONCEAL HOME DISK$USERS:[ اسم المستخدم .]

سيسمح ذلك HOME:[DIR]FILEباستخدامها. والأكثر شيوعًا هي المؤشرات المنطقية البسيطة التي تشير إلى مجلدات محددة مرتبطة ببرنامج تطبيقي ما، والتي قد تكون موجودة على أي قرص أو في أي مجلد. وبالتالي، قد يشير المؤشر المنطقي ABC_EXE إلى مجلد يحتوي على برامج قابلة للتنفيذ للتطبيق ABC، وقد يشير ABC_TEMP إلى مجلد يحتوي على ملفات مؤقتة لنفس التطبيق، وقد يكون هذا المجلد على نفس القرص وفي نفس شجرة المجلدات مثل ABC_EXE، أو قد يكون في مكان ما على قرص آخر (وفي شجرة مجلدات مختلفة).

على غرار نظام يونكس، يحدد نظام VMS العديد من قنوات الإدخال والإخراج القياسية التي يتم الوصول إليها من خلال الأسماء المنطقية SYS$INPUT، و SYS$OUTPUT، SYS$ERRORو SYS$COMMAND. [ 5 ]

لا يوجد ما يُعادل الأسماء المنطقية في أنظمة تشغيل POSIX. وهي تُشبه متغيرات بيئة يونكس ، إلا أنها تُوسّع بواسطة نظام الملفات، بدلاً من سطر الأوامر أو برنامج التطبيق. يجب تعريفها قبل الاستخدام، لذا من الشائع تعريف العديد من الأسماء المنطقية في ملف أوامر بدء تشغيل النظام، وكذلك في ملفات أوامر تسجيل دخول المستخدم. في نظام VMS، يُمكن للأسماء المنطقية أن تُشير إلى أسماء منطقية أخرى (حتى حد تداخل مُحدد مُسبقًا يبلغ 10)، وقد تحتوي على قوائم أسماء للبحث عن اسم ملف موجود. من بين الأسماء المنطقية التي يُشار إليها بكثرة:

الاسم المنطقيمعنى
SYS$INPUTالمدخلات القياسية - تُستخدم بشكل تفاعلي، وهي تمثل لوحة مفاتيح الطرفية. عند استخدامها في ملف دفعي، تقرأ أسطر الملف الدفعي التي لا تسبقها علامة $، أو التي لم يتم تحديدها كمدخل باستخدام DECKالأمر.
SYS$OUTPUTالإخراج القياسي - سيتم الإخراج إلى شاشة العرض الطرفية أو ملف سجل الدفعات اعتمادًا على ما إذا كانت العملية تفاعلية أم لا.
SYS$ERRORالخطأ القياسي - سيتم إخراجه إلى شاشة العرض الطرفية أو ملف سجل أخطاء الدفعة اعتمادًا على ما إذا كانت العملية تفاعلية أم لا.
SYS$COMMANDمصدر أوامر ملفات الدفعات. سيقرأ من الطرفية أو من دفق SYS$INPUT اعتمادًا على ما إذا كانت العملية تفاعلية أم لا.
TTالطرفية المرتبطة بالعملية
SYS$PRINTالطابعة الافتراضية أو قائمة انتظار الطباعة
SYS$LOGINدليل المستخدم الرئيسي لكل مستخدم
SYS$SCRATCHمجلد مؤقت ، دليل للملفات المؤقتة
SYS$SYSTEMدليل يحتوي على معظم برامج النظام وبعض ملفات البيانات الحيوية، مثل ملف ترخيص النظام (الحسابات وكلمات المرور).
SYS$SHAREمكتبات وقت التشغيل المشتركة، والملفات التنفيذية، وما إلى ذلك.
SYS$LIBRARYالنظام والمكتبات المضافة

أقرب نظام تشغيل غير تابع لشركة DEC يدعم مفهوم الأسماء المنطقية هو AmigaOS ، وذلك عبر ASSIGNالأمر. نظام تشغيل القرص AmigaDOS ، وهو نسخة معدلة من TRIPOS ، يشبه إلى حد ما أنظمة تشغيل DEC. على سبيل المثال، تتبع أسماء الأجهزة المادية نمطًا مثل DF0: للقرص المرن الأول، وCDROM2: لمحرك الأقراص المضغوطة الثالث، وهكذا. مع ذلك، ولأن النظام قادر على الإقلاع من أي محرك أقراص متصل، يقوم نظام التشغيل بإنشاء تعيين SYS: للإشارة تلقائيًا إلى جهاز الإقلاع المستخدم. كما يتم إنشاء تعيينات أخرى، مثل LIBS: وPREFS: وC: وS:، وغيرها، والتي بدورها تُشار إليها من SYS:. بالطبع، يُسمح للمستخدمين بإنشاء تعييناتهم الخاصة وحذفها أيضًا.

خدمات إدارة السجلات: خدمات الإدخال والإخراج الموجهة نحو السجلات

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

توجد أربعة تنسيقات سجلات محددة من قبل RMS:

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

توجد أربع طرق للوصول إلى السجلات ، أو طرق لاسترداد السجلات الموجودة من الملفات:

  • الوصول التسلسلي - بدءًا من سجلات معينة، يتم استرداد السجلات اللاحقة بالترتيب حتى نهاية الملف.
  • الوصول إلى رقم السجل النسبي - يتم استرجاع السجلات عبر رقم سجل نسبي إلى بداية الملف.
  • الوصول إلى عنوان ملف السجل - يتم استرداد السجلات مباشرة من خلال موقعها في الملف (RFA، أو عنوان ملف السجل).
  • الوصول المفهرس - يتم استرداد السجلات عبر مفتاح، في شكل تعيين مفتاح-قيمة .

التخطيط المادي: بنية القرص

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

يحتوي كل ملف على قرص (أو مجموعة وحدات تخزين) من نوع Files-11 على مُعرّف ملف فريد (FID)، يتألف من ثلاثة أرقام: رقم الملف (NUM)، ورقم تسلسل الملف (SEQ)، ورقم وحدة التخزين النسبي (RVN). يشير رقم الملف (NUM) إلى INDEXF.SYSموقع بيانات التعريف (البيانات الوصفية) داخل الملف (انظر أدناه)؛ أما رقم التسلسل (SEQ) فهو رقم جيل يتم زيادته عند حذف الملف وإنشاء ملف آخر باستخدام نفس مدخل INDEXF.SYS (حتى لا تشير أي مراجع معلقة إلى الملف القديم عن طريق الخطأ إلى الملف الجديد)؛ ويشير رقم وحدة التخزين النسبي (RVN) إلى رقم وحدة التخزين التي يُخزّن عليها الملف عند استخدام مجموعة وحدات تخزين.

دليل المستخدم

يُوفّر ملف الدليل الدعم الهيكلي لوحدة تخزين ODS ، وهو ملف خاص يحتوي على قائمة بأسماء الملفات وأرقام إصداراتها ومعرّفاتها (FIDs)، على غرار فهارس VSAM في نظام MVS والأدلة في أنظمة ملفات Unix و NTFS . يوجد في جذر بنية الدليل دليل الملفات الرئيسي (MFD)، وهو الدليل الجذر الذي يحتوي (مباشرةً أو غير مباشرةً) على جميع الملفات الموجودة على وحدة التخزين.

يوضح هذا الرسم التخطيطي مثالاً لدليل يحتوي على 3 ملفات، والطريقة التي يتم بها ربط كل اسم ملف بالمدخل INDEXF.SYS(يحتوي كل إدخال INDEXF على مزيد من المعلومات؛ يتم عرض العناصر القليلة الأولى فقط هنا).

دليل الملفات الرئيسي

في المستوى الأعلى لنظام ملفات ODS، يوجد دليل الملفات الرئيسي (MFD)، الذي يحتوي على جميع ملفات الدليل الرئيسية (بما فيها دليل الملفات الرئيسي نفسه)، بالإضافة إلى العديد من ملفات النظام المستخدمة لتخزين معلومات نظام الملفات. في وحدات تخزين ODS-1، يُستخدم هيكل دليل ثنائي المستوى: لكل رمز تعريف مستخدم (UIC) دليل ملفات مستخدم (UFD) مرتبط به ، على النحو التالي: [GROUP.USER]. في وحدات تخزين ODS-2 والإصدارات الأحدث، يكون تخطيط الأدلة ضمن دليل الملفات الرئيسي (MFD) حرًا، مع مراعاة حد أقصى لتداخل الأدلة (8 مستويات في ODS-2 وعدد غير محدود في ODS-5). في مجموعات وحدات التخزين المتعددة، يُخزَّن دليل الملفات الرئيسي (MFD) دائمًا على وحدة التخزين الأولى، ويحتوي على الأدلة الفرعية لجميع وحدات التخزين.

توجد ملفات النظام التالية في جهاز ODS MFD:

  • INDEXF.SYS;1 ملف الفهرس
  • BITMAP.SYS;1 ملف صورة نقطية للتخزين
  • BADBLK.SYS;1 ملف كتلة تالفة
  • 000000.DIR;1 ملف دليل MFD نفسه
  • CORIMG.SYS;1 ملف الصورة الأساسية
  • VOLSET.SYS;1 ملف قائمة مجموعة وحدات التخزين (ODS-2/5 فقط)
  • CONTIN.SYS;1 ملف المتابعة (ODS-2/5 فقط)
  • BACKUP.SYS;1 ملف سجل النسخ الاحتياطي (ODS-2/5 فقط)
  • BADLOG.SYS;1 في انتظار الكشف عن قطاع تالف (ODS-2/5 فقط)
  • SECURITY.SYS;1 ملف تعريف أمان وحدة التخزين (ODS-2/5 فقط)
  • QUOTA.SYS;1 ملف الحصة (اختياري ومتاح فقط في نظام ODS-2/5)
  • GPT.SYS;1 جدول تقسيم GUID (GPT) (هياكل تمهيد OpenVMS I64 EFI، اختياري في OpenVMS Alpha)

لاحظ أن نظام الملفات نفسه لا يشير إلى هذه الملفات بالاسم، بل بمعرفات الملفات الخاصة بها، والتي لها دائمًا نفس القيم. وبالتالي، فإن INDEXF.SYS هو دائمًا الملف الذي يحتوي NUM = 1على SEQ = 1.

ملف الفهرس: INDEXF.SYS

يحتوي ملف الفهرس على المعلومات الأساسية حول مجموعة وحدات التخزين Files-11.

يوجد نوعان من تنظيم INDEXF.SYS، التنظيم التقليدي والتنظيم المستخدم على الأقراص مع GPT.SYS؛ مع هياكل جدول تقسيم GUID (GPT).

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

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

في الأقراص التي تحتوي على ملف GPT.SYS، يتضمن هذا الملف ما يُعادل كتلة الإقلاع (المعروفة باسم سجل الإقلاع الرئيسي (MBR))، ولا توجد كتلة رئيسية أساسية. جميع الكتل الرئيسية الموجودة على قرص قائم على نظام GPT هي كتل رئيسية بديلة. لا تُضمّن هذه البنى في ملف INDEXF.SYS، وبالتالي فإن كتل هذا الملف غير مُستخدمة.

يتألف باقي ملف الفهرس من رؤوس الملفات ، التي تصف المساحات المخصصة للملفات الموجودة على وحدة التخزين، وبيانات تعريف الملفات مثل معرّف المستخدم (UIC) الخاص بالمالك، وقوائم التحكم بالوصول (ACLs)، ومعلومات الحماية. يُوصف كل ملف برأس ملف واحد أو أكثر - وقد يتطلب الأمر أكثر من رأس واحد عندما يحتوي الملف على عدد كبير من المساحات. رأس الملف عبارة عن كتلة ثابتة الطول، ولكنه يحتوي على أقسام ثابتة الطول وأخرى متغيرة الطول .

  • يحتوي رأس الملف على NUM و SEQ ومعلومات الحماية (الأمان) وموقع بقية رأس الملف.
  • يحتوي قسم المعرف على بيانات التعريف المحاسبية: اسم الملف، وأوقات الإنشاء والتعديل، ووقت آخر نسخة احتياطية.
  • توضح الخريطة أي كتل القرص الفعلية (الامتدادات) ترتبط بكل كتلة افتراضية من الملف.
  • تحتوي قائمة التحكم بالوصول على معلومات التحكم بالوصول الخاصة بالملف.
  • المساحة المحجوزة هي مساحة في نهاية رأس الملف لا يستخدمها نظام التشغيل. ويمكن استخدامها لمعلومات خاصة بالعميل أو المورد.
  • البايتان الأخيران من رأس الملف هما مجموع اختباري للكلمات الـ 255 السابقة، للتحقق من صحة رأس الملف.

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

تصميم رأس INDEXF.SYSالصفحة.

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

إذا كان الملف يتطلب رؤوسًا متعددة، فإن رقم مقطع الامتداد ( SEGNUM ) يحتوي على رقم تسلسل هذا الرأس، بدءًا من 0 في الإدخال الأول في INDEXF.SYS.

يحتوي STRUCLEV على مستوى البنية الحالي (في البايت الأعلى) والإصدار (في البايت الأدنى) لنظام الملفات؛ ODS-2 هو مستوى البنية 2. تشير الزيادة في رقم الإصدار إلى تغيير متوافق مع الإصدارات السابقة قد تتجاهله البرامج القديمة؛ التغييرات في مستوى البنية نفسه غير متوافقة.

يحتوي W_FID (الذي يتألف من ثلاث قيم: FID_NUM و FID_SEQ و FID_RVN ، والتي تُشير إلى رقم الملف، ورقم التسلسل، ورقم وحدة التخزين النسبي) على مُعرّف هذا الملف؛ بينما يحتوي EXT_FID (الذي يتألف أيضًا من ثلاث قيم) على موقع رأس الامتداد التالي، إن وُجد. في كلتا القيمتين، يُحدد RVN بالقيمة 0 لتمثيل وحدة التخزين "الحالية" (القيمة 0 ليست عادةً قيمة RVN صالحة).

يحتوي FILECHAR على عدة علامات تؤثر على كيفية معالجة الملف أو تنظيمه:

  • يؤدي خيار NOBACKUP إلى تجاهل هذا الملف عند تشغيل عملية النسخ الاحتياطي .
  • تتيح خاصية WRITEBACK الكتابة المخزنة مؤقتًا (المؤجلة) إلى الملف.
  • يؤدي READCHECK إلى إجراء جميع عمليات قراءة الملف مرتين، ومقارنتها لضمان سلامة البيانات.
  • تؤدي عملية WRITCHECK إلى التحقق من جميع عمليات الكتابة من خلال عملية قراءة ومقارنة لاحقة.
  • يؤدي استخدام CONTIGB إلى محاولة نظام التشغيل تخصيص مساحة تخزين للملف بطريقة متجاورة قدر الإمكان.
  • يتم تعيين حالة "مغلق" إذا كان الملف مقفلاً ضد الوصول. في هذه الحالة، يشير ذلك إلى أن الملف لم يُغلق بشكل صحيح بعد آخر استخدام له، وقد تكون محتوياته غير متناسقة.
  • يشير CONTIG إلى أن الملف مخزن بشكل متجاور على القرص؛ أي أن كل كتلة افتراضية i يتم تعيينها إلى الكتلة المنطقية (الفيزيائية) i + k ، لبعض الثوابت k .
  • يتم تعيين BADACL إذا كان الملف يحتوي على قائمة تحكم وصول غير صالحة.
  • يتم تعيين SPOOL إذا كان الملف ملف تخزين مؤقت، مثل ملف وسيط يستخدم أثناء الطباعة.
  • يتم تعيين DIRECTORY إذا كان الملف عبارة عن دليل.
  • يتم تعيين BADBLOCK إذا كان الملف يحتوي على كتل تالفة.
  • يتم تعيين MARKDEL إذا تم وضع علامة على الملف للحذف، ولكنه لا يزال قيد الاستخدام؛ وسيتم حذفه بمجرد إغلاقه من قبل آخر مستخدم.
  • يؤدي تعيين خيار NOCHARGE إلى عدم أخذ المساحة المستخدمة بواسطة الملف من حصة التخزين الخاصة بالمالك.
  • يؤدي حذف الملف إلى استبدال محتوياته.

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

يحتوي ملف FILEPROT على معلومات التحكم في الوصول الاختياري للملف. وهو مُقسّم إلى أربع مجموعات، كل مجموعة تتكون من أربعة بتات: النظام، والمالك، والمجموعة، والعالم. البت 0 يُشير إلى إمكانية القراءة، والبت 1 إلى إمكانية الكتابة، والبت 2 إلى إمكانية التنفيذ، والبت 3 إلى إمكانية الحذف. ضبط بت يمنع وصول مجموعة معينة، بينما مسحه يسمح بذلك.

إذا كان رأس الملف عبارة عن رأس امتداد، فإن BACKLINK يحتوي على معرف الملف الخاص بالرأس الأساسي؛ وإلا، فإنه يحتوي على معرف ملف الدليل الذي يحتوي على الإدخال الأساسي للملف.

ملفات أخرى

  • ملف خريطة بتات التخزين:BITMAP.SYS
ملف خريطة البتات مسؤول عن تخزين معلومات حول المساحة المستخدمة والمتاحة على وحدة التخزين. يحتوي على كتلة التحكم في التخزين (SCB)، التي تتضمن معلومات موجزة تُفصّل المساحة  المستخدمة والمتاحة، وخريطة البتات، وهي عبارة عن مصفوفة من البتات تُشير إلى ما إذا كانت مجموعة من الكتل على القرص حرة أم مُخصصة. في الإصدارات الأولى من نظام VMS، كانت المجموعة تتألف من 3 كتل، ولكن مع زيادة أحجام الأقراص، ازداد حجم المجموعة أيضًا.
  • ملف كتلة تالف:BADBLK.SYS
يحتوي ملف القطاعات التالفة على جميع القطاعات التالفة المعروفة على وحدة التخزين الفعلية. والغرض منه هو منع النظام من تخصيصها للملفات. كان هذا الملف يُستخدم بكثرة في بدايات تصنيع الأقراص عندما كانت تُصنع عادةً مع وجود عدد أكبر من القطاعات التالفة على سطحها.
  • ملف قائمة تشغيل المجلد:VOLSET.SYS
توجد قائمة مجموعة المجلدات في المجلد 1 من مجموعة المجلدات، وتحتوي على قائمة بملصقات جميع المجلدات في المجموعة، واسم مجلد المجموعة.
  • ملف المتابعة:CONTIN.SYS
عندما يعبر ملف في مجموعة متعددة المجلدات حدود مجلدين مكونين، يتم استخدام ملف المتابعة كرأس امتداد له ويصف المجلد الذي يمكن العثور فيه على بقية الملف.
  • ملف الحصة:QUOTA.SYS
يحتوي ملف الحصص على معلومات حول استخدام كل وحدة تحكم مستخدم (UIC) لمساحة القرص على وحدة التخزين. ويتضمن سجلاً لكل وحدة تحكم مستخدم (UIC) مع المساحة المخصصة لها على وحدة التخزين، بالإضافة إلى معلومات حول مقدار المساحة المستخدمة من قِبل تلك الوحدة. ملاحظة: ميزة حصص القرص اختيارية، ولن يكون الملف موجودًا إلا إذا تم تفعيل هذه الميزة مسبقًا.
  • ملف تعريف أمان وحدة التخزين:SECURITY.SYS
يحتوي ملف تعريف أمان وحدة التخزين على معرف المستخدم الخاص بمالك وحدة التخزين، وقناع حماية وحدة التخزين، وقائمة التحكم في الوصول الخاصة بها.
  • جدول تقسيم GUID:GPT.SYS
يغطي هذا الملف ويحمي بنية القرص MBR (سجل التمهيد الرئيسي) وGPT (جدول تقسيم GUID) المستخدمة من قِبل البرامج الثابتة المتوافقة مع واجهة البرامج الثابتة القابلة للتوسيع. يُنشأ هذا الملف افتراضيًا أثناء تهيئة قرص OpenVMS I64 وx86-64، ويُنشأ اختياريًا (باستخدام INITIALIZE/GPT) على OpenVMS Alpha.

انظر أيضاً

مراجع

  1. دليل مستخدم RSX-11D (ملف PDF) . شركة ديجيتال إكويبمنت . نوفمبر 1975. 3.2.8 حماية وحدة التخزين والملفات. DEC-11-0XDUA-8-D.
  2. دليل إجراءات تشغيل RSX-11M (ملف PDF) . شركة ديجيتال إكويبمنت . سبتمبر 1975. 3.2.1 حماية الملفات. DEC-11-OMOGA-BD.
  3. دليل إدارة نظام IAS (ملف PDF) . شركة ديجيتال إكويبمنت . مايو 1990. 6.2.3 الحماية. AA-2520F-TC.
  4. أندرو سي. غولدشتاين (19 يونيو 1975). مواصفات بنية الملفات على القرص Files-11 (ملف PDF) . شركة ديجيتال إكويبمنت . 3.4.1.7 H.FPRO رمز حماية الملفات ثنائي البايت.
  5. "دليل مستخدم OpenVMS" (ملف PDF) . vmssoftware.com . VSI. يوليو 2020. الفصل 14، البرمجة المتقدمة باستخدام DCL . تم الاطلاع عليه بتاريخ 9 أبريل 2021 .

للمزيد من القراءة

  • دليل تطبيقات الملفات في نظام التشغيل OpenVMS
  • VMS2Linux