إلى كم تنقسم مكونات الحاسوب؟
تنقسم مكونات الحاسوب إلى قسمين رئيسيين:
واجهة التوصيل (حوسبة)في حقل علم الحاسوب، واجهة التوصيل هي أداة ومفهوم يشيران إلى نقطة تفاعل بين المكونات ويمكن تطبيقها على مستوى كل من عتاد الحاسوب وبرمجية الحاسوب. ويسمح هذا للمكون، سواء أكان قطعة عتاد حاسوب مثل بطاقة العرض المرئي أو قطعة من برمجية مثل متصفح الإنترنت بالعمل بشكل مستقل، بينما يتم استخدام واجهات التوصيل للاتصال بالمكونات الأخرى عن طريق نظام الإدخال/الإخراج وأي ميثاق (بروتوكول) ذي صلة.
وبالإضافة إلى واجهات توصيل عتاد الحاسوب والبرمجيات، قد تشير واجهة توصيل الحوسبة إلى وسائل الاتصال بين الحاسوب والمستخدم عن طريق استخدام أجهزة الملحقات مثل شاشة العرض أو لوحة المفاتيح أو واجهة توصيل مزودة بـ إنترنت عن طريق بروتوكول الإنترنت وأي نقطة اتصال أخرى تشتمل على حاسوب.
ربما يشير مصطلح واجهة توصيل برمجية إلى مجموعة من الأنواع المختلفة من واجهات التوصيل بـ"مستويات" مختلفة: ربما يتصل أي نظام تشغيل بقطع من عتاد الحاسوب أو البرمجيات التطبيقية أوبرامج الحاسوب التي تعمل على نظام تشغيل قد يحتاج للتفاعل عن طريق التدفقات، وقد تحتاج الكائنات في أي تطبيق في البرامج كائنية المنحى إلى التفاعل عن طريق الأساليب.
توفر قطعة البرمجية الوصول إلى موارد الحاسوب (مثل الذاكرة ووحدة المعالجة المركزية والتخزين وما إلى ذلك) عن طريق نظام الحاسوب الأساسي الخاص بها؛ وقد يكون لتوفر هذه الموارد للبرمجيات الأخرى تشعبات كبيرة – أحيانًا كارثية - فيما يتعلق بوظائفها واستقرارها. والمبدأ الأساسي للتصميم هو منع الوصول إلى كافة الموارد افتراضيًا، مما يسمح بالوصول فقط من خلال نقاط دخول محددة جيدًا، ونعني بذلك واجهات التوصيل.
ويمكن أن تشتمل أنواع الوصول التي توفرها واجهات الوصول بين مكونات البرمجيات على: الثوابت وأنواع البيانات وأنواع الإجراءات ومواصفات الاستثناء وتواقيع الأساليب. وقد يكون من المفيد في بعض الحالات تحديد [المتغيرات] العامة كجزء من واجهة التوصيل. كما تحدد في الغالب وظائف هذه الإجراءات والأساليب، سواء عن طريق التعليقات أو (في بعض اللغات التجريبية) عن طريق التأكيدات والشروط المسبقة المنطقية الرسمية.