اقرأ في هذا المقال
إذا كان الكمبيوتر قادر على حل مجموعة واسعة من المشكلات، فيجب أن يكون قادر على تنفيذ برامج مكتوبة بلغات مختلفة، من (FORTRAN وC) إلى (Lisp وProlog)، تعلمنا البرمجة أنّه عندما تكون المشكلة كبيرة، يجب علينا تقسيمها واستخدام نهج “فرق تسد” (divide and conquer)، في البرمجة، نقسم المشكلة إلى وحدات ثمّ نصمم كل وحدة على حدة، تؤدي كل وحدة مهمة محددة وتحتاج الوحدات النمطية فقط إلى معرفة كيفية التفاعل مع الوحدات الأخرى للاستفادة منها.
تعريف التسلسل الهرمي لمستوى نظام الكمبيوتر
التسلسل الهرمي لمستوى نظام الكمبيوتر هو مزيج من المستويات المختلفة التي تربط الكمبيوتر بالمستخدم والتي تستخدم الكمبيوتر، كما يصف كيفية تنفيذ الأنشطة الحسابية على الكمبيوتر ويظهر جميع العناصر المستخدمة في مستويات مختلفة من النظام.
يمكن التعامل مع تنظيم نظام الكمبيوتر بطريقة مماثلة، من خلال مبدأ التجريد، يمكننا أن نتخيل أنّ الكمبيوتر يبنى من تسلسل هرمي للمستويات، حيث يكون لكل مستوى وظيفة محددة ويتواجد كآلة افتراضية مميزة، نحن نطلق على الكمبيوتر الافتراضي في كل مستوى آلة افتراضية (virtual machine).
ينفذ الجهاز الافتراضي لكل مستوى مجموعة التعليمات الخاصة به، ويستدعي الأجهزة في المستويات الأدنى لتنفيذ المهام عند الضرورة، من خلال دراسة تنظيم الكمبيوتر، سترى الأساس المنطقي وراء تقسيم التسلسل الهرمي، وكذلك كيفية تنفيذ هذه الطبقات والتفاعل مع بعضها البعض.
مكونات التسلسل الهرمي لمستوى نظام الكمبيوتر
يتكون التسلسل الهرمي لمستوى نظام الكمبيوتر من سبعة مستويات:
تنفيذ البرامج (Executable Programs) | المستخدم (User) | Level 6 |
C++ , Java | اللغات عالية المستوى (High level language) | Level 5 |
كود التجميع (Assembly Code) | لغة التجميع (Assembly language) | Level 4 |
نظام التشغيل (Operating system) | برنامج النظام (System Software) | Level 3 |
معمارية مجموعة التعليمات (instruction set architecture) | الآلة (Machine) | Level 2 |
الكود الصغير (Microcode) | التحكم (Control) | Level 1 |
الدوائر والبوابات (Circuits, gates) | المنطق الرقمي (Digital Logic) | Level 0 |
شرح التسلسل الهرمي لمستوى نظام الكمبيوتر
المستوى Level-0
يتعلق بالمنطق الرقمي، المنطق الرقمي هو أساس الحوسبة الرقمية ويوفر فهمًا أساسيًا لكيفية اتصال الدوائر والأجهزة داخل الكمبيوتر، يتكون من دوائر وبوابات مختلفة وما إلى ذلك، هذه هي اللبنات الأساسية، تطبيقات المنطق الرياضي المشتركة لجميع أنظمة الكمبيوتر.
المستوى Level-1
هذا المستوى مرتبط بالتحكم، التحكم هو المستوى الذي يستخدم فيه الرمز الصغير في النظام، يتم تضمين وحدات التحكم في هذا المستوى من نظام الكمبيوتر، وهو المكان الذي تتأكد فيه وحدة التحكم من أنّ التعليمات قد تمّ فك تشفيرها وتنفيذها بشكل صحيح وأنّ البيانات يتم نقلها أينما ومتى يجب أن تكون، تفسر وحدة التحكم تعليمات الآلة التي تمّ تمريرها إليها، واحدة تلو الأخرى، من المستوى أعلاه، ممّا يؤدي إلى تنفيذ الإجراءات المطلوبة.
المستوى Level-2
هذا المستوى يتكون من آلات، يتم استخدام أنواع مختلفة من الأجهزة في نظام الكمبيوتر لأداء أنواع مختلفة من الأنشطة، يحتوي على بنية مجموعة التعليمات، بنية مجموعة التعليمات (ISA)، أو مستوى الآلة، من لغة الآلة التي تتعرف عليها البنية الخاصة لنظام الكمبيوتر، يمكن تنفيذ البرامج المكتوبة بلغة الآلة الحقيقية للكمبيوتر على جهاز كمبيوتر متصل مباشرة عن طريق الدوائر الإلكترونية دون أي مترجمين أو مجمعين.
المستوى Level-3
برمجيات النظام هي جزء من هذا المستوى، برامج النظام تتكون من أنواع مختلفة، تساعد برامج النظام بشكل أساسي في تشغيل العملية وتؤسس الاتصال بين الأجهزة وواجهة المستخدم (user interface)، قد يتكون من نظام التشغيل (operating system)، رمز (library code)، وغيرها، هذا المستوى مسؤول عن البرمجة المتعددة، وحماية الذاكرة، ومزامنة العمليات، والعديد من الوظائف الهامة الأخرى، في كثير من الأحيان، يتم تمرير التعليمات المترجمة من لغة التجميع إلى لغة الآلة عبر هذا المستوى دون تعديل.
المستوى Level-4
لغة التجميع (Assembly language) هي المستوى التالي لنظام الكمبيوتر، لا يفهم الجهاز سوى لغة التجميع، وبالتالي يتم تغيير جميع اللغات عالية المستوى في لغة التجميع بالترتيب، وتتم كتابة كود التجميع (Assembly code) لذلك، هذه ترجمة فردية، ممّا يعني أنّ تعليمة لغة تجميع واحدة تُترجم إلى تعليم لغة آلة واحد بالضبط، من خلال وجود مستويات منفصلة، نقوم بتقليل الفجوة الدلالية بين لغة عالية المستوى، مثل (C ++)، ولغة الآلة الفعلية، التي تتكون من (0 و1).
المستوى Level-5
يحتوي هذا المستوى من النظام على لغة عالية المستوى، تتكون اللغة عالية المستوى من (C ++ وJava وFORTRAN) والعديد من اللغات الأخرى، هذه هي اللغة التي يعطي المستخدم الأمر بها، يجب ترجمة هذه اللغات “باستخدام مترجم أو مترجم فوري” (compiler or an interpreter)، إلى لغة يمكن للآلة فهمها.
يتم ترجمة اللغات المجمعة إلى لغة التجميع ثمّ يتم تجميعها في كود الآلة (machine code)، “يتم ترجمتها إلى المستوى الأدنى التالي”، لا يرى المستخدم في هذا المستوى سوى القليل جدًا من المستويات الأدنى، على الرغم من أنّ المبرمج يجب أن يعرف أنواع البيانات والتعليمات المتاحة لهذه الأنواع، فإنّه لا يحتاج إلى معرفة كيفية تنفيذ هذه الأنواع بالفعل.
المستوى Level-6
هذا هو المستوى الأخير من التسلسل الهرمي لنظام الكمبيوتر، هذا المستوى يتكون من المستخدمين والبرامج القابلة للتنفيذ، أي هو مستوى المستخدم من التطبيقات وهو المستوى الذي يعرفه الجميع، في هذا المستوى، نقوم بتشغيل برامج مثل برامج معالجة النصوص أو حزم الرسومات أو الألعاب، المستويات الأدنى منه غير مرئية تقريبًا من مستوى المستخدم.