‏إظهار الرسائل ذات التسميات الفصل الثاني - التعريف بالحاسب الآلي. إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات الفصل الثاني - التعريف بالحاسب الآلي. إظهار كافة الرسائل

الأحد، 24 نوفمبر 2013

العمليات المنطقية

العمليات التى تتم على البتاتBit Operations
العمليات الحسابية
تتضمن عمليات الجمع الطرح والضرب والقسمة على الأعداد الصحيحة والحقيقية
عمليات الضرب يمكن أن تتم برمجيا Software in على أنها عملية جمع متكررة وتجمع كذلك بطرق أخرى in hardware
عملية القسمة يمكن أن تتم برمجيا على أنها عملية طرح متكررة وعتاديا بطرق أخرى.
العمليات المنطقية
البت الواحد إما أن يكون 0 أو 1
يمكن أن يفسر 0بأنه قيمة منطقية تمثل الخطأ Logical Value false
بهذه الطريقة يخزن البت في ذاكرة الحاسب ليمثل قيمة منطقية إما أن تكون True أو false
إذا فسرنا البت كقيمة منطقية يمكن أن يطبق عليها إذن عمليات منطقية
العملية المنطقية يمكن أن تقبل بت واحد أو اثنين لتنشئ Create بت واحد فقط
إذا طبقت هذه العملية على بت واحد فقط تسمى عملية أحادية Unary Operation
إذا طبقت هذه العملية على 2 بت تسمى عملية ثنائية Binary Operation
         سنناقش فيما يلي عملية أحادية واحدة وثلاث عمليات ثنائية
العمليات المنطقية تتم في بوابات منطقية Logic gates


جدول الحقيقة Truth Table
أحد السبل لإظهار نتيجة العملية المنطقية هو استعمال جدول الحقيقة
جدول الحقيقة يضم قائمة بكل تجميعات المداخل الممكنة Possible input Combinations مع الخرج المناظر.
في حالة العملية الأحادية مثل عملية النفي Not يوجد احتمالان للخرج
في حالة العملية الثنائية مثل XOR , OR , AND توجد أربعة احتمالات للخرج.
المعامل الأحادى Unary Operator
المعامل الأحادي يمثل بعملية النفي Not
معامل النفي له دخل واحد يقوم بتغييره
فمثلا يغير 0 إلى 1 والعكس
يطبق جدول الحقيقة على كل بت بشكل منفرد
معامل العطف AND Operator
يستقبل مدخلين Two inputs وتخرج خرجا واحدا
يطبق جدول الحقيقة على زوج من البتات واحد من كل مدخل
يكون الخرج فقط 1 إذا كان كلا من البتات المدخلة 1
يكون الخرج 0 فيما عدا ذلك
مثال : طبق معامل العطف على التشكيل الآتي
10011000
00110101
--------------
00010000
قاعدة لازمة لمعامل العطف:
إذا كان أحد البتات الداخلة 0
لا داعي لاختبار البت الآخر فالناتج سيكون دائما 0
معامل الجمع OR Operator
تستقبل مدخلين وتنشئ خرجا واحد
يطبق جدول الحقيقة على زوج من البتات واحد من كل مدخل
يكون الخرج فقط 0 إذا كان كلا من البتات الداخلة 0
يكون الخرج 1 فيما عدا ذلك

مثال : طبق معامل الجمع OR على التشكيل الآتي
10011000
00110101
--------------
10111101
قاعدة لازمة لمعامل الجمع:
إذا كان أحد البتات الداخلة 1
لا داعي لاختبار البت الآخر فالناتج سيكون دائما 1
معامل XOR Operator
يستقبل مدخلين وينشئ خرجا واحدا
يطبق جدول الحقيقة على زوج من البتات واحدا من كل مدخل
تكون النتيجة 0 إذا تساوى الدخلان وتكون 1 فيما عدا ذلك
مثال: طبق معامل XOR على التشكيل الآتي
10011000
00110101
--------------
10101101
قاعدة لازمة لمعامل XOR:
إذا كان أحد الدخلين 1 فإن النتيجة تكون عكس البت الآخر
العمليات الحسابية فى النظام الثنائى
إجراء عمليات الجمع فى النظام الثنائى

مثال: اجمع الأعداد الثنائية التالية

إجراء عمليات الطرح فى النظام الثنائى


مثال: اطرح الأعداد الثنائية التالية


المكملات الثنائية: العدد الثنائى له مكملان هما المكمل الأول والمكمل الثانى
 المكمل الأول: هو مقلوب كل بت فى العدد الثنائى

المكمل الثانى = المكمل الأول + 1
المكمل الثانى = المكمل الأول + 1

اجراء الطرح باستخدام المكمل 

اجراء عمليات الضرب فى النظام الثنائى
مثال: اوجد حاصل ضرب 110 * 101
اجراء عمليات القسمة فى النظام الثنائى
مثال: اوجد حاصل قسمة 100001 على 11
نواصل المحاضرة القادمة في مبادي تقنية المعلومات

الخميس، 21 نوفمبر 2013

الأنظمة العددية

الأنظمة العددية Number Systems

1- النظام العشرى Decimal
2- النظام العددى الثنائى Binary System
3- النظام الثمانى Octal System
4- النظام السداسى عشر Hexadecimal
 
1- النظام العشرى Decimal
هو النظام المستخدم فى الحياة اليومية والأساس له 10
98043 = 9 * 104 + 8 * 103 + 0 * 102 + 4 * 101 + 3 * 100
           = 9 * 10000 + 8 *1000 + 0 *100 + 4 * 10 + 3 * 1
           = 90000      + 8000       + 0          + 40       + 3
           = 98043
2- النظام العددى الثنائى Binary System
nهو النظام المستخدم فى الحاسب الآلى وهو يكون 0 أو 1 والأساس له 2
أولا: التحويل من الثنائى الى العشرى
1101010 = 1*26 + 1*25 + 0*24 + 1*23 + 0*22 + 1*21 +  0*20
               = 1*64 +1*32 + 0*16 + 1*8 + 0*4 + 1*2 + 0*1
               = 64 + 32 + 0 + 8 + 0 +2 + 0
            = 106
أمثله
nمثال 1: حول الرقم الثنائى 10110 الى رقم عشرى
10110 = 1*24 + 0*23 + 1*22 + 1*21 + 0*20
               = 1*16 + 0*8 + 1*4 + 1*2 + 0*1
               = 16 + 0 + 4 +2 + 0
            =  22
nمثال 2: حول الرقم الثنائى 11110 الى رقم عشرى
11110 = 1*24 + 1*23 + 1*22 + 1*21 + 0*20
               = 1*16 + 1*8 + 1*4 + 1*2 + 0*1
               = 16 + 8 + 4 +2 + 0
             = 30
ثانيا: التحويل من العشرى الى الثنائى
nمثال 1: حول الرقم العشرى 45 الى رقم ثنائى
العدد الثنائى 101101 هو المكافئ للعدد العشرى 45
مثال 2: حول الرقم العشرى 238 الى رقم ثنائى
العدد الثنائى 11101110 هو المكافئ للعدد العشرى 238
3- النظام الثمانى Octal System
nهو النظام يكون 0 1 2 3 4 5 6 7  والأساس له 8
أولا: التحويل من الثمانى الى العشرى
(10753)8 = 1*84 + 0*83 + 7*82 + 5*81 + 3*80
               = 1*4096 +0*512 + 7*64 + 5*8 + 3*1
      = 4096 + 0 + 448 + 40 + 3
 
  (          )10 = 
أمثله
مثال 1: حول الرقم الثمانى 2471 الى رقم عشرى
(2471)8 = 2*83 + 4*82 + 7*81 + 1*80
               = 2*512 + 4*64 + 7*8 + 1*1
      = 1024 + 256 + 56 + 1
=   (1337)10
ثانيا: التحويل من العشرى الى الثمانى
مثال 1: حول الرقم العشرى 9342 الى رقم ثماني

العدد الثمانى 22176 هو المكافئ للعدد العشرى 9342
4- النظام السادس عشر Hexadecimal
nهو النظام يكون 0 1 2 3 4 5 6 7 8 9 F E D C B A والأساس له 16

أولا: التحويل من السادس عشر الى العشرى
(290AF)16 = 2*164 + 9*163 + 0*162 + A*161 + F*160
               = 2*65536 +9*4096 + 0*256 + 10*16 + 15*1
               (          )10=
التحويل من النظام الثنائى الى النظام الثمانى
التحويل من النظام الثمانى الى النظام الثنائى
التحويل من النظام الثنائى الى النظام السداسى عشر
التحويل من النظام السداسى عشر الى النظام الثنائى
نتناول في المحاضرة القادمة العمليات المنطقية




الأربعاء، 20 نوفمبر 2013

لغات البرمجة


lلغة البرمجة هي همزة الوصل بين الإنسان والحاسب.
lيقوم الانسان بتغذية الحاسب بمجموعة من التعليمات المتسلسلة التي تسمى برنامجا لتوجيهه للقيام بالأعمال التي يريدها.
lتستخدم لغات البرمجة في كتابة هذه البرامج.
lالحاسب لا يفهم إلا اللغة الثنائية (1,0) وهو ما يسمى بلغة الآلة.
lتصنف اللغات بناء على قربها من لغة الآلة وبالتالي بعدها عن لغة الإنسان.  

لغة الآلة Machine Languages

تسمى اللغة الثنائية حيث أنها تتكون من سلسلة من 0,1
هي اللغة الوحيدة التي يفهمها الحاسب وكل حاسب له لغته الخاصة.
التعليمات في لغة الآلة لابد أن تكون سلسلة من 0, 1 لأن الدوائر الإلكترونية الداخلية للحاسب مصنعة من عناصر إلكترونية عادة ما تكون في حالة من اثنين (Off 0) أو .(On 1)
تحول جميع اللغات إلى لغة الآلة حتى تتمكن معدات الحاسب من التفاهم معها.
تتميز بسرعة التنفيذ لأنها تخاطب CPU مباشرة دون وسيط.


عيوب لغة الآلة
لغة غير مرنة
لصعوبة كتابتها وتعديلها وتصحيحها.
يجب على المبرمج معرفة تركيب الحاسب وعناوينه الداخلية.
لغة غير عمومية
خاصة بكل جهاز على حدة لأنها مرتبطة بالمعالج نفسه.
لا تصلح لجهاز أخر.

لغة التجميع Assembly Languages
في أوائل الخمسينات قام عالم الرياضيات Grace Hopper مع فريق من البحرية الأمريكية بتطوير لغة تمثل التعليمات المختلفة في لغة الآلة باستخدام رموز symbolic وسميت اللغة الرمزية Symbolic Language
تستخدم مختصرات ورموز يسهل حفظها وكتابتها لكل تعليمة من لغة الآلة.
مثال تستخدم LA A,D لتحميل المسجل A بمحتوي المسجل D
يتم تحويل البرنامج المكتوب بها إلى لغة الآلة عن طريق المجمع Assembler وهو برنامج خارجي.

عيوب لغة التجميع
مازالت لغة غير عمومية تصمم للعمل على جهاز معين.
لغة مملة.
 
اللغات ذات المستوى العالى
سميت بهذا الاسم لبعدها عن لغة الآلة وقربها من اللغة الطبيعية للإنسان.
لا ترتبط بجهاز معين بل تنفذ على أكثر من جهاز.
تحتاج لبرنامج وسيط يقوم بتحويل البرنامج المصدر Source Code المكتوب بها إلى البرنامج الهدف Object Code المكتوب بلغة الآلة.


 اللغات ذات المستوى العالى



مميزات وعيوب اللغات ذات المستوى العالى
1- المرونة نظرا للأتي:
سهولة كتابة وتعديل البرامج المكتوبة بهذه اللغات
سهولة اكتشاف الأخطاء وتعديلها وتصحيحها
2- العمومية
نظرا لاستقلالها عن نوع وتفاصيل الجهاز الذي تعمل عليه.
العيوب
يعيبها البطء مقارنة بلغة الآلة.
 بناء البرنامج Building a program
الحاسب يفهم البرنامج فقط إذا ترجم إلى لغة الآلة لكن كيف يتم ذلك؟
يقوم المبرمج بكتابة البرنامج ثم يحوله إلى ملف تنفيذي Executable file بلغة الآلة.
تتم هذه العملية في خطوات ثلاث:
كتابة البرنامج Writing and editing the program
ترجمة البرنامج Compiling the program
ربط البرنامج مع مكتبة البرامج الفرعية المطلوبة
Linking the program with the required library modules
 



تنفيذ البرنامجProgram Execution
بمجرد ربط البرنامج فإنه يكون قابلا للتشغيل وجاهزا للتنفيذ
لتنفيذ البرنامج فإنه ينبغي استخدام أحد أوامر برنامج التشغيل مثل Run لتحميل البرنامج إلى الذاكرة الرئيسية لتنفيذه.
تحميل البرنامج في الذاكرة هو وظيفة أحد برامج نظام التشغيل ويدعي المحمل Loader
يقوم Loader بتحديد مكان البرنامج التنفيذي وتحميله في الذاكرة
عندما يصبح كل شيء جاهزا تسلم عملية التحكم في الحاسب إلى البرنامج ويبدأ التنفيذ الفعلي

  التنفيذ الفعلي للبرنامج
يقرأ البرنامج المنفذ البيانات لمعالجتها إما من خلال إدخال المستخدم لها أو يقرأها من ملف.
بعد معالجة البيانات يقوم البرنامج بإخراج النتائج إما على شاشة المستخدم أو كتابتها في ملف.
بعد انتهاء البرنامج يقوم بإخبار نظام التشغيل ليقوم بإزالة البرنامج من الذاكرة.
المحاضرة القادمة نتناول الأنظمة العددية


 


نظام التشغيل



نظام التشغيلOperating System
أشهر وأهم برمجيات النظام.
المعالج يمثل نواة أو مركز نظام الحاسب.
نظام التشغيل يمثل نواة أو مركز البرمجيات.
هو برنامج وسيط بين المستخدم ومكونات الحاسب المختلفة.
يتكون من مجموعة برامج تسيطر على عمليات وحدة المعالجة المركزية والتحكم في موارد الحاسب وملحقاته مثل أجهزة الإدخال والإخراج والذاكرة.
نظام التشغيل يقلل مقدرا التدخل البشري أثناء التشغيل إلى الحد الأدنى.
أحد برامج نظام التشغيل الهامة يسمى النواة Kernel تقوم بتحميل بقية نظام التشغيل والبرمجيات في الذاكرة عند الحاجة
عند تشغيل الحاسب في البداية تحمل هذه النواة أتوماتيكيا في الذاكرة وتستقر هناك طوال فترة التشغيل

الأهداف الرئيسية لتصميم نظام التشغيل
الاستخدام الأمثل للمكونات المادية.
تسهيل استخدام موارد الحاسب.


مهام نظام التشغيل
1- المواجهة مع المستخدم
ينظم أسلوب المواجهة مع المستخدم بسهولة ويسر.
يهيئ بيئة تشغيل متكاملة تسهل عملية التفاعل والتبادل بين المستخدم والحاسب.
2- التحكم في مسار البيانات
يقوم بنقل البيانات داخل الحاسب من وحدة إلى أخرى.
ينظم عمليات حفظ البيانات والبرامج.
يحتفظ بمعلومات عن حجم البيانات وأماكن حفظها.
3- تحميل البرامج التطبيقية
يقوم بنقل البرامج التطبيقية من وسائط التخزين إلى الذاكرة الرئيسية ثم إلى وحدة المعالجة لتنفيذها.
يقوم بإزالة البرامج من الذاكرة الرئيسية لتحميل برامج أخرى.
4- التحكم في وحدة الذاكرة الرئيسية
يقوم بتوزيع الذاكرة الرئيسية على أكثر من برنامج أو أكثر من مستخدم.
5- التحكم في وحدات الإدخال والإخراج
التحكم في إدخال البيانات عن طريق وحدات الإدخال.
التحكم في عرض المعلومات عن طريق وحدات الإخراج.
6- اكتشاف الأعطال
يقوم النظام بتشغيل سلسلة من البرامج الخاصة باكتشاف الأعطال عند حدوث عطل.
يخبر المستخدم بأي خطأ يطرأ إثناء التشغيل.
7- تنفيذ العمليات
وضع الأولويات لتنفيذ المهام.
تقليل زمن التنفيذ للأوامر.


كيف يعمل نظام تشغيل الحاسب
1- قراءة وتنفيذ التعليمات والأوامر المختزنة في ذاكرة ROM
2- فحص وحدات الحاسب للتأكد من سلامتها.

 
 
 
 



3- تحميل نظام التشغيل من القرص اللين أو الضوئي أو الثابت.
4- استلام أوامر مستخدم الجهاز وتنفيذها.


5- تحميل البرامج التطبيقية وتنفيذ تعليماتها.
6- العودة إلى نظام التشغيل وانتظار أوامر المستخدم.
7- تكرار الخطوات بدءا من 4.
 
تطور برمجيات نظم التشغيل Software Evolution
1- نظام التشغيل الدفعي Batch Systems
لا يملك المستخدم أي سيطرة أو تدخل مع النظام فالكروت المثقبة يتم تشغيلها عن طريق المشغل Operator
إذا تم تنفيذ البرامج بنجاح ترسل النتائج إلى المبرمج وإلا فإن قائمة بالأخطاء تطبع وترسل إليه.
كانت نظم التشغيل خلال هذه الفترة بسيطة للغاية .. كل ما كانت تقوم به هو أن تطمئن إلى أن كل الموارد تنقل من تشغيلة إلى التشغيلة التي تليها .
2- نظام التشغيل بالمشاركة الزمنية Time Sharing Systems
من أجل الاستغلال الأمثل لموارد النظام ثم اقتراح البرمجة المتعددة.
تقوم الفكرة على أساس الاحتفاظ بعدة تشغيلات في الذاكرة وتخصص الموارد للتشغيلة التي تحتاجها في حالة توفر الموارد.
على سبيل المثال: عندما يستخدم برنامج ما وحدة إخراج/إدخال تكون وحدة المعالجة حرة ويمكن أن تستخدم من قبل برنامج آخر.
قامت البرمجة المتعددة على فكرة المشاركة الزمنية.
يمكن مشاركة الموارد بين العديد من التشغيلات بأن يخصص لكل مهمة جزء من الزمن تستخدم فيه الموارد.
نظرا لأن الحاسب أسرع كثيرا من الإنسان فإن نظام المشاركة الزمنية لا يشعر به المستخدم بل يبدد كما لو كان يستخدم الحاسب بمفرده.
أدى ذلك إلى تحسين كفاءة النظام ولكنه في الوقت نفسه تطلب نظام تشغيل أكثر تعقيدا.
لقد صار من الأمور المطلوب أن يقوم بها نظام التشغيل عملية الجدولة أي تخصيص الموارد لبرامج متعددة وتحديد أي البرامج سيستخدم أي الموارد ومتى.
خلال هذه الفترة تغيرت العلاقة بين المستخدم والحاسب.
لقد أصبح المستخدم الآن يتعامل مع الحاسب بشكل مباشر وبدون وسيط كالمشغل سابقا وظهر مصطلح جديد هو العملية Process
التشغيلة Job هي برنامج سيتم تنفيذه.
والعملية Process هي برنامج موجود في الذاكرة بالفعل وينتظر الموارد.
3- نظم التشغيل الشخصية Personal Systems
عندما ظهرت الحواسب الشخصية كانت هناك حاجة إلى نظم تشغيل لها.
ظهرت نظم التشغيل أحادية المستخدم Single-user OS مثل DOS
4- نظم التشغيل المتوازية Parallel Systems
أدت الحاجة إلى مزيد من السرعة والكفاءة في الأداء إلى ظهور النظم المتوازنة .
هي عبارة عن مجموعة CPU في نفس الآلة.
كل CPU يمكن أن يستخدم لتشغيل برنامج واحد أو جزء من برنامج.
هذا يعني أن عدة مهام يمكن أن تنجز بالتوازي بدلا من انتظارها على التوالي.
5- النظم الموزعة Distributed Systems
أوجد ظهور الشبكات بعدا آخر في نظم التشغيل.
التشغيلة التي كانت تنفذ سابقا كلها على حاسب واحد يمكن الآن أن يشارك في تنفيذها مجموعة حاسبات قد تبتعد عن بعضها آلاف الأميال.
قد يتم تنفيذ جزء من البرنامج على جهاز بينما ينفذ الجزء الآخر على جهاز مرتبط معه بشبكة مثل الانترنت.
بالإضافة إلى ذلك فإن الموارد أيضا قد توزع.
فالبرنامج يمكن أن يحتاج إلى ملفات موجودة في أماكن متعددة.
 
أشكال المواجهة لنظم التشغيل User Interface
 
المواجهة الخطية DOS

المواجهة الرسومية Windows
 
 
 
 
 
 

 
أنواع نظم التشغيل
 
أمثلة لنظم التشغيل
 
 

نظام DOS للحاسب الشخصى
يسمى نظام تشغيل الاسطوانة Disk Operating System (DOS)
ذو مواجهة خطية من إنتاج Microsoft في 1981
ارتبط بمعالجات Intel للحاسب الشخصى
نظام وحيد الاستخدام
يتكون من أوامر داخلية وأوامر خارجية
تحمل الأوامر الداخلية مباشرة في ذاكرة الحاسب ليكون جاهزا
تحمل الأوامر الخارجية فقط عند التخزين
نظام التشغيل OS/2
صمم خصيصا للحاسبات من نوع PS/2
من إنتاج IBM وشركة Microsoft
لم يلق القبول الكافي
يتميز بأنه من النوعية متعددة المهام Multi–tasking
نظام النوافذ Windows
أنتجته ميكروسوفت لتسهيل استخدام نظام DOS 
من أهم نظم تشغيل الحاسبات وأكثرها انتشارا
ذو واجهة رسومية من خلال نافذة عرض تحول البرمجيات إلى رسوم icons
يمكنه عرض أكثر من برنامج والتعامل معها في الوقت نفسه
في عام 1987 ظهر الإصدار الأول وكان يعمل في إطار DOS ويسمى Windows 3.1
في عام 1995 ظهر Win 95 لتسهيل التعامل مع الملفات والاتصال بالانترنت
في عام 1998 ظهر Win 98 احتوى متصفح لبرامج الويب من خلال احتوائها على Explorer .. يوفر الطاقة الكهربائية ويقصر زمن تحميل البرامج .. ويتعامل مع الشبكات المتطورة والأجهزة والملحقات الجديد
في عام 2000 ظهر Win ME ليشغل تطبيقات الوسائط المتعددة والألعاب .. ويسهل إنشاء شبكات منزلية .. واحتوى على تقنية نقل الصور بين الحاسب والماسح والكاميرا
في عام 2001 ظهر Win XP بواجهة استخدام جديدة ومبسطة تمكن عدد من المستخدمين من التشارك على جهاز واحد
مميزات نظام النوافذ Windows
1- التشغيل المتعدد للبرامج والتطبيقات أي متعدد المهام \
2- التشغيل باستخدام الفارة من خلال واجهة رسومية
3- إدارة الملفات بكفاءة (إظهارها ونسخها ونقلها وتغيير أسمائها)
4- توفر برامج مكتبية accessories مثل الآلة الحاسبة – المفكرة-الرسم – التقويم - الساعة – محرر النصوص
يعيبه بطء التشغيل ما لم تكن الذاكرة الرئيسية للجهاز كبيرة
نظام التشغيل Unix 
أقوى نظم التشغيل وأقربها إلى المثالية
أنتجته شركة AT&T عام 1969 لاستخدامه في الحاسبات المتوسطة
يتميز بتعدد المستخدمين والمهام Multi–tasking & Multi–user
يعتمد في تصميمه على تجزئة البرنامج إلى برامج جزئية منفصلة
هذا يسهل فصل أي برنامج فرعي واستبداله بآخر
يتميز بالاتي:
1- يمكن استخدامه مع جميع أنواع الحاسبات
2- مكتوب بلغة C وهي لغة برمجة قوية
3- يعمل على أنواع مختلفة من المعالجات
نظام التشغيل Linux
يشبه إلى حد ما نظام Unix
من البرامج مفتوحة المصدر بحيث يمكن التعديل فيه وإضافة تعليمات أخرى
 نظام التشغيل أبل ماكنتوش MAC-OS
مطور من قبل شركة أبل ماكنتوش Apple Macintosh ومخصص لأجهزتها
أول نظام تشغيل يستخدم بيئة رسومية للتخاطب مع المستخدم بالفارة
تفضل أجهزة ماكنتوش في تطبيقات الطباعة والنشر
 للأسباب الآتية:
1- سهولة التعامل مع النظام
2- مواءمة النظام للعديد من التطبيقات
3- وجود تعريب متكامل للنظام وسهولة 

 في المحاضرة القادمة نتناول لغات البرمجة