الشمري...
لا داعي لكتابة اي درس لان جوجل غني.. هذا ايضا re-invention of the wheel :D
لكن بما انك اداري واحمر اللون هذا شرح صغير:
فكرته ببساطة اننا نريد خلق abstraction layer تعطينا naming space للوصول للبيانات.. وهذا يعطينا فكرة "مجلد" وداخله "ملفات" كما تعلم
يعني الملف عبارة عن بيانات مخزنة في blocks في مكان معين للتخزين (هارديسك)
الهاردوير يعطينا آلية لقراءة والكتابة على البلوكات، والبلوكات لها عناوين
نظام الملفات يقوم بطريقة معينة بانشاء جدول يقول فيه "هذه البلوكات تابعة لملف اسمه كذا وكذا"
في اللينكس مثلا كل ملف او مجلد لديه inode (والذي هو رقم موحد) والذي ايضا لديه structure يحتوي على بيانات اخرى مثل pointers للبلوكات التي يستخدمها
في النهاية هذا سهل فهمه جدا.. فلا يتطلب فهم معادلات رياضية خطيرة مثل علم التشفير وغيرو...
الصعوبة اننا يجب ان نقرأ الmanual للهاردوير ونكتب هذا الكود الملل
المشكلة في نظري اننا نخاف من شيء اسمه low-level... بينما الواقع ان low-level اسهل بكثير لكنه tedious وتكراري ولذا ممل.
يعني مثلا الCpp اصعب من C والاثنين اصعب من اسمبلي..
في رأيي كلمة "نظام ملفات" مخيف اكثر مما يقوم به... قديما كنت اخاف من اي شيء يحتوي على كلمة "نظام"...
minix
كان هناك كتاب لتعليم انظمة التشغيل، وكان يحتوي على امثلة، والمثال كان نظام تشغيل اسمه minix
و المشكلة مع minix انها لم تكن مجانية.... لهذا السبب لينوس تورفالدز تعلم من minix فقط وكتب linux من الصفر
وجزء من هذا الكلام موجود في tweeter اقصد منتدى... عفوا اقصد mailing list كتبها لينوس








