ملف الجهاز
في أنظمة التشغيل الشبيهة بنظام يونكس ، يُعد ملف الجهاز ، أو عقدة الجهاز ، أو الملف الخاص ، واجهةً لبرنامج تشغيل الجهاز ، ويظهر في نظام الملفات كما لو كان ملفًا عاديًا . توجد أيضًا ملفات خاصة في أنظمة DOS و OS/2 وويندوز . تُمكّن هذه الملفات الخاصة برنامج التطبيق من التفاعل مع الجهاز باستخدام برنامج تشغيله عبر استدعاءات نظام الإدخال/الإخراج القياسية . يُبسّط استخدام استدعاءات النظام القياسية العديد من مهام البرمجة، ويؤدي إلى آليات إدخال/إخراج متسقة في مساحة المستخدم بغض النظر عن ميزات الجهاز ووظائفه.
ملخص
توفر ملفات الأجهزة عادةً واجهات بسيطة للأجهزة القياسية (مثل الطابعات والمنافذ التسلسلية)، ولكن يمكن استخدامها أيضًا للوصول إلى موارد فريدة محددة على تلك الأجهزة، مثل أقسام القرص . بالإضافة إلى ذلك، تُعد ملفات الأجهزة مفيدة للوصول إلى موارد النظام التي لا ترتبط بأي جهاز فعلي، مثل مصادر البيانات ومولدات الأرقام العشوائية .
يوجد نوعان رئيسيان من ملفات الأجهزة في أنظمة التشغيل الشبيهة بنظام يونكس، وهما ملفات الأحرف الخاصة وملفات الكتل الخاصة . ويكمن الفرق بينهما في كمية البيانات التي يقرأها ويكتبها نظام التشغيل والمكونات المادية. ويمكن تسمية هذين النوعين معًا بملفات الأجهزة الخاصة ، وذلك على عكس الأنابيب المسماة ، التي لا ترتبط بجهاز ولكنها ليست ملفات عادية أيضًا.
استعار نظام MS-DOS مفهوم الملفات الخاصة من نظام Unix، لكنه أعاد تسميتها إلى " أجهزة" . [ 1 ] ولأن الإصدارات الأولى من MS-DOS لم تكن تدعم التسلسل الهرمي للمجلدات ، فقد تم تمييز الأجهزة عن الملفات العادية بجعل أسمائها كلمات محجوزة لا يمكن استخدامها كأسماء مجلدات أو ملفات؛ على سبيل المثال: كلمة "الأجهزة" CONكلمة محجوزة. تم اختيار هذه الأسماء لتحقيق درجة من التوافق مع نظام CP/M ، ولا تزال موجودة في أنظمة Windows الحديثة للتوافق مع الإصدارات السابقة. الأسماء غير حساسة لحالة الأحرف، لذا فإن "con" و"Con" و"CON" كلها أسماء غير صالحة.
في نظام التشغيل Windows XP ، يؤدي إدخال "Con" في مربع "تشغيل" إلى ظهور رسالة الخطأ التالية: "لا يوجد برنامج مرتبط بهذا الملف لتنفيذ هذا الإجراء. أنشئ ارتباطًا في لوحة تحكم "خيارات المجلد". عند محاولة إعادة تسمية أي ملف أو مجلد باستخدام اسم محجوز، يتم إرجاع الملف أو المجلد إلى اسمه السابق (أو "مجلد جديد"، "مستند نصي جديد"، إلخ) دون أي إشعار أو رسالة خطأ. [ 2 ] في نظام التشغيل Windows Vista والإصدارات الأحدث، تؤدي محاولة استخدام اسم محجوز لملف أو مجلد إلى ظهور رسالة خطأ تقول: "اسم الجهاز المحدد غير صالح". [ 2 ]
في بعض الأنظمة الشبيهة بنظام يونكس، تُدار معظم ملفات الأجهزة كجزء من نظام ملفات افتراضي يُثبّت عادةً في مسار معين /dev، وقد يرتبط هذا النظام ببرنامج خفي يتحكم في إضافة الأجهزة وإزالتها أثناء التشغيل، ويُجري التغييرات اللازمة على نظام ملفات الجهاز إذا لم يقم بذلك النواة تلقائيًا، وقد يستدعي برامج نصية في مساحة النظام أو مساحة المستخدم لتلبية احتياجات الأجهزة الخاصة. يحتوي كل من FreeBSD و DragonFly BSD و Darwin على نظام ملفات مخصص يُسمى devfs ؛ حيث تُدار عُقد الأجهزة تلقائيًا بواسطة هذا النظام في مساحة النواة . كان لدى لينكس سابقًا تطبيق مشابه لـ devfs ، ولكن تم التخلي عنه لاحقًا، ثم إزالته منذ الإصدار 2.6.17؛ [ 3 ] يستخدم لينكس الآن بشكل أساسي تطبيقًا في مساحة المستخدم يُعرف باسم udev ، ولكن توجد العديد من المتغيرات.
في أنظمة يونكس التي تدعم عزل العمليات باستخدام chroot ، مثل حاويات سولاريس ، تحتاج كل بيئة chroot عادةً إلى ملف chroot خاص بها /dev؛ وستكون نقاط التحميل هذه مرئية على نظام التشغيل المضيف في عُقد مختلفة ضمن شجرة نظام الملفات العالمي. من خلال تقييد عُقد الأجهزة الموجودة في مثيلات chroot /dev، يمكن فرض عزل الأجهزة بواسطة بيئة chroot (لا يمكن لأي برنامج التلاعب بالأجهزة التي لا يمكنه رؤيتها أو تسميتها - وهو شكل أقوى من أشكال التحكم في الوصول مقارنةً بأذونات نظام ملفات يونكس ).
كان نظام MS-DOS يدير التنازع على أجهزة العتاد (انظر برنامج الإنهاء والبقاء في النظام ) عن طريق جعل كل ملف جهاز مفتوحًا بشكل حصري. سيكتشف أي تطبيق يحاول الوصول إلى جهاز قيد الاستخدام بالفعل أنه غير قادر على فتح عقدة ملف الجهاز. تُطبَّق مجموعة متنوعة من دلالات برامج تشغيل الأجهزة في أنظمة Unix وLinux فيما يتعلق بالوصول المتزامن . [ 4 ]
أنظمة يونكس والأنظمة الشبيهة بيونكس

تُشير عُقد الأجهزة إلى الموارد التي خصصتها نواة نظام التشغيل . يُعرّف نظام يونكس هذه الموارد برقم رئيسي ورقم ثانوي ، [ 5 ] وكلاهما مُخزّن كجزء من بنية العقدة . يتم تخصيص هذه الأرقام بشكل فريد في أنظمة التشغيل المختلفة وعلى منصات الحوسبة المختلفة . عمومًا، يُحدد الرقم الرئيسي مُشغّل الجهاز، بينما يُحدد الرقم الثانوي جهازًا مُعينًا (ربما من بين عدة أجهزة) يتحكم به المُشغّل: [ 6 ] في هذه الحالة، قد يُمرر النظام الرقم الثانوي إلى المُشغّل. مع ذلك، في حالة وجود تخصيص ديناميكي للأرقام ، قد لا يكون هذا هو الحال (كما هو الحال في FreeBSD 5 والإصدارات الأحدث).
كما هو الحال مع أنواع الملفات الخاصة الأخرى، يصل نظام الحاسوب إلى عُقد الأجهزة باستخدام استدعاءات النظام القياسية ويتعامل معها كملفات حاسوب عادية. يوجد نوعان قياسيان من ملفات الأجهزة؛ وللأسف، فإن أسماءهما غير بديهية لأسباب تاريخية، وغالبًا ما تكون تفسيرات الفرق بينهما غير صحيحة نتيجة لذلك.
حيل الشخصيات
توفر ملفات الأحرف الخاصة أو أجهزة الأحرف وصولاً مباشراً وغير مُخزّن مؤقتاً إلى جهاز العتاد. ولا تسمح هذه الملفات بالضرورة للبرامج بقراءة أو كتابة أحرف مفردة في كل مرة؛ فهذا يعتمد على الجهاز المعني. فعلى سبيل المثال، يتطلب جهاز الأحرف الخاص بالقرص الصلب عادةً أن تكون جميع عمليات القراءة والكتابة مُحاذية لحدود الكتل، وبالتأكيد لن يسمح بقراءة بايت واحد.
تُعرف أجهزة الأحرف أحيانًا باسم الأجهزة الخام لتجنب الالتباس المحيط بحقيقة أن جهاز الأحرف الخاص بقطعة من الأجهزة القائمة على الكتل سيتطلب عادةً برامج لقراءة وكتابة الكتل المتوافقة.
أجهزة الكتلة
توفر ملفات الكتل الخاصة أو أجهزة الكتل وصولاً مُخزّناً مؤقتاً إلى أجهزة الحاسوب، وتُوفّر نوعاً من التجريد لتفاصيلها. [ 7 ] على عكس أجهزة الأحرف، تسمح أجهزة الكتل للمبرمج دائماً بقراءة أو كتابة كتلة بأي حجم (بما في ذلك الأحرف/البايتات المفردة) وبأي محاذاة. لكنّ عيبها يكمن في أن أجهزة الكتل مُخزّنة مؤقتاً، ما يجعل المبرمج غير مُدرك للمدة الزمنية اللازمة لنقل البيانات المكتوبة من مخازن النواة إلى الجهاز الفعلي، أو حتى ترتيب وصول عمليتي كتابة منفصلتين إلى الجهاز الفعلي. إضافةً إلى ذلك، إذا كان نفس الجهاز يُتيح الوصول إلى كلٍ من أجهزة الأحرف وأجهزة الكتل، فهناك خطر تلف البيانات لأن العملاء الذين يستخدمون جهاز الأحرف قد لا يكونون على دراية بالتغييرات التي تُجرى على مخازن جهاز الكتل.
تُنشئ معظم الأنظمة نوعين من أجهزة التخزين: أجهزة الكتل وأجهزة الأحرف، لتمثيل مكونات الأجهزة مثل الأقراص الصلبة. لكن نظامي FreeBSD وLinux لا يفعلان ذلك؛ فقد أزال الأول دعم أجهزة الكتل، [ 8 ] بينما يُنشئ الثاني أجهزة الكتل فقط. للحصول على تأثير جهاز الأحرف من جهاز الكتل في Linux، يجب فتح الجهاز باستخدام علامة O_DIRECT الخاصة بنظام Linux .
الأجهزة الزائفة
لا يشترط بالضرورة أن تتطابق عقد الأجهزة في الأنظمة الشبيهة بنظام يونكس مع الأجهزة المادية . تُسمى العقد التي تفتقر إلى هذا التطابق بالأجهزة الوهمية . وهي توفر وظائف متنوعة يتولاها نظام التشغيل. ومن أكثر الأجهزة الوهمية (التي تعتمد على الأحرف) شيوعًا ما يلي:
- /dev/null – يقبل ويتجاهل جميع المدخلات المكتوبة إليه؛ ويوفر مؤشرًا لنهاية الملف عند القراءة منه.
- /dev/zero – يقبل ويتجاهل جميع المدخلات المكتوبة إليه؛ وينتج دفقًا مستمرًا من الأحرف الفارغة (بايتات ذات قيمة صفرية) كمخرجات عند القراءة منه.
- /dev/full – ينتج عنه تدفق مستمر من الأحرف الفارغة (بايتات ذات قيمة صفرية) كمخرج عند القراءة منه، ويولد خطأ ENOSPC ("القرص ممتلئ") عند محاولة الكتابة إليه.
- /dev/random – يُنتج بايتات مُولّدة بواسطة مُولّد الأرقام العشوائية الزائفة الآمن تشفيرياً في نواة النظاميتم توفيرمتغيرات مثل /dev/urandom أو /dev/arandom .
- /dev/stdin و /dev/stdout و /dev/stderr – الوصول إلى التدفقات القياسية للعملية .
- /dev/fd/ n – يصل إلى واصف ملف العملية n .
- /dev/tty – يشير إلى جهاز التحكم الطرفي للعملية الحالية، إن وجد، بغض النظر عما إذا كانت العملية تحتوي على أي واصفات ملفات مفتوحة تشير إليه أم لا.
لا يتطلب معيار POSIX سوى ثلاثة ملفات خاصة بالأجهزة بالاسم، وهي /dev/console و /dev/null و /dev/tty ، ولكنه لا يشترط أن يكون الملف /dev/console قابلاً للقراءة أو الكتابة. [ 9 ] قد يحتوي النظام القابل للاستخدام على عدد أكبر بكثير من هذه الملفات.
بالإضافة إلى ذلك، قد تتضمن الأجهزة الوهمية الخاصة بنظام BSD والتي تحتوي على واجهة ioctl ما يلي:
- /dev/pf – يسمح لعمليات المستخدم بالتحكم في PF من خلال واجهة ioctl .
- /dev/bio – يوفر الوصول إلى ioctl للأجهزة التي لا يمكن العثور عليها كعقد /dev ، ويستخدم بواسطة bioctl لتنفيذ إدارة RAID في OpenBSD و NetBSD .
- /dev/sysmon – يستخدمهإطار عمل envsys الخاص بنظام NetBSD لمراقبة الأجهزة ، ويتم الوصول إليه في مساحة المستخدم من خلال proplib(3) بواسطة أداة envstat . [ 10 ]
إنشاء العقدة
يتم إنشاء العُقد بواسطة استدعاء النظام mknod . ويُسمى برنامج سطر الأوامر لإنشاء العُقد أيضًا mknod . ويمكن نقل العُقد أو حذفها باستخدام استدعاءات نظام الملفات المعتادة ( إعادة التسمية ، إلغاء الربط ) والأوامر ( mv ، rm ).
تتضمن بعض إصدارات يونكس سكربتًا يُسمى makedev أو MAKEDEV لإنشاء جميع الأجهزة اللازمة في الدليل /dev . ويكون هذا مفيدًا فقط في الأنظمة التي تُخصص فيها أرقام رئيسية ثابتة لأجهزتها (على سبيل المثال، عن طريق تضمينها مباشرةً في وحدة النواة).
تستخدم بعض أنظمة يونكس الأخرى، مثل FreeBSD، إدارة عقد الأجهزة المستندة إلى النواة عبر devfs فقط، ولا تدعم إنشاء العقد يدويًا. يوجد استدعاء النظام mknod(2) والأمر mknod(8) للحفاظ على التوافق مع POSIX، ولكن عقد الأجهزة التي يتم إنشاؤها يدويًا خارج devfs لن تعمل على الإطلاق. [ 11 ]
اصطلاحات التسمية
تُستخدم البادئات التالية لأسماء بعض الأجهزة في التسلسل الهرمي /dev ، لتحديد نوع الجهاز:
- lp : طابعات الخطوط (قارن lp )
- pt : النهايات الزائفة
- tty : المحطات الطرفية
وقد شاع استخدام بعض البادئات الإضافية في بعض أنظمة التشغيل:
- fb : مخزن الإطارات
- fd : (منصة) الأقراص المرنة ، على الرغم من أن هذا الاختصار نفسه يُستخدم أيضًا بشكل شائع للإشارة إلى واصف الملف
- hd : برنامج تشغيل IDE "الكلاسيكي" (كان يستخدم سابقًا لمحركات الأقراص الصلبة ATA ، ومحركات الأقراص الضوئية ATAPI ، وما إلى ذلك).
- hda : الجهاز الأساسي على قناة ATA الأولى (عادة ما يتم تحديده بالرقم الرئيسي 3 والرقم الثانوي 0)
- hdb : الجهاز الثانوي على قناة ATA الأولى
- hdc : الجهاز الأساسي على قناة ATA الثانية
- القرص الصلب : الجهاز الثانوي على قناة ATA الثانية
- parport ، pp : منافذ متوازية
- الذاكرة : الذاكرة المادية
- kmem : الذاكرة الافتراضية للنواة
- nbd : جهاز كتلة الشبكة : تجريد يمثل أجهزة الكتلة التي يتم تركيبها عبر الشبكة (أو من الصور باستخدام qemu-nbd)
- برنامج تشغيل NVMe :
- nvme0 : وحدة تحكم الجهاز المسجلة لأول مرة (جهاز حرفي)
- nvme0n1 : أول مساحة اسم للجهاز المسجل (جهاز كتلة)
- nvme0n1p1 : أول قسم من أول مساحة اسم للجهاز المسجل (جهاز كتلة)
- برنامج تشغيل MMC :
- برنامج تشغيل SCSI ، الذي يستخدمه أيضًا libATA (برنامج تشغيل PATA / SATA الحديث ) في Linux و USB و IEEE 1394 وما إلى ذلك:
- sd : برنامج تشغيل وحدة التخزين (جهاز الكتلة)
- sda : أول جهاز مسجل
- sdb، sdc ، إلخ: الأجهزة المسجلة الثانية، والثالثة، إلخ
- ses : برنامج تشغيل الحاوية
- sg : طبقة SCSI العامة
- sr : برنامج تشغيل "ROM" (محركات الأقراص الضوئية الموجهة نحو البيانات؛ scd هو مجرد اسم مستعار ثانوي)
- st : مشغل شريط مغناطيسي
- da : جهاز الوصول المباشر (القرص)
- sa : جهاز الوصول التسلسلي (شريط)
- تمرير : برنامج تشغيل المرور
- sd : برنامج تشغيل وحدة التخزين (جهاز الكتلة)
- tty : المحطات الطرفية
- ttyS : برنامج تشغيل المنفذ التسلسلي (المنصة)
- ttyUSB : محولات USB التسلسلية، أجهزة المودم، إلخ.
- vd : الأقراص الافتراضية (التي تم إنشاؤها بواسطة VirtIO على سبيل المثال )
- vda : القرص الظاهري المسجل الأول
- vda1 : القسم الأول من القرص المسجل أولاً
- vda2 : القسم الثاني من القرص المسجل الأول
- vdb، vdc : أقراص افتراضية مسجلة ثانية، ثالثة، إلخ.
- vda : القرص الظاهري المسجل الأول
يمكن العثور على القائمة الرسمية للبادئات المستخدمة في لينكس في قائمة أجهزة لينكس ، وهي السجل الرسمي لأرقام الأجهزة المخصصة وعقد الدليل /dev لنظام التشغيل لينكس. [ 12 ]
في معظم الأجهزة، يتبع هذا البادئة رقمٌ يُعرّف الجهاز بشكلٍ فريد. في نظام لينكس، يُستخدم حرفٌ لتعريف الأجهزة، ويتبعه رقمٌ لتعريف الأقسام ، كما هو الحال في محركات الأقراص الصلبة. وبالتالي، قد "يعرف" نظام الملفات منطقةً على القرص باسم /dev/sda3 ، على سبيل المثال، أو "يرى" جلسة طرفية متصلة بالشبكة مرتبطةً بـ /dev/pts/14 . بينما تستخدم التطبيقات الأخرى أرقامًا لعُقد أجهزة القرص؛ في هذه الحالة، تُعرَّف أقسام القرص برقمٍ فرعي، مثل /dev/da0p3 و /dev/disk1s3 .
في الأقراص التي تستخدم سجل التمهيد الرئيسي النموذجي للكمبيوتر الشخصي ، يتم ترقيم أرقام الأجهزة للقسم الأساسي والقسم الممتد الاختياري من 1 إلى 4، بينما تكون فهارس أي أقسام منطقية من 5 فصاعدًا، بغض النظر عن تخطيط الأقسام السابقة (لا يلزم أن يكون القسم الممتد الأصل هو القسم الرابع على القرص، ولا يلزم وجود جميع الأقسام الأساسية الأربعة).
عادة ما تكون أسماء الأجهزة غير قابلة للنقل بين متغيرات أنظمة Unix المختلفة، على سبيل المثال، في بعض أنظمة BSD ، يتم تسمية أجهزة IDE بـ /dev/wd0 و /dev/wd1 وما إلى ذلك.
devfs
يُعدّ devfs تطبيقًا خاصًا لنظام ملفات الأجهزة على أنظمة التشغيل الشبيهة بنظام يونكس، ويُستخدم لعرض ملفات الأجهزة. وقد تختلف آلية التنفيذ الأساسية باختلاف نظام التشغيل.
إن الاحتفاظ بهذه الملفات الخاصة على نظام ملفات مُنفذ فعليًا مثل القرص الصلب أمر غير مريح، ولأنه يحتاج إلى مساعدة النواة على أي حال، فقد ظهرت فكرة نظام ملفات منطقي ذي غرض خاص لا يتم تخزينه فعليًا.
تحديد وقت جاهزية الأجهزة للظهور ليس بالأمر البسيط. يعتمد نهج نظام ملفات الأجهزة (devfs) على قيام برنامج تشغيل الجهاز بطلب إنشاء وحذف إدخالات devfs المتعلقة بالأجهزة التي يقوم بتمكينها وتعطيلها.
PC DOS، TOS، OS/2، وWindows
ملف الجهاز هو كلمة محجوزة تستخدم في أنظمة PC DOS و TOS و OS/2 و Windows للسماح بالوصول إلى منافذ وأجهزة معينة.
استعار نظام MS-DOS مفهوم الملفات الخاصة من نظام Unix، لكنه أعاد تسميتها إلى أجهزة . [ 1 ] ولأن الإصدارات الأولى من MS-DOS لم تكن تدعم التسلسل الهرمي للمجلدات ، فقد تم تمييز الأجهزة عن الملفات العادية بجعل أسمائها كلمات محجوزة . وهذا يعني أن بعض أسماء الملفات كانت محجوزة للأجهزة، ولا ينبغي استخدامها لتسمية ملفات أو مجلدات جديدة. [ 13 ] وقد تم اختيار الأسماء المحجوزة نفسها لتكون متوافقة مع معالجة PIPأوامر "الملفات الخاصة" في نظام CP/M . كان هناك نوعان من الأجهزة في نظام DOS: أجهزة الكتل (المستخدمة لمحركات الأقراص) وأجهزة الأحرف (بشكل عام جميع الأجهزة الأخرى، بما في ذلك أجهزة COM وPRN). [ 14 ]
يستخدم نظام DOS ملفات الأجهزة للوصول إلى الطابعات والمنافذ. تدعم معظم إصدارات ويندوز هذه الميزة أيضًا، مما قد يُسبب ارتباكًا عند محاولة إنشاء ملفات ومجلدات بأسماء معينة، إذ لا يمكن أن تحمل هذه الأسماء. [ 15 ] توفر الإصدارات 2.x من MS-DOS مُعامل AVAILDEVCONFIG.SYS الذي، عند ضبطه على FALSE، يجعل هذه الأسماء الخاصة نشطة فقط إذا سُبقت بـ \DEV\، مما يسمح بإنشاء ملفات عادية بهذه الأسماء. [ 16 ]
كان نظام GEMDOS ، وهو جزء من نظام Atari TOS يشبه نظام DOS ، يدعم أسماء أجهزة مشابهة لتلك الموجودة في DOS، ولكنه على عكس DOS، كان يتطلب إضافة علامة ":" في نهاية الاسم (وهذا اختياري في DOS) لتمييزها كأجهزة بدلاً من أسماء ملفات عادية (وبالتالي، فإن "CON:" يعمل على كل من DOS وTOS، ولكن "CON" يشير إلى ملف عادي في TOS، بينما يشير إلى جهاز وحدة تحكم في DOS). في نظامي MiNT و MagiC ، كانت هناك طريقة عرض خاصة لنظام الملفات الموحد تشبه UNIX، والتي يتم الوصول إليها عبر حرف محرك الأقراص "U:"، حيث يتم وضع ملفات الأجهزة في "U:\DEV".
| كلمة الجهاز الرئيسية [ 15 ] | استخدم كمدخل | استخدم كمخرج |
|---|---|---|
| كون | يستقبل البيانات المكتوبة حتى يتم الضغط على ^ Z (Ctrl-Z). | يطبع البيانات على وحدة التحكم. |
| PRN [ 17 ] | غير متوفر | يطبع النص على الطابعة، وعادةً ما يُعاد توجيهه إلى منفذ LPT1 أو LST . ويمكن أحيانًا إعادة تهيئته لأجهزة أخرى. [ 18 ] [ 19 ] [ 20 ] |
| AUX (غير موجود في نظام التشغيل OS/2 [ 17 ] ) | يقرأ البيانات من جهاز مساعد، عادةً ما يكون جهازًا تسلسليًا مثل COM1 . ويمكن إعادة تهيئته أحيانًا لأجهزة أخرى. [ 18 ] [ 19 ] [ 20 ] | يرسل البيانات إلى جهاز مساعد، عادةً ما يكون جهازًا تسلسليًا مثل COM1 . ويمكن إعادة تهيئته أحيانًا لأجهزة أخرى. [ 18 ] [ 19 ] [ 20 ] |
| نول | لا تُرجع أي بيانات أو قيمة فارغة. | يتجاهل البيانات المستلمة. |
| CLOCK$ (لا يزال يسمى CLOCK في بعض إصدارات MS-DOS 2.11 [ 21 ] [ 18 ] [ 19 ] ) | غير متوفر | غير متوفر |
| KEYBD$ (فقط في نظام MS-DOS متعدد المهام ) | ؟ | ؟ |
| KBD$ (فقط في نظام التشغيل OS/2 [ 17 ] ) | ؟ | ؟ |
| SCREEN$ (فقط في أنظمة MS-DOS و OS/2 متعددة المهام [ 17 ] ) | ؟ | ؟ |
| POINTER$ (فقط في نظام التشغيل OS/2 [ 17 ] ) | ؟ | ؟ |
| MOUSE$ (فقط في نظام التشغيل OS/2 [ 17 ] ) | ؟ | ؟ |
| $IDLE$ (فقط في عائلات DR-DOS (منذ الإصدار 5.0) و Multiuser DOS (منذ الإصدار Concurrent DOS 386 )) | غير متوفر | غير متوفر |
| CONFIG$ (فقط في MS-DOS 7.0 والإصدارات الأحدث) | غير متوفر | غير متوفر |
| LST (فقط في 86-DOS و DOS 1.x، وأيضًا في MS-DOS 2.11 من Hewlett-Packard لجهاز HP Portable Plus [ 18 ] [ 19 ] ) | لا يتم إرجاع أي بيانات. | يرسل البيانات إلى طابعة الخط. (LPT2 لنظام التشغيل MS-DOS 2.11 من شركة هيوليت-باكارد [ 18 ] [ 19 ] ) |
| PLT (فقط في نظام التشغيل MS-DOS 2.11 من شركة Hewlett-Packard لجهاز HP Portable Plus [ 18 ] [ 19 ] ) | لا يتم إرجاع أي بيانات. | يرسل البيانات إلى الراسمة المخصصة . جهاز الراسمة المرفق قابل لإعادة التكوين. [ 18 ] [ 19 ] |
| LPT1 و LPT2 و LPT3 وأحيانًا LPT4 (في DR-DOS 7.02 والإصدارات الأحدث وبعض إصدارات Multiuser DOS) | غير متوفر | يرسل البيانات إلى المنفذ المتوازي المحدد. |
| COM1 ، COM2 ، COM3 ، COM4 | يقرأ البيانات من منفذ التسلسل المحدد. | يرسل البيانات إلى منفذ التسلسل المحدد. |
| 82164A (فقط في نظام التشغيل MS-DOS 2.11 من شركة Hewlett-Packard لجهاز HP Portable Plus [ 18 ] [ 19 ] ) | إعادة التوجيه إلى COM2. | إعادة التوجيه إلى COM2. |
باستخدام إعادة توجيه الأوامر والأنابيب، يمكن إرسال البيانات إلى جهاز أو استقبالها منه. على سبيل المثال، سيؤدي كتابة الأمر التالي إلى إرسال الملف c:\data.txtإلى الطابعة:
اكتب c:\data.txt > PRN تُعدّ PIPE وMAILSLOT وMUP من الأجهزة القياسية الأخرى لنظام التشغيل Windows. [ 22 ]
نظام مراقبة المحيطات الدولي
يتألف نظام التشغيل ذو 8 بت لأجهزة الكمبيوتر الجيبية من شارب ، مثل PC-E500 و PC-E500S وغيرها، من مترجم لغة BASIC ، ونظام تحكم بالملفات (FCS) شبيه بنظام DOS 2 يُنفذ نظام ملفات بدائيًا شبيهًا بنظام FAT ذي 12 بت ، ونظام تحكم بالإدخال/الإخراج (IOCS) شبيه بنظام BIOS يُنفذ عددًا من برامج تشغيل أجهزة الأحرف والكتل القياسية، بالإضافة إلى أجهزة ملفات خاصة، بما في ذلك STDO:/SCRN: (شاشة العرض)، وSTDI:/KYBD: (لوحة المفاتيح)، وCOM: (الإدخال/الإخراج التسلسلي)، وSTDL:/PRN: (الطابعة)، وCAS: (شريط الكاسيت)، وE:/F:/G: (ملف الذاكرة)، وS1:/S2:/S3: (بطاقة الذاكرة)، وX:/Y: (القرص المرن)، وSYSTM: (النظام)، وNIL: (الوظيفة). [ 23 ]
التطبيقات
| نظام التشغيل | نظام الملفات أو برامج الإدارة | نقطة تثبيت قياسية | مؤلف | ملحوظات |
|---|---|---|---|---|
| لينكس 2.3.46pre5–2.6.17 | devfs [ 24 ] و devfsd | /dev | ريتشارد جوتش | تم تنفيذه بالكامل في نواة النظام، مع وجود برنامج devfsd اختياري لمعالجة أحداث عقدة الجهاز في مساحة المستخدم. [ 25 ] أصبح قديمًا - يُنصح المستخدمون بالانتقال إلى udev و/أو devtmpfs . |
| لينكس 2.5– | udev على أي نظام ملفات، ولكن عادةً ما يكون tmpfs | /dev | جريج كروه-هارتمان ، وكاي سيفرز ، ودان ستيكلوف | يتم تنفيذ معلومات الجهاز بشكل كبير في مساحة المستخدم، ويتم جمعها من نظام الملفات sysfs . يمكن تخزين ملفات الجهاز على نظام ملفات تقليدي للأغراض العامة، أو في نظام ملفات الذاكرة ( tmpfs ). |
| لينكس 2.6.32– | devtmpfs مع أو بدون udev | /dev | كاي سيفرز ، جان بلانك، جريج كرواه-هارتمان | نهج هجين بين النواة ومساحة المستخدم لنظام ملفات الجهاز لتوفير العقد قبل تشغيل udev لأول مرة [ 26 ] |
| سولاريس | devfs [ 27 ] | /devices | صن مايكروسيستمز | تم تقديمه مع برامج التشغيل المحملة ديناميكيًا في نظام التشغيل Solaris-2.1 |
| FreeBSD 2.0– | devfs | /dev | بول هينينغ كامب | تم تنفيذه بالكامل في النواة. |
| DragonFly BSD 2.3.2– | devfs | /dev | أليكس هورنونغ | تم تنفيذه بالكامل في النواة. |
| نظام التشغيل macOS | devfs | /dev | شركة آبل | تم تنفيذه بالكامل في النواة. |
| HP-UX B.11.31 | devfs | /dev | إتش بي | تم تنفيذه بالكامل في النواة. |
| الخطة 9 | # | مختبرات بيل | تم تنفيذه في النواة. | |
| نظام التشغيل RISC | نظام الملفات الجهاز | Devices: | شركة أكورن للكمبيوتر | بدأ تطوير DeviceFS عام 1991 [ 28 ] وظهر لأول مرة في نظام التشغيل RISC OS 3. وهو يدير العديد من الأجهزة، مثل الملفات الخاصة، وأكثرها شيوعًا: Parallel وSerial وFastParallel وUSB. وتُنفّذ وحدة SystemDevices الأجهزة الوهمية مثل: Vdu وKbd وNull والطابعة. |
| MS-DOS ، PC DOS ، DR-DOS | سمين | \DEV(و /DEV) | متنوع | بحسب ما هو مُطبق في نواة النظام، تظهر الأجهزة النصية في الدليل الافتراضي \DEV وفي أي دليل على القرص. في نظامي MS-DOS/PC DOS 2.x ، يُمكن استخدام التوجيه CONFIG.SYS AVAILDEV =FALSE لإجبار الأجهزة على التواجد في \DEV فقط. |
| ماجيك ، مينت ، مالتي توس | U:\DEV[ 29 ] [ 30 ] | أنظمة التطبيقات هايدلبرغ، إريك ر. سميث، شركة أتاري. | يحتوي محرك الأقراص الخاص U: على دليل DEV افتراضي، والذي يمكن العثور بداخله على ملفات الجهاز. | |
| ويندوز 9x | \\devices\ | مايكروسوفت | ||
| ويندوز إن تي | \Device | مايكروسوفت | يُعد هذا \Deviceالدليل جزءًا من مساحة أسماء كائنات نظام التشغيل Windows NT . | |
| نظام ويندوز إن تي الفرعي Win32 | \\.\ | مايكروسوفت | يُتيح هذا \\.\البادئة لواجهات برمجة التطبيقات الداعمة الوصول إلى مساحة أسماء أجهزة Win32 بدلاً من مساحة أسماء ملفات Win32. أسماء أجهزة Win32 هي روابط رمزية لأسماء الأجهزة الموجودة ضمن \Deviceدليل Windows NT. |
انظر أيضاً
مراجع
- 1 2 دليل مستخدم نظام التشغيل مايكروسوفت MS-DOS (ملف PDF) . مايكروسوفت . 1983. ص 3-5 . تاريخ الاسترجاع: 2024-04-20 .
- 1 2 "الكلمة المكونة من ثلاثة أحرف التي يكرهها نظام ويندوز" . يوتيوب . 14-04-2016.
- ↑ كروه-هارتمان، جريج (20 يونيو 2005). " [ رقعة ] devfs: إزالة devfs من شجرة النواة" . شجرة مصدر نواة لينكس . تم الاسترجاع في 12 يونيو 2021 .
- ↑ كوربيت، جوناثان؛ كروه-هارتمان، جريج؛ روبيني، أليساندرو (2005). "التحكم في الوصول إلى ملف الجهاز". برامج تشغيل أجهزة لينكس، الطبعة الثالثة . أورايلي . مؤرشف من الأصل في 7 سبتمبر 2009. تم الاطلاع عليه في 28 أبريل 2017. تتمثل
الخطوة التالية بعد فتح جهاز واحد في السماح لمستخدم واحد بفتح جهاز في عمليات متعددة، ولكن مع السماح لمستخدم واحد فقط بفتح الجهاز في كل مرة.
- ↑ كيرنيغان، برايان دبليو .؛ بايك ، روب (1984). بيئة برمجة يونكس . برنتيس هول . ص 66. ISBN 0-13-937681-X.
- ↑ نيل براون (27 أكتوبر 2010). "أشباح ماضي يونكس: بحث تاريخي عن أنماط التصميم" . أخبار لينكس الأسبوعية . تم الاطلاع عليه بتاريخ 30 مارس 2014 .
- ↑ "معيار IEEE 1003.1، إصدار 2013" . تم الاطلاع عليه بتاريخ 24-04-2014 .
- ↑ "دليل بنية FreeBSD" . تم الاطلاع عليه بتاريخ 2013-03-07 .
- ↑ مجموعة أوستن (2008). مواصفات يونكس الموحدة. المجلد 1: التعريفات الأساسية. العدد 7. مجموعة أوبن. ص 197.
- ↑ "usr.sbin/envstat/envstat.c" . مرجع BSD المتقاطع . NetBSD . نوفمبر 2021.
- "envstat -- أداة للتعامل مع أجهزة الاستشعار البيئية". دليل مدير نظام NetBSD . مؤرشف من الأصل بتاريخ 23-03-2019.
- ↑ "mknod(8)" . صفحات دليل FreeBSD . مشروع FreeBSD. 2016-10-03 . تم الاطلاع عليه بتاريخ 2024-04-21 .
- ↑ هيئة أسماء وأرقام لينكس المُخصصة (2009-04-06). "الأجهزة المُخصصة في لينكس (الإصدار 2.6+)" . نواة لينكس (Documentation/devices.txt) . مؤرشف من الأصل بتاريخ 2016-04-24 . تم الاطلاع عليه بتاريخ 2013-06-08 .
- ↑ "تجنب إنشاء أسماء ملفات ماكنتوش التي هي أسماء أجهزة NT" . Support.microsoft.com. 2006-11-01 . تم الاطلاع عليه بتاريخ 2014-01-22 .
- ↑ "خصائص الجهاز" . Stanislavs.org . تم الاطلاع عليه بتاريخ 22-01-2014 .
- 1 2 "لا يمكن استخدام أسماء برامج تشغيل أجهزة MS-DOS كأسماء ملفات" . مراجعة 2.0. مايكروسوفت . 12-05-2003. KB74496، Q74496.
{{cite web}}: CS1 maint: deprecated archiveal service ( link ) - ↑ "أوامر غير موثقة" . 4dos.info . Kevtronics. 12-04-2002 . تم الاطلاع عليه بتاريخ 16-05-2014 .
- 1 2 3 4 5 6 نظام التشغيل IBM/2 المرجع التقني - عائلة البرمجة (PDF) . المجلد 1 ( الطبعة الأولى). IBM . سبتمبر 1987 [1986].
- ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩ هيوليت-باكارد - دليل مرجعي تقني - بورتابل بلس ( الطبعة الأولى). كورفاليس، أوريغون، الولايات المتحدة الأمريكية: شركة هيوليت-باكارد ، قسم الحواسيب المحمولة. أغسطس ١٩٨٥. ٤٥٥٥٩-٩٠٠٠١ . تاريخ الاسترجاع: ٢٠١٦-١١-٢٧ .
- ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩ هيوليت-باكارد - دليل مرجعي تقني - بورتابل بلس (ملف PDF) (الطبعة الثانية ). قسم الحواسيب المحمولة، كورفاليس، أوريغون، الولايات المتحدة الأمريكية: شركة هيوليت-باكارد . ديسمبر ١٩٨٦ [أغسطس ١٩٨٥]. ٤٥٥٥٩-٩٠٠٠٦. مؤرشف (ملف PDF) من الأصل بتاريخ ٢٠١٦-١١-٢٨ . تم الاطلاع عليه بتاريخ ٢٠١٦-١١-٢٧ .
- 1 2 3 بول، ماتياس ر. (2 أكتوبر 1997). "Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT" . مؤرشف من الأصل بتاريخ 4 أكتوبر 2003. تم الاطلاع عليه بتاريخ 29 مارس 2009 .
- ↑ باترسون، تيم ؛ مايكروسوفت (19 ديسمبر 2013) [1983]. "Microsoft DOS الإصدار 1.1 والإصدار 2.0: /msdos/v20source/SKELIO.TXT، /msdos/v20source/HRDDRV.ASM" . متحف تاريخ الحاسوب ، مايكروسوفت . تاريخ الاسترجاع: 25 مارس 2014 .(ملاحظة: على الرغم من أن الناشرين يدّعون أن هذا سيكون MS-DOS 1.1 و 2.0، إلا أنه في الواقع SCP MS-DOS 1.25 ومزيج من Altos MS-DOS 2.11 و TeleVideo PC DOS 2.11 .)
- ↑ "REG: CurrentControlSet Entries الجزء 2: SessionManager" . Support.microsoft.com. 2006-11-01 . تم الاطلاع عليه بتاريخ 2014-01-22 .
- ↑ دليل المرجع الفني لجهاز PC-E500 (ملف PDF) . شركة شارب ، مجموعة أنظمة المعلومات، قسم المعدات الشخصية. مارس 1990. صفحة 17. مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 14 مارس 2017. تم الاطلاع عليه بتاريخ 14 مارس 2017 .
- ↑ غوتش، ريتشارد (20 أغسطس 2002). "أسئلة وأجوبة حول نظام ملفات الأجهزة (Devfs) في لينكس" . تم الاطلاع عليه بتاريخ 13 يونيو 2021 .
- ↑ غوتش، ريتشارد. "مساهماتي في لينكس" . تم الاطلاع عليه بتاريخ 13 يونيو 2021.
يوفر Devfsd إدارة قابلة للتكوين لعُقد الأجهزة باستخدام نظام ملفات أجهزة لينكس.
- ↑ "Driver Core: devtmpfs - kernel-maintained tmpfs-based /dev" . LWN . تم الاسترجاع في 10-08-2009 .
- ↑ "devfs(7FS)" . صفحات الدليل، القسم 7: واجهات الأجهزة والشبكة . أوراكل. 2014. تم الاطلاع عليه بتاريخ 12-06-2021 .
- ↑ "سجل تغييرات مشروع بلاك" . تم الاطلاع عليه بتاريخ 15-05-2016 .
- ↑ "محرك الأقراص U: في ماجيك" . 28-03-2016. مؤرشف من الأصل في 15-01-2017 . تم الاطلاع عليه في 09-01-2017 .
- ↑ "FreeMiNT-Portal - mint.doc" . 27-04-2000. مؤرشف من الأصل في 15-01-2017 . تم الاطلاع عليه في 09-01-2017 .
للمزيد من القراءة
- فيليب ستريك (24-09-2002). "devfs للإدارة والتنظيم" . مجلة لينكس .
- دانيال روبنز (1 أكتوبر 2001). "الجزء 4: مقدمة إلى devfs" . الخيوط المشتركة: دليل تنفيذ أنظمة الملفات المتقدمة . آي بي إم.
- دانيال روبنز (1 أكتوبر 2001). "الجزء 5: إعداد devfs" . الخيوط المشتركة: دليل تنفيذ أنظمة الملفات المتقدمة . IBM.
- دانيال روبنز (1 أكتوبر 2001). "الجزء 6: تطبيق نظام الملفات devfs (باستخدام غلاف التهيئة)" . المواضيع المشتركة: دليل مطوري أنظمة الملفات المتقدمة . شركة IBM.
- دوغ جيلبرت (22-01-2001). "DEVFS وSCSI" .
- "3.3. أسماء الأجهزة في devfs" . دليل نظام SCSI الفرعي في لينكس 2.4: الفصل 3. الأسماء والعناوين . مشروع توثيق لينكس .
- "دليل نظام ملفات الجهاز" . وثائق جنتو لينكس . مؤسسة جنتو. مؤرشف من الأصل بتاريخ 21 مايو 2008. تم الاطلاع عليه بتاريخ 19 يونيو 2008 .
- مارك إليس (23-09-2003). "كيفية استخدام التحميل التلقائي لوحدات النواة مع devfs و devfsd" . نصائح حول بناء لينكس من الصفر .
- مارتيال دوماس (18-09-2003). "كيفية إنشاء أمر mk_initrd أساسي يعمل بشكل جيد مع LFS و devfs" . نصائح لينكس من الصفر .
- جيرون كومانز (19 أبريل 2003). "كيفية إعداد devfs مع تكوين LFS الحالي باستخدام devfsd. كيفية استخدام devfs من الصفر" . نصائح لينكس من الصفر .
- توشار تيريديساي (5 مارس 2003). "استخدام devfs و devfsd" . نصائح حول بناء نظام لينكس من الصفر .
- ملف الجهاز
- واجهات نواة لينكس
- أنظمة الملفات الوهمية التي يدعمها نواة لينكس
- أنظمة الملفات ذات الأغراض الخاصة
- تقنية نظام ملفات يونكس
