مدونة مادة M150

شرح الوحدة 16

Posted by: المعتصم on: 05/07/2009

Moore’s law
قانون مور

جوردون مور هو أحد مؤسسي شركة إنتل المختصة بتصنيع المعالجات وتطويرها
جوردون مور توقع في عام 1968 بأن عدد الترانزستورس transistors الموجودة في المعالجات سيتضاعف في كل سنة

بعدها لاحظوا بأن عدد الـ transistors صار يتضاعف كل 18 شهر !!
عشان كذا نلاحظ ان المعالجات صارت قوتها وسرعتها تتشاعف في فترات قصيرة، مايمدينا نشتري كمبيوتر فرحانين فيه وبقوة معالج الا وينزل كمبيوتر قوة معالجه تكون الضعف تقريباً!

لاحظوا أسماء المعالجات الحديثة من انتل
core due
core 2 due
core quad due

quad يعني رباعي
ولاحظوا متى تم انتاج كل نوع.. كلها في فترات متقاربة

Open System Interaction – OSI

عملية تنقل البيانات في الشبكات تمر في سبعة مراحل أو طبقات ، هذه السبع مراحل تسمى OSI مودل

الأخت علو الهمة جزاها الله خير نقلت شرح له في هذا الموضوع:
http://www.aoua.com/vb/showthread.php?t=164123

باختصار، البيانات تمر عبر سبع مراحل، وهي:

1- physical layer
ويختص بالأشياء والأجهزة المحسوسة، مثل الكيابل والتوصيلات وغيرها

2- data link layer
تحتوي على البروتوكلات التالية:
CAN bus, ATM, StarLAN, LocalTalk, HDLC

لاتسألوني وش هذي لأني مادري خخخ، ولا فكرت اني أتوسع فيها لأنها غير مشروحة في الكتب من الأساس.

3- Network layer
* تقوم بتعيين العناوين وطرق إرسال الـ packets
الـ packet هو جزء من الرسائل اللي نرسلها عن طريق الشبكة، بمعنى ان الرسائل يتم تجزئتها إلى أكثر من packet ومن ثم يتم تجميع هذه الـ packets عند الطرف المستقبل
* هذه المرحلة أو الطبقة تقوم باستلام طلبات من طبقة الـ transport (الرابعة) وتقوم بطلب خدمات من طبقة data link (الثانية)
* PDU اختصار لـ Protocol Data Unit يسمى في هذه الطبقة Packet

4- Transport layer
* أحد البروتوكلات الموجودة في هذه الطبقة هو TCP Transmission Control Protocol
* هذه المنطقة يتم فيها تصحيح البيانات واستعادتها والتحكم بتدفقها
* هذه المرحلة أو الطبقة تقوم باستلام طلبات من طبقة الـ session (الخامسة) وتقوم بطلب خدمات من طبقة network (الثالثة)
* PDU اختصار لـ Protocol Data Unit يسمى في هذه الطبقة Segment

5- Session layer
* أحد بروتوكولات هذه الطبقة هو NetBIOS
* يقوم بإنشاء طلبات الاتصال، ومسؤول عن الأمن Security و الـ authentication
* مثل الطبقات السابقة، يقوم باستلام طلبات من الطبقة اللي فوقه (السادسة) ويطلب خدمات من الطبقة اللي تحته (الرابعة).
* PDU اختصار لـ Protocol Data Unit يسمى في هذه الطبقة Data

6- Presentation layer
* في هذه الطبقة يتحدد كيف يتم عرض البيانات في الكمبيوتر، هل تعرضها بصيغة gif مثلاً أو jpeg ؟
* مثل الطبقات السابقة، يقوم باستلام طلبات من الطبقة اللي فوقه (السابعة) ويطلب خدمات من الطبقة اللي تحته (الخامسة).
* PDU اختصار لـ Protocol Data Unit يسمى في هذه الطبقة Data

7- Application layer
هذه أعلى طبقة، يتم في هذه الطبقة إنشاء أو ترجمة البيانات وتحويلها إلى معلومات، وتتم أيضاً عمليات التشفير وفك التشفير في هذه الطبقة.

الجزء الثاني:

ردة فعل الناس على التقنية

يصنف الناس لثلاثة أصناف بناء على ردة فعلهم على التقنية:

١- المتفائلين the optimists
هؤلاء يرون الآت والتقنية على أنها أشياء تساعد على تحرير البشر من الأعمال الشاقة (مثل الحفر) أو الأعمال الروتينية المملة (مثل تصنيع السيارات) وتساعدهم على زيادة القدرة الإنتاجية
بشكل عام ينظرون للكمبيوتر نظرة إيجابية على انه مفيد للحياة للبشرية
المتفائلين “بزيادة” يسمون technophiles

٢- المتشائمين the pissimists
يرون بأن التقنية تقلل من حرية الأفراد لأنها تزيد من قدرة الحكومة على مراقبة الناس (مثلاً عن طريق الجوال)
وينظرون للكمبيوتر نظرة تشاؤمية بشكل عام زنهم لايرون منه إضافة للحياة البشرية
المتشائمين “بزيادة” يسمون technophobes

٣- الواقعيين the realists
يرون بأن التقنية تساعدهم على زيادة الكفاءة في الإنتاج والعمل، ولكن كفاءة الكمبيوترات والتقنية محدودة بسبب طبيعتها الرقمية وبسبب عدم فهمنا لمشاكلنا ولأنفسنا بشكل كافي :s
يعني هم الناس اللي ينظرون للكمبيوتر بشكل متوسط، مفيد في أشياء وخطر في أشياء أخرى

Captology

أغلب الناس يثقون في الكمبيوتر بشكل كبير، ويعتقدون بأن كل مايرونه عن طريق الكمبيوتر هو شيء صحيح. فأصبح الناس يستخدمون الكمبيوتر لإقناع الآخرين، سواء عن طريق البريد أو المواقع أو غيرها. مثلاً من الممكن أن يأتي شخص “نصاب” ويكتب لك رسالة بريدية منسقة ومرتبة وشكلها رسمي و”كشخة” يطلب منك فيها انك ترسل رقم بطاقتك الائتمانية عشان يتأكدون في الشركة من انك قمت بعملية شرائية معينة. طبعاً ممكن فيه ناس تصدق مثل هذي الرسائل. لكن لو كان هذا النصاب يحاول يطلب منك نفس الطلب وجهاً لوجه أو عن طريق التلفون مثلاً راح تتغير نظرتك وتشك في صدق كلام هذا الشخص.

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

الـ captology هو العلم أو الدراسة اللي تهتم باستخدام الكمبيوتر كوسيلة اقناع بحيث يتم التأثير على تصرفات الناس عن طريقه
وهي اختصار لـ Computer As Persuasive Technology

الجزء الثالث:

ماهي المشاكل اللي ممكن تحدث في الكمبيوتر وتطبيقاته ؟

- الاتكالية والمخاطرة:
الآن أصبحنا نعتمد على الكمبيوتر تقريباً في كل شيء، من استثمار، وطيران، وطب، وتعليم، وغيرها
اذا حصلت مشكلة في الكمبيوتر أو أحد برامجه، احتمال كبير أن تتعطل أشياء كثيرة في حياتنا، أو ممكن يؤدي إلى الإفلاس (في حال تعطل سوق أسهم) أو إلى الموت لاقدر الله (في تعطل كمبيوتر الطائرة) أو إلى تأجيل الاختبار لليوم الثاني (في حال انقطاع الكهرباء عن الجامعة العربية )

- hardware failure:
مثل خراب الأجزاء الداخلية للكمبيوتر من معالج أو هارد دسك أو محول الطاقة .. أو خراب الأقمار الصناعية بسبب اشعاعات كونية .. أو خراب أي شيء آخر يتعلق بالكمبيوتر لأي سبب كان (والأسباب كثيرة)

- مشكلة برمجية، مثل التي حدثت عام 2000 (المبرمجين في السابق لم يفكروا بأن التواريخ ستتغير من خانتين 99 إلى أربع خانات 2000 وكانوا يخافون وقتها بأنه ستحدث كارثة في برامج الشركات لأنهم لايعرفون كيف سيتعامل البرنامج مع هذا التغير بالأخص البرامج المالية وبرامج الملاحة، حتى انهم كانوا يحذرون من ركوب الطائرات في ذاك الوقت)

- نقص في المتطلبات، بمعنى في حال طلب عميل من شركة أن تقوم بتصميم برنامج له، من المحتمل أن يقصد العميل شيئاً ويفهم المبرمج شيء مختلف بسبب عدم وضوح المتطلبات لدى كل الأطراف (بمعنى حصول سوء تفاهم). توجد صور في شرائح الأستاذة جمانة (شريحة 18 إلى 27) جميلة توضح هذه النقطة بشكل رائع وممتع. أو في الكتاب صفحة 32.

- أخطاء في كتابة البرامج:
أكثر المشاكل التي تحدث في الأنظمة والكمبيوترات، تكون بسبب البشر!
الأخطاء في البرمجة ممكن أن تتسبب في مشاكل كبيرة.
مثال على هذه الأخطاء، القمر الصناعي مارس التابع لناسا، تم إطلاقه عام 1999 في مهمة كلفت عدة ملايين من الدولارات، ولكنه فشل في تنفيذ المهمة بسبب خطأ بشري في البرمجة.

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

- Inadequate Models
بمعنى عدم اكتمال النماذج، في برامج المحاكاة اللي يتم عملها على الكمبيوتر، تمثيل هذه البرامج للحياة وللواقع يكون محدود وبسيط، لأن مصمم البرنامج سيقوم بتصميمه لأغراض معينة تتعلق بالهدف من هذا البرنامج. فلذلك تكون هذه البرامج غير آمنة ودقيقة بشكل كبير لأنها غير مطابقة للواقع.
مثال على هذه البرامج، مثلاً ألعاب السيارات اللي تكون على البلي ستيشن ، أو برامج تعليم الطيران (لايوجد مباني مرتفعة مثلاً) وغيرها

- الأكواد البرمجية يصبح صعب السيطرة عليها وصيانتها مع الوقت، لأن المبرمجين سيقومون كل فترة بالتعديل أو الإضافة على الكود الأساسي، ومع الوقت سيصبح اكتشاف الأخطاء والتعديل على الكود صعب جداً

maintenance هي عملية التعديل والتغيير على النظام بعد الانتهاء منه ومعناها صيانة

توجد ثلاث أنواع maintenance

1- corrective maintenance
وهي لتصحيح الأخطاء الموجودة في النظام

2- perfective maintenance
وهي لتحسين أداء النظام وتطويره
لا توجد أخطاء في هذا النوع، فهو مجرد الرغبة في جعل النظام أفضل

3- adaptive maintenance
هذا النوع نقوم فيه بالتعديل على النظام لأننا مطالبين بإضافة خصائص جديدة تتناسب مع المتطلبات ومع البيئة

ماهي الأشياء التي لايستطيع الكمبيوتر القيام بها؟

- ليس كل شيء قابل للقياس، ولكن …
يعني بأنه ليس كل الأرقام التي يتم ادخالها ومعالجتها عن طريق الكمبيوتر من الممكن أن تعطينا نتائج صحيحة

- توجد حدود في دقة عرض المعلومات:
لتوضيح هذه النقطة، خلونا نرجع لتحويل الـ analogue إلى digital الموجود في البارت الأول .. احنا تعلمنا بأن أي شيء يتم تحويله ماراح يكون بنفس دقة الشيء الأصلي
الـ analogue أكثر دقة من الـ digital

- models لاتشبه الحياة الواقعية
وهذي شرحتها قبل شوي في فقرة Inadequate Models

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

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

- أنه لايستطيع فهم اللغة الطبيعية للبشر
في هذه النقطة يقول بأنه لايستطيع الكمبيوتر أن يتواصل معنا (البشر) بنفس الطريقة اللي نتواصل فيها مع بعض (البشر مع بعض)

ماهي الأشياء التي لايجب على الكمبيوتر القيام بها؟

- إزالة البشر من دورة التحكم في المعلومات (information loop)

- أن تستبدل علم البشر وخبراتهم

- أن تأخذ دور الإنسان

Ethics and computing
الأخلاقيات وعالم الكمبيوتر ..

الأخلاقيات تعني تقرير أو تحديد ماهو الشيء الصحيح الذي يجب عمله بغض النظر عن أي ظرف خارجي يؤثر على القرار

* في مجتمع الشبكة العالمية (الانترنت) يجب أن تكون هناك قوانين وأنظمة مثل أي مجتمع آخر حتى لايكون المجتمع فوضوي وعشوائي.

* cyberspace هو المجتمع العالمي المرتبط ببعضه البعض عن طريق شبكات الكمبيوتر

* المبرمج يستطيع ببرامجه أن يحدث نتائج جيدة أو مؤذية، أو من الممكن أن يسمح للمستخدمين بأن يعملوا أشياء جيدة أو مؤذية بواسطة برنامجه.

* توجد عشر أوامر (أو أسس) لأخلاقيات استخدام الكمبيوتر Ten Commandments of Computer Ethics، درسناها في البارت الأول .. عشان كذا ماراح أعيدها.

* Terms of Service Agreement هي شروط الاستخدام، يجب الموافقة عليها عند الرغبة بشراء منتج أو خدمة من شركة معينة
هذي موجودة في كل مكان في النت، مثل اذا جينا نسجل في منتدى بنلقى شروط لازم نحط صح اننا موافقين عليها، واذا جينا نسوي ايميل نفس الشي، وموجودة حتى في غير النت.
هذي الشروط لازم نقرأها عشان نعرف الأشياء المسموح لنا نعملها (الأشياء اللي تعتبر صحيحة أخلاقياً) والأشياء اللي ممنوعة وممكن تتسبب في الغاء الاتفاقية أو حتى تعريضنا للعقوبة من الجهات الرسمية.

لذلك توجد ثلاث أقسام أخلاقية تعتبر كدليل لمستخدمي الكمبيوتر ومبرمجيه:
١- Personal morality
الأخلاق الشخصية: وهي الأخلاقيات الطبيعية والمبادئ التي تربينا عليه. مثل: عدم الكذب، عدم السرقة، عدم الغش، … الخ

٢- Profession morality
أخلاق العمل أو المهنة: وهنا يلتزم الناس بأن لايؤدوا أعمال من الممكن أن تتسبب في إيذاء الآخرين.

٣- Software development morality
أخلاقيات تطوير وعمل البرامج: يجب أن يلتزم المبرمج بأن يكون عمله والمنتج النهائي جودتها عالية.

في النهاية رجع تكلم عن captology مرة ثانية (تم شرحها في الوحدة 16)
الشيء الوحيد اللي لفت نظري هو ..

القاعدة الذهبية للإقناع .. The Golden Rule of Persuassion
القاعدة: لاتقم بإقناع شخص أو أشخاص لعمل شيء، أنت لن تقتنع به إذا حاول الغير إقناعك به.
(يعني لا ترضا للغير مالا ترضاه لنفسك)

هذي هي النقاط اللي لفتت نظري في هذا الجزء

الأوسمة: , ,

اترك رد