البرمجيات هو اصطلاح يطلق على جميع البرامج اللازمة لتشغيل الحاسوب وتنظيم عمل وحداته المختلفة .
ويشمل هذا التعريف نظم التشغيل (Operating System) , وكذلك البرمجيات المعيارية (ٍٍStandard Software) التي يقوم مصنعو الحاسوب (Computer Manufactures) بأعدادها والتي تمكن المستفيدين (Users)من استغلال عمل الحاسوب على أفضل وجه وكذلك يشمل هذا التغريف البرامج التطبيقية(Applications Programs)التي تلزم لاستخدام الحاسوب ويسمى الشخص الذي يصنع البرنامج المبرمج (Programmer).
هناك ثلاثة أنواع من البرمجيات هي برمجيات النظم و البرمجيات التطبيقية وبرمجيات الاغراض العامة .
برمجيات النظم
يتولى هذا النوع من البرمجيات العديد من التفاصيل إدارة نظام الحاسوب فهناك مثلا برنامج يعرف المفتاح الذي ضغطت عليه في لوحة المفاتيح ويقرر الرمز الذي يحدده ذلك المفتاح ويكون الرمز على شاشة العرض فهذا من برمجيات النظم ومثل آخر هو البرنامج الذي يسمح بإزالة محتويات القرص الممغنط . إن بعض برمجيات النظم تبني داخل الحاسوب وبعضها يخزن على الاقراص الممغنطة ويجب شراؤه بشكل منفصل عن الحاسوب و من هذه البرمجيات لغات البرمجة والمترجمات والمفسرات ونظم التشغيل.
البرمجيات التطبيقية
هذه البرمجيات تطوع الحاسوب من أجل تنفيذ وظائف مفيدة وخاصة مثل معاجة الحسابات باستخدام برنامج المحاسب المثالي وإدارة الجرد وجدولة المواد الدراسية والرسم الهندسي باستخدام برنامج AutoCAD ويتم شراء هذه البرمجيات حسب الطلب من شركات الحاسوب المعنية بالبرمجة .
برمجيات الاغراض العامة
وهي البرمجيات التي يستطيع أي شخص أن يستخدمها ومن برمجيات الاغراض العامة برامج معالج النصوص مثل Word وهو عبارة عن حزمة تطبيقية تساعد المستخدم في تحضير الوثائق كالرسائل والتقارير وهنالك أيضا حزم الجداول الإلكترونية مثل Excel وتستخدم لإدارة جداول الارقام وهناك حزم إدارة قواعد البيانات مثل Access التي تساعد في تنظيم واسترجاع كميات كبيرة من المعلومات وبرامج الرسم مثل برنامج Paint والبرامج الخاص بعمل الشرائح المستخدمة في العرض مثل PowerPoint وبرنامج البريد الالكتروني المستخدم في تبادل الرسائل عبر شبكات الحواسيب
برمجيات النظم
البرمجيات التطبيقية
برمجيات الاغراض العامة
نظم التشغيل
معالجة الحسابات
معالجة الكلمات
لغات البرمجة
إدارة الجرد
الجداول الالكترونية
المترجمات والمفسرات
جدولة المواد الدراسية
النظم الخبيرة
يعرف نظام التشغيل على أنه مجموعة من البرامج التي تتحكم وتشرف وتدعم معدات الحاسوب والحزم التطبيقية ولا يمكن لأي جهاز حاسوب أن يعمل إلا عند توفر نظام التشغيل الذي يحمل من الذاكرة الثانوية (الاقراص الممغنطة)إلى الذاكرة الرئيسية عند تشغيل الجهاز ليبدأ بإدارة العمل في الجهاز ويتكون نظام التشغيل من مجموعة من البرامج المتكاملة تعمل كفريق كل منها يؤدي مهمات معينة برنامج التحكم الرئيسي في نظام التشغيل هو المشرف (Supervisors) ويعرف بالمراقب Monitors أو المنفذ Executive وهو المسؤول عن توجيه النشاطات لجميع أجزاء نظام التشغيل وعند تشغيل الحاسوب لأول مرة فإن المشرف هو أول برنامج يحمل من جهاز إقامة النظام إلى الذاكرة الرئيسية .
وظائف نظم التشغيل
1. تمكين الاتصال بين الحاسوب والمستخدم من خلال واجهة المستخدم التي تكون على شكل أوامر يعطيها المستخدم للجهاز Command based أو على شكل واجهة رسومية وقوائم يختار منها المستخدم الأمر المطلوب Graphical User Interface كما هو الحال في برمجية Windows .
2. وتوزيع المعدات المشتركة على المستخدمين في الشبكة وجدولة استخدامها فإذا كانت هناك طابعة واحدة مع عدة أجهزة مرتبطة مع بعضها البعض عن طريق الشبكة وأراد عدد من المستخدمين طباعة وثائقهم باستخدام الطابعة في الوقت نفسه فإن نظام التشغيل يجدول عملية الطباعة حسب سياسة معينة بحيث يحصل كل مستخدم في النهاية على وثيقة مطبوعة .
3. يسهل الاتصال بين مكونات الحاسوب حيث يسهل حركة التعليمات الداخلية والبيانات بين الاجهزة الطرفية والمعالج والبرامج واجهزة التخزين أي أنه يسهل عمليات الإدخال والإخراج والتخزين الثانوية.
4. الحماية من الأخطاء ومراقبة النظام وإخطار المستخدم في حال الفشل حيث يفحص نظام التشغيل معدات نظام الحاسوب بشكل مستمر ويتم إخطار المستخدم فورا في حالة حدوث أي مشكلة فمثلا عند إعطاء الأمر الطباعة لوثيقة ما والطابعة خالية من الورق تظهر رسالة تخطر المستخدم بعدم إمكانية الطباعة لخلو الطابعة من الورق .
5. جدولة استخدام المصادر واستغلالها بشكل أمثل : حيث أن نظام التشغيل يحدد المهام المطلوبة والمصادر المتوفرة من معالج وذاكرة وأجهزة في كل لحظة زمنية ويوزع عليها المهام المطلوبة بطريقة تزيد من سرعة إنجاز العمل .
6. يتعقب الملفات على الأقراص : فيسهل عمل النسخ الاحتياطية ومسح الملفات وتشكيل الأقراص وتهيئتها للتخزين عليها كما يقوم بفتح الملفات وإغلاقها وتحميلها إلى الذاكرة الرئيسية كما يتعقب نظام التشغيل جدول مواقع الملفات ويحدثه باستمرار .
7. حماية النظام : يسمح نظام التشغيل أو يمنع وصول مستخدم معين إلى نظام الحاسوب أو أي ملف مخزن فيه حسب الصلاحيات المعطاه لهذا المستخدم .
أنواع نظم التشغيل
1. المنفرد المستخدم المنفرد المهمة Single - User , Single - Tasking
أبسط أنواع نظم التشغيل تخدم مستخدما واحدا في الوقت الواحد وهو منفرد المهمة (Single - Tasking) بمعنى آخر ويمكنه أن ينفذ برنامجا واحدا فقط في الوقت الواحد ومن الأمثلة عليه نظنم دوس Ms-Dos .
2. المنفرد المستخدم المتعدد المهمات Single - User , Single - Tasking
تعدد المهمات يدعى أيضا بتعدد البرمجة لديه القدرة على تنفيذ أكثر من برنامج واحد بشكل متزامن حيث تنتقل CPU بسرعة كبيرة وبشكل عشوائي بين المهمات ومن أمثلته نظام OS/2 , Windos95, Windos98 .
3. المتعدد المستخدمين المنفرد المهمة Multi-User, Single-Tasking
وتسمح نظم مالتشغي المتعددة المستخدمين المنفردة المهمة لعدد من الاشخاص أن ينفذ كل منهم برنامجا واحدا في الوقت الواحد ويزود كل مستخدم بطرفيه أو محطة إدخال وإخراج مكونة من لوحة المفاتيح وشاشة عرض تتصل مع الحاسوب المركزي ويسمى هذا التنظيم أيضا بنظام المشاركة الزمنية (Timesharing) وذلك لأن نظام التشغيل يأمر الحاسوب بالنتقال بسرعة كبيرة بين المستخدمين بعد إعطائهم فترات زمنية ثابته لاستخدام CPU وتسمى هذه الفترات بالشرائح الزمنية (Time Slices) وهي قصيرة جدا (حوالي ألوف جزئية من الثانية ) بحيث يتوهم كل مستخدم أنه يمتلك انتباه الحاسوب كلية ومن أمثلة Windows NT .
4. المتعددة المستخدمين المتعددة المهمات Multi-User , Multitasking
وتدمج بعض نظم التشغيل المتطورة فكرة المشاركة بالوقت مع فكرة تعدد المهمات وتسمح هذه النظم لكل مستخدم من عدة مستخدمين أن ينفذ أكثر من عمل مرة واحدة وكما يمكن أن تتخيل فإن نظم التشغيل المتعددة المستخدمين المتعددة المهمات محنكة إلى مدى بعيد وتتطلب حواسيب قوية بشكل عام وغالبا مايشغل نظام التشغيل Unix كنظام تشغيل المتعددة المستخدمين المتعدد المهمات في الحواسيب المصغرة والكبيرة والعملاقة ومن أمثلة عليها : IBM VM , UNIX 0.8 .
5. المتعدد المعالجة Multiprocessing
ينفذ متعدد المعالجة تعليمات عديدة بشكل متواز في نظام حاسوب واحد يمتلك وحدات معاجة مركزية عديدة والأنظمة متعددة المعالجة تنفذ الوظائف فعليا بشكل متواقت (في نفس اللحظة بالضبط ) والميزة الرئيسة لأنظمة تعدد المعالجة هي السرعة ذلك لأن هناك أكثر من CPU متوفرة وبالتالي يمكن معالجة الوظائف أسرع مما لو كان هناك CPU واحدة ومن أمثلة نظام عليها : N-Cube , SUN-OS .
6. الشبكة Networking
ونظم تشغيل الشبكة تمكن عدة حواسيب منفصلة من أن تتصل مع بعضها البعض مما يعطي المستخدمين ميزات امتلاك حواسيب خاصة بهم أثناء السماح لهم بالمشاركة بأجهزة المعدات كمشغلات الأقراص وطابعات الليزر وكذلك البرمجيات وقواعد البيانات ويمكنهم أيضا إرسال واستقبال الرساءل إلى الآخرين عبر الشبكة ومن أمثلته :
Novel NetWare ,Distributed Unix
7. التخزين الافتراضي Virtual Storage
يجب أن يحمل البرنامج في ذاكرة الحاسوب الرئيسية ليتم تنفيذه ولكن ماذا يحدث إذا كان البرنامج كبيرا جدا لا تتسع له الذاكرة المتوفرة أو إذا كان هناك عدة برامج تتسابق على حيز في الذاكرة الرئيسية ؟ تستطيع العديد من نظم تشغيل حل مثل هذه المشاكل بشكل روتيني بدون تدخل المستخدم من خلال استخدام أساليب التخزين الافتراضي . والتخزين الافتراضي (Virtual Storage ) (ويسمى أيضا بالذاكرة الافتراضية (Virtual Memory )) هي إدارة ذاكرة تستخدم منطقة من الذاكرة الافتراضية (كالقرص الصلب) كامتداد للذاكرة الرئيسية . ويتم استبدال أجزاء من البرنامج من الذاكرة الافتراضية إلى الذاكرة الحقيقة (الذاكرة الرئيسة الفعلية ) كلما دعت الحاجة . ومن الامثلة عليه نظام UNIX , IBM VM .
8. الوقت الحقيقي Real - Time
نظم تشغيل الوقت الحقيقي (Real - Time Operating System) تتحكم بالحواسيب التي تتفاعل مع البيئة لتنفيذ العمل بحيث تكون عملية الإدخال والمعالجة في نفس اللحظة مثل أجهزة تخطيط القلب وتصميم هذه للقيام بمهام محددة في فترة زمنية محددة