الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ميكروسفت ونظام البرمجة؟

مغلق
بدأه الحسام في 16 أبريل 2002 · 13 رد · 1,410 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

صراحة احترت كثير وين اكتب السؤال هذا بس قلت اكتبة هنا والشباب مايقصرون :)

بدخل مباشرة

شركة ميكروسفت .. مبرمجة انظظمة التشغيل من ..

دوس .. ويندوز بكل اصدراته

باي لغة برمجية كتبت انظمة تشغيل ميكروسفت ؟

باي لغة برمجية كُتب نظام التشغيل " دوس" ؟

باي لغة برمجية كُتب نظام التشغيل " وندوز بكل اصدراته " ؟

وغير ذلك التطبيقات الاخرى لمكيروسفت باي لغه كٌتبت ؟

بس هذا السؤال باختصار واعتقد انك فهمتوني :)

سلامووووووووووون

#2

الأخ العزيز / الحسام

السلام عليكم ورحمة الله وبركاته

بالنسبة للويندوز بجميع إصداراته فقد سمعت يوماً من أحد الزملاء أنه مكتوب بلغة C "سي" ولكني لست متأكد . مع العلم أن لغة سي تعد من أقوى اللغات . هذا والله أعلم .

#3

السلام عليكم

استغرب اني احصل رد من استاذ واحد بس ؟ وباقي الاستاذه ؟

هلا استاذي ابو اسيل ,,, مشكور اخوي ويشرفني انك ترد علي :)

بس يعني تقصد الدوس بلغة سي؟

والوندوز والاوفيس بلغة فيجول سي او فيجول دبل سي؟

الغريب ان الاستاذه الكرام ماردوو ولازلت انتظظر الكثير من الاجابات

وماراح اقول اني مبتدئ في البرمجة بس الا تو اتعلم برمجة والله يعينكم علي :9 ابو اسيل الله يعيينك عى اسئلتي :):)

مشكور مرة ثانية استاذي

سلامووووووون

#4

نعم إن البرامج المذكورة مكتوبة باللغة c, وهناك بعض الروتينات مكتوبة بلغة الأسمبلي كي تكون أسرع. ولغة c في حد ذاتها أخترعت لصناعة الأنظمة في أوائل السبعينيات. والله أعلم:o

#5

معلش انا ما شفت موضوعك من قبل :)

نظام التشغيل DOS مبني بطرق مختلفة

قطاع التحميل و حجمه 512 بايت او 256 (مش متاكد الان ايهما بالضبط) هذا القطاع مبني بلغة اسمبلي ، اي لغة الالة و هو عبارة عن ملف بسيط جدا لا تراه طبعا ب 512 امر من اوامر لغة الالة تقوم هذه الاوامر بتحميل اوائل اجزاء نظام التشغيل.

ملف قطاع التحميل ممكن تكتبه في ملف نص و تترجمه بمترجم اسمبلي لينتج لك نفس الملف و لكن مليئ بارقام الاوامر بدل من اسمائها ليفهمها الكومبيوتر.

اذا ما اردت استخدام اسمبلي افتح ملف عادي و اكتب به ارقام اوامر الاسمبلي :)

من السابق قصدي ان كل امر اسمبلي هو عبارة عن رقم من ارقام اوامر لغة الالة.

في DOS هناك ملفين IO.SYS و MSDOS.SYS هذين الملفين مكتوبين بلغة الالة ايضا و يحتويان هذان الملفان على حلقة تكرارية لا نهائية تقوم بانشاء "الحياة" بداخل المعالج ، كما يحتويا على كود لغة الة على شكل مكتبات

تلك المكتبات تربط بارقام مقاطعة ، كل رقم يوم بامر ما مثل الكتابة على الشاشة او القرص الصلب او ما الى ذلك.

الان هناك اصبح قطاع تحميل يحمل الملفين السابقين في الذاكرة و ينقل التحكم اليهما.

الملفين السابقين بامكانهما دعم البرامج لتعمل و لكنهما لا يوفران شاشة للتعامل مع المستخدم

شاشة التعامل مع المستخدم مخفية في برنامج اسمه command.com و يحمل في الذاكرة ليظهر لك الشاشة التي تستقبل الاوامر لتشغل البرامج.

الملف command.com ايضا مبني بلغة الالة

بسيط جدا اليس كذلك :)

الان باتوقع بيراودك سؤال اخر و هو كيف تم بناء كل شيئ على لغة الالة ان لم يكن هناك DOS :)

الاجابة سهلة جدا، النسخ الاولى من DOS استخدمت لبنائها الاجهزة الضخمة الاقدم حيث تم بناء مترجم بسيط للغة الالة لاجهزة ال PC و هذا المترجم عبارة عن برنامج يستبدل الاوامر النص الى ارقام مقابلها ، اي عملية بسيطة. (بالطبع مترجمات اسمبلي اليوم اعقد بكثير)

كتبت النسخ القديمة جدا من DOS و ترجمت على هذه الاجهزة و تم نسخها الى الجهاز العادي، نسخت في المكان المطلوب في القرص المرن و تم تشغيلها.

النسخ الاولى من IO.sys و msdos.sys و command.com و ال Boot Sector كانت بسيطة للغاية ، لذلك احتاجت شركات مثل مايكروسوفت الى 12 حتى 15 شخص من بناء النظام و شركات اخرى ايضا قامت بذلك، طبعا DOS بني بمواصفات حددتها IBM لارقام المقاطعة ، و التزم بها الجميع و اظن IBM وفرت بعض الكود للمواصفات القياسية

بعض المواصفات كان ارقام المقاطعة و طريقة تصرفها.

على العموم بعدما اصبح هناك جهاز كومبيوتر قادر على العمل نقل مترجم بسيط للغة سي (المترجم مكتوب بلغة الالة) مع مكتبات هذا المترجم (بعد تعديل كود لغة الالة في المكتبات) الى الجهاز الجديد.

قامت بعدها مايكروسوفت بالاعتماد على سي لتكملة بناء DOS فكما تعلم ال command.com لا يقدم الا اوامر بسيطة جدا مثل dir و copy و كمان كام امر

و لكن كل الاوامر الاخرى التي تجدها في الفهرس الفرعي DOS بنيت بلغة سي.

لغة سي بالمناسبة لمن لا يعلم هي عبارة عن لغة الة مركبة ، اي ان كل امر من اوامر سي يترجم الى عدة اوامر من لغة الالة.

و في سي اذا لم يجد امر يقوم بالمهمة المطلوبة يمكنك ببساطة فتح قوسين و كتابة امر ASM و اضافة تعليمات بلغة الالة الى الملف المكتوب بلغة سي.

بعدها على ما اظن استخدمت سي و لغة الالة معا لتكملة نظام التشغيل ، مع ان سي استخدمت اكثر لانها توفر الوقت و الجهد.

سي نفسها تم تطويرها ببناء مترجم اخر بنفس اللغة :) ، و هكذا

#6

اذا رغبت ببناء نظام تشغيل مشابه ل DOS او الحصول على كود المصدر فاظن ستجد شيئ على هذه الوصلة http://www.freedos.org و هي وصلة قديمة من 5 سنوات على ما اعتقد و هي من وقت كنت اتدرب فيه على بناء Boot Sector :) ، بالطبع على ما اظن في الوصلة السابقة نظام تشغيل كامل.

من الصعب في سي بناء البرامج بالنسبة للكثير من الافراد ، لذلك قامت مايكروسوفت ببناء نواة تشغيل برامج سمتها basic بالاعتماد على مواصفات قياسية مسجلة لهذه اللغة ، النواة بنيت باسمبلي و سي ، و برنامج التحرير لاحقا بني ب سي و اصبح مع الوقت هناك برنامج اذا بتتذكره يسمى QBASIC و الذي بدوره اصبح لغة برمجة.

بالطبع اتت شركات كثيرة بحلول مختلفة و منها Borland بلغتين و هما Pascal و C و شركات اخرى بلغات مثل Cobol و Fortran و غيرهما.

مع الوقت قررت مايكروسوفت اضافة واجهة رسومية لنظام التشغيل و هذه الواجهة كانت يفترض ان تتحد بطريقة ما مع نظام التشغيل.

و قامت مايكروسوفت بتجارب كثيرة ببناء النظام بلغة سي و لغة الالة

اليك صور من اول نسخ Windows

Microsoft Windows 1.0

1

win101bootup.gif

2

win101exit.gif

3

win101msdosex.gif

4

win101notepad.gif

5

win101setups.gif

النسخة الاولى من Windows لم تحتوي على واجهة رسومية بل على واجهة تسمح لاكثر من برنامج العمل معا

الهدف كان بناء اوامر مقاطعة اضافية للمعالج حيث تستخدمها البرامج لتتمكن من العمل معا في شاشة واحدة

اوامر المقاطعة الجديدة هي ارقام تضاف للمعالج مرتبطة بمكتبات كود في الذاكرة ، بحيث تستخدمها لاحقا تلك البرامج، اضاف DOS طبعا الكثير من الارقام و اضاف Windows ارقام اضافية ايضا.

النسخة الثانية من Windows اضافت تحسينات كثيرة في النواة المخصصة لتشغيل اكثر من برنامج و كانت كالتالي

1

win20bootup.gif

2

win20exit.gif

3

win20msdosex.gif

4

win20windows.gif

في النسخة الثانية ، المكتبات المهمة جدا بلغة الالة فقط و الباقي كله بلغة سي مع لغة الالة.

بالطبع طوال التطوير السابق مايكروسوفت طورت لغة سي التي لديها باضافة مكتبات اضافية لها

كما تعلم لغة السي في البداية لا تختلف عن لغة الالة على الاطلاق ، ولكنها تتعلم من نفسها باستخدام المكتبات و كلما بنيت مكتبة جديدة كلما زادة قوة لغة السي التي لديك ، المكتبات اما تكتب باسمبلي و بالسي بالاعتماد على المكتبات الاسمبلي السابقة.

اي انها مسئلة تراكمية

طورت مايكروسوفت مرة اخرى Windows و اصدرت النسخة الثالثة و هي ايضا مبنية بسي و لغة الالة في بعض الملفات المهمة

1

win30bootup.gif

2

win31bootup.gif

3

win30.gif

4

win30dragdrop.gif

5

win30games.gif

6

win30paint.gif

7

win30progman.gif

في Microsoft Windows 3.0 دمجت الكثير من ارقام مقاطعة المعالج معا في اوامر سميت يومها باوامر ال API و هي الاوامر التي تستهدف بيئة نظام التشغيل الاولية

#7

كان لمايكروسوفت مشروع اخر اصدر يومها Windows NT 3.5 بعد اصدار Windows 3.1 بقليل و لكنه لم ينتشر يومها نظرا لاختلاف طريقة بنائه.

في السنوات السابقة من Windows اعتمدت مايكروسوفت على لغة البرمجة التي تصنعها هي و هي ++Microsoft Visual C مع الاف المكتبات التي لا تذهب الى السوق طبعا و التي تحتوي على الكثير من نواة نظام التشغيل.

تحتوي ايضا VC اليوم على مكتبات MFC و التي تبني بها البرامج مثل Microsoft Office و غيرها.

و لكن ليس كل البرامج التي تنتجها مايكروسوفت مبنية ب Visual C حيث ان مبرمج ال C مكلف اكثر بكثير من مبرمج اللغات الاخرى ، لذلك ستجد بان الكثير من اجزاء Office نفسه مبنية بواسطة Visual Basic و لكن بالاعتماد على ملفات تشغيل DLL مختلفة قليلا عن التي في السوق.

اذا سمعت عن Visual Basic .NET و كل تكنولوجيا Microsoft .NET فهي اليوم محاولة جديدة لرفع السقف الادني في نظام التشغيل و الذي هو لغة الالة فوق اوامر ال API او بداخلها و انتاج لغة الة جديدة سميت MSIL و لغات برمجة و منها VB.NET.

الان النسخ القادمة من برامج مايكروسوفت ستكون في الكثير من اجزائها مبنية بواسطة لغات مثل Visual Basic او سي شارب او حتى سي ++ ل .نت و ذلك بالاعتماد على ماذا يفضل المبرمج، حيث ان المشروع الواحد ممكن ان يحتوي على الكثير من اللغات المختلفة معا.

بالطبع سي ستستخدم كثيرا و لكن مايكروسوفت من طرفها ستستخدمها لبناء نواة نظم التشغيل.

اعتقد بان القصة هيك كاملة ، خبرني اذا نسيت اوضح شيئ ;)

#8

ما شاء الله عليك يا خضر .

هذا تاريخ كامل لمايكروسوفت ، والله بالفعل أنت مؤرخ حاسوبي ( هذا المصطلح طبعاً أخترعته أنا ) .

أتمنى لك التوفيق مع العلم أنني في غاية الشوق إليك . وقد سألت أحد الإخوة في المنتدى عنك وأخبرني بمغادرتك من فلسطين .

على كلٍ أتمنى لك التوفيق في أي مكان من هذا العالم .

أخوك / أبو أسيل من الرياض / المملكة العربية السعودية .

#9

بارك الله فيك أخي خضر ونفعنا الله بعلمك .

:o

#10

السلام عليكم

مشكورين اخواني كلكم ويعطيكم الف عافيه

والبرفسور خضر يعطيك الف عافيه ونفع الله بعلمك المسلمين يارب ;)

ماقصررررررررررررررررررررت

بس ابي اعرف من وين جبت صور الوندز اول اصدار؟ :P

فمان الله

#11

شو هذا انا اخذت لقب بروفيسور ;)

انا الصور هذه نشرتها سابقا مع مقال طويل في مكان ما في منتديات الفريق العربي للبرمجة

النسخ القديمة من Windows موجودة لدي في البيت في غزة و انا الان في كندا ، يعني من الصعب الحصول عليها

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

http://www.arabteam2000.com/KhaderTarazi/fld1/Microsoft Windows 101.zip://http://www.arabteam2000.com/KhaderT...Windows 101.zip

باعتقد انها النسخة الاولى و وجدتها في CD عندي ، ولكني مش متاكد منها

على العموم ايضا مش متاكد هل راح تشتغل في المعالجات بنتيوم او لا نظرا لوجود شوية اختلاف في المعالج

على العموم بالتوفيق في تجربتها، حاول تختار جهاز قديم :)

#12

بروفسور ونص وثلاثة ارباع ;) ;)

الله يجزاك خير وينفع بعلمك المسلمين اجمعين

ومشكور على الرد وعلى الوصلة بس ما اشتغلت :mad:

انا اشتغلت على 3.1 و 3.11 بس هذا الاصداار مالحقت عليه

:P :D

مشكور اقين ويعطيك الف عافيه

جزيت خيرا وزوجت بكرا

فمان الله

#13

بس شكرا استاذي حملت الملف

وعندي اجهزتي القديمه بركبة وبشوف :P

بس ياليت تعطيني لينك المقال وخلنا نسفيتد بعلمك ;)

فمان الله

سلامون

#14

لو كنت تذكرت الرابط للموضوع السابق لكنت نشرته ، المسئلة انه لدي الف و شي مشاركة ، ما باقدر اتذكر كلهم في اية مكان

على العموم هذا هوضوع عن فيجوال بيزك القديم للربط

http://www.arabteam2000.com/vb/showthread....&threadid=10979

هذا الموضوع مغلق.

مواضيع مشابهة