graph TD A[التطبيقات البرمجية <br> Application Programs] A --> B[نظام التشغيل <br> Operating System] B --> C[المعدن <br> Hardware] C --> D[وحدة المعالجة المركزية <br> CPU] C --> E[أجهزة الإدخال والإخراج <br> I/O Devices] C --> F[الذاكرة <br> Memory] style A fill:#f9f,stroke:#333,stroke-width:2px style B fill:#bbf,stroke:#333,stroke-width:2px style C fill:#ddf,stroke:#333,stroke-width:2px style D fill:#fdd,stroke:#333,stroke-width:2px style E fill:#fdd,stroke:#333,stroke-width:2px style F fill:#fdd,stroke:#333,stroke-width:2px
2 المقدمة الثانية: جهاز الحاسب
رغم تعقيد الحواسيب اليوم، فهي ترجع إلى معمارية فون نويمان (بالإنجليزية: Von Neumann architecture) وهي مجموعة من القواعد الأساسية وضعها العالم الرياضي جون فون نويمان ومعاونوه عام 1945م وتُستعمل حتى الأن في تصميم الحاسبات.
وحدة المعالجة المركزية
وحدة المعالجة المركزية (Central Processing Unit - CPU) وهي التي يُعبأ فيها البرنامج المترجَم ليتم تنفيذه. وتتكون من شيئين:
الأول: وحدة التحكم وهي التي تتحكم في سيْر العمليات:
- حين نريد أن نكرر عمليَّةً ما عدة مرات، أو نريد أن نعلق تنفيذ عمليَّة ما بشرط
- حين نريد القراءة أو الكتابة من وإلى خارج وحدة المعالجة المركزيَّة
الثاني: وحدة الحساب والمنطق تنفذ تعليمات المنطق الرقمي كالجمع والطرح والمقارنة والرجوع ونحو ذلك.
أجهزة الإدخال والإخراج
وحتى يكون للبرنامج فائدة؛ فلا بُدَّ له من منفَذٍ تدخل منه المعطيات من الواقع، ومنفذٍ آخر تخرجُ منه نتائج معالجته. وقد اصطلح الناس على الاختصار I / O إشارة إلى الإنجليزية Input / Output لهذين الأمرين. فمن ذلك:
- جهاز إدخال: لوحة المفاتيح (Keyboard)، والمؤشر (Mouse)، والكاميرا، ولاقط الصوت
- جهاز إخراج: الطابعة، والسماعات، والشاشة
- جهاز إدخال وإخراج: جهاز التخزين الدائم الذي تُحفظ فيه الملفات، ومِقبَس الشبكة الذي يتصل بالإنترنت (وبالتالي يتصل بالحواسيب الآخرى)
ويصوِّرُها نظام التشغيل للغة البرمجة على أنها ملفات (Files) مثل سائر الملفات.
- فالإدخال يكون بالقراءة منها بالأمر:
read
- والإخراج يكون بالكتابة عليها بالأمر:
write
وقد رأينا عملية: print()
حيث هي أمر بالكتابة في الملف الذي يمثِّل النافذة المتصل بها البرنامج.
الذاكرة
أما الذاكرة فتحمل البرنامج المترجَم ليتمَّ إدخاله لوحدة المعالجة، وكذلك تحمل البيانات التي نريد معالجتها، والنتائج الجزئية بين عمليَّة والتي بعدها، والنتائج النهائيَّة؛ ربما إلى حين كتابتها في الخارج.
نظام التشغيل
ويتولى نظام التشغيل إدارة الموارد من ملفات، وأجهزة إدخال وإخراج، وذاكرة ومعالجة؛ بين الجهاز (المعدن) والبرمجيات (المنطق).
- فالجهاز له ذاكرة مشتركة يتولى نظام التشغيل توزيعها بين البرامج بحيث لا يتعدَّى برنامجٌ حدوده إلى آخر؛ لأن ذلك يسبب إشكاليات لا يمكن حلها. وإذا انتهى منها برنامجٌ أعادها لنظام التشغيل ليتصرف بها.
- وله معالج مركزي؛ يتولى تشغيل البرامج عليه جدولٌ يضعه نظام التشغيل ويسيِّر البرامج عليه.
- وهكذا في بقية الموارد من أجهزة إخراج وإدخال.
خلاصة
تبيَّن لنا أن الجهاز لا يكون مفيدًا إلا باتصاله بالعالَم المحيط به. وذلك يكون بأجهزة الإدخال للنظر في معطياته، وبأجهزة الإخراج للتأثير فيه. والمعالجةُ هي محوَر ذلك كله.