أقومُ بتشغيل الحاسوب المحمول. افتحُ ملف هذه المقالة. أبدأ الكتابة: تظهرُ الحروف مع كل ضغطة على المفاتيح لتشكّل الكلمات والجمل والفقرات، احفظُ الملف، ثمّ أعودُ للقراءة.
أحرّكُ المؤشر لتعديل النص، حذف ونقل البعض، كتابة المزيد. أحفظُ الملف، وانتقلُ إلى إعادة القراءة، وأعيدُ التعديل حتى انتهاء المقال، وعندها أقومُ برفعه على موقعنا على الإنترنت.
هذا ما أراه من الأحداث التي تجري على جهاز الحاسوب الخاص بي خلال كتابتي هذه المقالة. أنا على علم بأن وراء كلّ من هذه الأحداث عمليات معقدة تحدث، من برنامج تحرير النصوص إلى نظام تشغيل الحاسوب والرموز التي تترجَم بين البرمجيات والقطع الإلكترونية.
يكمن خلفها في نهاية المطاف سلاسل من أعداد 0 و1، تتم معالجتها وتخزينها كسلاسل من الأرقام الثنائية، تُخزَّن فيزيائيًا في داراتِ الحاسوب.
الحواسيب هي واجهة بين النظرية والواقع المادي، فهي تعمل على المستوى النظري (لغات البرمجة والبيانات)، وعلى المستوى المادي (القطع الإلكترونية). فهي ذروة الاكتشافات في الفيزياء والهندسة والرياضيات.
إذاً أين يبدأ وينتهي مجال كل مستوى منهم؟
مفهوم الحدث:
ما يميز علم الحاسوب عن الفيزياء هو مفهوم الحدث.
يقول ليزلي لامبورت (الباحث الرئيس في شركة مايكروسوفت للبحوث والفائز بجائزة تورينج سنة 2013): «لفهم هذا الاختلاف انظر كيف يمكن لعالم الحاسوب والفيزياء شرح حركة (فليب فلوب-flip flop) وهي الدارة التي تستخدم لتخزين بت واحد من البيانات التي تمثل إمّا صفر أو واحد، ويمكن أن تتغير بين هاتين القيمتين.
ويقول لامبورت: «لو كنتُ فيزيائيًّا لوضعت مقياس الذبذبات على حركة (فليب فلوب) وسترى أن المقياس ليس صفرًا، بل قريبٌ من الصفر، وربما يتذبذب قليلًا.
(مقياس الذبذبات هو جهاز يقيس تغير جهد الدارة مع مرور الوقت، ويرسم مخطط يمثل ذلك التغير على الشاشة)».
ثم عندما تبدأ الدارة بالعمل يبدأ خط المقياس بالارتفاع. وفي النهاية بعد عشرة نانوثانية تقريبًا يستقر.
ينظر الفيزيائي إلى تقلّب الدارة باعتباره عملية فيزيائية تحدث باستمرار مع مرور الوقت.
من ناحية أخرى يرى عالم الحاسوب الموضوع بشكل مختلف جدًا: في علم الحاسوب نعتبر أن العملية الفيزيائية التي تتمثل بالتغير من صفر إلى واحد هي حدث موحّد، ومن غير المهم ما يحدث خلال هذه الفترة الزمنية. فإذا لم يكن هناك تفاعل مع أي شيء آخر يحدث خلال تلك الفترة نقول ن هذا الحدث غير قابل للتجزئة.
يهتم علم الحاسوب بهذه الأحداث الغير القابلة للتجزئة. يقول أحد الباحثين: «قد يكون الحدث الغير قابل للتجزئة هو الانتقال في دارة فليب-فلوب، وربما يكون استلام رسالة، وقد يكون عملية الحساب الذي تأخذ عدّة أجزاء من الثانية أو حتى دقيقة.
إذًا النظام الرقمي هو مجموعة من هذه الأحداث الغير قابلة للتقسيم. والأمر الأهم هو أن العمليات منفصلة، كل عملية معزولة عن أي شيء آخر يحدث في النظام».
التجريد العملي
هذا التمثيل هو تجريد من الواقع، لكنه مهمٌّ جدًا.
يقول لامبورت: «نحن لا نصنع الفن، نحن نحاول فهم الأنظمة التي نبنيها. ومستوى التجريد يعتمد على الموضوع الذي يحاول الباحثون فهمه».
ضع في اعتبارك مثال استلام الرسالة. يقول لامبورت: «ينطوي المستوى المادي للأجهزة على إشارات كهربائية تنتشر على طول الأسلاك، يتم استلامها ومعالجتها، وجميع هذه المواضيع الكهربائية غير مهمة».
في الطرف الآخر على مستوى نظام التشغيل، يمكنك النظر للاستلام كحدث واحد: يقول نظام التشغيل: إليك هذه الرسالة، لقد وصلت للتو.
وعلى مستوى البرمجيات يمكنك عرض استلام الرسالة بطرق مختلفة. على سبيل المثال، إذا وصلت الرسالة عبر الإنترنت فإنه قد تم تقسيمها مسبقًا إلى حزم، واستلام الرسالة هو في الواقع مجموعة من الأحداث في مستوى أصغر من ذلك.
أي حدث في علوم الحاسوب هو تجريد للواقع المادي ومستوى التجريد يعتمد على ما نحاول فهمه. ولكن على أي مستوى كان من التجريد، المفهوم الأساسي هو أنه يمكنك عرض الأحداث على أنها منفصلة وغير قابلة للتجزئة.
هذا الفهم للأحداث هو إحدى مساهمات لامبورت الكبيرة في علوم الحاسوب التي حلّت مشكلة الوقت في النظم المنفصلة، ولها أوجه تشابه كبيرة مع النسبية الخاصة لأينشتاين.
- ترجمة: حبيب بدران
- تدقيق: لؤي حاج يوسف
- تحرير: رؤى درخباني