انظمة التشغيل
يعرف نظام التشغيل على أنه مجموعة من البرامج التي تتحكم وتشرف وتدعم معدات الحاسوب والحزم التطبيقية ولا يمكن لأي جهاز حاسوب أن يعمل إلا عند توفر نظام التشغيل الذي يحمل من الذاكرة الثانوية (الاقراص الممغنطة)إلى الذاكرة الرئيسية عند تشغيل الجهاز ليبدأ بإدارة العمل في الجهاز ويتكون نظام التشغيل من مجموعة من البرامج المتكاملة تعمل كفريق كل منها يؤدي مهمات معينة برنامج التحكم الرئيسي في نظام التشغيل هو المشرف (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) تتحكم بالحواسيب التي تتفاعل مع البيئة لتنفيذ العمل بحيث تكون عملية الإدخال والمعالجة في نفس اللحظة مثل أجهزة تخطيط القلب وتصميم هذه للقيام بمهام محددة في فترة زمنية محددة
أنواع أنظمة التشغيل الحواسيب:
1- نظام التشغيل يونكس UNIX : وهو أقدم أنظمة التشغيل المعروفة، النظام تجاري وسعر النسخة منه باهظة الثمن، يختص فقط بتشغيل الأجهزة العملاقة والشبكات، وقد ظهرت نسخاً ذات واجهات رسومية تقوم بتشغيل الأجهزة الشخصية طورها مجموعة من طلبة جامعة باركلي أطلق عليها اسم BSD وهو اختصار للجملة Berkeley Software Distribution، ومن أبرز أنواعه الحالية FreeBSD وOpenBSD وهذان النظامان يعمل عليها ما يزيد عن ثلاثة أرباع شبكات ومواقع الإنترنت الحالية.
2- نظام التشغيل دوس DOS: وهو اختصار لمصطلح نظام تشغيل القرص Disk Operating System وهو من الأنظمة القديمة جداً وهناك أنواع كثيرة تعمل على تشغيل الأجهزة ومن أشهرها نظام تشغيل دوس الخاص بشركة IBM الذي كان مخصصاً لتشغيل الأجهزة الشخصية IBM والأجهزة المتوافقة معها ، ثم تولى بل غيتس وشريكه تطوير هذا النظام عام 1981م حيث ظهر أول نظام تشغيل بمسمى MS-DOS فكان نواة شركة ما يكروسوفت. وهو نظام تشغيل مبني على الأوامر النصية المباشرة. وهذا النوع من الأنظمة لا يقبل تشغيل أكثر من تطبيق في نفس الوقت ولا عمل أكثر من شخص على النظام في نفس الوقت.
3- نظام OS/2 : هو نظام تشغيل قامت بتطويره شركة IBM عام 1985م حيث كان مجرد بيئة تشغيل نصية، واعتبر كنظام رسمي للأجهزة الشخصية التي تنتجها الشركة، واستمرت بتطويره بعد فض الشراكة بينها وبين مايكروسوفت، فأعلنت عن أول إصدارة بنظام 32بت في إبريل عام 1992، لكن هذا النظام لم يحض بالشعبية التي توقعتها الشركة، والمكانة التي نالتها ويندوز نظراً لرخص ثمن هذا الأخير وقتئذ، ولإقبال منتجي البرامج والعتاد على دعم أنظمة ويندوز.
4- ويندوز Windows : يعد ويندوز أحد أبرز وأشهر منتجات شركة مايكروسوفت، ظهر لأول مرة عام 1985كواجهة رسومية مساعدة بديلة عن كتابة الأوامر تعمل في بيئة نظام دوس، واستمر كذلك حتى عام 1993حيث ظهر أول نظام تشغيل للشبكات واسمه ويندوز NT وهو نظام التشغيل كخادم لبيئة الشبكات. وفي العام 1995أطلقت شركة مايكروسوفت Windows95 كأول نظام تشغيل مستقل لا يعتمد على نظام MS-DOS وhنقلب معه الحال ليصبح نظام MS-DOS تابعاً لويندوز بعد أن كان العكس، ثم تلاه ويندوز 98عام 1998ونظامي ويندوز ميلينيوم و 2000خلال العام 2000ثم ويندوز XP في 2001، وويندوز 2003المخصص للشبكات الكبيرة عام 2003، وفي مطلع هذا العام 2007أطلقت مايكروسوفت نظام تشغيل ويندوز فيستا.
5- نظمة تشغيل Mac OS X : وهي الأنظمة المخصصة لأجهزة إبل ماكنتوش، وبالمناسبة هذا النظام بني أساساً على شيفرة يونكس BSD والذي يسمح ترخيصه باستخدام برنامج مفتوح المصدر وإغلاقه.
6- نظام التشغيل لينكس Linux : وهو نظام تشغيل مفتوح المصدر تعمل به الأجهزة الشخصية، وقد كان في السابق مجرد بيئة نصية معقدة تعتمد على الأوامر المباشرة أما الآن فأصبح من أسهل الأنظمة استخداماً وأكثرها أماناً. ويوجد حالياً مئات النسخ التي تسمى توزيعات من لينكس، تختلف من حيث القوة والسهولة وأسلوب تركيب البرامج. أشهر أنظمة لينكس Redhat وDebian وSlackware وGentoo وهي التوزيعات الرئيسة التي بنيت عليها الأنظمة المختلفة.
وبطبيعة الحال هذه ليست كل أنظمة التشغيل، لكن أهمها وأشهرها.
الحاسوب أو الحاسب، أو الكمبيوتر هي كلها ألفاظ تشير إلى جهاز إلكتروني يتعامل مع البيانات، و يقوم بمعالجتها وفقاً لتعليمات محددة -برامج- و يخرج المعلومات.تتعدد أنواع الحواسيب من حيث طريقة عملها وحجمها. لا يمكن القول بأن الحاسوب هو اختراع بحد ذاته لأنه كان نتاج الكثير من الابتكارات العلمية و التطبيقات الرياضية. الحاسبات متنوعة، في الواقع إنها آلات معالجة بيانات عالمية . طبقا لفرض Church–Turing فإن حاسب له قدرة ذات حد أدنى معين يكون ببساطة قادر على إنجاز المهام الخاصة بأي حاسب آخر، بدءاً من المساعد الرقمي الشخصي إلى الحاسوب الفائق، طالما أن الوقت وسعة الذاكرة ليست في الاعتبار. لذلك فإن التصميمات المتماثلة من الحاسب من الممكن أن تضبط من أجل مهام تتراوح بين معالجة حسابات موظفي الشركات والتحكم في المركبات الفضائية بدون طيار. و بسبب التطور التكنولوجي فإن الحاسبات الاليكترونية الحديثة بشكل جبري تكون أكثر قدرة من تلك التي من الأجيال السابقة (ظاهرة موصوفة و مشروحة جزئيا بقانون مور).
تأخذ الحاسبات أشكالا ملموسة (فيزيائية) متعددة. لقد كانت الحاسبات الاليكترونية البدائية في حجم حجرة كبيرة وهذه الحاسبات الضخمة-الحواسيب الفائقة- ما زالت موجودة و ذلك لأداء الحسابات العلمية المتخصصة, و كذلك من أجل متطلبات إجراء المعالجة الخاصة بالشركات الكبيرة و غالباً ما يطلق عليها حواسيب الإطار الرئيسي mainframes. إن الحاسبات الاصغر و المستخدمة شخصياً و التي يطلق عليها الحاسبات الشخصية، و المعادل المتنقل لها والذي يسمى بالحاسب المحمول تعد أدوات معالجة معلومات و اتصالات كاملة، و هي أيضا ما يعتقده الغالبية العظمى من غير الخبراء لما يعرف بالحاسب. و مع ذلك فإن أكثر أشكال الحاسب شيوعاً واستخداماً هذه الأيام هي الحاسبات المدمجة و هي حاسبات صغيرة تستخدم للتحكم بجهاز آخر. تستطيع الحاسبات المدمجة التحكم في اجهزة تبدأ من الطائرة المقاتلة إلى الكاميرات الرقمية.
الدوائر الرقمية
إن التصميم الفكري أعلاه من الممكن أن يطبق باستخدام تشكيلة من التقنيات المختلفة، إن حاسب البرنامج المخزن يمكن تصميمه كليا من مكونات ميكانيكية مثل الحاسب الذي صممه Babbage. على الرغم من ذلك، تسمح الدوائر الرقمية بتطبيق منطق Boolean و الحساب باستخدام الأرقام الثنائية باستخدام الحاكمات (relays) بصورة أساسية و مفاتيح يتم التحكم فيها كهربيا. لقد بين لنا فرض Shannon الشهير كيف يمكن ترتيب الحاكمات (relays) لتشكيل و حدات تسمى بالبوابات المنطقية (logic gates) و تنفيذ العمليات البولينية البسيطة. و بعد ذلك، قرر الآخرون أن الانابيب الصمامية (أجهزة إليكترونية) من الممكن أن تستخدم عوضا عن الحاكمات. تستخدم الأنابيب الصمامية أساسا كمكبر إشارة في الراديو و التطبيقات الاخرى، و لكنها استخدمت في الإليكترونيات الرقمية كمفتاح سريع جدا: فعندما يتم توصيل الكهرباء لطرف من أطرافه يستطيع التيار المرور بين الطرفين الاخرين.
يمكن إنشاء دوائر رقمية لعمل مهام أكثر تعقيدا و ذلك باستخدام ترتيبات معينة للبوابات المنطقية، على سبيل المثال الجامع، و الذي يطبق في الإليكترونيات نفس الطريقة الفنية المستخدمة في الحاسبات.
أجهزة الإدخال و الإخراج
I/O (اختصارا لـ Input/Output) هو مصطلح عام يطلق على الأجهزة التي ترسل المعلومات من العالم الخارجي و تلك التي تعيد نتائج الحسابات. هذه النتائج يمكن إما أن تظهر مباشرة للمستخدم أو أن يتم إرسالها إلى آلة أخرى و التي يكون تحكمها مخصص للحاسب. على سبيل المثال في الإنسان الآلى (robot) يكون جهاز الإخراج الرئيسي لتحكم الحاسب هو الروبوت ذاته.
إن الجيل الأول من الحاسبات كان مجهزا بمدى محدود جدا من أجهزة الإدخال. إن قارئ الكروت المثقبة أو الاشياء المماثلة كانت تستخدم لإدخال الأوامر و البيانات في ذاكرة الحاسب، و كذلك استخدم بعض أنواع الطابعات و هو في العادة عبارة عن teletype معدل لتسجيل النتائج. و على مر السنين، أجهزة أخرى تمت إضافتها. بالنسبة إلى الحاسبات الشخصية على سبيل المثال، فان لوحة المفاتيح و الفأرة هما الطريقتين الرئيسيتين المستخدمتين لإدخال المعلومات مباشرة إلى الحاسب، و الشاشة هي الطريقة الرئيسية لإعادة إظهار المعلومات للمستخدم و ذلك بالرغم من أن الطابعات و السماعات منتشرة أيضا. يوجد تشكيلة ضخمة من أجهزة الإدخال الأخرى لإدخال أنواع أخرى من المدخلات. مثال على ذلك هو الكاميرا الرقمية حيث تستخدم لإدخال معلومات مرئية. يوجد نوعين بارزين من أجهزة الإدخال و الإخراج. النوع الأول هو أجهزة التخزين الثانوية مثل الأقراص الصلبة (hard disks) و وحدات الأسطوانات (CD-ROM) و key drives و ما يماثلها و التي تتميز بالبطء نسبيا و لكنها ذات سعات تخزينية عالية، حيث يمكن تخزين المعلومات لاستعادتها لاحقا: النوع الثاني هي الأجهزة المستخدمة للاتصال بشبكات الحاسب. إن القدرة على نقل البيانات بين الحاسبات فتح مدي واسع من القدرات للحاسب. شبكة الانترنت العالمية تسمح لملايين الحاسبات بنقل المعلومات من جميع الانواع بينها و بعضها.
البرامج
إن برامج الحاسب ببساطة هي عبارة عن قائمة من الأوامر يقوم الحاسب بتنفيذها. تتراوح هذه الأوامر (التعليمات) ابتداء من بعض الأوامر القليلة التي تؤدي مهمة بسيطة إلى قائمة أوامر أكثر تعقيدا و التي من الممكن أن تحتوي جداول من البيانات. العديد من برامج الحاسب تحتوي الملايين من الأوامر و العديد من هذه الأوامر يتم تنفيذها بصورة متكررة. إن حاسب شخصي حديث نموذجي يمكنه تنفيذ حوالي 3 مليار أمر في الثانية. إن الحاسبات لم تكتسب قدراتها غير العادية من خلال قدرتها على تنفيذ الأوامر المعقدة. و لكن بالأحرى فإنها تقوم بالملايين من الأوامر المرتبة عن طريق أشخاص يعرفون بالمبرمجين.
عادة، فإن المبرمجين لا يكتبون الأوامر إلى الحاسب مباشرة بلغة الالة.إن البرمجة بهذه اللغة عملية مملة جدا و تميل للخطأ بصورة كبيرة مما يجعل المبرمجين غير قادرين على الإنتاج بصورة كبيرة. و عوضا عن ذلك، يقوم المبرمجين بوصف العملية المرادة في لغة برمجة "عالية المستوى" و التي يتم ترجمتها أوتوماتيكيا بعد ذلك إلى لغة الالة عن طريق برامج حاسب مخصصة (مفسرات و مجمعات). بعض لغات البرمجة ترسم خريطة قريبة جدا من لغة الآلة مثل لغة التجميع Assembly (لغات برمجة منخفضة المستوى): و على الجانب الآخر فإن لغات البرمجة مثل البرولوج Prolog مبنية على قواعد مجردة و مفصولة عن تفصيلات العملية الحقيقية للآلة (لغات برمجة عالية المستوى). إن اللغة المختارة لمهمة جزئية تعتمد على طبيعة هذه المهمة و المهارة التي يمتلكها المبرمجين و توافر الأدوات و عادة احتياجات المستهلكين (على سبيل المثال، فإن المشاريع الخاصة بالاستخدامات الحربية الامريكية في الغالب يجب أن تكون مبرمجة بلغة Ada).
إن Computer software (الأجزاء غير الملموسة بالحاسب) هو مصطلح بديل لبرامج الحاسب (computer programs): إنها عبارة أكثر شمولية و تحتوي كل المواد الهامة المصاحبة للبرنامج و التي يحتاجها لأداء المهام المهمة على سبيل المثال فإن لعبة الفيديو لا تحتوي فقط على البرنامج نفسه و لكن تحتوي ايضا على بيانات تمثل الصور و الاصوات و المواد الاخرى المطلوبة لعمل البيئة التخيلية للعبة. تطبيق الحاسب هو قطعة من برامج الحاسب التي تقدم للعديد من المستخدمين غالبا في سوق تجزئة. من الأمثلة الحديثة المطبقة تماما هي الأدوات المكتبية office suite و هي عبارة عن برامج ذات صفات مشتركة لأداء مهام المكتب الشائعة.
بالذهاب من القدرات شديدة البساطة الخاصة بأمر لغة آلة واحد إلى القدرات الضخمة للبرامج التطبيقية يعني أن الكثير من برامج الحاسب تكون كبيرة جدا و معقدة للغاية. من الأمثلة المنطبقة على ذلك هو Windows XP و الذي يتكون من حوالي 40 مليون سطر من شفرة الحاسب في لغة برمجة C++: يوجد العديد من المشاريع التي تكون أكبر هدفا، يقوم بإنشائه فرق كبيرة من المبرمجين. إن ادارة هذه المشاريع شديدة التعقيد هو مفتاح إمكانية تنفيذ هذه المشاريع: لغات البرمجة و تطبيقات البرمجة تسمح بتقسيم المهمة إلى مهام فرعية أصغر فأصغر حتى تصبح في قدرات مبرمج واحد و في وقت مناسب.
إن عملية تطوير البرامج لا زالت بطيئة و لا يمكن التنبؤ بها و تميل للخطأ: إن نظام هندسة البرامج حاولت و قد نجحت جزئيا في جعل العملية أكثر سرعة و إنتاجية و تحسين جودة المنتج النهائي.
المكتبات و أنظمة التشغيل
بعد فترة وجيزة من تطوير الحاسب، تم اكتشاف أن هناك مهام معينة تكون مطلوبة في برامج مختلفة؛ إن مثالا قديما على ذلك كان حساب بعض الدوال الرياضية الأساسية. و من أجل الفعالية، فقد تم جمع نسخ نموذجية من تلك الدوال و وضعها في مكتبات تكون متاحة لمن يحتاجها. إن مجموعة المهام الشائعة بعض الشئ و التي تتعلق بمعالجة كتل البيانات الخاصة "بالتحدث" إلى أجهزة الإدخال و الإخراج المختلفة، و لذلك تم تطوير مكتبات لها سريعا.
بانتهاء الستينات من القرن العشرين، و مع الاستخدام الصناعي الواسع للحاسب في العديد من الأغراض، أصبح من الشائع استخدامها لانجاز العديد من الوظائف في مؤسسة. بعد ذلك بفترة وجيزة أصبح متاحا وجود برامج خاصة لتوقيت و تنفيذ تلك المهام العديدة. إن مجموع كل من إدارة "الأجزاء الصلبة" و توقيت المهام أصبح معروفا باسم "نظام التشغيل"؛ من الأمثلة القديمة على هذا النوع من أنظمة التشغيل القديمة كان OS/360 الخاص بـ IBM.
إن التطوير الرئيسي التالي في أنظمة التشغيل كان timesharing - و فكرته تعتمد على أن عددا من المستخدمين بإمكانهم استخدام الآلة في وقت واحد و ذلك عن طريق الاحتفاظ بكل برامجهم في الذاكرة و تنفيذ برنامج كل مستخدم لمدة قصيرة و بذلك يصبح و كأن كل مستخدم يملك كل منهم حاسبا خاصا به. إن مثل هذا التطوير يتطلب من نظام التشغيل بأن يقدم لكل برامج المستخدمين "آلة تخيلية" و ذلك لمنع برنامج المستخدم الواحد من التداخل مع البرامج الاخرى (بالصدفة أو التصميم). إن مدى الأجهزة التي يجب أن تتعامل معها نظم التشغيل قد تمدد؛ من الأمثلة الملاحظة كان القرص الصلب؛ إن فكرة الملفات الفردية و الترتيب البنائي المنظم للادلة "directories" (حاليا يطلق عليها في الغالب مجلدات "folder") قد سهلت و بشكل كبير استخدام هذه الأجهزة للتخزين الدائم. من الأمثلة الحديثة المطبقة تماما هي الأدوات المكتبية office suite و هي عبارة عن برامج ذات صفات مشتركة لأداء مهام المكتب الشائعة. إن متحكمات الوصول الآمن سمحت لمستخدمي الحاسب بالوصول فقط إلى الملفات و الأدلة و البرامج التي لديهم تصريح باستخدامها كانت أيضا شائعة.
ربما تكون آخر إضافة لنظام التشغيل كانت عبارة عن أدوات تزود المستخدم بواجهة مستخدم رسومية معيارية. بينما كانت هناك بعض الأسباب التقنية لضرورة ربط واجهة المستخدم الرسومية (GUI) لباقي أجزاء نظام التشغيل، فقد سمح ذلك لبائع نظام التشغيل بجعل كل البرامج الموجهة لنظام تشغيلهم تمتلك نفس الواجهة.
خارج هذه المهام الداخلية "core"، فإن نظام التشغيل غالبا ما يكون مزودا بمجموعة من الأدوات الاخرى، بعض منها ربما يملك اتصال ضئيل بهذه المهام الداخلية الأصلية و لكن وجد أنها مفيدة لعدد كافي من المستهلكين مما جعل المنتجين بإضافتها. على سبيل المثال فإن Apple's Mac OS X يتم تقديمها مع تطبيق لتحرير الفيديو الرقمي.
نظم تشغيل الحاسبات الأصغر ربما لا تقدم كل هذه المهام. نظم التشغيل للمايكروكمبيوتر القديم ذى الذاكرة و قدرات المعالجة المحدودتين كانت لا تقدم كل المهام، و الحاسبات المدمجة دائما إما تملك نظم تشغيل متخصصة أو لا تملك نظام تشغيل بالكلية، مع برامجه التطبيقية المتخصصة و التي تؤدي المهام التي من الممكن أن تعود بطريقة أخرى إلى نظام التشغيل.
أنواع الحاسبات
يمكن تقسيم الحواسيب إلى:
• حواسيب الإطار الرئيسي: وهي الحواسيب ذات السعات التخزينية الضخمة والكفاءة العالية في المعالجة والتي تستخدم في المنشآت الكبيرة كالدوائر الحكومية والجامعات والشركات الكبرى، حيث يتم ربط الجهاز الرئيسي بمجموعة من الأجهزة الفرعية تسمى نهايات طرفية.
• حواسيب شخصية: وهي الحواسيب التي نراها في المنازل والمكاتب. ويستعمل مصطلح الحاسوب أو كمبيوتر بشكل عام في الإشارة إلى الحواسيب الشخصية.
• حواسيب كفيـّة: وهي أجهزة صغيرة لا يتجاوز حجمها كف اليد، تستخدم في إجراء بعض المهام الحاسوبية البسيطة كحفظ البيانات الضرورية والمواعيد، وقد توسع استخدامها مؤخراً حتى أصبحت تضاهي باستخداماتها الحواسيب الأخرى، حيث تستخدم بعضها في الدخول إلى الانترنت أو الاستدلال في الطرق من خلال أنظمة الإبحار.
• حواسب مدمجة: وهي الحواسيب الموجودة في العديد من الأجهزة الإلكترونية والكهربائية، إذ أن العديد من الأجهزة تحتوي حواسيب لأغراض خاصة. فمثلاً توجد الحواسيب في الهواتف السيارات وأجهزة الفيديو والطائرات وغيرها.
والحواسيب المدمجة أو ما يضلق عليها اسم المتحكم الصغير وهي عبارة عن microcontroler هكذا تسمى باللغة الإنجليزية لأنه عدة أجزاء كمبيوتر موضوعة في رقاقة الكترونية واحدة وهي الchip التي تبرمج كيفما تريد نعم تستطيع عمل برمجة لهذه الرقاقت وتستطيع محيها أكثر من 1000 مرة وإعادة برمجتها من أهم القطع المستعملة ألا و هي pic16f84 الشهيرة من شكرة microship العالمية وهناك نسخ أفضل من هذه الرقاقة، يمكنك عمل الآف التطبيقات بواسطة برمجة هذه الرقاقة أي تسيرها حسبما تريد أن تسيرها.
مكونات الحاسب
يقصد بمكونات الحاسوب المكونات الصلبة أو العتاد Hardware فقط. من الممكن القول أن أي نظام حاسوبي يحتوي على الأجزاء التالية بأشكاله المختلفة:
• وحدة المعالجة المركزية -و يطلق عليه اختصارًا "المعالج"- و هو المسئول عن معالجة العمليات الحسابية و تنفيذها
• اللوحة الام Motherboard
• ذاكرة الوصول العشوائي RAM
• وحدات إدخال وإخراج البيانات مثل لوحة المفاتيح والفأرة والشاشة.
و هناك مكونات أخرى تعتبر مكملة لعمل الحاسوب مثل:
• الطابعة
• الماسح الضوئي
• الاجهزة الصوتية و المرئية أو الوسائط المتعددة
بالإضافة إلى المكونات الصلبة فإن الحاسوب يحتاج إلى:
• نظام تشغيل ليس من مكونات الحاسوب و يعتبر من المكملات
• البرامج ليست من مكونات الحاسوب و تعتبر من المكملات، و يشبه البعض العلاقة بين البرامج و الحاسوب بالعلاقة بين الروح و الجسد.
عتاد الحاسوب
العتاد الصلب أو عتاد الحاسوب (بالإنجليزية: Computer Hardware) هي المكونات المادية الملموسة من الحاسوب -بما في ذلك الدوائر الإلكترونية-. وتسمى هذه المكونات بالعتاد الصلب لتميزها عن برامج الحاسوب التي تنفذ من خلال تلك هذا العتاد. ويمكن اعتبار الترجمة العربية لكلمة Hardware بمصطلح عتاد صلب ترجمة حرفية نوعا ما. فكلمة صلب (Hard) استخدمت أساسا للدلالة على أن هذه المكونات هي مكونات قليلة التغير في الحاسوب على عكس البرمجيات (Software) والتي يتم إنشاؤها والتعديل عليها وحذفها بسهولة وبشكل متكرر. إلا أن هنالك نوع من البرمجيات تسمى برمجيات ثابتة (Firmware) تكون مخزنة داخليا في العتاد الصلب ولا تغير إلا نادرا.
الغالبية العظمى من العتاد الصلب المنتج تستخدم في حواسيب مضمنة ضمن أجهزة أخرى مثل السيارات وأفران المايكرويف ومشغلات الأقراص المضغوطة وغيرها. بالمقابل، يستخدم جزء ضئيل من المنتج الكلي لهذه المكونات (ما قدرت نسبته في عام 2003 م بحوالي 0.2%) في صناعة الحواسيب الشخصية. ونتيجة لذلك، لا يظهر معظم العتاد الصلب للمستخدمين العاديين.
قائمة العتاد الصلب
• اللوحة الأم تشكل الأساس والحامل لباقي القطع جميعها وتحوي النواقل التي تنقل البيانات بين مختلف القطع:
o وحدة المعالجة المركزية (CPU)
o ذاكرة الوصول العشوائي (RAM): تنفيذ البرامج وتخزين مؤقت سريع للبيانات اللازمة.
o النواقل:
بي سي آي (PCI)
بي سي آي السريع (PCI-E) وآ جي بي (Accelerated Graphics Port أو AGP)
آيزا (ISA أو Industry Standard Architecture) - خارج الخدمة حاليا.
يو إس بي (Universal Serial Bus أو (USB
• مزود الطاقة
• آي دي إي (Integrated Drive Electronics): متحكمات وسائل التخزين مثل ساتا (SATA), سكزي (SCSI) وغيرها من الأنماط التي تتحكم قرص صلب, قرص مرن, سي دي-روم وغيرها; تتوضع المتحكمات على اللوحة الأم مباشرة أو على كروت توسعة.
• بطاقة العرض الفيديوي (Graphics card|Video display controller) تنتج الخرج الذي يؤدي إلى العرض الحاسوبي.
• متحكمات النواقل الحاسوبية (Computer bus) (منفذ متوازي parallel port ، منفذ تسلسلي serial port ، يو إس بي, فايرواير FireWire ) تستخدم لربط الحاسب مع حواسب أخرى أو طرفيات خارجية مثل: طابعات أو ماسح ضوئي.
• أنواع وسائط التخزين الحاسوبي:
o سي دي (CD).
سواقة سي دي-روم
ناسخة السي دي
o دي في دي (DVD)
دي في دي-روم
ناسخة دي في دي
سواقة دي في دي-رام
o بي دي (BD)
o قرص مرن
o سواقة القرص المرن المضغوط (Zip drive)
o ذاكرة يو إس بي (USB Flash Drive)
o سواقة شريط (Tape drive) - للتخزين طويل المدى
• وسائط تخزين داخلية:
o قرص صلب
o متحكم مصفوفة الأقراص (Disk array controller)
• بطاقة الصوت (Sound card): تترجم الإشارات من اللوحة الأم إلى جهودات تماثلية تنتهي بشكل أصوات
• تشبيك (Computer networks):
o مودم - للاتصالات عبر الهاتف
o بطاقة الشبكة (Network card): للتشبيك مع حواسيب أخرى أو الاتصال بالإنترنت.
• طرفيات أخرى
بعض المكونات الخارجية:
• أدوات الإدخال
o أدوات إدخالنصية
لوحة مفاتيح الحاسب
o أدوات التأشير
الفأرة
كرة التتبع (Trackball)
o وسائل تسلية
عصا التحكم (Joystick)
لوحة اللعب
o أدوات إدخال رسومية, فيديوية
ماسح ضوئي
كاميرا ويب
o أدوات إدخال صوتية
ميكروفون
• أجهزة إخراج
o أجهزة إخراج صورة, فيديو
طابعة
شاشة حاسوب
o أجهزة إخراج صوتية
سماعة الحاسب
سماعة رأس
برمجة
لغات برمجة
لغات كائنية
سي++
++C سي شارب
#C
دلفي
Delphi ادا 95
Ada
جافا
Java سمولتوك
Smalltalk
روبي
Ruby
لغات تقليدية
بيسيك
Basic سي
C
باسكال
Pascal كوبول
COBOL
فورتران
FORTRAN أسمبلي
Assembly
لغات وظيفية
ليسب
Lisp برولوغ
Prolog
بايثون
Python باريس
Paris
هندسة برامج
برمجة الحاسوب: هي عملية تطبيق وتنفيذ مجموعة خوارزميات ذوات علاقات متصلة مع بعضهن وهي عملية دمج افكار متقاربة باستخدام احدى لغات البرمجة من أجل انتاج برنامج محوسب. البرمجة هي مزيج من العلوم والرياضيات والهندسة.
لغات البرمجة
تجدر الإشارة هنا إلى التذكير بمعنى كلمة لغة وهي طريقة الاتصال والتفاهم بين الأشخاص أو لنقل في حالة الحاسوب الطريقة التي يفهم بها الحاسوب طلب الانسان. لذلك نجد في حياتنا مجموعة مصطلحات وكلمات يختلف استخدامها حسب الحاجة. لغات البرمجة المختلفة تتمتع بهذه الخاصية أيضا. فهناك الكثير من اللغات البرمجية الموجودة وهذه اللغات تختلف من ناحية عملها وهدفها. لذلك يجب على المبرمج أن يكون ملما ببعض لغات البرمجة وأن يعرف ما هي اللغة المناسبة لتطبيق هذا البرنامج. لغة البرمجة الوحيدة التي يفهمها الحاسوب ويستطيع أن يتعامل معها هي لغة الآلة -machine language-. في البداية عمل المبرمجون على تحليل شفرة الحاسوب –machine code-والتعامل معها بشكلها الجامد وغير المفهوم وهو (0،1). ولكن هذه العملية معقدة جدا ويصعب التعامل معها لعدم فهمها الواضح للبشر ولغموضها لذلك تم إبتكار لغات راقية تعمل كوسيط بين لغة الانسان ولغة الاّلة و هي لغات البرمجة المعروفة مثل لغة السي و لغة البيسيك. ثم يتم تشغيل البرامج المكتوبة بهذه اللغات عن طريق أحد البرامج المتخصصة مثل المترجم والمجمع . هذه البرامج تعمل على ترجمة أسطر لغة البرمجة إلى لغة الحاسوب مما يسهل على الحاسوب تنفيذ هذه الأوامر وإخراج النتائج output.
القرص المرن المسمى ب floppy disk driveو اختصاره هو (FDD)اخترع في سنة 1967 من قبل شركة IBM , و كان ذو حجم كبير نسبيا يبلغ 8 انش , مما جعل شركة اي بي ام تطوره بعد فترة ليصبح ذو حجم 5.25 انش و يحمل 360 كيلوبايتا فقط من المعلومات مقارنتاً ب1.44 ميغا بايتاً مع اقراصنا الحالية ذات 3.5 انش في حجمها, التي اثبتت قوتها و قضت على ال5.25 في بداية التسعينات.
ان القرص المرن يشبه شريط المسجل في اشيا كثيرة منها:
• كلاهما يسجلان المعلومات في نفس اللحظة
• امكانية حذف المعلومات و اعادة استعمالهما مرات عدة
• رخص الاسعار
• سهولة الاستخدام
المشكلة في شريط المسجل هي انه يتبع نظام الاولوية و الترتيب . بمعنى , ان الشريط له بداية و نهاية , فيحوي الشريط على عدة مقاطع من المواد السمعية المسجلة فيه, و للانتقال من مادة الى اخرى يجب ضغط زر rewind او forward
للبحث عن المادة المطلوبة , و احيانا تأخذ العملية دقائق فقط للبحث عن المادة المطلوبة .
القرص المرن يشبه الشريط بشكل كبير, فهما مصنوعان من قطعة من البلاستيك مغطاة بمادة مغناطيسية من الجهتان, لكن في القرص يكون شكله دائري, حتى تكون الحركة من الملف رقم واحد مثلا الى الملف رقم 13 بسرعة كبيرة مقارنة بالشريط, و هذه العملية تدعى direct access storage..
في الصورة مقطع لقرص مرن يبين المقاطع المقسمة في القرص و توزيعاته.
ينقسم درايف القرص الى عدة اقسام:
• رأس القراءة و الكتابة
هناك رأسان لاتمام عملية الكتابة القراءة و المسح , احدهما للكتابو القراءة و الاخر لمسح البيانات الموجودة على القرص, ليجعل القرص نظيفا قابلا لاعادة الاستعمال.
• محرك الاراص المرنة
يوجد محرك يثبت عند منتصف القرص عند ادخاله ليعلق في الفتحات الموجودة له , و يدور بسرعة تصل الى 600 دورة في الدقيقة ليساعد على قراءة البيانات و الانتقال الى الملف المناسب بسرعة مناسبة.
• محرك دقيق
يستخدم هذا المحرك لتحريك الرؤوس التي تكتب و تمسح الى مكان الملف المقصود لعمل اللازم, اما كتابة او قراءة او حذف.
• غطاء القرص
يستخدم الغطاء لحماية المادة البلاستيكية المغطا بمادة مغناطيسية من اي تأثير خارجي كضوء الشمس او اي شي يؤثر على البيانات الموجودة فيه , و عند ادخال القرص يفتح الغطاء ليسمح للرؤوس باتخاذ اماكنها بشكل متقابل.
• اللوحة الالكترونية
تحتوي على القطع الالكترونية التي تتحكم بالقرص بما فيه من نقل البيانات من القرص الى الطرف الثاني من جهاز الحاسب و التحكم في تحرك الرؤوس و غيرها من الامور.
الصور تبين حالة القرص بعد اتمام الدخول و اثناء دخوله
عملية كتابة و قراءة المعلومات هي كالتالي:
1. يمرر الحاسب امر لدرايف للقرص المرن بكتابة او قراءة ملف في القرص المرن.
2. يبدأ المحرك بالدوران فتدور قطعة تخزيين البيانات في القرص المرن معه.
3. يبدأ المحرك الدقيق بالدوران ليحرك الرؤوس لتصل الى مكان القراءة او الكتابة.
4. تتوقف الرؤوس في المكان المذكور و تتأكد من انها نفسها المكان المذكور قبل البدء بالعملية المطلوبة ( كتابة او قراءة).
5. عند الكتابة يكون هناك ملف وظيفته مسح كل شي موجود في المقطع الذي سيقوم رأس الكتابة بكتابته و الملف مقصود به ليس ملفا برمجيا انما قطع تكون نوعا ما اكبر من الرأس نفسه ليتفادى اي تأثير اثناء عملية الكتابة على القرص.
6. رأس القراءة يتخذ مكانه و يلتصق بالقرص المرن و يبدأ بقراءة الانتشارات المغناطيسية على القرص و يبعث فحواها لتتم ترجمتها الى المستخدم.
7. عند الانتهاء من العملية ينتظر الدرايف اوائمر اخرى من الحاسب كي ينفذها.
8. يستمر الضوء بالتشغيل حينما تكون هناك عملية للقرص المرن.
بعض الحقائق عن الاقراص المرنة:
• وجود قرصين مرنين ملتصقين مع بعض لا يؤثر على محتواهما من البيانات, لصغر تأثير المحتوى المغناطيسي فيهما.
• عموما , لن تجد احدا يصلح محرك اقراص مرنة هذه الايام ان وجد بها عطل, لان ثمن تصليحه لن يكون اقل من استبداله! فهو يكلف حوالي 50 درهما.
• توجد فتحة في طرف اي قرص مرن تقليدي, عند تغطيتها , لن يتمكن احد من الكتابة على القرص حتى ازالة الغطاء.
المعالج ( Microprocessor )
المعالج جزء رئيسي في اللوحة الأم و يقوم بشكل عام بمعالجة المعلومات الداخلة اليه لنراها في الشاشة
مثال : مراحل معالجة البيانات هي 1- إدخال 2 - معالجة 3 - إخراج فعند كتابة نص بوساطة برنامج كتابي مثل الـ Word pad فإننا ندخل البيانات عن طريق الكيبورد ثم تتم معالجة البيانات في وحدة المعالجة CPU فتخرج البيانات على الشاشة تتكون وحدة المعالجة في الكمبيوتر بالأضافة للمعالج الى اربع وحدات مساعدة وهي
1-Input /Output ( I /O ) Address
2- The control unit ( CU Unit )
3 -( AL Unit ) Arithmetic /Logic unit
4 - ( FL unit ) floating point unit
( I/O address ) :
تقوم بتنظيم عمل المعالج و هي وحدة تتيح للمعالج تمييز الجهاز الذي تتصل به و تقوم هذه الوحدة بإعطاء التعليمات للمعالج ليقوم بمعالجة المعلومات الداخلة للمعالج و الخارجة منه وتقوم وحدة الـ Input / Output ) I /O ) بعـنونــة مهام المعالج حيث تحدد موقعا في ذاكرة الرام (RAM ) ليقوم المعالج بعدها بمعالجة المعلومات الموجودة من الموقع
------------------------------------
The control unit :
وحدة السيطرة على المعالج . ويقوم تحديدا بتنظيم تنفيذ المهام في المعالج إذ يتلقى المهام من الـI /O address ويترجمها اذا وجب ذالك ثم يمررها الى الوحدة الأخرى ( AL Unit ) ( وحدة الحساب والمنطق )
------------------------------------
Arithmetic /Logic unit ( وحدة الحساب والمنطق )
هذه الوحدة مسؤولة عن جميع العمليات الحسابية والمنطقية وتتلقى الـ AL Unit المهام من وحدة الـ I / O ( وقد تمر بوحدة السيطرة)
------------------------------------
floating point unit : ( المساعد الحسابي )
يقوم المعالج بالعمليات الحسابية البسيطية و تقوم هذه الوحدة بتسريع معالجة العمليات الحسابية الكبيرة
-----------------------------------------------------------------------------------
ذاكرة المعالج ( Cach memory ) كما نعلم و اللي ما يعلم لازم يعلم ان الذاكرة الرام RAM تقوم بالتخزين المؤقت للبرامج والبيانات والرام يعمل أبطئ من المعالج و لحل هذا التفاوت في السرعة كان إضافة ذاكرة الكاش ( cach memory ) التي تقع على المعالج. المهام والبيانات التي تنتظر المرور بالمعالج تخزن في ذاكرة الكاش L1 and L2 cach تحتوي المعالجات الحديثة على موقعين لذاكرات الكاش تُعرف بـ L1 و L2 ... L1 هي الذاكرة الأساسية للمعالج وهي أسرع وتزود المهام و البيانات للمعالج مباشرة ..... المعالجات القديمة قبل البنتيوم كانت تستخدم ذاكرة ( W T ) التي كانت فقط تقرأ البيانات الداخلة للمعالج . وبظهور معالجات بنتيوم اصبح الكاش يقوم بالقراءة والكتابة معا ً الذاكرة الثانية L2 cach في اللإصدار الأول والثاني من معالجات لنتيوم كانت ذاكرة L2 تقع في الرام ... أما في في الاصدارات الحديثة فإنها تقع على المعالج نفسه و تقوم بنفس مهام ذاكرة L1
هناك طريقتان لإتصال المعالج باللوحة الأم 1 - Socket mounted تستخدم هذه الطريقة في المعالجات قبل pentium 2 2 - Slot mountain بدأت أول مرة في بنتيوم 2
لإجراء عملية الجمع في وحدة الحساب والمنطق.ALU فإننا نستخدم دوائر خاصة للجمع
وهي نوعان:
o الجامع النصفي الثنائي Binary Half-Adder
o الجامع التام Full-Adder
سنتحدث أولا عن الجامع النصفي Half-Adder
نستخدم هذه الدائرة عند جمع رقمين ثنائيين
بحيث يكون لها مدخلان لاستقبال الرقمين الثنائيين:
الرقم الأول A
الرقم الثانيB
أما المخرجات فهو مخرجان
الأول S وهو حاصل جمع الرقمين الثنائيين (SUM)
الثاني C وهو الباقي الناتج عن عمليه جمع الأرقام الثنائية(CARREY)
و هذان الرقمان يكونان بالنظام الثنائي أي عبارة عن صفر وواحد
والآن نقوم بتصميم دائرة الجامع النصفي على الرقمين A B
أولاً: نقوم بتصميم جدول الحقيقة TRUTH TABLE
ثانيا: نقوم بعد ذلك بالحصول على قيمه C&S من جدول الحقيقة
للحصول على قيمة S
(تتحقق S عندما تحقق القيمه المنطقية1 )
S = AB + A B = A ⊕ B
للحصول على قيمة C
وايضا تتحقق C عندما تحقق القيمه المنطقية 1
C = AB
و بذلك نستطيع تصميم الدائرة المنطقية للجامع النصفي
جامع التام Full –adder
وظيفة الجامع التام هي جمع ثلاثة ارقام ثنائية
تكمن أهمية هذه الدائرة عند جمع عديين ثنائيين فإن المحمل الناتج عن جمع هذان الرقمين في المرحلة I يجب أن يضاف إلى الرقمين في المرحلة I+1
لتوضيح هذه النقطه انظر للمثال التالي
1 1 1
العدد الأول 1 0 1 1 0 0
العدد الثاني 0 1 1 0 1 0
________________________
ناتج الجمع 1 1 0 0 0 1
لاحظ أنه في خطوة الجمع الثالث ( من اليمين) ينتج محمل قيمته 1 ويجب جمعه مع الرقمين في خطوة الجمع التالية ثم تكرر نفس القاعدة وهي خطوات الجمع الباقية
والآن سنتعلم كيفية تصميم دائرة جامع تام
أولا للحصول على قيمه S&C نستخدم جدول الحقيقة
هنا يمكننا تصميم الجامع التام باستخدام جامعين نصفيين لهذا الغرض
وذلك عن طريق تطبيق معادلة تصميم الجامع النصفي مرتين
في المرة الأولى تكون المتغيرات قيم مدخله
في المرة الثانية يكون المتغير الأول حاصل جمع المتغيرين
وأما المدخل الثاني فهو المحمل من عملية الجمع للمرة الأولى من عملية الجمع
مما لا شك فيه أن كل جهاز كمبيوتر الان يحتوي علي قرص صلب (Hard Disk ) ان لم يكن أكثر, بل ان العديد من الحاسبات الكبيرة كالسيرفرات و غيرها تحتوي علي المئات من الأقراص الصلبة!! .
و يتمثل الدافع الرئيسي وراء استخدامنا لكل هذه البلايين من الاقراص الصلبه في شئ واحد : وهو أنها تستطيع الاحتفاظ بالكثير من البيانات بعد أن تفصل الكهرباء عن الحاسب , حيث يستطيع القرص الصلب أت يخزن البيانات الرقمية علي هيئة مغناطيسية.
غير واضح أليس كذلك؟!,, لا توجد مشكلة , لنبدأ بالتعرف أكثر علي القرص الصلب...
أساسيات القرص الصلب :
تم اختراع الأقراص الصلبة في الخمسينيات , وكانت عبارة عن أقراص كبيرة يصل قطرها الي حوالي 20 بوصة و علي الرغم من حجمها الكبير الا أنها كانت تتسع للقليل من ال Megabytes فقط!!. ولم تكن تعرف في ذلك الوقت بال Hard disk بل كانت تعرف بال Fixed disks أو بال Winchesters, وجاءت التسمية HardDisk بعد ذلك لكي يتم التفرقه بينها و بين الاقراص المرنه.
وكما هو واضح من اسمه يحتوي القرص الصلب علي "قرص صلب" أو ما يعرف ب platter , هذا القرص توضع عليه المادة المغناطيسية التي تستخدم في حفظ البيانات , هذه المادة المغناطيسية هي نفسها المادة المستخدمة في الاقراص المرنة و شرائط الكاسيت , ولكن الفرق هو أن الاقراص المرنة و الكاسيت يتم فيها وضع المادة المغناطيسية علي ماده بلاستيكية مرنة.
ولكن بشكل عام فان القرص الصلب لا يختلف في طريقه تخزينه للبيانات عن شرائط الكاسيت و الاقراص المرنة فكلاهما يستخدم نفس طرق التخزين المغناطيسية , تتميز طرق التخزين المغناطيسية في أنه من السهل الكتابة و المسح و اعادة الكتابة علي المادة المغناطيسية , وكذلك يمكن للمادة المغناطيسية أن تحتفظ بالمعلومات المخزنه عليها -علي هيئة فيض مغناطيسي- لعدة سنوات.
يتم تخزين البيانات علي القرص الصلب علي هيئة ملفات Files ال file عبارة عن مجموعة من ال bytes , مجموعة ال bytes هذه قد تكون عبارة عن مجموعه من ال ASCII Code لمجموعة حروف موجودة في ملف نصي أو مجموعة تعليمات لبرنامج ما لكي ينفذها الكمبيوتر أو تكون مجموعة من ال pixles تعبر عن صورة ما أو مجموعة سجلات في قاعدة بيانات , عموما أيا كان ما تحتويه ; فان الملف في النهاية هو مجموعه من ال BYTES , و عندما يطلب الكمبيوتر من القرص الصلب هذا ال FILE فان القرص الصلب يقرأ مجموعة ال Bytes -المخزنة علي الماده المغناطيسية- ثم يجمهعا و يرسلها للكمبيوتر.
ماذا يوجد داخل القرص الصلب :
أولا ينبغي أن نعرف أن القرص الصلب -بشكل عام- يحتوي علي أجزاء الكترونية و أجزاء ميكانيكية :
• الاجزاء الميكانيكية :
قرص تخزيني (أو عده أقراص متحدة المحور) مغطي بمادة قابلة للمغنطة.
رؤوس القراءة والكتابة.
ذراع يحمل رؤوس القراءة والكتابة.
منظومة ميكانيكية لتحريك الذراع.
موتور لتدوير الأقراص التخزينية.
• الاجزاء الاكترونية : عبارة عن لوحة إلكترونية توجد أسفل القرص الصلب.
سنبدأ الان بتشريح القرص الصلب :
هذا هو الشكل الخارجي العام للقرص الصلب (الاول من نوع Seagate والثاني WD ) :
كما نري القرص الصلب يكون محمي بغطاء من الألمنيوم :
و بأسفل القرص الصلب نري لوحة التحكم الإلكترونية :
مسئولية مجموعة الإلكترونيات هذه هي : التحكم في عملية القراءة و الكتابة علي القرص الصلب و أيضا التحكم في الموتور الذي يقوم بتدوير ال platters , حيث تقوم هذه الإلكترونيات بتجميع المجالات المغناطيسية المخزنه علي الماده المغناطيسية و تحويلها الي مجموعة من ال bytes (عملية القراءة),و أيضا تقوم بتحويل ال bytes المراد تخزينها علي القرص الصلب الي مجموعه من المجالات المغناطيسية لكي تخزن علي المادة المغناطيسية (عملية الكتابة).
نقوم الان بإزالة الغطاء الألمنيوم من علي القرص الصلب فنري الاتي داخل القرص الصلب :
في الصورة السابقة نري الاتي :
• Platters أو أقراص التخزين ( في الصورة هو ذلك القرص الدائري اللامع), هذه الاقراص هي التي يتم تخزين البيانات عليها كما ذكرنا من قبل , وعادة ما يتم تدويرها بسرعة 3600 أو 7200 لفة في الدقيقة أثناء عمل القرص الصلب , و يمكن أن يحتوي القرص الصلب علي أكثر من Platter تكو ن متحدة المحور ,وكلما زاد عدد هذه الأقراص و كثافة التقسيمات التي عليها - سنوضح ذلك فيما بعد - زادت السعة التخزينية للقرص الصلب , وتصنع هذه الأقراص من الألمونيوم أو - في الأقراص الحديثة - من الزجاج المقوى بالسيراميك الذي يعتبر أفضل أداءً حيث أن مقاومته للارتفاع في درجة الحرارة أفضل , ويتم صقل هذه الأقراص بحيث تصبح ملساء جدا كالمرآة .
و هذه الأقراص لايمكنها حفظ الشحنة المغناطيسية اللازمة لعملية التخزين في حد ذاتها , بل يجب أن تغطي هذه الأقراص بمواد يمكنها حفظ الشحنة المغناطيسية.
• الذراع arm الذي يحمل رؤوس القراءة و الكتابة ReadWrite heads , و يلزم لكل قرص تخزيني رأسين واحد للقراءة و الآخر للكتابة و مكانهم كالاتي: واحد أسفل القرص التخزيني و الاخر أعلي القرص التخزيني , فمثلا لو كان لدينا 3 أقراص تخزينية فاننا نحتاج ل 6 رؤوس قراءة و كتابة , ولا تكون رؤوس القراءة والكتابة ملامسة لسطح أقراص التخزين بل تكون مرتفعه عنها بمقدار صغير جدا , بل إن الرأس اذا لامست القرص التخزيني فسيؤدي ذلك لتلف الجزء الذي لامسته - يسمي الجزء التالف ب Bad Sector -.
ويتم تحريك هذه الذراع-الخفيفة الوزن جدا- بواسطة منظومة ميكانيكية دقيقة جدا و سريعة جدا , ويمكن لهذه المنظومة أن تحرك الذراع من داخل قرص التخزين الي حافته والعكس 50 مرة في الثانية الواحدة !!!!!!!!!! , ويمكن أن يتم بناء مثل هذه المنظومة باستخدام موتور خطي Linear سريع .
يوجد الان نوعان من التكنوليجيا التي تستخدمها هذه المنظومة الميكانيكية :
• الأولي : تعرف بال band stepper motor و تعتمد في فكرتها علي كمية الكهرباء التي ترسلها لوحة التحكم الالكترونية , و لكن هذه التكنوليجيا غير مستخدمة لأنها كثيرة المشاكل نتيجة لتأثرها بدرجة الحرارة و لأنها تتلف بسرعة.
• الثانية : Voice Coil في هذا النوع تقوم لوحة التحكم الاكترونية بارسال تيار كهربائي إلى المحرك وهذا التيار يستخدم في توليد مجال مغناطيسي لتحريك الذراع ضد زنبرك , مما يجعل لوحة التحكم الاكترونية قادرة على التحكم بموقع الرأس-لأنها تتحكم بالذراع- عن طريق التحكم في شدة التيار الكهربائي.
تخزين البيانات علي القرص الصلب :
يتم تخزين البيانات علي القرص الصلب في قطاعات Sectors و مسارات Tracks , المسارات عبارة عن دوائر متحدة المركز , و القطاعات هي أجزاء من المسارات , الشكل التالي يوضح ذلك :
اللون الأحمر يمثل المسار , واللون الازرق يمثل القطاع.
وكلما تمكننا من زيادة عدد القطاعات في المسار الواحد زادت السعة التخزينية الكليه للقرص الصلب. يحتوي القطاع علي عدد محدد من ال bytes مثلا 256أو 512 بايت , و لكن نظم التشغيل غالبا ما تتعامل مع القطاعات بأن تقسم كل مجموعة منها الي ما يعرف ب Cluster .
كيف يتم توصيل القرص الصلب بالكمبيوتر :
تستخدم الأقراص الصلبة نوعين من ال Interface للتعامل مع الكمبيوتر :
• EIDE ويمكن اختصارها الي " IDE " و فيها تكون الإلكترونيات اللازمة لتشغيل القرص موجودة بداخله - في لوحة التحكم الالكترونية - وليس خارجه ، وهي الأكثر شيوعاً بين مستخدمي الكمبيوتر , وهي نفسها المستخدمة في مشغلات الاسطوانات المدمجه , ويتم توصيل القرص الصلب باللوحة الأم عن طريق كابل مباشرة دون استخدام كروت اضافية.
• SCSI هذا النوع أسرع بكثير من النوع الاول و لكنه أيضا مكلف عنه , ويستخدم غالبا في السيرفرات والاجهزة التي تتطلب سرعات عالية , ولكن لتوصيل القرص الصلب مع اللوحة الأم يلزم أن يكون هناك كارت اضافي يركب باللوحة الأم.
العوامل المؤثرة علي الاقراص الصلبة :
• معدل نقل البيانات Data rate هو عدد ال Bytes التي يتم نقلها من القرص الصلب للكمبيوتر في الثانية الواحدة, ويتراوح بين 5 الي 40 ميجابايت في الثانية الواحدة.
• زمن الوصول Seek Time هو الزمن المستغرق بين طلب الملف من القرص الصلب و وصول أول Byte من الملف الي الكمبيوتر.
• سرعة دوران القرص الصلب , فكلما كانت سرعة الدوران أعلي كان ذلك أفضل.
• نوع ال Interface الذي يستخدمه القرص الصلب.
• الكثافة التخزينية , وهي عدد ال Bytes التي يمكن تخزينها في مساحة معينة من القرص الصلب.
• وطبعا الأهم من ذلك السعة capacity الكلية للقرص الصلب مثلا 20 , 40 , 80 , 120 جيجابايت .
شهدت التطورات في عالم الحاسوب منذ عام 1951م وحتى يومنا هذا تقدما سريعا بحيث أصبحت الإنجازات لا تنسب لأشخاص بعينهم، بل إلى شركلت متخصصة ومؤسسات علمية. وقد قسمت الحواسيب التي ظهرت منذ أواخر الاربعينات وحتى الآن إلى أجيال حيث أن الحواسيب التي تنسب إلى جيل معين تمتلك فيما بينها خواص وصفات متشابهة واستعمل في تركيبها نفس الأساس التكنولوجي, وظهرت كذلك ضمن فترات زمنية محددة.
يقسم الحاسوب إلى خمسة أجيال:
1. الجيل الاول
2. الجيل الثاني
3. الجيل الثالث
4. الجيل الرابع
5. الجيل الخامس
من الامثلة على أجهزة 1. IBM 700
2.UNIVAC
3.SAGE
4.CRC
خصائص حواسيب الجيل الاول:
1 . اعتمد انتاج الآلات على استعمال العناصر المفردة وكان أهمها الصمام الإلكتروني المفرغ.
2 .حجم الآلات هنا كان كبيرا وذات وزن كبير
3 .هذه تتميز بالبطيء, حيث لم تتجاوز تنفيذها للعمليات من 10 إلى 20 ألف عملية/ثانية
4.استعملت في الاجهزة المبكرة لهذا الجيل مثل (EDSAC) ذاكرة داخلية من خطوط التأخير الزئبقيةما أن استبدلت بذاكرة القلب المغناطيسي المصنوع من حلقات الحديد المطاوع كما هو الحال في (IBM/701,IBM/702,UNIVAC-1)واستطاعت تخزين مايقارب(32000-1000)حرف بايت.
5.في مجال البرمجيات استخدمت لغة الآلة ولغة الاختصارات لعمل البرامج اللازمة.
(1959 - 1964)
من الامثلة على أجهزة هذا الجيل: 1.CDC 1604
2.UNIVAC 1107
3.Borroughs B5500
4.IBM 1400
5.IBM 7090
خصائص حواسيب الجيل الثاني:
1.لقد حل الترانزيستور محل الصمام المفرغ حيث أنه يتميز بصغر حجمه وطول عمره وأنه لايحتاج إلى طاقة عالية لتشغيلةبالإضافة إلى وثوقيته العالية.
2.سرعة تنفيذ العمليات تقارب مئات الآلاف من العمليات/الثانية تقاس سرعتها بالميكروثانية
3.استعملت ذاكرة القلب المغناطيسي وأمكن تحسين سعة الذاكرة إلى أن وصلت في بعض الأجهزة إلى 32 ألف بايت(حرف).
4.استعملت لغات برمجة عالية المستوى مثل فورتران والجول وكوبول وغيرها
1970-1964
من الامثلة على أجهزة هذا الجيل : 1.IBM 360
2.SECTRA 70
خصائص حواسيب الجيل الثالث:
1.تم استعمال الدوائر المتكاملة
2.حجمه أصغر بكثير من السابق وتكلفة قليلة.
3.وصلت سعة الذاكرة الرئيسية في بعض الاجهزة إلى 8 مليون بايت.
4.تم تحديث نظم التشغيل فقد تم استعمال فكرة الذاكرة الافتراضية وكذلك نظام تعدد البرامج ونظام تعدد المعالجات وغيرها
( 1970- منتصف التسعينات )
من الامثلة على الاجهزة : 1.IBM Models 148/158/168
2.ICL 29000
خصائص حواسيب الجيل الرابع:
1.استعملت الدوائر المتكاملة الكبيرة (LSI)والكبيرة جدا (VLSI).
2.الحجم أكثر صغرا من الجيل السابق وأقل تكلفة.
3.سرعة إجراء العمليات بلغت من عشرات إلى مئات الملايين عملية/ثانية.
4.الذاكرة الرئيسية تقسم إلى :
1.الذاكرة العشوائية(RAM: Random Access Memory)ذاكرة القراءة والكتابة واستعملت لحفظ البرنامج ونتائج المعالجةتتراوح سعتها من (Mb512-32).
2.ذاكرة القراءة فقط(ROM:Read Only Memory)استعملت لتسجيل البرمجيات المعيارية والبرامج الثابتة بشكل دائم.
5.تم تطوير وتحسين أنظمة التشغيل وحاصة نظام الوقت الحقيقي.
1.ظهور الدوائر المتكاملة فوق الكبيرة جدا(ULSI:Ultra Large si ) التي تحتوي على ملايين من العناصر الالكترونية في الرقاقة الواحدة (Chip) مما أدى إلى تحسين مواصفات الأجهزة من حيث السرعة, وسعة الذاكرةوالحجم والوثوقية وإلى تخفيض التكلفة.
2.تطوير أقراص التخزين الضوئية(Optical Disk Storage)حيث يتم تسجيل البيانات عليها بأشعة الليزر وقد أدى هذا إلى ظهور أقراص تستعمل كذاكرة مساعدة(Secondary Memory)تمتاز بسعة عالية وكذلك ظهور الاقراص المدمجة (CD: Compact Disk Rom) وتقنيات الوسائط المتعددة (Multi-Media).
3.التطور في مجال الذكاء الاصطناعي وهو فرع من علم الحاسوب يبحث في استعمال الحاسوب لمحاكاة التفكير البشري.
4.التطور في مجال معالجة اللغات الطبيعية واستنطاق الحاسوب وظهور بطاقات الصوت .
5.ظهور الحواسيب التي تستخدم عدة معالجات.
6.التطور في مجال الشبكات مما أدى إلى استعمال قواعد البيانات المختلفةعلى نطاق عالمي.
تعريف قاعدة البيانات
قاعدة البيانات بدقة فهي أي مجموعة من المعلومات. فدليل الهاتف ـ مثلاً ـ يعد قاعدة البيانات هي ملف يحتوي على كل ما تنشئه في قاعدة البيانات مثل النماذج والتقارير والاستعلامات، وليس فقط البيانات.
وفي أكسيس يتم حفظ البيانات في جدول Table.
قواعد البيانات Database
يمكن تعريف قواعد البيانات بشكل مبسط هي مجموعة من البيانات المرتبة والمنظمه ترتبط فيما بينها بروابط منطقية.
ماهى البرمجة ؟؟
هي لغة التخاطب بين الإنسان و الآلة تتكون هذه اللغة من العديد من الأوامر لتنفيذ مهمه معينه ...
فما هى الا عملية بسيطة تقوم فيها بكتابة بعض الكلمات للكمبيوتر ليقوم بتنفيذها مثلما تقوم انت بكتابة رسالة لصديقك وارسالها له من على الموبايل
وايضاً هناك ذلك التعريف الطريف :
"البرمجه هى ان تعلم اغبى صديق لديك طريقه كى يحل بها مسائلة ما"
وما مستوى الذكاء المطلوب للبرمجة ؟
قد يظن البعض ان المبرجين ما هم اشخاص ذو عقليات ومهارات خاصة ... ولكنهم فى الحقيقة ما هم الا اناس عاديين وقد يكونوا من غير الموفقين فى دارستهم للاسف
فالبرمجة هى فن قبل ان تكون علم وهى المجال الوحيد الذى قد يتساوى فيه الطالب مع الدكتور بل وقد يزيد عليه حسب خبرته الشخصية ..
فالبرمجة يمكن لاى شخص البدء فيها بكل سلاسة حسب مهارته وقدرته على التعلم وحماسه لها ..
وهل تتطلب لغة انجلزية جيدة ؟
حقيقة فى الوضع الحالى .. لابد لمن يريد ان ينال الريادة ان يكون متقناً للغة الانجلزية ....
ولكنها ليست مشكلة فى البداية فالانسان لا يولد متعلما ..
والبرمجة ليست كلمات واومر بسيطة يمكنك تعلمها بكل سلاسة دون اى وجود عائق لغوى تماما ... لكت للاحتراف والتميز لابد ان يكون جيدا فى اللغة حتى يكون ملماً بكل جديد ومساير له ..
وهل يجب ان يكون لدى خلفية رياضية جيدة ؟
قد يعتقد البعض ان المبرمجين مهارين جدا فى الرياضيات .. ولكن الحقيقة خلاف ذلك فأنت لاتحتاج للرياضة الا قليلاً وبشكل مبسط جدا .. الا فى بعض البرامج المتخصصة فى ذلك المجال فربما قد تحتاج الى بعض المعادلات البسيطة التى يمكن الحصول عليها بكل سهولة
يعرف نظام التشغيل على أنه مجموعة من البرامج التي تتحكم وتشرف وتدعم معدات الحاسوب والحزم التطبيقية ولا يمكن لأي جهاز حاسوب أن يعمل إلا عند توفر نظام التشغيل الذي يحمل من الذاكرة الثانوية (الاقراص الممغنطة)إلى الذاكرة الرئيسية عند تشغيل الجهاز ليبدأ بإدارة العمل في الجهاز ويتكون نظام التشغيل من مجموعة من البرامج المتكاملة تعمل كفريق كل منها يؤدي مهمات معينة برنامج التحكم الرئيسي في نظام التشغيل هو المشرف (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) تتحكم بالحواسيب التي تتفاعل مع البيئة لتنفيذ العمل بحيث تكون عملية الإدخال والمعالجة في نفس اللحظة مثل أجهزة تخطيط القلب وتصميم هذه للقيام بمهام محددة في فترة زمنية محددة
أنواع أنظمة التشغيل الحواسيب:
1- نظام التشغيل يونكس UNIX : وهو أقدم أنظمة التشغيل المعروفة، النظام تجاري وسعر النسخة منه باهظة الثمن، يختص فقط بتشغيل الأجهزة العملاقة والشبكات، وقد ظهرت نسخاً ذات واجهات رسومية تقوم بتشغيل الأجهزة الشخصية طورها مجموعة من طلبة جامعة باركلي أطلق عليها اسم BSD وهو اختصار للجملة Berkeley Software Distribution، ومن أبرز أنواعه الحالية FreeBSD وOpenBSD وهذان النظامان يعمل عليها ما يزيد عن ثلاثة أرباع شبكات ومواقع الإنترنت الحالية.
2- نظام التشغيل دوس DOS: وهو اختصار لمصطلح نظام تشغيل القرص Disk Operating System وهو من الأنظمة القديمة جداً وهناك أنواع كثيرة تعمل على تشغيل الأجهزة ومن أشهرها نظام تشغيل دوس الخاص بشركة IBM الذي كان مخصصاً لتشغيل الأجهزة الشخصية IBM والأجهزة المتوافقة معها ، ثم تولى بل غيتس وشريكه تطوير هذا النظام عام 1981م حيث ظهر أول نظام تشغيل بمسمى MS-DOS فكان نواة شركة ما يكروسوفت. وهو نظام تشغيل مبني على الأوامر النصية المباشرة. وهذا النوع من الأنظمة لا يقبل تشغيل أكثر من تطبيق في نفس الوقت ولا عمل أكثر من شخص على النظام في نفس الوقت.
3- نظام OS/2 : هو نظام تشغيل قامت بتطويره شركة IBM عام 1985م حيث كان مجرد بيئة تشغيل نصية، واعتبر كنظام رسمي للأجهزة الشخصية التي تنتجها الشركة، واستمرت بتطويره بعد فض الشراكة بينها وبين مايكروسوفت، فأعلنت عن أول إصدارة بنظام 32بت في إبريل عام 1992، لكن هذا النظام لم يحض بالشعبية التي توقعتها الشركة، والمكانة التي نالتها ويندوز نظراً لرخص ثمن هذا الأخير وقتئذ، ولإقبال منتجي البرامج والعتاد على دعم أنظمة ويندوز.
4- ويندوز Windows : يعد ويندوز أحد أبرز وأشهر منتجات شركة مايكروسوفت، ظهر لأول مرة عام 1985كواجهة رسومية مساعدة بديلة عن كتابة الأوامر تعمل في بيئة نظام دوس، واستمر كذلك حتى عام 1993حيث ظهر أول نظام تشغيل للشبكات واسمه ويندوز NT وهو نظام التشغيل كخادم لبيئة الشبكات. وفي العام 1995أطلقت شركة مايكروسوفت Windows95 كأول نظام تشغيل مستقل لا يعتمد على نظام MS-DOS وhنقلب معه الحال ليصبح نظام MS-DOS تابعاً لويندوز بعد أن كان العكس، ثم تلاه ويندوز 98عام 1998ونظامي ويندوز ميلينيوم و 2000خلال العام 2000ثم ويندوز XP في 2001، وويندوز 2003المخصص للشبكات الكبيرة عام 2003، وفي مطلع هذا العام 2007أطلقت مايكروسوفت نظام تشغيل ويندوز فيستا.
5- نظمة تشغيل Mac OS X : وهي الأنظمة المخصصة لأجهزة إبل ماكنتوش، وبالمناسبة هذا النظام بني أساساً على شيفرة يونكس BSD والذي يسمح ترخيصه باستخدام برنامج مفتوح المصدر وإغلاقه.
6- نظام التشغيل لينكس Linux : وهو نظام تشغيل مفتوح المصدر تعمل به الأجهزة الشخصية، وقد كان في السابق مجرد بيئة نصية معقدة تعتمد على الأوامر المباشرة أما الآن فأصبح من أسهل الأنظمة استخداماً وأكثرها أماناً. ويوجد حالياً مئات النسخ التي تسمى توزيعات من لينكس، تختلف من حيث القوة والسهولة وأسلوب تركيب البرامج. أشهر أنظمة لينكس Redhat وDebian وSlackware وGentoo وهي التوزيعات الرئيسة التي بنيت عليها الأنظمة المختلفة.
وبطبيعة الحال هذه ليست كل أنظمة التشغيل، لكن أهمها وأشهرها.
الحاسوب أو الحاسب، أو الكمبيوتر هي كلها ألفاظ تشير إلى جهاز إلكتروني يتعامل مع البيانات، و يقوم بمعالجتها وفقاً لتعليمات محددة -برامج- و يخرج المعلومات.تتعدد أنواع الحواسيب من حيث طريقة عملها وحجمها. لا يمكن القول بأن الحاسوب هو اختراع بحد ذاته لأنه كان نتاج الكثير من الابتكارات العلمية و التطبيقات الرياضية. الحاسبات متنوعة، في الواقع إنها آلات معالجة بيانات عالمية . طبقا لفرض Church–Turing فإن حاسب له قدرة ذات حد أدنى معين يكون ببساطة قادر على إنجاز المهام الخاصة بأي حاسب آخر، بدءاً من المساعد الرقمي الشخصي إلى الحاسوب الفائق، طالما أن الوقت وسعة الذاكرة ليست في الاعتبار. لذلك فإن التصميمات المتماثلة من الحاسب من الممكن أن تضبط من أجل مهام تتراوح بين معالجة حسابات موظفي الشركات والتحكم في المركبات الفضائية بدون طيار. و بسبب التطور التكنولوجي فإن الحاسبات الاليكترونية الحديثة بشكل جبري تكون أكثر قدرة من تلك التي من الأجيال السابقة (ظاهرة موصوفة و مشروحة جزئيا بقانون مور).
تأخذ الحاسبات أشكالا ملموسة (فيزيائية) متعددة. لقد كانت الحاسبات الاليكترونية البدائية في حجم حجرة كبيرة وهذه الحاسبات الضخمة-الحواسيب الفائقة- ما زالت موجودة و ذلك لأداء الحسابات العلمية المتخصصة, و كذلك من أجل متطلبات إجراء المعالجة الخاصة بالشركات الكبيرة و غالباً ما يطلق عليها حواسيب الإطار الرئيسي mainframes. إن الحاسبات الاصغر و المستخدمة شخصياً و التي يطلق عليها الحاسبات الشخصية، و المعادل المتنقل لها والذي يسمى بالحاسب المحمول تعد أدوات معالجة معلومات و اتصالات كاملة، و هي أيضا ما يعتقده الغالبية العظمى من غير الخبراء لما يعرف بالحاسب. و مع ذلك فإن أكثر أشكال الحاسب شيوعاً واستخداماً هذه الأيام هي الحاسبات المدمجة و هي حاسبات صغيرة تستخدم للتحكم بجهاز آخر. تستطيع الحاسبات المدمجة التحكم في اجهزة تبدأ من الطائرة المقاتلة إلى الكاميرات الرقمية.
الدوائر الرقمية
إن التصميم الفكري أعلاه من الممكن أن يطبق باستخدام تشكيلة من التقنيات المختلفة، إن حاسب البرنامج المخزن يمكن تصميمه كليا من مكونات ميكانيكية مثل الحاسب الذي صممه Babbage. على الرغم من ذلك، تسمح الدوائر الرقمية بتطبيق منطق Boolean و الحساب باستخدام الأرقام الثنائية باستخدام الحاكمات (relays) بصورة أساسية و مفاتيح يتم التحكم فيها كهربيا. لقد بين لنا فرض Shannon الشهير كيف يمكن ترتيب الحاكمات (relays) لتشكيل و حدات تسمى بالبوابات المنطقية (logic gates) و تنفيذ العمليات البولينية البسيطة. و بعد ذلك، قرر الآخرون أن الانابيب الصمامية (أجهزة إليكترونية) من الممكن أن تستخدم عوضا عن الحاكمات. تستخدم الأنابيب الصمامية أساسا كمكبر إشارة في الراديو و التطبيقات الاخرى، و لكنها استخدمت في الإليكترونيات الرقمية كمفتاح سريع جدا: فعندما يتم توصيل الكهرباء لطرف من أطرافه يستطيع التيار المرور بين الطرفين الاخرين.
يمكن إنشاء دوائر رقمية لعمل مهام أكثر تعقيدا و ذلك باستخدام ترتيبات معينة للبوابات المنطقية، على سبيل المثال الجامع، و الذي يطبق في الإليكترونيات نفس الطريقة الفنية المستخدمة في الحاسبات.
أجهزة الإدخال و الإخراج
I/O (اختصارا لـ Input/Output) هو مصطلح عام يطلق على الأجهزة التي ترسل المعلومات من العالم الخارجي و تلك التي تعيد نتائج الحسابات. هذه النتائج يمكن إما أن تظهر مباشرة للمستخدم أو أن يتم إرسالها إلى آلة أخرى و التي يكون تحكمها مخصص للحاسب. على سبيل المثال في الإنسان الآلى (robot) يكون جهاز الإخراج الرئيسي لتحكم الحاسب هو الروبوت ذاته.
إن الجيل الأول من الحاسبات كان مجهزا بمدى محدود جدا من أجهزة الإدخال. إن قارئ الكروت المثقبة أو الاشياء المماثلة كانت تستخدم لإدخال الأوامر و البيانات في ذاكرة الحاسب، و كذلك استخدم بعض أنواع الطابعات و هو في العادة عبارة عن teletype معدل لتسجيل النتائج. و على مر السنين، أجهزة أخرى تمت إضافتها. بالنسبة إلى الحاسبات الشخصية على سبيل المثال، فان لوحة المفاتيح و الفأرة هما الطريقتين الرئيسيتين المستخدمتين لإدخال المعلومات مباشرة إلى الحاسب، و الشاشة هي الطريقة الرئيسية لإعادة إظهار المعلومات للمستخدم و ذلك بالرغم من أن الطابعات و السماعات منتشرة أيضا. يوجد تشكيلة ضخمة من أجهزة الإدخال الأخرى لإدخال أنواع أخرى من المدخلات. مثال على ذلك هو الكاميرا الرقمية حيث تستخدم لإدخال معلومات مرئية. يوجد نوعين بارزين من أجهزة الإدخال و الإخراج. النوع الأول هو أجهزة التخزين الثانوية مثل الأقراص الصلبة (hard disks) و وحدات الأسطوانات (CD-ROM) و key drives و ما يماثلها و التي تتميز بالبطء نسبيا و لكنها ذات سعات تخزينية عالية، حيث يمكن تخزين المعلومات لاستعادتها لاحقا: النوع الثاني هي الأجهزة المستخدمة للاتصال بشبكات الحاسب. إن القدرة على نقل البيانات بين الحاسبات فتح مدي واسع من القدرات للحاسب. شبكة الانترنت العالمية تسمح لملايين الحاسبات بنقل المعلومات من جميع الانواع بينها و بعضها.
البرامج
إن برامج الحاسب ببساطة هي عبارة عن قائمة من الأوامر يقوم الحاسب بتنفيذها. تتراوح هذه الأوامر (التعليمات) ابتداء من بعض الأوامر القليلة التي تؤدي مهمة بسيطة إلى قائمة أوامر أكثر تعقيدا و التي من الممكن أن تحتوي جداول من البيانات. العديد من برامج الحاسب تحتوي الملايين من الأوامر و العديد من هذه الأوامر يتم تنفيذها بصورة متكررة. إن حاسب شخصي حديث نموذجي يمكنه تنفيذ حوالي 3 مليار أمر في الثانية. إن الحاسبات لم تكتسب قدراتها غير العادية من خلال قدرتها على تنفيذ الأوامر المعقدة. و لكن بالأحرى فإنها تقوم بالملايين من الأوامر المرتبة عن طريق أشخاص يعرفون بالمبرمجين.
عادة، فإن المبرمجين لا يكتبون الأوامر إلى الحاسب مباشرة بلغة الالة.إن البرمجة بهذه اللغة عملية مملة جدا و تميل للخطأ بصورة كبيرة مما يجعل المبرمجين غير قادرين على الإنتاج بصورة كبيرة. و عوضا عن ذلك، يقوم المبرمجين بوصف العملية المرادة في لغة برمجة "عالية المستوى" و التي يتم ترجمتها أوتوماتيكيا بعد ذلك إلى لغة الالة عن طريق برامج حاسب مخصصة (مفسرات و مجمعات). بعض لغات البرمجة ترسم خريطة قريبة جدا من لغة الآلة مثل لغة التجميع Assembly (لغات برمجة منخفضة المستوى): و على الجانب الآخر فإن لغات البرمجة مثل البرولوج Prolog مبنية على قواعد مجردة و مفصولة عن تفصيلات العملية الحقيقية للآلة (لغات برمجة عالية المستوى). إن اللغة المختارة لمهمة جزئية تعتمد على طبيعة هذه المهمة و المهارة التي يمتلكها المبرمجين و توافر الأدوات و عادة احتياجات المستهلكين (على سبيل المثال، فإن المشاريع الخاصة بالاستخدامات الحربية الامريكية في الغالب يجب أن تكون مبرمجة بلغة Ada).
إن Computer software (الأجزاء غير الملموسة بالحاسب) هو مصطلح بديل لبرامج الحاسب (computer programs): إنها عبارة أكثر شمولية و تحتوي كل المواد الهامة المصاحبة للبرنامج و التي يحتاجها لأداء المهام المهمة على سبيل المثال فإن لعبة الفيديو لا تحتوي فقط على البرنامج نفسه و لكن تحتوي ايضا على بيانات تمثل الصور و الاصوات و المواد الاخرى المطلوبة لعمل البيئة التخيلية للعبة. تطبيق الحاسب هو قطعة من برامج الحاسب التي تقدم للعديد من المستخدمين غالبا في سوق تجزئة. من الأمثلة الحديثة المطبقة تماما هي الأدوات المكتبية office suite و هي عبارة عن برامج ذات صفات مشتركة لأداء مهام المكتب الشائعة.
بالذهاب من القدرات شديدة البساطة الخاصة بأمر لغة آلة واحد إلى القدرات الضخمة للبرامج التطبيقية يعني أن الكثير من برامج الحاسب تكون كبيرة جدا و معقدة للغاية. من الأمثلة المنطبقة على ذلك هو Windows XP و الذي يتكون من حوالي 40 مليون سطر من شفرة الحاسب في لغة برمجة C++: يوجد العديد من المشاريع التي تكون أكبر هدفا، يقوم بإنشائه فرق كبيرة من المبرمجين. إن ادارة هذه المشاريع شديدة التعقيد هو مفتاح إمكانية تنفيذ هذه المشاريع: لغات البرمجة و تطبيقات البرمجة تسمح بتقسيم المهمة إلى مهام فرعية أصغر فأصغر حتى تصبح في قدرات مبرمج واحد و في وقت مناسب.
إن عملية تطوير البرامج لا زالت بطيئة و لا يمكن التنبؤ بها و تميل للخطأ: إن نظام هندسة البرامج حاولت و قد نجحت جزئيا في جعل العملية أكثر سرعة و إنتاجية و تحسين جودة المنتج النهائي.
المكتبات و أنظمة التشغيل
بعد فترة وجيزة من تطوير الحاسب، تم اكتشاف أن هناك مهام معينة تكون مطلوبة في برامج مختلفة؛ إن مثالا قديما على ذلك كان حساب بعض الدوال الرياضية الأساسية. و من أجل الفعالية، فقد تم جمع نسخ نموذجية من تلك الدوال و وضعها في مكتبات تكون متاحة لمن يحتاجها. إن مجموعة المهام الشائعة بعض الشئ و التي تتعلق بمعالجة كتل البيانات الخاصة "بالتحدث" إلى أجهزة الإدخال و الإخراج المختلفة، و لذلك تم تطوير مكتبات لها سريعا.
بانتهاء الستينات من القرن العشرين، و مع الاستخدام الصناعي الواسع للحاسب في العديد من الأغراض، أصبح من الشائع استخدامها لانجاز العديد من الوظائف في مؤسسة. بعد ذلك بفترة وجيزة أصبح متاحا وجود برامج خاصة لتوقيت و تنفيذ تلك المهام العديدة. إن مجموع كل من إدارة "الأجزاء الصلبة" و توقيت المهام أصبح معروفا باسم "نظام التشغيل"؛ من الأمثلة القديمة على هذا النوع من أنظمة التشغيل القديمة كان OS/360 الخاص بـ IBM.
إن التطوير الرئيسي التالي في أنظمة التشغيل كان timesharing - و فكرته تعتمد على أن عددا من المستخدمين بإمكانهم استخدام الآلة في وقت واحد و ذلك عن طريق الاحتفاظ بكل برامجهم في الذاكرة و تنفيذ برنامج كل مستخدم لمدة قصيرة و بذلك يصبح و كأن كل مستخدم يملك كل منهم حاسبا خاصا به. إن مثل هذا التطوير يتطلب من نظام التشغيل بأن يقدم لكل برامج المستخدمين "آلة تخيلية" و ذلك لمنع برنامج المستخدم الواحد من التداخل مع البرامج الاخرى (بالصدفة أو التصميم). إن مدى الأجهزة التي يجب أن تتعامل معها نظم التشغيل قد تمدد؛ من الأمثلة الملاحظة كان القرص الصلب؛ إن فكرة الملفات الفردية و الترتيب البنائي المنظم للادلة "directories" (حاليا يطلق عليها في الغالب مجلدات "folder") قد سهلت و بشكل كبير استخدام هذه الأجهزة للتخزين الدائم. من الأمثلة الحديثة المطبقة تماما هي الأدوات المكتبية office suite و هي عبارة عن برامج ذات صفات مشتركة لأداء مهام المكتب الشائعة. إن متحكمات الوصول الآمن سمحت لمستخدمي الحاسب بالوصول فقط إلى الملفات و الأدلة و البرامج التي لديهم تصريح باستخدامها كانت أيضا شائعة.
ربما تكون آخر إضافة لنظام التشغيل كانت عبارة عن أدوات تزود المستخدم بواجهة مستخدم رسومية معيارية. بينما كانت هناك بعض الأسباب التقنية لضرورة ربط واجهة المستخدم الرسومية (GUI) لباقي أجزاء نظام التشغيل، فقد سمح ذلك لبائع نظام التشغيل بجعل كل البرامج الموجهة لنظام تشغيلهم تمتلك نفس الواجهة.
خارج هذه المهام الداخلية "core"، فإن نظام التشغيل غالبا ما يكون مزودا بمجموعة من الأدوات الاخرى، بعض منها ربما يملك اتصال ضئيل بهذه المهام الداخلية الأصلية و لكن وجد أنها مفيدة لعدد كافي من المستهلكين مما جعل المنتجين بإضافتها. على سبيل المثال فإن Apple's Mac OS X يتم تقديمها مع تطبيق لتحرير الفيديو الرقمي.
نظم تشغيل الحاسبات الأصغر ربما لا تقدم كل هذه المهام. نظم التشغيل للمايكروكمبيوتر القديم ذى الذاكرة و قدرات المعالجة المحدودتين كانت لا تقدم كل المهام، و الحاسبات المدمجة دائما إما تملك نظم تشغيل متخصصة أو لا تملك نظام تشغيل بالكلية، مع برامجه التطبيقية المتخصصة و التي تؤدي المهام التي من الممكن أن تعود بطريقة أخرى إلى نظام التشغيل.
أنواع الحاسبات
يمكن تقسيم الحواسيب إلى:
• حواسيب الإطار الرئيسي: وهي الحواسيب ذات السعات التخزينية الضخمة والكفاءة العالية في المعالجة والتي تستخدم في المنشآت الكبيرة كالدوائر الحكومية والجامعات والشركات الكبرى، حيث يتم ربط الجهاز الرئيسي بمجموعة من الأجهزة الفرعية تسمى نهايات طرفية.
• حواسيب شخصية: وهي الحواسيب التي نراها في المنازل والمكاتب. ويستعمل مصطلح الحاسوب أو كمبيوتر بشكل عام في الإشارة إلى الحواسيب الشخصية.
• حواسيب كفيـّة: وهي أجهزة صغيرة لا يتجاوز حجمها كف اليد، تستخدم في إجراء بعض المهام الحاسوبية البسيطة كحفظ البيانات الضرورية والمواعيد، وقد توسع استخدامها مؤخراً حتى أصبحت تضاهي باستخداماتها الحواسيب الأخرى، حيث تستخدم بعضها في الدخول إلى الانترنت أو الاستدلال في الطرق من خلال أنظمة الإبحار.
• حواسب مدمجة: وهي الحواسيب الموجودة في العديد من الأجهزة الإلكترونية والكهربائية، إذ أن العديد من الأجهزة تحتوي حواسيب لأغراض خاصة. فمثلاً توجد الحواسيب في الهواتف السيارات وأجهزة الفيديو والطائرات وغيرها.
والحواسيب المدمجة أو ما يضلق عليها اسم المتحكم الصغير وهي عبارة عن microcontroler هكذا تسمى باللغة الإنجليزية لأنه عدة أجزاء كمبيوتر موضوعة في رقاقة الكترونية واحدة وهي الchip التي تبرمج كيفما تريد نعم تستطيع عمل برمجة لهذه الرقاقت وتستطيع محيها أكثر من 1000 مرة وإعادة برمجتها من أهم القطع المستعملة ألا و هي pic16f84 الشهيرة من شكرة microship العالمية وهناك نسخ أفضل من هذه الرقاقة، يمكنك عمل الآف التطبيقات بواسطة برمجة هذه الرقاقة أي تسيرها حسبما تريد أن تسيرها.
مكونات الحاسب
يقصد بمكونات الحاسوب المكونات الصلبة أو العتاد Hardware فقط. من الممكن القول أن أي نظام حاسوبي يحتوي على الأجزاء التالية بأشكاله المختلفة:
• وحدة المعالجة المركزية -و يطلق عليه اختصارًا "المعالج"- و هو المسئول عن معالجة العمليات الحسابية و تنفيذها
• اللوحة الام Motherboard
• ذاكرة الوصول العشوائي RAM
• وحدات إدخال وإخراج البيانات مثل لوحة المفاتيح والفأرة والشاشة.
و هناك مكونات أخرى تعتبر مكملة لعمل الحاسوب مثل:
• الطابعة
• الماسح الضوئي
• الاجهزة الصوتية و المرئية أو الوسائط المتعددة
بالإضافة إلى المكونات الصلبة فإن الحاسوب يحتاج إلى:
• نظام تشغيل ليس من مكونات الحاسوب و يعتبر من المكملات
• البرامج ليست من مكونات الحاسوب و تعتبر من المكملات، و يشبه البعض العلاقة بين البرامج و الحاسوب بالعلاقة بين الروح و الجسد.
عتاد الحاسوب
العتاد الصلب أو عتاد الحاسوب (بالإنجليزية: Computer Hardware) هي المكونات المادية الملموسة من الحاسوب -بما في ذلك الدوائر الإلكترونية-. وتسمى هذه المكونات بالعتاد الصلب لتميزها عن برامج الحاسوب التي تنفذ من خلال تلك هذا العتاد. ويمكن اعتبار الترجمة العربية لكلمة Hardware بمصطلح عتاد صلب ترجمة حرفية نوعا ما. فكلمة صلب (Hard) استخدمت أساسا للدلالة على أن هذه المكونات هي مكونات قليلة التغير في الحاسوب على عكس البرمجيات (Software) والتي يتم إنشاؤها والتعديل عليها وحذفها بسهولة وبشكل متكرر. إلا أن هنالك نوع من البرمجيات تسمى برمجيات ثابتة (Firmware) تكون مخزنة داخليا في العتاد الصلب ولا تغير إلا نادرا.
الغالبية العظمى من العتاد الصلب المنتج تستخدم في حواسيب مضمنة ضمن أجهزة أخرى مثل السيارات وأفران المايكرويف ومشغلات الأقراص المضغوطة وغيرها. بالمقابل، يستخدم جزء ضئيل من المنتج الكلي لهذه المكونات (ما قدرت نسبته في عام 2003 م بحوالي 0.2%) في صناعة الحواسيب الشخصية. ونتيجة لذلك، لا يظهر معظم العتاد الصلب للمستخدمين العاديين.
قائمة العتاد الصلب
• اللوحة الأم تشكل الأساس والحامل لباقي القطع جميعها وتحوي النواقل التي تنقل البيانات بين مختلف القطع:
o وحدة المعالجة المركزية (CPU)
o ذاكرة الوصول العشوائي (RAM): تنفيذ البرامج وتخزين مؤقت سريع للبيانات اللازمة.
o النواقل:
بي سي آي (PCI)
بي سي آي السريع (PCI-E) وآ جي بي (Accelerated Graphics Port أو AGP)
آيزا (ISA أو Industry Standard Architecture) - خارج الخدمة حاليا.
يو إس بي (Universal Serial Bus أو (USB
• مزود الطاقة
• آي دي إي (Integrated Drive Electronics): متحكمات وسائل التخزين مثل ساتا (SATA), سكزي (SCSI) وغيرها من الأنماط التي تتحكم قرص صلب, قرص مرن, سي دي-روم وغيرها; تتوضع المتحكمات على اللوحة الأم مباشرة أو على كروت توسعة.
• بطاقة العرض الفيديوي (Graphics card|Video display controller) تنتج الخرج الذي يؤدي إلى العرض الحاسوبي.
• متحكمات النواقل الحاسوبية (Computer bus) (منفذ متوازي parallel port ، منفذ تسلسلي serial port ، يو إس بي, فايرواير FireWire ) تستخدم لربط الحاسب مع حواسب أخرى أو طرفيات خارجية مثل: طابعات أو ماسح ضوئي.
• أنواع وسائط التخزين الحاسوبي:
o سي دي (CD).
سواقة سي دي-روم
ناسخة السي دي
o دي في دي (DVD)
دي في دي-روم
ناسخة دي في دي
سواقة دي في دي-رام
o بي دي (BD)
o قرص مرن
o سواقة القرص المرن المضغوط (Zip drive)
o ذاكرة يو إس بي (USB Flash Drive)
o سواقة شريط (Tape drive) - للتخزين طويل المدى
• وسائط تخزين داخلية:
o قرص صلب
o متحكم مصفوفة الأقراص (Disk array controller)
• بطاقة الصوت (Sound card): تترجم الإشارات من اللوحة الأم إلى جهودات تماثلية تنتهي بشكل أصوات
• تشبيك (Computer networks):
o مودم - للاتصالات عبر الهاتف
o بطاقة الشبكة (Network card): للتشبيك مع حواسيب أخرى أو الاتصال بالإنترنت.
• طرفيات أخرى
بعض المكونات الخارجية:
• أدوات الإدخال
o أدوات إدخالنصية
لوحة مفاتيح الحاسب
o أدوات التأشير
الفأرة
كرة التتبع (Trackball)
o وسائل تسلية
عصا التحكم (Joystick)
لوحة اللعب
o أدوات إدخال رسومية, فيديوية
ماسح ضوئي
كاميرا ويب
o أدوات إدخال صوتية
ميكروفون
• أجهزة إخراج
o أجهزة إخراج صورة, فيديو
طابعة
شاشة حاسوب
o أجهزة إخراج صوتية
سماعة الحاسب
سماعة رأس
برمجة
لغات برمجة
لغات كائنية
سي++
++C سي شارب
#C
دلفي
Delphi ادا 95
Ada
جافا
Java سمولتوك
Smalltalk
روبي
Ruby
لغات تقليدية
بيسيك
Basic سي
C
باسكال
Pascal كوبول
COBOL
فورتران
FORTRAN أسمبلي
Assembly
لغات وظيفية
ليسب
Lisp برولوغ
Prolog
بايثون
Python باريس
Paris
هندسة برامج
برمجة الحاسوب: هي عملية تطبيق وتنفيذ مجموعة خوارزميات ذوات علاقات متصلة مع بعضهن وهي عملية دمج افكار متقاربة باستخدام احدى لغات البرمجة من أجل انتاج برنامج محوسب. البرمجة هي مزيج من العلوم والرياضيات والهندسة.
لغات البرمجة
تجدر الإشارة هنا إلى التذكير بمعنى كلمة لغة وهي طريقة الاتصال والتفاهم بين الأشخاص أو لنقل في حالة الحاسوب الطريقة التي يفهم بها الحاسوب طلب الانسان. لذلك نجد في حياتنا مجموعة مصطلحات وكلمات يختلف استخدامها حسب الحاجة. لغات البرمجة المختلفة تتمتع بهذه الخاصية أيضا. فهناك الكثير من اللغات البرمجية الموجودة وهذه اللغات تختلف من ناحية عملها وهدفها. لذلك يجب على المبرمج أن يكون ملما ببعض لغات البرمجة وأن يعرف ما هي اللغة المناسبة لتطبيق هذا البرنامج. لغة البرمجة الوحيدة التي يفهمها الحاسوب ويستطيع أن يتعامل معها هي لغة الآلة -machine language-. في البداية عمل المبرمجون على تحليل شفرة الحاسوب –machine code-والتعامل معها بشكلها الجامد وغير المفهوم وهو (0،1). ولكن هذه العملية معقدة جدا ويصعب التعامل معها لعدم فهمها الواضح للبشر ولغموضها لذلك تم إبتكار لغات راقية تعمل كوسيط بين لغة الانسان ولغة الاّلة و هي لغات البرمجة المعروفة مثل لغة السي و لغة البيسيك. ثم يتم تشغيل البرامج المكتوبة بهذه اللغات عن طريق أحد البرامج المتخصصة مثل المترجم والمجمع . هذه البرامج تعمل على ترجمة أسطر لغة البرمجة إلى لغة الحاسوب مما يسهل على الحاسوب تنفيذ هذه الأوامر وإخراج النتائج output.
القرص المرن المسمى ب floppy disk driveو اختصاره هو (FDD)اخترع في سنة 1967 من قبل شركة IBM , و كان ذو حجم كبير نسبيا يبلغ 8 انش , مما جعل شركة اي بي ام تطوره بعد فترة ليصبح ذو حجم 5.25 انش و يحمل 360 كيلوبايتا فقط من المعلومات مقارنتاً ب1.44 ميغا بايتاً مع اقراصنا الحالية ذات 3.5 انش في حجمها, التي اثبتت قوتها و قضت على ال5.25 في بداية التسعينات.
ان القرص المرن يشبه شريط المسجل في اشيا كثيرة منها:
• كلاهما يسجلان المعلومات في نفس اللحظة
• امكانية حذف المعلومات و اعادة استعمالهما مرات عدة
• رخص الاسعار
• سهولة الاستخدام
المشكلة في شريط المسجل هي انه يتبع نظام الاولوية و الترتيب . بمعنى , ان الشريط له بداية و نهاية , فيحوي الشريط على عدة مقاطع من المواد السمعية المسجلة فيه, و للانتقال من مادة الى اخرى يجب ضغط زر rewind او forward
للبحث عن المادة المطلوبة , و احيانا تأخذ العملية دقائق فقط للبحث عن المادة المطلوبة .
القرص المرن يشبه الشريط بشكل كبير, فهما مصنوعان من قطعة من البلاستيك مغطاة بمادة مغناطيسية من الجهتان, لكن في القرص يكون شكله دائري, حتى تكون الحركة من الملف رقم واحد مثلا الى الملف رقم 13 بسرعة كبيرة مقارنة بالشريط, و هذه العملية تدعى direct access storage..
في الصورة مقطع لقرص مرن يبين المقاطع المقسمة في القرص و توزيعاته.
ينقسم درايف القرص الى عدة اقسام:
• رأس القراءة و الكتابة
هناك رأسان لاتمام عملية الكتابة القراءة و المسح , احدهما للكتابو القراءة و الاخر لمسح البيانات الموجودة على القرص, ليجعل القرص نظيفا قابلا لاعادة الاستعمال.
• محرك الاراص المرنة
يوجد محرك يثبت عند منتصف القرص عند ادخاله ليعلق في الفتحات الموجودة له , و يدور بسرعة تصل الى 600 دورة في الدقيقة ليساعد على قراءة البيانات و الانتقال الى الملف المناسب بسرعة مناسبة.
• محرك دقيق
يستخدم هذا المحرك لتحريك الرؤوس التي تكتب و تمسح الى مكان الملف المقصود لعمل اللازم, اما كتابة او قراءة او حذف.
• غطاء القرص
يستخدم الغطاء لحماية المادة البلاستيكية المغطا بمادة مغناطيسية من اي تأثير خارجي كضوء الشمس او اي شي يؤثر على البيانات الموجودة فيه , و عند ادخال القرص يفتح الغطاء ليسمح للرؤوس باتخاذ اماكنها بشكل متقابل.
• اللوحة الالكترونية
تحتوي على القطع الالكترونية التي تتحكم بالقرص بما فيه من نقل البيانات من القرص الى الطرف الثاني من جهاز الحاسب و التحكم في تحرك الرؤوس و غيرها من الامور.
الصور تبين حالة القرص بعد اتمام الدخول و اثناء دخوله
عملية كتابة و قراءة المعلومات هي كالتالي:
1. يمرر الحاسب امر لدرايف للقرص المرن بكتابة او قراءة ملف في القرص المرن.
2. يبدأ المحرك بالدوران فتدور قطعة تخزيين البيانات في القرص المرن معه.
3. يبدأ المحرك الدقيق بالدوران ليحرك الرؤوس لتصل الى مكان القراءة او الكتابة.
4. تتوقف الرؤوس في المكان المذكور و تتأكد من انها نفسها المكان المذكور قبل البدء بالعملية المطلوبة ( كتابة او قراءة).
5. عند الكتابة يكون هناك ملف وظيفته مسح كل شي موجود في المقطع الذي سيقوم رأس الكتابة بكتابته و الملف مقصود به ليس ملفا برمجيا انما قطع تكون نوعا ما اكبر من الرأس نفسه ليتفادى اي تأثير اثناء عملية الكتابة على القرص.
6. رأس القراءة يتخذ مكانه و يلتصق بالقرص المرن و يبدأ بقراءة الانتشارات المغناطيسية على القرص و يبعث فحواها لتتم ترجمتها الى المستخدم.
7. عند الانتهاء من العملية ينتظر الدرايف اوائمر اخرى من الحاسب كي ينفذها.
8. يستمر الضوء بالتشغيل حينما تكون هناك عملية للقرص المرن.
بعض الحقائق عن الاقراص المرنة:
• وجود قرصين مرنين ملتصقين مع بعض لا يؤثر على محتواهما من البيانات, لصغر تأثير المحتوى المغناطيسي فيهما.
• عموما , لن تجد احدا يصلح محرك اقراص مرنة هذه الايام ان وجد بها عطل, لان ثمن تصليحه لن يكون اقل من استبداله! فهو يكلف حوالي 50 درهما.
• توجد فتحة في طرف اي قرص مرن تقليدي, عند تغطيتها , لن يتمكن احد من الكتابة على القرص حتى ازالة الغطاء.
المعالج ( Microprocessor )
المعالج جزء رئيسي في اللوحة الأم و يقوم بشكل عام بمعالجة المعلومات الداخلة اليه لنراها في الشاشة
مثال : مراحل معالجة البيانات هي 1- إدخال 2 - معالجة 3 - إخراج فعند كتابة نص بوساطة برنامج كتابي مثل الـ Word pad فإننا ندخل البيانات عن طريق الكيبورد ثم تتم معالجة البيانات في وحدة المعالجة CPU فتخرج البيانات على الشاشة تتكون وحدة المعالجة في الكمبيوتر بالأضافة للمعالج الى اربع وحدات مساعدة وهي
1-Input /Output ( I /O ) Address
2- The control unit ( CU Unit )
3 -( AL Unit ) Arithmetic /Logic unit
4 - ( FL unit ) floating point unit
( I/O address ) :
تقوم بتنظيم عمل المعالج و هي وحدة تتيح للمعالج تمييز الجهاز الذي تتصل به و تقوم هذه الوحدة بإعطاء التعليمات للمعالج ليقوم بمعالجة المعلومات الداخلة للمعالج و الخارجة منه وتقوم وحدة الـ Input / Output ) I /O ) بعـنونــة مهام المعالج حيث تحدد موقعا في ذاكرة الرام (RAM ) ليقوم المعالج بعدها بمعالجة المعلومات الموجودة من الموقع
------------------------------------
The control unit :
وحدة السيطرة على المعالج . ويقوم تحديدا بتنظيم تنفيذ المهام في المعالج إذ يتلقى المهام من الـI /O address ويترجمها اذا وجب ذالك ثم يمررها الى الوحدة الأخرى ( AL Unit ) ( وحدة الحساب والمنطق )
------------------------------------
Arithmetic /Logic unit ( وحدة الحساب والمنطق )
هذه الوحدة مسؤولة عن جميع العمليات الحسابية والمنطقية وتتلقى الـ AL Unit المهام من وحدة الـ I / O ( وقد تمر بوحدة السيطرة)
------------------------------------
floating point unit : ( المساعد الحسابي )
يقوم المعالج بالعمليات الحسابية البسيطية و تقوم هذه الوحدة بتسريع معالجة العمليات الحسابية الكبيرة
-----------------------------------------------------------------------------------
ذاكرة المعالج ( Cach memory ) كما نعلم و اللي ما يعلم لازم يعلم ان الذاكرة الرام RAM تقوم بالتخزين المؤقت للبرامج والبيانات والرام يعمل أبطئ من المعالج و لحل هذا التفاوت في السرعة كان إضافة ذاكرة الكاش ( cach memory ) التي تقع على المعالج. المهام والبيانات التي تنتظر المرور بالمعالج تخزن في ذاكرة الكاش L1 and L2 cach تحتوي المعالجات الحديثة على موقعين لذاكرات الكاش تُعرف بـ L1 و L2 ... L1 هي الذاكرة الأساسية للمعالج وهي أسرع وتزود المهام و البيانات للمعالج مباشرة ..... المعالجات القديمة قبل البنتيوم كانت تستخدم ذاكرة ( W T ) التي كانت فقط تقرأ البيانات الداخلة للمعالج . وبظهور معالجات بنتيوم اصبح الكاش يقوم بالقراءة والكتابة معا ً الذاكرة الثانية L2 cach في اللإصدار الأول والثاني من معالجات لنتيوم كانت ذاكرة L2 تقع في الرام ... أما في في الاصدارات الحديثة فإنها تقع على المعالج نفسه و تقوم بنفس مهام ذاكرة L1
هناك طريقتان لإتصال المعالج باللوحة الأم 1 - Socket mounted تستخدم هذه الطريقة في المعالجات قبل pentium 2 2 - Slot mountain بدأت أول مرة في بنتيوم 2
لإجراء عملية الجمع في وحدة الحساب والمنطق.ALU فإننا نستخدم دوائر خاصة للجمع
وهي نوعان:
o الجامع النصفي الثنائي Binary Half-Adder
o الجامع التام Full-Adder
سنتحدث أولا عن الجامع النصفي Half-Adder
نستخدم هذه الدائرة عند جمع رقمين ثنائيين
بحيث يكون لها مدخلان لاستقبال الرقمين الثنائيين:
الرقم الأول A
الرقم الثانيB
أما المخرجات فهو مخرجان
الأول S وهو حاصل جمع الرقمين الثنائيين (SUM)
الثاني C وهو الباقي الناتج عن عمليه جمع الأرقام الثنائية(CARREY)
و هذان الرقمان يكونان بالنظام الثنائي أي عبارة عن صفر وواحد
والآن نقوم بتصميم دائرة الجامع النصفي على الرقمين A B
أولاً: نقوم بتصميم جدول الحقيقة TRUTH TABLE
ثانيا: نقوم بعد ذلك بالحصول على قيمه C&S من جدول الحقيقة
للحصول على قيمة S
(تتحقق S عندما تحقق القيمه المنطقية1 )
S = AB + A B = A ⊕ B
للحصول على قيمة C
وايضا تتحقق C عندما تحقق القيمه المنطقية 1
C = AB
و بذلك نستطيع تصميم الدائرة المنطقية للجامع النصفي
جامع التام Full –adder
وظيفة الجامع التام هي جمع ثلاثة ارقام ثنائية
تكمن أهمية هذه الدائرة عند جمع عديين ثنائيين فإن المحمل الناتج عن جمع هذان الرقمين في المرحلة I يجب أن يضاف إلى الرقمين في المرحلة I+1
لتوضيح هذه النقطه انظر للمثال التالي
1 1 1
العدد الأول 1 0 1 1 0 0
العدد الثاني 0 1 1 0 1 0
________________________
ناتج الجمع 1 1 0 0 0 1
لاحظ أنه في خطوة الجمع الثالث ( من اليمين) ينتج محمل قيمته 1 ويجب جمعه مع الرقمين في خطوة الجمع التالية ثم تكرر نفس القاعدة وهي خطوات الجمع الباقية
والآن سنتعلم كيفية تصميم دائرة جامع تام
أولا للحصول على قيمه S&C نستخدم جدول الحقيقة
هنا يمكننا تصميم الجامع التام باستخدام جامعين نصفيين لهذا الغرض
وذلك عن طريق تطبيق معادلة تصميم الجامع النصفي مرتين
في المرة الأولى تكون المتغيرات قيم مدخله
في المرة الثانية يكون المتغير الأول حاصل جمع المتغيرين
وأما المدخل الثاني فهو المحمل من عملية الجمع للمرة الأولى من عملية الجمع
مما لا شك فيه أن كل جهاز كمبيوتر الان يحتوي علي قرص صلب (Hard Disk ) ان لم يكن أكثر, بل ان العديد من الحاسبات الكبيرة كالسيرفرات و غيرها تحتوي علي المئات من الأقراص الصلبة!! .
و يتمثل الدافع الرئيسي وراء استخدامنا لكل هذه البلايين من الاقراص الصلبه في شئ واحد : وهو أنها تستطيع الاحتفاظ بالكثير من البيانات بعد أن تفصل الكهرباء عن الحاسب , حيث يستطيع القرص الصلب أت يخزن البيانات الرقمية علي هيئة مغناطيسية.
غير واضح أليس كذلك؟!,, لا توجد مشكلة , لنبدأ بالتعرف أكثر علي القرص الصلب...
أساسيات القرص الصلب :
تم اختراع الأقراص الصلبة في الخمسينيات , وكانت عبارة عن أقراص كبيرة يصل قطرها الي حوالي 20 بوصة و علي الرغم من حجمها الكبير الا أنها كانت تتسع للقليل من ال Megabytes فقط!!. ولم تكن تعرف في ذلك الوقت بال Hard disk بل كانت تعرف بال Fixed disks أو بال Winchesters, وجاءت التسمية HardDisk بعد ذلك لكي يتم التفرقه بينها و بين الاقراص المرنه.
وكما هو واضح من اسمه يحتوي القرص الصلب علي "قرص صلب" أو ما يعرف ب platter , هذا القرص توضع عليه المادة المغناطيسية التي تستخدم في حفظ البيانات , هذه المادة المغناطيسية هي نفسها المادة المستخدمة في الاقراص المرنة و شرائط الكاسيت , ولكن الفرق هو أن الاقراص المرنة و الكاسيت يتم فيها وضع المادة المغناطيسية علي ماده بلاستيكية مرنة.
ولكن بشكل عام فان القرص الصلب لا يختلف في طريقه تخزينه للبيانات عن شرائط الكاسيت و الاقراص المرنة فكلاهما يستخدم نفس طرق التخزين المغناطيسية , تتميز طرق التخزين المغناطيسية في أنه من السهل الكتابة و المسح و اعادة الكتابة علي المادة المغناطيسية , وكذلك يمكن للمادة المغناطيسية أن تحتفظ بالمعلومات المخزنه عليها -علي هيئة فيض مغناطيسي- لعدة سنوات.
يتم تخزين البيانات علي القرص الصلب علي هيئة ملفات Files ال file عبارة عن مجموعة من ال bytes , مجموعة ال bytes هذه قد تكون عبارة عن مجموعه من ال ASCII Code لمجموعة حروف موجودة في ملف نصي أو مجموعة تعليمات لبرنامج ما لكي ينفذها الكمبيوتر أو تكون مجموعة من ال pixles تعبر عن صورة ما أو مجموعة سجلات في قاعدة بيانات , عموما أيا كان ما تحتويه ; فان الملف في النهاية هو مجموعه من ال BYTES , و عندما يطلب الكمبيوتر من القرص الصلب هذا ال FILE فان القرص الصلب يقرأ مجموعة ال Bytes -المخزنة علي الماده المغناطيسية- ثم يجمهعا و يرسلها للكمبيوتر.
ماذا يوجد داخل القرص الصلب :
أولا ينبغي أن نعرف أن القرص الصلب -بشكل عام- يحتوي علي أجزاء الكترونية و أجزاء ميكانيكية :
• الاجزاء الميكانيكية :
قرص تخزيني (أو عده أقراص متحدة المحور) مغطي بمادة قابلة للمغنطة.
رؤوس القراءة والكتابة.
ذراع يحمل رؤوس القراءة والكتابة.
منظومة ميكانيكية لتحريك الذراع.
موتور لتدوير الأقراص التخزينية.
• الاجزاء الاكترونية : عبارة عن لوحة إلكترونية توجد أسفل القرص الصلب.
سنبدأ الان بتشريح القرص الصلب :
هذا هو الشكل الخارجي العام للقرص الصلب (الاول من نوع Seagate والثاني WD ) :
كما نري القرص الصلب يكون محمي بغطاء من الألمنيوم :
و بأسفل القرص الصلب نري لوحة التحكم الإلكترونية :
مسئولية مجموعة الإلكترونيات هذه هي : التحكم في عملية القراءة و الكتابة علي القرص الصلب و أيضا التحكم في الموتور الذي يقوم بتدوير ال platters , حيث تقوم هذه الإلكترونيات بتجميع المجالات المغناطيسية المخزنه علي الماده المغناطيسية و تحويلها الي مجموعة من ال bytes (عملية القراءة),و أيضا تقوم بتحويل ال bytes المراد تخزينها علي القرص الصلب الي مجموعه من المجالات المغناطيسية لكي تخزن علي المادة المغناطيسية (عملية الكتابة).
نقوم الان بإزالة الغطاء الألمنيوم من علي القرص الصلب فنري الاتي داخل القرص الصلب :
في الصورة السابقة نري الاتي :
• Platters أو أقراص التخزين ( في الصورة هو ذلك القرص الدائري اللامع), هذه الاقراص هي التي يتم تخزين البيانات عليها كما ذكرنا من قبل , وعادة ما يتم تدويرها بسرعة 3600 أو 7200 لفة في الدقيقة أثناء عمل القرص الصلب , و يمكن أن يحتوي القرص الصلب علي أكثر من Platter تكو ن متحدة المحور ,وكلما زاد عدد هذه الأقراص و كثافة التقسيمات التي عليها - سنوضح ذلك فيما بعد - زادت السعة التخزينية للقرص الصلب , وتصنع هذه الأقراص من الألمونيوم أو - في الأقراص الحديثة - من الزجاج المقوى بالسيراميك الذي يعتبر أفضل أداءً حيث أن مقاومته للارتفاع في درجة الحرارة أفضل , ويتم صقل هذه الأقراص بحيث تصبح ملساء جدا كالمرآة .
و هذه الأقراص لايمكنها حفظ الشحنة المغناطيسية اللازمة لعملية التخزين في حد ذاتها , بل يجب أن تغطي هذه الأقراص بمواد يمكنها حفظ الشحنة المغناطيسية.
• الذراع arm الذي يحمل رؤوس القراءة و الكتابة ReadWrite heads , و يلزم لكل قرص تخزيني رأسين واحد للقراءة و الآخر للكتابة و مكانهم كالاتي: واحد أسفل القرص التخزيني و الاخر أعلي القرص التخزيني , فمثلا لو كان لدينا 3 أقراص تخزينية فاننا نحتاج ل 6 رؤوس قراءة و كتابة , ولا تكون رؤوس القراءة والكتابة ملامسة لسطح أقراص التخزين بل تكون مرتفعه عنها بمقدار صغير جدا , بل إن الرأس اذا لامست القرص التخزيني فسيؤدي ذلك لتلف الجزء الذي لامسته - يسمي الجزء التالف ب Bad Sector -.
ويتم تحريك هذه الذراع-الخفيفة الوزن جدا- بواسطة منظومة ميكانيكية دقيقة جدا و سريعة جدا , ويمكن لهذه المنظومة أن تحرك الذراع من داخل قرص التخزين الي حافته والعكس 50 مرة في الثانية الواحدة !!!!!!!!!! , ويمكن أن يتم بناء مثل هذه المنظومة باستخدام موتور خطي Linear سريع .
يوجد الان نوعان من التكنوليجيا التي تستخدمها هذه المنظومة الميكانيكية :
• الأولي : تعرف بال band stepper motor و تعتمد في فكرتها علي كمية الكهرباء التي ترسلها لوحة التحكم الالكترونية , و لكن هذه التكنوليجيا غير مستخدمة لأنها كثيرة المشاكل نتيجة لتأثرها بدرجة الحرارة و لأنها تتلف بسرعة.
• الثانية : Voice Coil في هذا النوع تقوم لوحة التحكم الاكترونية بارسال تيار كهربائي إلى المحرك وهذا التيار يستخدم في توليد مجال مغناطيسي لتحريك الذراع ضد زنبرك , مما يجعل لوحة التحكم الاكترونية قادرة على التحكم بموقع الرأس-لأنها تتحكم بالذراع- عن طريق التحكم في شدة التيار الكهربائي.
تخزين البيانات علي القرص الصلب :
يتم تخزين البيانات علي القرص الصلب في قطاعات Sectors و مسارات Tracks , المسارات عبارة عن دوائر متحدة المركز , و القطاعات هي أجزاء من المسارات , الشكل التالي يوضح ذلك :
اللون الأحمر يمثل المسار , واللون الازرق يمثل القطاع.
وكلما تمكننا من زيادة عدد القطاعات في المسار الواحد زادت السعة التخزينية الكليه للقرص الصلب. يحتوي القطاع علي عدد محدد من ال bytes مثلا 256أو 512 بايت , و لكن نظم التشغيل غالبا ما تتعامل مع القطاعات بأن تقسم كل مجموعة منها الي ما يعرف ب Cluster .
كيف يتم توصيل القرص الصلب بالكمبيوتر :
تستخدم الأقراص الصلبة نوعين من ال Interface للتعامل مع الكمبيوتر :
• EIDE ويمكن اختصارها الي " IDE " و فيها تكون الإلكترونيات اللازمة لتشغيل القرص موجودة بداخله - في لوحة التحكم الالكترونية - وليس خارجه ، وهي الأكثر شيوعاً بين مستخدمي الكمبيوتر , وهي نفسها المستخدمة في مشغلات الاسطوانات المدمجه , ويتم توصيل القرص الصلب باللوحة الأم عن طريق كابل مباشرة دون استخدام كروت اضافية.
• SCSI هذا النوع أسرع بكثير من النوع الاول و لكنه أيضا مكلف عنه , ويستخدم غالبا في السيرفرات والاجهزة التي تتطلب سرعات عالية , ولكن لتوصيل القرص الصلب مع اللوحة الأم يلزم أن يكون هناك كارت اضافي يركب باللوحة الأم.
العوامل المؤثرة علي الاقراص الصلبة :
• معدل نقل البيانات Data rate هو عدد ال Bytes التي يتم نقلها من القرص الصلب للكمبيوتر في الثانية الواحدة, ويتراوح بين 5 الي 40 ميجابايت في الثانية الواحدة.
• زمن الوصول Seek Time هو الزمن المستغرق بين طلب الملف من القرص الصلب و وصول أول Byte من الملف الي الكمبيوتر.
• سرعة دوران القرص الصلب , فكلما كانت سرعة الدوران أعلي كان ذلك أفضل.
• نوع ال Interface الذي يستخدمه القرص الصلب.
• الكثافة التخزينية , وهي عدد ال Bytes التي يمكن تخزينها في مساحة معينة من القرص الصلب.
• وطبعا الأهم من ذلك السعة capacity الكلية للقرص الصلب مثلا 20 , 40 , 80 , 120 جيجابايت .
شهدت التطورات في عالم الحاسوب منذ عام 1951م وحتى يومنا هذا تقدما سريعا بحيث أصبحت الإنجازات لا تنسب لأشخاص بعينهم، بل إلى شركلت متخصصة ومؤسسات علمية. وقد قسمت الحواسيب التي ظهرت منذ أواخر الاربعينات وحتى الآن إلى أجيال حيث أن الحواسيب التي تنسب إلى جيل معين تمتلك فيما بينها خواص وصفات متشابهة واستعمل في تركيبها نفس الأساس التكنولوجي, وظهرت كذلك ضمن فترات زمنية محددة.
يقسم الحاسوب إلى خمسة أجيال:
1. الجيل الاول
2. الجيل الثاني
3. الجيل الثالث
4. الجيل الرابع
5. الجيل الخامس
من الامثلة على أجهزة 1. IBM 700
2.UNIVAC
3.SAGE
4.CRC
خصائص حواسيب الجيل الاول:
1 . اعتمد انتاج الآلات على استعمال العناصر المفردة وكان أهمها الصمام الإلكتروني المفرغ.
2 .حجم الآلات هنا كان كبيرا وذات وزن كبير
3 .هذه تتميز بالبطيء, حيث لم تتجاوز تنفيذها للعمليات من 10 إلى 20 ألف عملية/ثانية
4.استعملت في الاجهزة المبكرة لهذا الجيل مثل (EDSAC) ذاكرة داخلية من خطوط التأخير الزئبقيةما أن استبدلت بذاكرة القلب المغناطيسي المصنوع من حلقات الحديد المطاوع كما هو الحال في (IBM/701,IBM/702,UNIVAC-1)واستطاعت تخزين مايقارب(32000-1000)حرف بايت.
5.في مجال البرمجيات استخدمت لغة الآلة ولغة الاختصارات لعمل البرامج اللازمة.
(1959 - 1964)
من الامثلة على أجهزة هذا الجيل: 1.CDC 1604
2.UNIVAC 1107
3.Borroughs B5500
4.IBM 1400
5.IBM 7090
خصائص حواسيب الجيل الثاني:
1.لقد حل الترانزيستور محل الصمام المفرغ حيث أنه يتميز بصغر حجمه وطول عمره وأنه لايحتاج إلى طاقة عالية لتشغيلةبالإضافة إلى وثوقيته العالية.
2.سرعة تنفيذ العمليات تقارب مئات الآلاف من العمليات/الثانية تقاس سرعتها بالميكروثانية
3.استعملت ذاكرة القلب المغناطيسي وأمكن تحسين سعة الذاكرة إلى أن وصلت في بعض الأجهزة إلى 32 ألف بايت(حرف).
4.استعملت لغات برمجة عالية المستوى مثل فورتران والجول وكوبول وغيرها
1970-1964
من الامثلة على أجهزة هذا الجيل : 1.IBM 360
2.SECTRA 70
خصائص حواسيب الجيل الثالث:
1.تم استعمال الدوائر المتكاملة
2.حجمه أصغر بكثير من السابق وتكلفة قليلة.
3.وصلت سعة الذاكرة الرئيسية في بعض الاجهزة إلى 8 مليون بايت.
4.تم تحديث نظم التشغيل فقد تم استعمال فكرة الذاكرة الافتراضية وكذلك نظام تعدد البرامج ونظام تعدد المعالجات وغيرها
( 1970- منتصف التسعينات )
من الامثلة على الاجهزة : 1.IBM Models 148/158/168
2.ICL 29000
خصائص حواسيب الجيل الرابع:
1.استعملت الدوائر المتكاملة الكبيرة (LSI)والكبيرة جدا (VLSI).
2.الحجم أكثر صغرا من الجيل السابق وأقل تكلفة.
3.سرعة إجراء العمليات بلغت من عشرات إلى مئات الملايين عملية/ثانية.
4.الذاكرة الرئيسية تقسم إلى :
1.الذاكرة العشوائية(RAM: Random Access Memory)ذاكرة القراءة والكتابة واستعملت لحفظ البرنامج ونتائج المعالجةتتراوح سعتها من (Mb512-32).
2.ذاكرة القراءة فقط(ROM:Read Only Memory)استعملت لتسجيل البرمجيات المعيارية والبرامج الثابتة بشكل دائم.
5.تم تطوير وتحسين أنظمة التشغيل وحاصة نظام الوقت الحقيقي.
1.ظهور الدوائر المتكاملة فوق الكبيرة جدا(ULSI:Ultra Large si ) التي تحتوي على ملايين من العناصر الالكترونية في الرقاقة الواحدة (Chip) مما أدى إلى تحسين مواصفات الأجهزة من حيث السرعة, وسعة الذاكرةوالحجم والوثوقية وإلى تخفيض التكلفة.
2.تطوير أقراص التخزين الضوئية(Optical Disk Storage)حيث يتم تسجيل البيانات عليها بأشعة الليزر وقد أدى هذا إلى ظهور أقراص تستعمل كذاكرة مساعدة(Secondary Memory)تمتاز بسعة عالية وكذلك ظهور الاقراص المدمجة (CD: Compact Disk Rom) وتقنيات الوسائط المتعددة (Multi-Media).
3.التطور في مجال الذكاء الاصطناعي وهو فرع من علم الحاسوب يبحث في استعمال الحاسوب لمحاكاة التفكير البشري.
4.التطور في مجال معالجة اللغات الطبيعية واستنطاق الحاسوب وظهور بطاقات الصوت .
5.ظهور الحواسيب التي تستخدم عدة معالجات.
6.التطور في مجال الشبكات مما أدى إلى استعمال قواعد البيانات المختلفةعلى نطاق عالمي.
تعريف قاعدة البيانات
قاعدة البيانات بدقة فهي أي مجموعة من المعلومات. فدليل الهاتف ـ مثلاً ـ يعد قاعدة البيانات هي ملف يحتوي على كل ما تنشئه في قاعدة البيانات مثل النماذج والتقارير والاستعلامات، وليس فقط البيانات.
وفي أكسيس يتم حفظ البيانات في جدول Table.
قواعد البيانات Database
يمكن تعريف قواعد البيانات بشكل مبسط هي مجموعة من البيانات المرتبة والمنظمه ترتبط فيما بينها بروابط منطقية.
ماهى البرمجة ؟؟
هي لغة التخاطب بين الإنسان و الآلة تتكون هذه اللغة من العديد من الأوامر لتنفيذ مهمه معينه ...
فما هى الا عملية بسيطة تقوم فيها بكتابة بعض الكلمات للكمبيوتر ليقوم بتنفيذها مثلما تقوم انت بكتابة رسالة لصديقك وارسالها له من على الموبايل
وايضاً هناك ذلك التعريف الطريف :
"البرمجه هى ان تعلم اغبى صديق لديك طريقه كى يحل بها مسائلة ما"
وما مستوى الذكاء المطلوب للبرمجة ؟
قد يظن البعض ان المبرجين ما هم اشخاص ذو عقليات ومهارات خاصة ... ولكنهم فى الحقيقة ما هم الا اناس عاديين وقد يكونوا من غير الموفقين فى دارستهم للاسف
فالبرمجة هى فن قبل ان تكون علم وهى المجال الوحيد الذى قد يتساوى فيه الطالب مع الدكتور بل وقد يزيد عليه حسب خبرته الشخصية ..
فالبرمجة يمكن لاى شخص البدء فيها بكل سلاسة حسب مهارته وقدرته على التعلم وحماسه لها ..
وهل تتطلب لغة انجلزية جيدة ؟
حقيقة فى الوضع الحالى .. لابد لمن يريد ان ينال الريادة ان يكون متقناً للغة الانجلزية ....
ولكنها ليست مشكلة فى البداية فالانسان لا يولد متعلما ..
والبرمجة ليست كلمات واومر بسيطة يمكنك تعلمها بكل سلاسة دون اى وجود عائق لغوى تماما ... لكت للاحتراف والتميز لابد ان يكون جيدا فى اللغة حتى يكون ملماً بكل جديد ومساير له ..
وهل يجب ان يكون لدى خلفية رياضية جيدة ؟
قد يعتقد البعض ان المبرمجين مهارين جدا فى الرياضيات .. ولكن الحقيقة خلاف ذلك فأنت لاتحتاج للرياضة الا قليلاً وبشكل مبسط جدا .. الا فى بعض البرامج المتخصصة فى ذلك المجال فربما قد تحتاج الى بعض المعادلات البسيطة التى يمكن الحصول عليها بكل سهولة