Archive for the ‘Operating Systems’ Category

سبتمبر 06

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

و كذلك بالنسبة لنظم التشغيل ، لن أكتب عنها ! فلقد وردني تعقيب على تدوينتي نظم التشغيل [1] و التي كتبتها قبل دراستي للمادة ، تعبت أتقفى أثر التعقيب لا أعلم لمَ و كأنه موقع خفي !! المهم كنت قد وصلت إلى الموقع و كان عبارة عن ويكي لنظم التشغيل بقيادة الدكتورة هند صاحبة مدونة التقنية بضغطة زر مع العلم انه عندي حساسية من دكتورات الحاسب ،، فاكتشفت عندها أنها دكتورة نظم التشغيل في جامعة الملك سعود، و الحق يُقال أثارت الفكرة إعجابي و لاتزال الحساسية موجودة على أمل الشفاء منها بعد سمستر من الآن،،
لا أرغب في التحدث عن تجربتي الخاصة مع دكتورة نظم التشغيل التي درستني ، يكفي وصفها بأنها كارثة ! قتلت المادة !!
و بغض النظر عن الكارثة إلا أنني أحببتها ( الـ “ـها” عائدة على نظم التشغيل و ليس الكارثة) ، الصدمة الآن حين رغبت بوضع رابط للكتاب ، لم أجد للكتاب أثرًا ! هل تعلمون عنه شيئًا ؟

و لانجذابي لنظم التشغيل كنت قد انضممت لفريق وادي التقنية و قمت باختيار مقال لأترجمه ، فوقع اختياري على مقدمة في الـ Multithreading , Superthreading and hyperthreading. و لاتزال الترجمة قيد التنفيذ .
سؤال: هل تعرفون قاموسًا تقنيًا قد يفيدني فيما تطوعت له ؟!

.
نقطة أرى من المهم التنبيه لها ، و هي “النقل و الترجمة” في التدوينة القادمة بإذن الله =] ،،

يوليو 09

لا أخفي عليكم جهلي بعالم نظم التشغيل و علاقتي السطحية به, فأنا معتمدة اعتماد كلي على أخذه ككورس كامل السنة الدراسية القادمة.قبل فترة و عند زيارتي لمدونة أمل وجدت موضوعًا عن الـ ووبي اعترفت علانية و سرًا بجهلي !! و قررت أن أقرأ عنها لأشبع فضولي و أقلل من مستوى جهلي. فخرجت بهذه التدوينة:

~*~

.مقدمة

نظام الكمبيوتر يتكون من مكونين رئيسيين:

1- العتاد (المكونات المادية للحاسب) Hardware: و هي الأجهزة المحسوسة المكونة لنظام الحاسب .

2- البرمجيات Software: مجموعة البرامج التي تسمح للعتاد بالقيام بمهامه. و تقسم بدورها إلى:

1- نظام التشغيل Operating system

2- برامج التطبيقات Application programs

برامج التطبيقات تستخدم العتاد لحل مشاكل المستخدم . بينما نظام التشغيل يتحكم بوصول المستخدم للعتاد..

تعريفات

نظام التشغيل هو نظام معقد, من الصعب إيجاد تعريف عالمي موحد له. هذه بعض التعريفات الدارجة :

- نظام التشغيل هو وسيط بين العتاد و المستخدم (برنامج أو شخص)

- نظام التشغيل : برنامج أو مجموعة برامج تسهل تنفيذ برامج الكمبيوتر الأخرى.

- نظام التشغيل هو المدير العام لنظام الكمبيوتر, يسهل تنفيذ البرمجيات الأخرى و يتأكد من كفاءة استخدام مصادر العتاد و البرمجيات.

.الأهداف الرئيسية لتصميم نظام التشغيل:

1- استخدام العتاد بكفاءة.

2- سهولة استخدام المصادر.

تاريخ

نظام التشغيل مر بتاريخ تطوير طويل.يلخص في الآتي:

-*- Batch Systems -*-

صممت خلال خمسينيات القرن العشرين للتحكم بالكمبيوترات المركزية. في ذلك الوقت كانت الكمبيوترات أجهزة ضخمة تستخدم مايسمى punched cardsللإدخال و الطابعات الخطية line printers للإخراج و tape drivs كوسط تخزين ثانوي .أي برنامج سيُنفَذ يسمى مهمة Job .عندما يرغب المبرمج بتنفيذ مهمة ما يرسل طلب إلى غرفة العمليات مرفق بالـ punched card للبرنامج و البيانات. ليس للمبرمج أي تحكم أو تفاعل مع النظام.تتم معالجة البطاقة بواسطة مشغلoperator إذا كان البرنامج ناجحًا تُرسل نتيجته إلى المبرمج, و في حالة فشله تُرسل نسخة بالخطأ.

كان نظام التشغيل خلال هذه الفترة بسيط جدًا ,مهمته الوحيدة التأكد من أن جميع المصادر قد انتقلت من مهمة لأخرى.

-*- Time-Sharing Systems -*-

لاستخدام مصادر نظام الكمبيوتر بكفاءة ظهر مصطلح البرمجة المتعددة multiprogramming. تتلخص فكرته في تحميل أكثر من مهمة في الذاكرة و يتم تخصيص مصدر واحد للمهمة التي تحتاجه بشرط أن يكون المصدر متاح في تلك اللحظة. مثلاً : عندما يستخدم برنامج ما جهاز الـ ادخال/اخراج يكون الـ CPU متاح فيمكن استخدامه بواسطة برنامج آخر.البرمجة المتعددة قادت إلى فكرة أخرى “مشاركة الوقت” time sharing تتلخص في إمكانية مشاركة المصادر بين المهام المختلفة, كل مهمة تستطيع حجز المصدر لفترة زمنية معينة . و لأن الكمبيوتر أسرع من الإنسان كل مستخدم يشعر بأن كامل النظام يخدمه.البرمجة المتعددة و مشاركة الوقت طورت من كفاءة نظام الكمبيوتر بشكل كبير و أصبح يحتاج بدوره نظام تشغيل أكثر تعقيدًا . فأصبحت نظم التشغيل تحتاج للقيام بالجدولة schedulig أي حجز المصادر لبرامج مختلفة و اتخاذ القرار :” أي برنامج يجب أن يستخدم هذا المصدر؟” .

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

-*- Personal Systems الأنظمة الشخصية -*-

بظهور الحاسبات الشخصية ظهرت أيضًا الحاجة لنظم تشغيل خاصة بتلك الأنواع من الحاسبات. فظهر مايسمى بالـ single-user operating systems مثل الـDOS

-*- Parallel Systems الأنظمة المتوازية -*-

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

-*- Distributed Systems الأنظمة الموزعة -*-

الشبكات و شبكة الانترنت أوجدت بُعد جديد في عالم نظم التشغيل. المهمات التي كانت سابقًا تتم على كمبيوتر واحد أصبحت الآن مشتركة بين كمبيوترات تبعد عن بعضها آلاف الأميال . أصبح جزء من البرنامج يعمل على كمبيوتر و الجزء الآخر يعمل على كمبيوتر آخر متصل معه بواسطة شبكة كشبكة الانترنت مثلاً . إضافة إلى أن المصادر أصبحت موزعة .قد يحتاج البرنامج ملفات موجودة في جزء مختلف من العالم , الأنظمة الموزعة تجمع بين مزايا أجيال النظم السابقة و المهام الجديدة كالتحكم بالأمان.

-*- الآن -*-

أصبحت نظم التشغيل أكثر تعقيدًا , و أصبح نظام التشغيل بحاجة إلى التعامل مع مصادر مختلفة لنظام الكمبيوتر و صار أشبه بمنظمة تحوي عدة مدراء . كل مدير مسئول عن إدارة قسمه و هو بدوره بحاجة إلى التعاون مع الأقسام الأخرى. نظم التشغيل الحديثة عليها القيام بأربع واجبات على الأقل : إدارة الذاكرة , إدارة العمليات, إدارة الجهاز ,و إدارة الملفات. كالعديد من المنظمات التي تحوي أقسامًا لا تندرج تحت إدارة معينة , نظام التشغيل يحوي أيضًا هذا القسم وهو ما يُسمىuser interface “احترت في الترجمة المناسبة وسيط المستخدم أم واجهة المستخدم؟” أو a shell وهو المسئول عن الاتصال خارج نظام التشغيل.

~* يــتــبــع *~