You are on page 1of 37

‫واجهة نظام الملفات‬

‫‪File-System Interface‬‬

‫د‪.‬رأفة معين خازم‬


‫نظام الملفات ‪File-System‬‬
‫نظام الملفات هو الجزء من نظام التشغيل المسؤول عن التعامل مع‬
‫الملف ات و ت أمين اآللي ة ال تي يتم فيه ا التخ زين و الوص ول اآلني إلى‬
‫ملفات كل من نظام التشغيل و مستخدمي نظام الحاسب‪.‬‬
‫يتألف نظام الملفات من جزأين‪:‬‬
‫‪.1‬مجموعة الملفات التي يخزن فيها معطيات مترابطة‬
‫‪.2‬بني ة ال دليل ‪ Directory Structure‬ال تي تنظم الملف ات و تق دم‬
‫المعلومات عنها‬

‫‪2‬‬
‫د‪.‬رأفة معين خازم‬
‫الملف ‪The File‬‬
‫الملف هو‪:‬‬
‫‪‬مجموع ة المعلوم ات المترابط ة ال تي تحم ل اس ما و تخ زن على‬
‫وحدة تخزين ثانوية دائمة كالقرص‪.‬‬
‫‪‬وح دة تخ زين منطقي ة يح ددها نظ ام التش غيل باإلعتم اد على‬
‫الخص ائص الفيزيائي ة ألجه زة التخ زين للحاس ب ‪ :‬المل ف ه و‬
‫الرؤية المنطقية الموحدة لتخزين المعلومات في نظام الحاسب‪.‬‬

‫‪3‬‬
‫د‪.‬رأفة معين خازم‬
‫الملف ‪The File‬‬
‫‪ ‬ال يمكن تخزين أية معلومات على نظام تخزين دائم ما لم تكن‬
‫مخزنة ضمن ملف‪.‬‬
‫‪ ‬يدير نظام التشغيل الملفات ‪ :‬كل األمور المتعلقة بالملفات يجب‬
‫أن تؤخ ذ بعين اإلعتب ار عن د تص ميم نظ ام التش غيل مث ل‪ :‬إنش اء‬
‫الملفات و تسميتها و النفاذ إليها و استخدامها و إنجازها‬
‫‪ ‬بعض الملف ات تك ون ح رة الص ياغة و بعض ها يك ون مص اغ‬
‫بشكل محدد‬

‫‪4‬‬
‫د‪.‬رأفة معين خازم‬
The File ‫الملف‬

:‫تتنوع المعلومات المخزنة في الملفات‬


text, numeric data, records, images :‫معطيات‬
execute, source, object programs :‫برامج‬

5
‫رأفة معين خازم‬.‫د‬
‫‪File Structure‬‬ ‫بنية الملف‬
‫‪ ‬سلسلة من البايتات ال يعرف نظام التشغيل ما تعنيه و يخزن‬
‫المستخدم ما يريده فيها ‪UNIX, Windows 98 .‬‬
‫‪ ‬سلسلة من التسجيالت متساوية الطول لكل منها بنية داخلية‬
‫و العمليات أألساسية عليه تشير دوما إلى التسجيل التالي‬
‫‪ ‬شجرة من التس جيالت مختلف ة الط ول و ك ل تس جيل يحت وي‬
‫حقال ي دعى المفت اح ‪ Key‬و العملي ات على ه ذا الن وع من‬
‫الملفات تشير إلى التسجيل المعطى مفتاحه‬

‫‪6‬‬
‫د‪.‬رأفة معين خازم‬
‫بنية الملف‬

‫‪ ‬يتوقع نظام التشغيل ماكنتوش أن يحتوي الملف على جزأين‪:‬‬

‫‪ :Resource Fork .1‬يحت وي معلوم ات تهم المس تخدم كعن اوين األزرار‬
‫التي يعرضها البرنامج واألدوات التي تسمح بتعديل هذه العناوين‪.‬‬

‫‪ :Data Fork .2‬يحتوي كود البرنامج و المعطيات‪.‬‬

‫‪7‬‬
‫د‪.‬رأفة معين خازم‬
‫بنية الملف‬
‫هل يجب أن يدعم نظام التشغيل بنى الملفات؟ ال‪:‬‬
‫‪.1‬زيادة حجم نظام التشغيل بسبب إضافة كود تعرف لكل بنية‪.‬‬
‫‪.2‬عدم تعرف نظام التشغيل البنى التي ال يدعمها‬
‫‪ ‬يجب أن يحتوي كل تطبيق كود خاص به للتعرف على ملفاته‬
‫‪‬كل أنظم ة التش غيل يجب أن ت دعم على األق ل بني ة واح دة كبني ة‬
‫الملفات التنفيذية لتستطيع تحميل و تنفيذ البرامج‪.‬‬

‫‪8‬‬
‫د‪.‬رأفة معين خازم‬
‫نمط الملف ‪File Type‬‬
‫نعم‬ ‫هل يجب أن يتعرف نظام التشغيل على نمط الملف؟‬
‫ليتمكن من التعام ل مع ه بطريق ة مناس بة و يمن ع المس تخدم من القي ام‬
‫بأي عملية غير مسموح بها عليه‪ .‬تعرف نظام التشغيل على الملف‬
‫التنفيذي يكشف الخطأ عند محاولة المستخدم فتحه‪.‬‬
‫‪‬يدعم ‪ UNIX‬الملف ات النظامي ة ‪ Binary, ASCII‬و األدل ة‬
‫باإلضافة إلى الملف الخاص بالمحارف ‪character special file‬‬
‫‪ ,‬الملف الخاص بالكتل ‪Block Special File‬‬

‫‪9‬‬
‫د‪.‬رأفة معين خازم‬
‫نمط الملف‬
‫‪ ‬يدعم ‪ Windows‬الملف ات النظامي ة ‪ Binary, ASCII‬و‬
‫األدل ة باإلض افة إلى ملف ات ‪ metadata‬كم ا في نظ ام‬
‫‪Windows XP‬‬

‫‪‬يخزن في الملفات النظامية معلومات المستخدم من نصوص و‬


‫برامج‬
‫‪‬تحديد نمط الملف يتم من خالل الجزء الذي يلي الفاصلة في اسم‬
‫الملف(اإلمتداد‪ /‬الالحقة)‪ .‬و عادة يستخدم النظام اإلمتداد لتحديد‬
‫نمط الملف وبالتالي نوع العمليات التي يمكن القيام بها‪.‬‬

‫‪10‬‬
‫د‪.‬رأفة معين خازم‬
‫نمط الملف‬
‫ل من‬ ‫‪ ‬يدعم نظ ام التش غيل ‪ MS-DOS‬ع‬
‫دد قلي‬
‫اإلمتدادات ‪com,.exe,.bat,.txt.‬‬
‫‪ ‬في نظ ام التش غيل ‪ Macintosh‬يك ون لك ل مل ف نم ط و لك ل‬
‫مل ف خاص ية منش ئ المل ف (التط بيق ال ذي أنش ئ في ه) ويك ون‬
‫نظام التشغيل هو المسؤول عن استخدامه‪.‬عندما يفتح المستخدم‬
‫الملف بالكبس عليه مرتين سيتم اسدعاء التطبيق الذي أنشأه‪.‬‬
‫‪ ‬يستخدم نظام التشغيل ‪ UNIX‬الرقم السحري للداللة على نمط‬
‫الملف‪ .‬ال يدعم اإلمتدادات‬

‫‪11‬‬
‫د‪.‬رأفة معين خازم‬
‫نمط الملف‬

‫تستخدم برامج التطبيقات اإلمتدادات للداللة على نمط الملفات التي‬


‫تهمه ا و ع ادة ال ي دعم نظ ام التش غيل ه ذه اإلمت دادات و لكنه ا‬
‫تستخدم للداللة على التطبيقات التي تشغلها‪.‬‬

‫‪12‬‬
‫د‪.‬رأفة معين خازم‬
‫نمط الملف‬

‫د‪.‬رأفة معين خازم‬ ‫‪13‬‬


‫الصفات المميزة للملف ‪File Attributes‬‬
‫تختلف خصائص الملف من نظام تشغيل آلخر و هي تشمل‪:‬‬
‫‪‬اس م المل ف (‪ :)name‬و ه و الخاص ية الوحي دة المق روءة لالنس ان‬
‫والتي تعرف الملف له‬
‫‪‬مح دد المل ف (‪ :)identifier‬و ه و ع دد ال ذي يع رف المل ف في‬
‫نظام الملفات و هوغير مرئي لالنسان‬
‫‪‬نمط الملف (‪ :)type‬و هي خاصية ضرورية لألنظمة التي تدعم‬
‫أنواع مختلفة من الملفات‬

‫‪14‬‬
‫د‪.‬رأفة معين خازم‬
‫الصفات المميزة للملف‬
‫‪ ‬موق ع المل ف (‪ :)location‬تش يرهذه الخاص ية إلى الجه از و‬
‫الموقع الذي يخزن فيه الملف على هذا الجهاز‪.‬‬
‫‪ ‬حجم المل ف (‪ :)size‬و يمكن أن ت دل ه ذه الخاص ية على الحجم‬
‫الح الي للمل ف أو الحجم األعظمي المس موح ب ه للمل ف و تق اس‬
‫بالبايت أو الكلمة أو الكتلة‬
‫‪ ‬حمايةالملف (‪ :)protection‬و هي خاصية التحكم بالنفاذ للملف‬
‫و التي تحدد من بإمكانه القراءة أو الكتابة أو تنفيذ الملف‪.‬‬

‫د‪.‬رأفة معين خازم‬ ‫‪15‬‬


‫الصفات المميزة للملف‬
‫‪ ‬ال زمن و الت اريخ و هوي ة المس تخدم (‪time, date, user‬‬
‫‪ :)identification‬و تح دد ه ذه المعلوم ات لعملي ة اإلنش اء و‬
‫التع ديل اآلخ ر و اإلس تخدام األخ ير للملف‪ .‬تفي د ه ذه المعلوم ات‬
‫ألغراض الحماية و السرية و مراقبة اإلستخدام‬
‫تخ زن معلوم ات جمي ع الملف ات في بني ة ال دليل في وح دة التخ زين‬
‫الثانوي ة‪ .‬و عادة ما يتألف مدخل ال دليل من اسم المل ف و محدده‬
‫ال ذي يح دد موق ع الخص ائص األخ رى للملف‪ .‬ق د يحت اج تس جيل‬
‫معلومات كل ملف إلى أكثر من كيلوبايت مما يجعل حجم الدليل‬
‫يصل إلى الميغا بايت في األنظمة متعددة الملفات‬

‫د‪.‬رأفة معين خازم‬ ‫‪16‬‬


‫العمليات على الملفات ‪File Operations‬‬

‫‪ ‬الملف هو نوع معطيات تجريدي ‪ADT‬‬


‫‪ ‬تعريف الملف يتطلب تحديد العمليات التي تجرى عليه‬
‫‪ ‬يدير نظ ام التش غيل الملف ات ‪ ‬ي ؤمن اس تدعاءات‬
‫إلنجازالعمليات على الملفات‪.‬‬
‫‪ ‬هناك ‪ 6‬عمليات أساسية تجرى على الملفات‬

‫‪17‬‬
‫د‪.‬رأفة معين خازم‬
‫العمليات على الملفات‬
‫إنشاء الملف ‪: Create‬‬
‫‪‬إيجاد مكان للملف على القرص‬
‫‪‬إضافة مدخل في الدليل للملف الجديد‪.‬‬
‫الكتابة على الملف ‪:Write‬‬
‫‪‬استدعاء العملية مع تمريراسم الملف و المعلومة التي ستكتب فيه‬
‫‪ ‬يبحث النظام عن الملف في الدليل لتحديد موقعه‪.‬‬
‫‪‬إضافة المعلومة‬
‫‪‬تعديل مؤشر الكتابة‪.‬‬

‫د‪.‬رأفة معين خازم‬ ‫‪18‬‬


‫العمليات على الملفات‬
‫القراءة من الملف ‪:Read‬‬
‫‪‬استدعاء العملية مع تمريراسم الملف و موقع الذاكرة الذي ستكتب فيه ما‬
‫سيقرأ من الملف‪.‬‬
‫‪‬البحث عن الملف في الدليل لتحديد موقعه‪.‬‬
‫‪‬قراءة المعلومة‬
‫‪‬تعديل مؤشر القراءة‪.‬‬
‫الن المهمة عادة ما تقرأ أو تكتب على الملف‪ ,‬يتم حفظ موقع العملية الحالي‬
‫في مؤشر موقع الملف الحالي لكل مهمة لكال العمليتين‪.‬‬

‫د‪.‬رأفة معين خازم‬ ‫‪19‬‬


‫العمليات على الملفات‬
‫تغيير موقع مؤشر الملف ‪Repositioning‬‬
‫‪‬البحث عن الملف في الدليل لتحديد موقعه‪.‬‬
‫‪‬تغييرمكان مؤشر الملف ليشير إلى المكان المطلوب‪ .‬تدعى هذه العملية ‪Seek‬‬
‫إزالة الملف ‪Delete‬‬
‫‪‬البحث عن الملف في الدليل لتحديد موقعه‪.‬‬
‫‪‬تحري ر المساحة التي يحتلها الملف على القرص ليعاد استخدامها لملف آخر‪.‬‬
‫‪‬يمحى المدخل الخاص بهذا الملف من الدليل‪.‬‬

‫د‪.‬رأفة معين خازم‬ ‫‪20‬‬


‫العمليات على الملفات‬
‫قص الملف ‪Truncate‬‬
‫‪‬محي محتويات الملف مع اإلبقاء على خصائصه ما عدا الطول=‪. 0‬‬
‫تتطلب معظم العملي ات البحث في ال دليل عن المل ف المطل وب => يحتف ظ‬
‫النظام بجدول للملفات المفتوحة ‪.open-file table‬‬
‫فتح الملف ‪Open‬‬
‫‪‬يبحث النظام عن الملف في الدليل لتحديد موقعه‪.‬‬
‫‪‬ينسخ مدخل الملف من الدليل إلى جدول الملفات المفتوحة‪.‬‬

‫د‪.‬رأفة معين خازم‬ ‫‪21‬‬


‫العمليات على الملفات‬
‫إغالق الملف ‪Close‬‬
‫‪‬يبحث النظام عن الملف في جدول الملفات المفتوحة‪.‬‬
‫‪‬يمحى مدخل الملف من جدول الملفات المفتوحة‬
‫يجب فتح الملف قبل استخدامه‪ ,‬و تقوم بعض األنظمة بفتح الملفات اتوماتيكيا‬
‫عند اإلشارة اليها ألول مرة و يغلق الملف بهذه الحالة اتوماتيكيا عندما ينتهي‬
‫تنفي ذ البرن امج ال ذي ق ام بفتحه‪ .‬و معظم األنظم ة تتطلب فتح الملف ات بش كل‬
‫صريح باستخدام استدعاء النظام ‪ )(open‬قبل استخدام الملف‪.‬‬

‫د‪.‬رأفة معين خازم‬ ‫‪22‬‬


‫العمليات على الملفات‬
‫تتعق د عملي تي فتح المل ف وإغالق ه عن دما تق وم مجموع ة من المه ام‬
‫بفتح نفس الملف بنفس اللحظة ==>استخدام نوعين من الجداول‪:‬‬
‫‪.1‬الج دول الخ اص بالمهم ة ‪ :Per-process table‬و يحت وي‬
‫معلوم ات الملف ات ال تي ق امت المهم ة بفتحه ا مث ل‪ :‬الموق ع الح الي‬
‫للمؤشرض من المل ف‪ ,‬حق وق النف اذ‪ .‬ك ل م دخل في ه يش ير إلى م دخل‬
‫في جدول الملفات المفتوحة الموسع الخاص بالنظام‪.‬‬

‫د‪.‬رأفة معين خازم‬ ‫‪23‬‬


‫العمليات على الملفات‬
‫‪ .2‬الج دول الموس ع للنظ ام ‪ : System-wide table‬يحت وي‬
‫المعلوم ات المس تقلة عن المه ام مثال‪ :‬موق ع المل ف على‬
‫القرص‪ ,‬تاريخ النفاذ‪ .‬حجم الملف‪ ,‬عداد الفتح ‪.open count‬‬
‫يشير عدادالفتح إلى عدد المهام التي قامت بفتح الملف و يتناقص‬
‫كلما نفذت عملية إغالق للملف و عندما تصل قيمته إلى ‪ 0‬يتم‬
‫محي مدخل الملف من جدول الموسع للنظام‪.‬‬

‫د‪.‬رأفة معين خازم‬ ‫‪24‬‬


‫العمليات على الملفات‬

‫‪ ‬حالم ا تق وم مهم ة بفتح المل ف‪ ,‬س وف يض اف ل ه م دخل في‬


‫الج دول الموس ع و إذا م ا ق امت مهم ة أخ رى بفتح ه سيض اف‬
‫لهذا الملف مدخل في الجدول الخاص بالمهمة‪.‬‬

‫د‪.‬رأفة معين خازم‬ ‫‪25‬‬


‫العمليات على الملفات‬
‫المعلومات المرتبطة بالملفات المفتوحة هي‪:‬‬
‫‪‬مؤش ر المل ف‪ :‬يالح ق موق ع آخ ر عملي تي ق راءة و كتاب ة‪ .‬و يك ون‬
‫لكل مهمة تعمل على الملف مؤشر خاص بها‪.‬‬
‫‪‬عداد الملفات المفتوحة‪ :‬عداد يالحق عدد المرات التي فتح وأغلق‬
‫فيها الملف‪.‬‬
‫‪‬موقع الملف على القرص‪ :‬و يتم نسخ هذه المعلومة على الذاكرة‪.‬‬
‫‪‬حقوق النفاذ‪ :‬تفتح المهمة الملف وفق نمط نفاذ محدد‪.‬‬

‫د‪.‬رأفة معين خازم‬ ‫‪26‬‬


‫طرق النفاذ ‪Access Methods‬‬
‫الس تخدام المل ف يجب الوص ول إلى المعلوم ات المخزن ة في ه و‬
‫تحميلها في الذاكرة‪.‬‬
‫‪ -1‬الوصول التسلسلي ‪: Sequential Access‬‬
‫تعالج المعلومات في الملف بالترتيب ورودها بدءا من بداية الملف‪.‬‬
‫عملية القراءة من هذا الملف هي ‪ read next‬و عملية الكتابة هي‬
‫‪ .write next‬و عملي ة ‪ rewind‬تعي د المؤش ر إلى بداي ة الملف‪.‬‬
‫تستخدم هذه الطريقة مع الملفات المخزنة على الشريط المغناطيسي‬

‫د‪.‬رأفة معين خازم‬ ‫‪27‬‬


‫طرق النفاذ‬
‫‪ -2‬الوصول المباشر ‪: Direct Access‬‬
‫الملف هو سلسلة من التسجيالت أو الكتل المرقمة => القراءة و الكتابة على‬
‫الملف بشكل عشوائي ‪ ‬أصبحت عمليتي تتضمن رقم الكتلة النسبي ‪n ‬‬
‫‪. read n, write n‬‬
‫‪‬في ه ذه الطريق ة يمكن اإلبق اء على ‪ read next, write next‬و لكن‬
‫بإضافة العملية ‪ position to n‬عندئذ العملية ‪ read n‬تكافئ ‪position to‬‬
‫‪ n‬مع ‪read next‬‬
‫‪‬هذه الطريقة استخدمت مع الملفات التي تخزن على األقراص المغناطيسية‬

‫د‪.‬رأفة معين خازم‬ ‫‪28‬‬


‫طرق النفاذ‬
‫‪ -3‬الوصول المفهرس ‪: Indexed Access‬‬
‫تعتمد هذه الطريقة على إنشاء فهرس للملف يحتوي مؤشرات تشير‬
‫إلى كتل الملف => إليجاد تسجيل في الملف يتم البحث أوال في‬
‫الفهرس و بعدها يستخدم المؤشر الموافق للتسجيل في الفهرس‬
‫للوصول إلى التسجيل‪.‬‬
‫في الملفات الضخمة يصبح حجم الفهرس كبير جدا ليحفظ في‬
‫الذاكرة لذلك ينشأ فهرس للفهرس إي يصبح لدينا فهرس رئيسي‬
‫يحتوي مؤشرات إلى الفهارس الثانوية التي تشير الى المعطيات‬
‫الفعلية للملف‪.‬‬

‫د‪.‬رأفة معين خازم‬ ‫‪29‬‬


‫بنية الدليل ‪Directory Structure‬‬
‫عن د اعتم اد بني ة مح ددة لل دليل الب د من اإلخ ذ بعين اإلعتب ار العملي ات‬
‫التي يمكن إجراؤها عليه‪:‬‬
‫‪ ‬البحث عن ملف في الدليل‬
‫‪ ‬إنشاء ملف‬
‫‪ ‬إزالة ملف‬
‫‪ ‬عرض الدليل‬
‫‪ ‬تغيير اسم الملف‬
‫‪ ‬التجول ضمن نظام الملفات‬

‫د‪.‬رأفة معين خازم‬ ‫‪30‬‬


‫بنية الدليل‬
‫الهدف من الدليل‪:‬‬
‫‪‬الفعالية ‪ Efficiency‬ايجاد الملف سريعا‬
‫‪‬التس مية ‪ Naming‬يمكن تس مية أك ثرمن مل ف بنفس اإلس م أو‬
‫تسمية نفس الملف بأكثر من اسم‬
‫‪‬التجميع ‪ :Grouping‬تجميع الملفات حسب خصائصها‬

‫‪31‬‬
‫د‪.‬رأفة معين خازم‬
‫الدليل أحادي المستوى‬
‫‪Single-Level Directory‬‬

‫توض ع جمي ع الملف ات بنفس ال دليل مم ا يتطلب أن تحم ل ه ذه‬


‫الملفات أسماء مختلفة‬
‫‪‬صعوبة التسمية‬
‫‪‬صعوبة تذكر األسماء‬

‫‪32‬‬
‫د‪.‬رأفة معين خازم‬
‫الدليل أحادي المستوى‬

‫‪33‬‬
‫د‪.‬رأفة معين خازم‬
‫الدليل ثنائي المستوى‬
‫‪Two-LeveL Directory‬‬
‫يقسم الدليل إلى مستوييين‪:‬‬
‫‪‬دليل الملفات الرئيسي ‪MFD‬‬
‫‪‬دليل الملفات الخاصة بالمستخدم ‪UFD‬‬

‫يمثل كل مدخل من ‪ MFD‬مستخدم و يشار للمدخل باسم المستخدم‬


‫أو رقم حس ابه‪ .‬ك ل م دخل من ‪ MFD‬يش ير إلى ‪ UFD‬الخ اص‬
‫بالمستخدم الذي يمثله‪.‬‬

‫‪34‬‬
‫د‪.‬رأفة معين خازم‬
‫الدليل ثنائي المستوى‬
‫المساوئ‪ :‬عزل المستخدمين عن بعضهم‪.‬‬
‫ليس تخدم مس تخدم مل ف مس تخدم آخ ر يش ير إلى المل ف باس م مس تخدمه و اس م‬
‫الملف‪.‬‬
‫المحاس^ن‪ :‬يمكن تسمية ملفين بنفس اإلسم على أن يكونا في ‪ UFDs‬مختلفة‪.‬‬
‫األسماء ضمن ‪ UFD‬يجب أن تحمل أسماء مختلفة‪.‬‬
‫‪‬عندما يبحث مستخدم عن ملف ال يبحث عنه إال في ‪ UFD‬الخاصة به‪.‬‬
‫‪‬عن دما يس جل مس تخدم دخول ه إلى النظ ام‪ ,‬يتم البحث عن ه في ‪ MFD‬ف إذا تم‬
‫العثور عليه يتم اإلنتقال إلى ‪ UFD‬الخاصة به‪.‬‬

‫د‪.‬رأفة معين خازم‬ ‫‪35‬‬


‫الدليل ثنائي المستوى‬
‫يمكن تش بيه ه ذه البني ة بالش جرة ذات المس تويين حيث يك ون ج ذرها‬
‫هو ‪ MFD‬و فروعها ‪ UFDs‬و أوراقها هي الملفات نفسها‪ .‬يحدد‬
‫اس م المس تخدم م ع اس م المل ف اس م المس لك ‪ path name‬المتعل ق‬
‫به ذاالملف في الش جرة ب دءا من الج ذر ‪ MFD‬و ح تى الورق ة ال تي‬
‫تمثل الملف ‪ file‬و يكون لكل ملف اسم مسلك ‪.‬‬

‫‪36‬‬
‫د‪.‬رأفة معين خازم‬
‫الدليل ثنائي المستوى‬

‫‪37‬‬
‫د‪.‬رأفة معين خازم‬

You might also like