الانتقال إلى المحتوى

البرمجيات.

IGCSE علوم الحاسوب · الموضوع 4

درس فيديو لهذا الموضوع افتح صفحة الفيديو
13:11

الأجهزة والبرمجيات

هنا حاسوب جديد تماماً. كل جزء مادي يعمل — المعالج، الذاكرة، الشاشة، لوحة المفاتيح. شغله، ولا يحدث شيء. سطح المكتب…

سرد باللغة الإنجليزية · ترجمة مدمجة بالإنجليزية + الصينية

4.1

المعدات والبرمجيات

يتكون نظام الحاسوب من جزأين يعملان معًا.

المعدات هي الأجزاء المادية (وحدة المعالجة المركزية، لوحة المفاتيح)؛ البرمجيات هي البرامج (تطبيقات، نظام تشغيل)
العتاد هو الأجزاء المادية؛ البرمجيات هي البرامج
  • المعدات هي الأجزاء المادية للحاسوب — الأجزاء التي يمكنك لمسها. أمثلة: وحدة المعالجة المركزية، الذاكرة، لوحة المفاتيح، الشاشة والقرص الصلب.
  • البرمجيات هي البرامج التي تحكم الحاسوب وتخبر المعدات بما يجب عليه فعله.

لا يمكن للمعدات القيام بأي شيء مفيد بمفردها. تحتاج البرمجيات إلى معدات لتعمل عليها. كلاهما مطلوب.

لوحة أم حاسوب مع رقائقها ومكاناتها ووصلات توصيلها
اللوحة الأم والأجزاء المتصلة بها هي معدات — الأجزاء المادية التي يمكنك لمسها
نظام تشغيل سطح مكتب على الشاشة
نظام التشغيل هو برنامج — البرامج التي تخبر المعدات بما يجب فعله
مفردات تدريب
English العربية
Hardware/ˈhɑːdweə/ المعدات.
physical/ˈfɪzɪkl/ فيزيائي
Software/ˈsɒftweə/ البرمجيات.
programs/ˈprəʊɡræmz/ البرامج
System software/ˈsɪstəm ˈsɒftweə/ برمجيات النظام
operating system/ˈɒpəreɪtɪŋ ˈsɪstəm/ نظام تشغيل
4.1

أنواع البرمجيات

المنهج
يجب أن يكون المرشحون قادرين على: ملاحظات وإرشادات
1 وصف الفرق بين البرمجيات النظامية والبرمجيات التطبيقية وتقديم أمثلة لكل نوع • البرمجيات النظامية توفر الخدمات التي يحتاجها الحاسوب، بما في ذلك نظام التشغيل والبرمجيات المساعدة • البرمجيات التطبيقية توفر الخدمات التي يحتاجها المستخدم
2 صف دور ووظائف نظام التشغيل الأساسية • بما في ذلك: – إدارة الملفات – معالجة المقاطعات – توفير واجهة – إدارة الأجهزة الطرفية والبرامج التعريفية – إدارة الذاكرة – إدارة تعدد المهام – توفير منصة لتشغيل التطبيقات – توفير الأمان للنظام – إدارة حسابات المستخدمين
3 افهم كيف أن الأجهزة المادية، والبرمجيات الثابتة، ونظام التشغيل ضرورية لتشغيل برمجيات التطبيقات • تُشغل التطبيقات على نظام التشغيل • يُشغل نظام التشغيل البرمجية الثابتة • يقوم مُمهّد الإقلاع (البرمجية الثابتة) بالتشغيل على الأجهزة المادية
4 صف دور ومبدأ عمل المقاطعات • بما في ذلك: – كيفية توليد المقطع – كيفية معالجته باستخدام روتين خدمة المقاطع – ما يحدث كنتيجة للمقاطعات • تشمل المقاطعات البرمجية القسمة على الصفر وحاول عمليتان الوصول إلى نفس موقع الذاكرة • تشمل المقاطعات المادية الضغط على مفتاح في لوحة المفاتيح وتحريك الفأرة

المصدر: منهج كامبريدج الدولي

تنقسم البرمجيات إلى نوعين.

شجرة تقسم البرمجيات إلى برمجيات نظام (نظام تشغيل، أدوات مساعدة، تعريفات، مترجم) وبرمجيات تطبيقية (معالج نصوص، جداول بيانات، قاعدة بيانات، متصفح)
تنقسم البرمجيات إلى برمجيات نظام (تشغيل الحاسوب) وبرمجيات تطبيقية (تمكين المستخدم من إنجاز مهمة)

برمجيات النظام

برمجيات النظام تتحكم في الحاسوب نفسه وتمنح أساساً لتشغيل برامج أخرى. أمثلة:

  • نظام التشغيل (انظر أدناه);
  • المترجم والمربط (أدوات تحول البرامج إلى شكل يمكن للحاسوب تشغيله);
  • تعريف الجهاز — برنامج يسمح لنظام التشغيل بالتحكم في قطعة معدات;
  • البرمجيات المساعدة — أدوات صغيرة تعتني بالحاسوب (على سبيل المثال مضاد الفيروسات، النسخ الاحتياطي، تنظيف القرص).

أسفل نظام التشغيل يوجد البرمجيات الثابتة – برمجيات مخزنة بشكل دائم على ROM أو فلاش تعمل لحظة تشغيل الحاسوب. BIOS ومُحمّل الإقلاع هما برمجيات ثابتة: تفحص المعدات ثم تحمّل نظام التشغيل. لذا ترتبط الطبقات كالتالي معدات ← برمجيات ثابتة ← نظام تشغيل ← برمجيات تطبيقية، حيث يعمل كل طبقة على الطبقة التي أسفلها.

البرمجيات التطبيقية

البرمجيات التطبيقية تمكن المستخدم من إنجاز مهمة مفيدة. أمثلة:

  • برامج معالجة النصوص (كتابة المستندات);
  • برامج الجداول (العمل مع الأرقام في شبكة);
  • نظام إدارة قواعد البيانات (تخزين والبحث في البيانات);
  • متصفح الويب (عرض صفحات الويب).
برمجيات النظام برمجيات تطبيقية
الوظيفة تشغيل وإدارة الحاسوب مساعدة المستخدم في إنجاز مهمة
المستخدم الحاسوب (في الخلفية) المستخدم (مباشرة)
أمثلة نظام التشغيل، التعريفات، الأدوات المساعدة معالج النصوص، المتصفح، الألعاب
4.1

نظام التشغيل

نظام التشغيل (OS) هو برمجيات النظام الرئيسية. يتحكم في الحاسوب بالكامل ويسمح للمعدات، والبرمجيات التطبيقية، والمستخدم بالعمل معًا. بدون نظام تشغيل يكون الحاسوب صعب الاستخدام للغاية.

أربع طبقات متراكبة — المستخدم في الأعلى، ثم برمجيات تطبيقية، ثم نظام تشغيل، ثم معدات في القاعدة
نظام التشغيل يقع بين المعدات والبرمجيات التطبيقية والمستخدم، مما يسمح لهم بالعمل معًا

للنظام العديد من الأدوار:

  • إدارة الملفات — حفظ وفتح وتسمية ونقل وحذف الملفات;
  • معالجة المقاطعات (انظر أدناه)
  • توفير واجهة مستخدم تسمح للمستخدم بالتحكم في جهاز الكمبيوتر;
  • إدارة الذاكرة — تحديد ما يتم الاحتفاظ به في ذاكرة الوصول العشوائي (RAM) وأين يوضعها;
  • إدارة الأجهزة الطرفية ومحفزاتها — التحكم في الأجهزة مثل الطابعات;
  • إدارة تعدد المهام — السماح لعدة برامج بالعمل في نفس الوقت;
  • توفير منصة لتشغيل برمجيات التطبيقات;
  • إدارة الأمن — حسابات المستخدمين، كلمات المرور، وصلاحيات الوصول.
4.1

المقاطعات

الانقطاع هو إشارة تُرسل إلى المعالج لتخبره أن هناك شيئًا يتطلب انتباهه الآن.

قد يأتي الانقطاع من ثلاثة مصادر:

  • مكونات صلبة (الهاردوير) — على سبيل المثال، الضغط على مفتاح، أو نفاد الورق في الطابعة;
  • برمجيات (السوفت وير) — على سبيل المثال، محاولة برنامج القسمة على الصفر;
  • المستخدم — على سبيل المثال، ضغط المستخدم على مفتاح "إلغاء".

عند وصول انقطاع، يتوقف المعالج عما يقوم به، يحفظ موقعه الحالي، ويعالج (يتعامل مع) الانقطاع. وعند الانتهاء، يعود إلى ما كان يقوم به سابقًا. يسمح هذا للكمبيوتر بالاستجابة بسرعة للأحداث الهامة.

دورة: البرنامج الرئيسي يعمل، ثم عند حدوث انقطاع، تحفظ وحدة المعالجة المركزية حالتها، وتشغل روتين خدمة الانقطاع، تستعيد الحالة وتواصل
عند حدوث انقطاع، تحفظ وحدة المعالجة المركزية موقعها الحالي، تشغل روتين خدمة الانقطاع، ثم تستعيد موقعها وتواصل
استكشف

كيف تتعامل الوحدة المعالجة المركزية مع المقاطعة

مرّ بخطوات المقاطعة. توقف CPU عما يقوم به، ويتعامل مع الحدث العاجل، ثم يستكمل بالضبط حيث توقف — وهذا هو الطريقة التي يتعامل بها معالج واحد مع لوحة المفاتيح والطابعة والعداد في آنٍ واحد.

مفردات تدريب
English العربية
interrupt/ˈɪntərʌpt/ انقطاع
processor/ˈprəʊsesə/ المعالج
central processing unit/ˈsentrəl ˈprəʊsesɪŋ ˈjuːnɪt/ وحدة المعالجة المركزية
programming language/ˈprəʊɡræmɪŋ ˈlæŋɡwɪdʒ/ لغة برمجة
high-level language/haɪ ˈlevl ˈlæŋɡwɪdʒ/ لغة عالية المستوى
low-level language/ləʊ ˈlevl ˈlæŋɡwɪdʒ/ لغة منخفضة المستوى
machine code/məˈʃiːn kəʊd/ كود الآلة
assembly language/əˈsemblɪ ˈlæŋɡwɪdʒ/ لغة التجميع
specific/spəˈsɪfɪk/ محددة
translator/trænˈsleɪtə/ مُترجم
4.2

لغات البرمجة

المنهج
يجب أن يكون المرشحون قادرين على: ملاحظات وإرشادات
1 اشرح ما يعنيه مصطلح لغة عالية المستوى ولغة منخفضة المستوى، بما في ذلك مزايا وعيوب كل منهما • تشمل المزايا والعيوب: – سهولة قراءة وكتابة الكود، مثلاً لغة منخفضة المستوى صعبة القراءة – سهولة تصحيح أخطاء الكود – الاستقلالية عن الآلة – التحكم المباشر في الأجهزة المادية
2 افهم أن لغة التجميع هي شكل من أشكال لغات المستوى المنخفض تستخدم رموزاً مختصرة، وأن مبرمج التجميع مطلوب لترجمة برنامج لغة التجميع إلى كود الآلة
3 صف مبدأ عمل المُجمِّع والمفسِّر، بما في ذلك كيفية ترجمة كل منهما للغة عالية المستوى وكيفية الإبلاغ عن الأخطاء • يقوم المُجمِّع بترجمة الكود بالكامل مرة واحدة قبل تنفيذه، مما ينتج عنه ملف قابل للتنفيذ • يقوم المفسِّر بترجمة الكود وتنفيذه سطراً بسطر • يقدم المُجمِّع تقريراً للأخطاء للكود بأكمله إذا تم اكتشاف أخطاء • يتوقف المفسِّر عن التنفيذ عند العثور على خطأ
4 اشرح مزايا وعيوب المُجمِّع والمفسِّر • بما في ذلك فهم أن المفسِّر يُستخدم بشكل رئيسي أثناء تطوير البرنامج، بينما يُستخدم المُجمِّع لترجمة البرنامج النهائي
5 اشرح دور بيئة التطوير المتكاملة (IDE) في كتابة كود البرنامج والوظائف الشائعة التي توفرها • بما في ذلك: – محررات الكود – بيئة وقت التشغيل – المترجمات – تشخيص الأخطاء – الاكتمال التلقائي – التصحيح التلقائي – تنسيق الكود الجميل

المصدر: منهج كامبريدج الدولي

تعالج جميع أجهزة الكمبيوتر البيانات باستخدام وحدة المعالجة المركزية (CPU). لجعل وحدة المعالجة المركزية تقوم بالعمل، يكتب الناس برامج بلغة برمجة. هناك نوعان.

اللغات عالية المستوى

اللغة عالية المستوى تُكتب بكلمات تشبه الإنجليزية قليلاً (على سبيل المثال Python). وهي:

  • سهلة للقراءة والكتابة والإصلاح بواسطة البشر;
  • مستقلة عن الجهاز — يمكن تشغيل نفس البرنامج على أنواع مختلفة من أجهزة الكمبيوتر.

اللغات منخفضة المستوى

اللغة منخفضة المستوى قريبة مما تستخدمه المكونات الصلبة فعليًا. وتتضمن:

  • كود الآلة — تعليمات مكتوبة بنظام ثنائي (0s و1s)، والتي تنفذها وحدة المعالجة المركزية مباشرة;
  • لغة التجميع — كود آلة مكتوب باستخدام رموز كلمات قصيرة (رموز مجزية) بدلاً من الثنائية.

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

ثلاث طبقات متراكبة: لغة عالية المستوى في الأعلى، ثم لغة التجميع، ثم أوامر الآلة في الأسفل
اللغات عالية المستوى قريبة من لغة الإنسان وتعمل على أي جهاز كمبيوتر؛ أما اللغات منخفضة المستوى (لغة التجميع وكود الآلة) فهي قريبة من المكونات الصلبة ومربوطة بنوع واحد من وحدات المعالجة المركزية
استكشف

مختبر مفاهيم الحوسبة.

صنّف الأمثلة المحددة حسب الفكرة الحاسوبية التي تمثلها.

4.2

المترجمات

يمكن لوحدة المعالجة المركزية تشغيل كود الآلة فقط. يجب تحويل برنامج عالي المستوى أولاً إلى كود آلة. البرمجيات التي تقوم بذلك هي المُترجم. توجد ثلاثة أنواع: المُترجم الكامل والمُفسِّر (للأكواد عالية المستوى)، والمُجمِّع (للأكواد منخفضة المستوى).

المترجم (Compiler)

المُترجم الكامل يُترجم الكامل البرنامج إلى كود آلة قبل تشغيله. بعد الترجمة، يمكن تشغيل كود الآلة مرات عديدة دون الحاجة لإعادة الترجمة.

  • تحدث الترجمة مرة واحدة وبشكل كامل;
  • يُبلغ عن جميع الأخطاء معًا، في نهاية عملية الترجمة;
  • البرنامج النهائي يعمل بسرعة ولا يحتاج إلى وجود المُترجم الكامل أثناء التشغيل.

المُفسِّر (Interpreter)

المُفسِّر يُترجم ويشغل البرنامج سطراً تلو الآخر.

  • يتوقف عند أول خطأ يجده، وهو ما يساعد في مرحلة الاختبار;
  • يعمل البرنامج بشكل أبطأ، لأنه يتم ترجمته كل مرة يتم فيها تشغيله;
  • يجب أن يكون المُفسِّر موجودًا في كل مرة يتم فيها تشغيل البرنامج.
المترجم المفسر
الترجمة البرنامج بأكمله دفعة واحدة سطرًا تلو الآخر
الأخطاء تُبلغ جميعها في النهاية يتوقف عند أول خطأ
سرعة البرنامج النهائي أسرع أبطأ
هل هو مطلوب للتشغيل لاحقاً؟ لا نعم

استخدم المُترجم الكامل عندما ترغب في مشاركة برنامج نهائي سريع. استخدم المُفسِّر عندما تكون في مرحلة كتابة واختبار برنامج وتريد اكتشاف الأخطاء بسهولة.

المترجم

المُجمِّع يُترجم برنامج لغة تجميع منخفضة المستوى (مكتوب برموز مجزية مثل LDA، ADD) إلى كود آلة. كل رمز مجزي يصبح تعليمية واحدة من تعليمات الآلة — ترجمة مباشرة من واحد لواحد، على عكس المُترجم الكامل أو المُفسِّر الذي يعمل على الأكواد عالية المستوى.

المُترجم الكامل يترجم برنامجًا كاملاً مرة واحدة إلى كود آلة يعمل عدة مرات، مقابل المُفسِّر الذي يترجم ويشغل سطراً تلو الآخر *المُترجم الكامل يترجم البرنامج كاملاً مرة واحدة إلى كود آلة؛ بينما المُفسِّر يترجم ويشغل سطراً تلو الآخر

مثال محلول. فريق يكتب برنامجًا. أثناء تطويره، يرغبون في العثور على الأخطاء وإصلاحها بسرعة؛ وعند إطلاقه للعملاء، يرغبون في أن يعمل Program بسرعة دون رؤية الكود المصدر. أي مُترجم يناسب كل مرحلة؟ أثناء التطوير، استخدم المُفسِّر: فهو يترجم ويشغل سطراً تلو الآخر ويتوقف عند أول خطأ، مما يجعل定位 الخطأ سهلاً. للإطلاق، استخدم المُترجم الكامل: فهو يترجم البرنامج كاملاً مرة واحدة إلى كود آلة، والذي بدوره يعمل بسرعة بدون وجود المُترجم، ويستلم العميل الملف التنفيذي بدلاً من الكود المصدر. الاثنان ليسا منافسين - حدد المرحلة وقدم السبب، لأن عبارة "المُترجم الكامل أسرع" وحدها لا تمنح نقاطاً.

مفردات تدريب
English العربية
compiler/kəmˈpaɪlə/ مُترجم
linker/ˈlɪŋkə/ المربط
device driver/dɪˈvaɪs ˈdraɪvə/ تعريف الجهاز
utility software/juːˈtɪlɪti ˈsɒftweə/ برامج الأداة
firmware/ˈfɜːmweə/ برمجيات ثابتة
bootloader/ˈbuːtləʊdə/ مُحمّل الإقلاع
Application software/ˌæplɪˈkeɪʃn ˈsɒftweə/ برامج التطبيقات
word processing/wɜːd ˈprəʊsesɪŋ/ معالجة النصوص
spreadsheet/ˈspredʃiːt/ جداول بيانات
database management system/ˈdeɪtəbeɪs ˈmænɪdʒmənt ˈsɪstəm/ نظام إدارة قواعد البيانات
web browser/web ˈbraʊzə/ متصفح ويب
providing a user interface/prəˈvaɪdɪŋ ə ˈjuːzə ˈɪntəfeɪs/ توفير واجهة مستخدم
managing peripherals/ˈmænɪdʒɪŋ pəˈrɪfərəlz/ إدارة الأجهزة الطرفية
managing multitasking/ˈmænɪdʒɪŋ ˈmʌltitæskɪŋ/ إدارة تعدد المهام
providing a platform/prəˈvaɪdɪŋ ə ˈplætfɔːm/ توفير منصة
interpreter/ɪnˈtɜːprɪtə/ مُفسِّر
assembler/əˈsemblə/ مبرمج
integrated development environment/ˈɪntɪɡreɪtɪd dɪˈveləpmənt enˈvaɪrənmənt/ بيئة التطوير المدمجة
code editor/kəʊd ˈedɪtə/ محرر الأكواد
run time environment/rʌn taɪm enˈvaɪrənmənt/ بيئة التشغيل
error diagnostics/ˈerə ˌdaɪəɡˈnɒstɪks/ تشخيص الأخطاء
auto-completion/ˈɔːtəʊ kəmˈpliːʃn/ الاكتمال التلقائي
auto-correction/ˈɔːtəʊ kəˈrekʃn/ التصحيح التلقائي
prettyprinting/ˈpretɪprɪntɪŋ/ تنسيق الجمال
user interface/ˈjuːzə ˈɪntəfeɪs/ واجهة المستخدم
peripherals/pəˈrɪfərəlz/ الأجهزة الطرفية
multitasking/ˈmʌltitæskɪŋ/ متعدد المهام
platform/ˈplætfɔːm/ المنصة
4.2

بيئة التطوير المتكاملة (IDE)

بيئة التطوير المتكاملة (IDE) هي برمجيات تساعدك على كتابة البرامج. تجمع العديد من الأدوات المفيدة في مكان واحد:

  • محرر الأكواد — لإدخال برنامجك;
  • بيئة التشغيل — لتشغيل البرنامج واختباره;
  • المُترجم — مُترجم كامل أو مُفسِّر لتحويل كودك إلى كود آلة;
  • تشخيص الأخطاء — رسائل تساعدك في إيجاد الأخطاء وفهمها;
  • الإكمال التلقائي والتصحيح التلقائي — يكمل المحرر أو يصحح الكود أثناء الكتابة;
  • تنسيق الكود — عرض الكود بشكل مرتب باستخدام الألوان والمسافات البادئة ليكون سهلاً في القراءة.
الكود المصدري في محرر: يجمع بيئة التطوير المتكاملة (IDE) بين المحرر ومصحح الأخطاء وأدوات التشغيل في مكان واحد
الكود المصدري في محرر: يجمع بيئة التطوير المتكاملة (IDE) بين المحرر ومصحح الأخطاء وأدوات التشغيل في مكان واحد
4.2

نصائح للامتحان

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

دروس تفاعلية حول هذا الموضوع

ا-working عليه خطوة بخطوة، مع تمارين تحقق فوري.

أوراق الامتحانات السابقة

المزيد من المواضيع في IGCSE علوم الحاسوب

تسجيل الدخول أو إنشاء حساب

IGCSE, A-Level & AP