التجريدات في الحوسبة

مكتمل

أجهزة الكمبيوتر الحديثة هي من بين أكثر بنيات من صنع الإنسان تقدمًا. هذه الهياكل عادة معقدة جدًا. وينبع هذا التعقيد من دمج شرائح السيليكون المختلفة، مثل المعالجات والذاكرات والأقراص وشاشات العرض ولوحات المفاتيح والفأرات وواجهات الشبكة، والتي يتم تشغيل البرامج وتقديم الخدمات عليها. مفتاح إدارة التعقيد في أنظمة الكمبيوتر هو تقسيم مكونات النظام إلى مستويات من التجريدات مفصولة بواجهات محددة جيدًا.

مستويات التجريدات

الجانب الأول من إدارة تعقيد الكمبيوتر هو إنشاء تجريدات لمكونات الكمبيوتر. التجريد المعقول لمكون سوف يخفي العديد من التفاصيل ويكشف فقط الميزات الأساسية للمكون. على سبيل المثال، البوابات المنطقية هي تجريد مبني على الدوائر الإلكترونية؛ البوابات الثنائية هي التجريد مبني على البوابات؛ لغات الجهاز هي تجريد مبني على ثنائي؛ لغات البرمجة هي تجريد مبني على لغات الجهاز؛ وأنظمة التشغيل، جنبًا إلى جنب مع التطبيقات المرتبطة بها، هي تجريد بني على لغات البرمجة. التجريد الآخر الذي يفهمه كل مستخدم للكمبيوتر تقريبًا ويستخدمه هو الملف. الملفات هي تجريدات للأقراص. كما هو موضح في الشكل 5، يتم تجريد تفاصيل القرص الثابت من قبل نظام التشغيل بحيث يظهر تخزين القرص للتطبيقات كمجموعة من الملفات ذات الحجم المتغير. وبالتالي، لا يحتاج المبرمجون إلى القلق بشأن مواقع وأحجام الأسطوانات والقطاعات والمسارات أو تخصيصات النطاق الترددي في وحدات التحكم بالقرص. يمكنهم ببساطة إنشاء الملفات وقراءتها وكتابتها دون معرفة الطريقة التي يتم بها إنشاء القرص الثابت أو تنظيمه.

Files are abstractions of disks.

الشكل 5: الملفات هي تجريدات للأقراص

ومن الأمثلة الشائعة الأخرى على التجريد هذه العملية. العمليات هي تجريدات لـ CPUs وللذاكرات. وبالتالي، لا يحتاج المبرمجون إلى القلق بشأن ما إذا كانت عملياتها سوف تحتكر الـ CPU أو تستهلك كل الذاكرة. يُنشئ نظام التشغيل ويدير جميع عمليات المستخدم دون أي تدخل من المستخدمين. كما يتم توفير تجريدات لشاشات العرض بواسطة حزم الرسم والنوافذ. يتم تجريد نقرات الماوس كاستدعاءات لوظائف البرنامج. يتم تجريد أحداث Keydown في لوحات المفاتيح كإدخالات للأحرف. وأخيرًا، تتضمن تجريدات الشبكات طبقات/بروتوكولات، مثل IP وUDP وTCP. كما هو مبين في الشكل 6، تقوم الأنظمة الموزعة (مثل السحابة) على طبقات الشبكة وتنطوي على طبقات إضافية، مثل مآخذ التوصيل، استدعاءات الأسلوب عن بعد (RMIs)، واستدعاءات الإجراءات عن بعد (RPCs). وباختصار، فإن القدرة على تجريد مكونات النظام تمكن من تبسيط تصميم وبرمجة واستخدام أنظمة الكمبيوتر.

Abstraction layers in distributed systems.

الشكل 6: طبقات التجريد في الأنظمة الموزعة

وتحقيقا لهذه الغاية، نلاحظ أن التجريدات يمكن تطبيقها على مستوى الأجهزة أو البرامج. على مستوى الأجهزة، تكون المكونات فعلية (مثل CPU وRAM). وعلى العكس، فإن المكونات على مستوى البرامج، تكون المكونات منطقية (مثل RMI وRPC). في هذه الوحدة، نحن مهتمون أكثر بالتجريدات على مستوى البرامج أو بالقرب من مستويات الأجهزة/البرامج.