منتديات كمال امريك
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

مرحبا بكم في منتدنا


أهلا وسهلا بك زائرنا الكريم, أنت لم تقم بتسجيل الدخول بعد! يشرفنا أن تقوم بالدخول أو التسجيل إذا رغبت بالمشاركة في المنتدى

معنى البرامج و المكتبات وانظمة التشغيل

اذهب الى الأسفل  رسالة [صفحة 1 من اصل 1]

ilyass_1991

ilyass_1991
عضو اساسي
عضو  اساسي


البرامج:

إن برامج الحاسب ببساطة هي عبارة عن قائمة من الأوامر يقوم الحاسب بتنفيذها. تتراوح هذه الأوامر (التعليمات) ابتداء من بعض الأوامر القليلة التي تؤدي مهمة بسيطة إلى قائمة أوامر أكثر تعقيدا و التي من الممكن أن تحتوي جداول من البيانات. العديد من برامج الحاسب تحتوي الملايين من الأوامر و العديد من هذه الأوامر يتم تنفيذها بصورة متكررة. إن حاسب شخصي حديث نموذجي يمكنه تنفيذ حوالي 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 يتم تقديمها مع تطبيق لتحرير الفيديو الرقمي.
نظم تشغيل الحاسبات الأصغر ربما لا تقدم كل هذه المهام. نظم التشغيل للمايكروكمبيوتر القديم ذى الذاكرة و قدرات المعالجة المحدودتين كانت لا تقدم كل المهام، و الحاسبات المدمجة دائما إما تملك نظم تشغيل متخصصة أو لا تملك نظام تشغيل بالكلية، مع برامجه التطبيقية المتخصصة و التي تؤدي المهام التي من الممكن أن تعود بطريقة أخرى إلى نظام التشغيل.

ilyass_1991

ilyass_1991
عضو اساسي
عضو  اساسي

اين الردود

الرجوع الى أعلى الصفحة  رسالة [صفحة 1 من اصل 1]

صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى