من BFS إلى ZFS: ماضي وحاضر ومستقبل أنظمة الملفات -الجزء الثالث

نشره زايد في الثلاثاء, 2008/08/12 - 2:54م
بواسطة Jeremy Reimer ترجمة : زاهر النوتكي مايكروسوفت و آي بي أم يتنافسان
نظام OS/2 و HPFS مما لا يتذكره معظم الأطفال اليوم ، بأن شركة IBM شغلت بالها مرة بفكرة منافسة شركة مايكروسوفت من أجل الهيمنة على سوق أنظمة تشغيل الحواسيب الشخصية. والأغرب من هذا ، كون هذه المنافسة في الأصل شراكة بين الشركتين.
حتى شركة IBM وبما تملكه من 10.000 طبقة من الإدارة والبيروقراطية أكثر من الاتحاد السوفيتي ، أدركت أن نظام دوس بحاجة ماسة لبديل. حيث قررت الشركة في تصميم نظام خليفة لنظام دوس أسمته بذكاء OS/2. حيث يكون هذا النظام مملوك لشركة IBM ولكن ستقوم شركة مايكروسوفت بعمل الكتابة الفعلية للنظام. وصف ستيف بالمر - قبل أن يعرف عنه بالقفز صعودا وهبوطا ورمي الكراسي- مرة كيف كان ينظر صناع الحواسيب لشركة IBM في ذلك الوقت. "كانوا الدب ، وكان أمامك خيارين إما أن تركب الدب أو أن تكون تحته." لذلك قامت شركة مايكروسوفت بمجاراة هذه الخطة الجنونية.
كان نظام OS/2 نظام تشغيل متعدد المهام ، مع واجهة رسومية خيالية ، والتي كان من المقرر تثبيتها عليه في وقت لاحق. احتاج إطلاقه للوجود وقتا طويلا ، مع صعوبة تشغيل تطبيقات دوس DOS عليه. كما كان يحتاج إلى ذاكرة مؤقتة أكثر من قدرة أي مستخدم على توفيرها طول حياتهم. وفي نسخة 1.2 التي اطلاقت عام 1987م أرادت شركة IBM ابتكار نظام ملفات جديد لاستبدال نظام FAT المخيف . وهكذا ولد HPFS (نظام ملفات الأداء الرفيع) ، والذي قام بكتابته فريق صغير بقيادة غوردن لتوين Gordon Letwin - الموظف بشركة مايكروسوفت-.
استخدم نظام HPFS فهرسة B-Trees. كما كان يدعم أسماء ملفات حتى 255 حرف ، مع استخدم خاصية التوسعات. و لتسريع عملية الوصول للملفات تم وضع الدليل الرئيسي في منتصف القرص بدل من بدايته. لم يكن نظام HPFS يدعم السجل التغييرات ولكنه كان يدعم الفروع مع قدرات متقدمة في مجال البيانات الوصفية . كانت تدعى هذه البيانات الوصفية الجديدة بالسمات الموسعة Extended Attributes ، مع إمكانية تخزينها على نظام FAT عن طريق تخزينها في ملف يسمى EA_DATA.SF. كان نظام HFS+ يدعم هذه البيانات ولكن لم يتم كشف النقاب عنها في نظام Apple OS حتى إصدارة Mac OS X 10.4.
بعد ذلك ، انفصلاتا كل من شركتي IBM ومايكروسوفت ، وقامتابمتابعة حقوقهم القضائية وقت إصدار Windows 3 حيث كانت شركة IBM تطالب بحق تملكه أيضا مع رفض شركة مايكروسوفت لهذا الطلب. قامت شركة مايكروسوفت بعد ذلك بتركيز جهودها على ويندوز بعد أن أصبحت الإصدارة 3 نجاحا ساحقا ، بينما أبقت شركة IBM على الشفرة المصدرية التي كانت بحوزتها مع اضافة مجموعة من الشفرات الإضافية المتعلقة بواجهة المستخدم الرسومية والتي كانت مجموعة من افتراءات والدعابات مع شركتي Apple وNeXT. وبالتالي تم ولادة نظام OS/2 الأصدارة 2.0 مع مساحة عمل كائنية التوجه، والذي كان لديه يوم قصير في الشمس (تم الإعلان عنه بغرابة في Fiesta Bowl ) قبل إصدار ويندوز 95 والذي قام بسحقه على الأرض. قامت IBM لاحقا بترحيل JFS لنظام OS/2 ، وكان ذلك من دواعي سرور ثلاثة أشخاص الذين ما زالوا يستخدموه.
ادركت شركة مايكروسوفت أيضا بأنها بحاجة لاستبدال نظام دوس DOS ، ولكنها كانت غاضبة من تجربتها مع شركة IBM. وفي تطبيق بيل جيتس الثاني المدهش لنظرية الكسل ، قام باستئجار ديف كتلر Dave Cutler ، المهندس المعماري لنظام VMS التشغيلي الصلب التابع لشركة DEC ، في الوقت تماما التي كانت فيه الشركة واقعة في دوامة من الاستحالة أن تتعافى منها.
اصطحب ديف كتلر فريقه معه على الرغم من رفع دعاوي قضائية من قبل DEC الموشكة على الموت. حيث قام بتنفيذ تطبيق نظيف لنظام تشغيلي جديد. وإلى جانب النظام الجديد أتى نظام ملفات جديد أيضا ، والذي لم يكن يحمل اسما في البداية ، ولكن أطلق عليه لاحقا أسم NTFS عندما تم تسمية النظام نفسه باسم Windows NT. كان NT الاسم التسويقي والذي يعني تقنية جديدةNew Technology. ولكن كان لا يزال يعتبر مصادفة مسلية حيث WNT كان VMS عند استبدال كل حرف بالذي يليه.
كان نظام NTFS تطبيقا شاملا لأفضل أفكار نظم الملفات يمكن أن تأتي على بال فريق كتلر في ذلك الوقت، حيث كان نظام ملفات 64-بت مع سعة تخزينية قصوى تصل حتى 16 إكسابايت ، كما أنه يحفظ جميع أسماء الملفات بترميز اليونيكود لذا فإن أي لغة يمكن أن تجد دعما لها. حتى سمات تاريخ الملف تم توسعتها إلى أقصى حدود السخرية: بحيث يستطيع المسافرون عبر الزمن وضع تاريخ الملف من عام 1601 بعد الميلاد حتى عام 60056 ، على الرغم من انه إذا استخدمت الإنسانية هذا النظام بحلول ذلك الوقت ، سوف يتبين لنا أن هناك خطأ ما حل بحضارتنا. في بداية الأمر ، لم يتم الكشف عنه للجمهور مع إطلاق الإصدارة المبدئية من نظام Windows NT (كان يطلق عليها نسخة 3.1 لأسباب تسويقية تافهة) ، وبتالي تم إصدارها عام 1993م.
استخدم نظام NTFS تنسيق B+Trees (نسخة معدلة وسريعة من نظام B-Trees والمدعوم من قبل HFS+). كما دعم هذا النظام التوثيق من اليوم الأول لإصداره مع احتوائه على قدرات واضحة لضغط بيانات ، وإعدادات أمان قوية جدا عن طريق استخدام قوائم تحكم الوصول (تم اضافتها لاصدارة NT 3.5 التي تم إصدارها عام 1994). تم تصميمه بحيث تستطيع مايكروسوفت إضافة دعم بيانات وصفية إضافية وذلك حتى رجعت الأبقار من مرعاها. وبالفعل ، كان دعم نظام NTFS للبيانات الوصفية يفوق الحدود بحيث يلزم فريق نظام تشغيل شركة مايكروسفت في بعض الأحيان وقتا حتى يلحقوا بالسمات التي كانت موجودة مسبقا بالنظام.
فعلى سبيل المثال ، كانت خاصية البحث الفائق السرعة في الفهارس لكل من الملفات والبيانات الوصفية متاح في نظام NTFS منذ اصدارة ويندوز 2000 ، ولكنه لم تصدر مايكروسوفت نسخة رسومية منه حتى عام 2005 ولكنه لم يصبح جزءا من النظام نفسه حتى اصدارة ويندوز فيستا عام 2006. مهلا ، في بعض الأحيان تصبح بعض الأشياء منسية. هل هناك شخص مستعد لإعادة تصميم مربع الحواري لإضافة خط جديد ؟؟
تم إضافة ميزات جديدة لنظام NTFS في نسخ لاحقة من نظام Windows NT. ففي الإصدارة 3.0 ، تم إصدارها مع ويندوز 2000، تم اضافة خاصية بحث البيانات الوصفية المفهرسة الأنفة الذكر، الى جانب تشفير و تخصيص حجم المساحة التخزين المتاحة لكل مستخدم ، بحيث لم يعد بإمكان الطلاب أن يملؤا الخادم بملفات MP3 مقرصنة.
يخزن نظام NTFS البيانات الوصفية في ملفات منفصلة ، مخفية عن العمليات العادية لنظام التشغيل عن طريق احتواء أسماء الملفات على الرمز $ في بدايتها. من خلال تخزين كل شيء في ملف ، يسمح نظام ملفات NTFS لتراكيب نظام الملفات بالنمو بشكل ديناميكي. يقاوم نظام الملفات تجزئة الملفات عن طريق محاولة تخزين الملفات في المكان الفارغ بما فيه الكفاية لها ، وليس فقط في أول مساحة متاحة في بداية محرك الأقراص.
لتسهيل عملية الانتقال من أنظمة التشغيل المبنية على نظام FAT لأنظمة NTFS ، قامت شركة مايكروسوفت بدورها بابتكار أداة مفيدة لمستخدمي نظام ويندوز 98 بحيث سيكون بإمكانهم تحويل تقسيمات القرص الصلب المبنية على أنظمة FAT16 و FAT32 لنظام NTFS. بالطبع لا يمكنك أن تقوم بالعملية بصورة عكسية، ولكن بأمانة هل سترغب بذلك؟؟
الشيء الوحيد المزعج الذي يمكن بالفعل أن يتذمر منه هو أن تصميم نظام NTFS كان سرا محفوظا لشركة مايكروسوفت فقط. وعلى الرغم من هذا التحدي ، تمكن مبرمجي أنظمة المصادر المفتوحة وبفضل الهندسة العكسية من دعم القراءة ولاحقا الكتابة على أقسام NTFS من أنظمة التشغيل الأخرى. حيث سمح مشروع NTFS-3G من القراءة والكتابة على أقراص NTFS.
نهاية المطاف و الطريق العام
نظام BeOS و BFS في عام 1990م ، كان لدى جين لويس جاسي ، الرئيس المتحمس لشركة أبل -فرنسا- رغبة بالشهرة وحب الظهور. حيث قرر أن المشكلة الحالية بأنظمة التشغيل المكتبية مثل ويندوز وماكنتوش هو ثقلها بالعديد من حزم دعم الإصدارات السابقة للأنظمة نفسها. وكان الحل المقترح هو البدء من الصفر ، عن طريق استحداث علامة تجارية جديدة لمنصة تحوي نظام تشغيلي و عتاد جديدين باستخدام أفضل الأفكار المتاحة ذلك الوقت. استوحى هذه الفكرة من فريق أوميجا Amiga والذي فعل الشيء نفسه سابقا عام 1982 بل ومن غروره فقد حاول جين لويس الحصول على رخصة "AMIGA96" كلوحة لسيارته.
واجه الفريق المسئول عن العتاد والأجهزة بعض المتاعب عند تم إيقاف تطوير المعالج الذي اختاروه - AT&T Hobbitwas - من قبل الشركة المالكة. بعد الانتقال إلى معالج PowerPC ، أخرج الفريق حلم مهوسي التقنية: حاسوب سريع و متعدد المعالجات و ليس باهض الثمن مع أطنان من المنافذ و الأضواء الأنيقة. ولسوء الحظ ، فإنه تم بيع 500 وحدة فقط من نظام BeBox ، والذي تم إصداره عام 1995. عندما أكتشف ستيف جوبس مع شركة NeXT حقيقة بأنه لا يوجد متسع لمنصة عتاد جديدة في سوق ، فإنه سرعان ما قامت شركة Be, Inc. بتحويل نظامها التشغيلي إلى منصة ماكنتوش . ومن ثم إلى مضمار أكبر مع الاجهزة الشخصية المتوافقة مع نظام x86.
كان نظام BeOS بحاجة لنظام ملفات ، وكانت في الواقع الأهداف الأولى لهذا النظام كبيرة. كان نظام الملفات الهرمي الأصلي على BeBox (يدعى OFS) مرتبط مباشرة بقاعدة بيانات علائقية ، مما يسمح بكل أنواع المرونة والقوة. و لسوء الحظ ، كان هذا التصميم المرتبط بقاعد البيانات بطيء جدا مع وجود بعض المشاكل المتعلقة بمزامنة نظام الملفات وقاعدة البيانات. مع الانتقال إلى أجهزة ماك بوربسي ، كان على نظام BeOS دعم نظام HFS أيضا ، لذلك كانت البنية التحتية لنظام الملفات بحاجة لتغيير. وهكذا تمت ولادة نظام ملفات Be أو BFS.
كان نظام BFS -تم بنائه من قبل كل من دومينيك جيامباولو وسيريل ميوريلين- نظام 64-بت والذي يدعم السجل التغييرات ، ويستخدم فهرسة B+Trees تماما مثل نظام NTFS. كما كان بحاجة لدعم ميزات قاعدة البيانات التي استخدمت من قبل نظام BeBox's OS الأصلي ، والذي يسمح للمستخدمين بتخزين أي ملف معلومات في سلسلة من السجلات والحقول. وضعت هذه المعلومات في البيانات الوصفية وكان يسمح للمستخدمين بإضافة قدر ما يرغبوا من المجالات لكل ملف.
بدت فكرة البيانات الوصفية التي يمكن توسيعها فكرة عبقرية في ذلك الوقت ، ولكن كان من المهم معرفة أن نظام NTFS كان في الأساس يدعم الشيء نفسه. كان الفرق الرئيسي في واجهة المستخدم: بحيث كانت نوافذ مجلدات BeOS تدعم إضافة ، و تحرير ، و فرز ،والبحث المفهرس بواسطة أي حقل بيانات وصفية. وكان هذا مفيدا للغاية لتنظيم الملفات الصوتية مثل MP3.
بالرجوع لعام 1996 ، كانت قلة من الناس تستخدم ويندوزNT ونظام NTFS ، لذلك وبسبب دعم النظام لكل من 64-بت و سجل التغييرات وخاصية البيانات الوصفية المتقدمة عكس انطباعا بأن BeOS نظام تشغيلي متقدم. ومما يؤسف له بأن شركة Be, Inc. لم تتمكن من الحصول على نموذج تجاري محتمل لتسويق نظامها التشغيلي ، وبعد كارثة "تحول التركيز" على الأدوات المختصة بشبكة الانترنت مثل Sony eVilla ، نفدت أموال الشركة وتم بيعها لاحقا لشركة Palm عام 2001.
ماك OS X و HFS+ أحد أسباب افلاس شركة Be.Inc. هو اعتماد جين لويس على شركته القديمة - شركة Apple - لإنقاذه عن طريق شراء BeOS لاستخدامها لنظامها التشغيلي المقبل. لم يستمر نظام Apple's Mac التقليدي طويلا. بحيث كان كل من افتقارالنظام لحماية الذاكرة ، وتخصيص الذاكرة التلقائي ، وتعدد المهام التحفظي بدأت تؤذي الشركة بصورة سيئة ، وحتى البديل الداخلي لشركة أبل ،Copland، تفكك في كومة من الأحشاء اللزجة ، مما حدا بالشركة أن تذهب للتسوق والبحث عن بديل. كان كل من Solaris و BeOS وحتى نظام ويندوز NT المبغوض في تنافس من أجل الجائزة وكان نظام BeOS المرشح الرئيسي. قال جاسي حينها أنه "يمسك بأبل من منطقة حساسة ، وسيتابع الضغط حتى تتأذى" .
لكنه ضغط بقوة قليلا. فقام شخص من شركة Apple باجراء مكالمة لستيف جوبس في شركة NeXT أفصبحت البقية مجرد تاريخ. رجع ستيف لشركة Apple ممتطيا جواده الأبيض وكما أحضر معه فريق NeXTstep. وبعد بعض الغموض الذي أحاط بشركة Apple في كونها هل ستعرض كل من نظام ماكنتوش التقليدي Mac OS ونظام التشغيل الراقي المسمى Rhapsody ، سيطر ستيف سيطرة كاملة وقرر دمج النظامين. لذلك تم ولادة نظام Mac OS X.
لم تكن عملية الدمج جميلة بالكامل. نواة نظام NeXT كانت مبنية على Mach ، وهي بحد ذاتها كانت قد أصبحت متورطة مع نظام BSD Unix في ماضيهن الأكاديمي. اعتبر نظام يونكس سطر الأوامر أمرا حيويا بينما تحاشى ذلك نظام MacOS. استخدم نظام يونكس امتدادات الملفات التقليدية لتحديد أنواع الملفات ، بينما أخفى MacOS هذه المعلومة في ملف فرع الموارد. وأخيرا كان UFS نظام ملفات يونكس ، بينما اعتمد نظام MacOS على HFS+. كان اختيار أي جانب تقوم بدعمه دائما بمثابة معركة.
وبالنسبة لبعض هذه المعارك ، فاز فريق NeXT . اعتبر امتدادات الملفات "طريقة جديدة" لتحديد أنواع الملفات. وبالنسبة للإصدار الأول من OS X يتم الطلب من المستخدم الاختيار بين كل من نظام UFS وHFS+ عند تثبيت النظام على قرص صلب جديد. ومع ذلك ولأسباب التوافقية أو الملائمة ، يتم اختيار نظام HFS+ كنظام افتراضي. كما أنه لا يوصي باختيار نظام UFS بسبب حساسيته لحالة الأحرف ، وبالتالي سيؤدي لتعطيل بعض البرامج الحساسة بالنسبة لتسمية الملفات.
وبمرور الوقت ، تضاؤل تأثير فريق NeXT ، كما تم اعادة النظر في بعض القرارات المتشددة. تم التخلي عن دعم UFS في ليبورد ، الإصدارة الأخيرة من نظام OS X. كما لم تعد امتدادات الملفات إلزامية برغم دعم النظام لها.
كانت لا تزال هناك مسألة جلب نظام HFS+ للمعايير الأكثر حداثة. في نظام OS X 10.2 المسمى جاكور اضيف السجل التغيرات لنظام التشغيل ، على الرغم من أنه كان معطلا بصورة افتراضية ولا يمكن تفعيله إلا عن طريق سطر الأوامر. ولكن تم تفعيله بصورة افتراضية في الإصدارة 10.3 (بانثر). قامت شركة Apple أيضا باستإجار دومينيك جيامباولو ، المبتكر المساعد لنظام BFS ، والذي عمل لاضافة بيانات وصفية متقدمة ، توثيق ، والتطبيق المبدئي لكل من Spotlight و FSEvents. وأخيرا ، تم إضافة خاصية الوصول لأنظمة NTFS في نظام Mac OS X Server 10.4.
نظام ZFS ومستقبل أنظمة الملفات يتساءل كثير من الناس من عدم استبدال شركة Apple لنظام HFS+ بنظام آخر أحدث وأكثر جاذبية ، مثل ZFS ، نظام شركة Sun. إن نظام ملفات Zettabyte ، تم الإعلان عنه عام 2004 ، هو نظام 128 بت والذي يدعم بدوره ملفات بأحجام خيالية (16 exabytes) وحجم أقصى سخيف حقا يعادل 256 zettabytes كحجم وصول أقصى لنظام الملفات. قائد المشروع جيف بونويك قال أن "مليء نظام ملفات 128-bit يتجاوز مقدار حدود التخزين المتعارف عليها. فأنت لا تستطيع ملء بركة تخزينية 128-بت من دون غلي المحيطات." ومعنى ذلك حرفيا بأنك حتما بحاجة لجهاز حاسوب مصنوع من طاقة خالصة ليطلق طاقة كافية ليرفع درجة حرارة جميع المحيطات لدرجة الغليان ، وبذلك تستطيع ملء حدود نظام ملفات 128-بت. ويبدو أنه من المستبعد أن يقوم أي شخص في أي وقت قريب ببناء نظام ملفات 256-بت .
يملك نظام ZFS أيضا طريقة جديدة للتعامل مع الهم القديم لتقسيمات القرص المتعددة. بحيث يقوم النظام ببناء مستودعات تخزينية افتراضية تدعى zpools ، بحيث تبدو جميع تقسيمات القرص الصلب مرتبطة بجزء واحد عملاق. يمكن أن ترتب السواقات على شاكلة RAID افتراضية متعددة ، والتي يمكن بعد ذلك أن تعالج نفسها بنفسها في حالة تلف البيانات في بعض السواقات. كما يمكن أيضا لنظام ZFS أن يأخذ لقطات لكل تغيير يجرى لملف ما ، ويقوم بحفظ الفرق فقط ؛ لا يمكن لأن بيانات أن تضيع.
هناك العديد من الميزات الخيالية لنظام ZFS ، بحيث يقوم بكل شيء ما عدا صنع عشائك ، فلماذا لم تقم شركة Apple بادراجه ضمن نظام Mac OS X؟
جزء من المشكلة هو أن نظام ZFS ما زال في طور النضوج ، وشركة Sun لا تزال تحل المشاكل التي فيه . لذلك ، حتى لو تم إصلاح جميع العلل ، فان انتقال المستخدم كليا إلى نظام ملفات جديد يعد بحد ذاته مهمة شاقة.
يتوقع من نظم الملفات أن تكون موثوقة تماما ، و يحتفظ المستخدمون عادة بأقراص مهيئة بواسطة أنظمة الملفات القديمة ، تمكنت شركة مايكروسوفت من نقل بعض مستخدميها من نظام FAT لنظام NTFS باستخدام أداة التحويل المدمجة بنظام ويندوز، ولكن في الحقيقة تمت علمية الانتقال عن طريق الاستنزاف ؛ بعد أن تخلص المستخدمين من أجهزة عصر ويندوز 98 واستبدلوها بأجهزة جديدة مجهزة بنظام XP. لا يزال نظام FAT يطاردنا حتى اليوم ، إذ أن معظم أقراص الفلاش مهيئة على نظام FAT32. لماذا؟ لأنه يعتبر أحد أقدم أنظمة الملفات المتوفرة ، كما أنه أسهلها تطبيقا.
من السهل في كثير من الأحيان الابقاء على استخدام نظام ملفات راسخ ، حتى عندما تكون تكلفة الانتقال إلى نظام ملفات أحدث في الظاهر "مجانية" . لنأخذ لينكس على سبيل المثال ، وهو نظام مفتوح المصدر بكل معنى الكلمة ؛ وهو يسمح لأي شخص كان بكتابة نظام ملفات جديد - وهو مفيد بحد ذاته- فعلى الرغم من المحاولات الباسلة الرامية لتحديد ReiserFS كمعيار جديد. والتفوق في القياسات لبعض الانظمة مثل XFS ، فإن أغلب مستخدمي لينكس لا يزالوا يعتمدوا على نظام ملفات ext3. نظام ملفات ext3 ليس بجديد ، وليس بنظام فائق السرعة ولا يملك أي جاذبية ولن يقوم بإعداد عشائك ، ولكنه في المقابل موثوق وصادق ، وهذا هو ما يهم المستخدمين بالمقام الأول.
حاولت شركة مايكروسوفت في الآونة الأخيرة إعادة نشر فكرة نظام ملفات BeOS المبني على قاعدة البيانات مع نظام WinFS ، والذي كان من المقرر أصلا أن يكون مدرجا ضمن ويندوز فيستا. بيد أن التأخير في إطلاق إصدارة فيستا تسبب في إجبار مايكروسوفت على حذف نظام WinFS من النظام التشغيلي وبدلا من ذلك قامت بنقله كقسم اختياري في برنامج قاعدة بيانات SQL. يبقى مستقبل نظام WinFS مظلما ، ولكن يمكن أن تحاول شركة مايكروسوفت بإدراجه ضمن إصدارة قادمة من نظام ويندوز.
من المرجح أن يبقى نظام NTFS لبعض الوقت ، وببساطة خارج القصور الذاتي. كما سيحاول أيضا نظام HFS+ أن يشق طريقه لبضع سنوات. حتى نظام FAT سيبقى في سواقة الفلاش ، يذكرنا بشبح CP/M بعد فترة طويلة بحيث نسي كل شخص ماذا كان هذا في السابق.
وفي حين قد لا تبدو نظم الملفات بحد ذاتها مثيرة ، ولكن يخبرنا تاريخها حكاية كيف تطورت أجهزة الحاسب وأنظمة التشغيل على مر السنين. كما أن مقولة "عن طريق أعماله ، ستعرف ماهيته" تنطبق لكل من البشر وأنظمة الملفات. عن طريق معرفة طريقة تخزين النظام التشغيلي لملف وضيع ، ستقدم لمحة لتقييدات وطموحات مصمميه.
هذه المقالة تأتي في ثلاثة أجزاء: الجزء الأول الجزء الثاني الجزء الثالث

Comments