سؤال إذا كان دوس هو مهمة واحدة ، كيف كان تعدد المهام ممكن في الإصدار القديم من Windows؟


قرأت أن DOS هو نظام تشغيل المهام واحدة.

ولكن إذا كانت الإصدارات القديمة من Windows (بما في ذلك نظام التشغيل Windows 95؟) هي عبارة عن أغلفة من DOS ، فكيف يمكن تشغيل Windows كبرنامج تشغيل متعدد المهام؟


114
2018-03-08 14:28


الأصل


يطلق عليه تعدد المهام الوقائي - support.microsoft.com/kb/117567 - joeqwerty
سيكون عليك تحديد "قديم" أفضل بكثير من ذلك. DOS + Windows 9x و DOS + Windows 3.x في "وضع المحسن 386" كانت مختلفة تماماً في هذا الصدد إلى DOS + Windows 3.x / 2.x في "الوضع القياسي" و "الوضع الحقيقي". وكما يلمح joeqwerty ، كان هناك تعدد المهام التكافلية فضلا عن preëmptive. لقد كتبت كتب كاملة عن هذا ، لذا فإن السؤال المحدد هو أفضل. - JdeBP
joeqwerty إن IMO الأكثر روعة هو أن Microsoft تحتفظ بالوثائق عبر الإنترنت حول البرامج العتيقة. توجد مقالات حول مواضيع متقدمة في الإصدارات الأقدم من MS-DOS ... من الجيد حقًا الاحتفاظ بها على قيد الحياة. - NothingsImpossible
دوس لا يعطيك تعدد المهام. لا يزال بإمكانك كتابة برامج تعدد المهام بشكل كامل فوقها دون مساعدة DOS ، وهو ما يفعله Windows مبكرًا. ويندوز 95 هو بالتأكيد ليست مجرد "المجمع" ل DOS. - Boann
NigelNquande لقد وجدت بالفعل MS لتكون جيدة إلى حد ما حول الحفاظ على الوثائق القديمة. معظم مقالات KB المتقاعدين عبر الإنترنت (على سبيل المثال ، عشوائي ويندوز 3.1 كيلوبايتأو المستندات على print خدمة لنظام التشغيل Windows 2.1-3.0 أو ANSI.SYS من MS-DOS 5.0) ، حتى بعد فترة سماح نهاية عمرها 12 شهر. إنه ليس قابلاً للتصفح بسهولة مثل وثائق المنتج النشطة ، يجب أن تكون نوعًا ما محددًا في عمليات البحث. - Jason C


الأجوبة:


ويندوز 95

ويندوز 95 كان أكثر بكثير من "مجرد مجمع" ل MS-DOS. نقلا عن ريمون تشن:

خدم MS-DOS غرضين في نظام التشغيل Windows 95.

  • انها بمثابة محمل التمهيد.
  • كان بمثابة طبقة برنامج تشغيل الجهاز القديم 16 بت.

Windows 95 بالفعل مدمن مخدرات / overrode فقط حول كافة MS-DOS ، الاحتفاظ بها كطبقة توافق أثناء القيام بكل رفع ثقيل نفسه. كما نفذت تعدد المهام الوقائي لبرامج 32 بت.


قبل نظام التشغيل Windows 95

كان Windows 3.x والإصدارات الأقدم في الأغلب 16 بت (باستثناء Win32s ، وهي طبقة توافق كيندا تصل إلى 16 و 32 ، ولكننا سنقوم بتجاهلها هنا) ، كانت أكثر اعتمادًا على DOS ، ولم تستخدم سوى تعدد المهام التعاونية - الذي لا يجبر البرنامج الجاري عليه على التوقف ؛ ينتظرون تشغيل البرنامج قيد التشغيل (بشكل أساسي ، قل "انتهيت" من خلال إخبار نظام التشغيل بتشغيل البرنامج التالي الذي ينتظر).

تعدد المهام كان متعاونًا ، تمامًا كما هو الحال في الإصدارات القديمة من MacOS (على الرغم من أنه مختلف عن 4.x دوستيتاسكينج ، الذي كان يؤدي إلى تعدد المهام الوقائية). كان يجب أن تخضع إحدى المهام لنظام التشغيل من أجل جدولة مهمة مختلفة. تم إنشاء العوائد في مكالمات API معينة ، ولا سيما معالجة الرسائل. طالما كانت مهمة معالجة الرسائل في الوقت المناسب ، كل شيء كان رائعا. إذا توقفت إحدى المهام عن معالجة الرسائل وكانت مشغولة بتنفيذ بعض حلقات المعالجة ، لم يعد تعدد المهام أكثر من ذلك.

بنية Windows 3.x

بالنسبة إلى كيفية قيام برامج Windows المبكرة بالتحكم في:

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

مصدر

سيرى كل DOS هو هذا التطبيق الفردي (Windows أو غيره) قيد التشغيل ، والذي من شأنه أن يسيطر على التحكم دون الخروج. من الناحية النظرية ، يمكن تنفيذ تعدد المهام الوقائية على قمة دوس على أي حال مع استخدام المقاطعات في الوقت الحقيقي والمقاطعات لإعطاء السيطرة على المجدول بالقوة. مثل توني التعليقات، وقد تم ذلك في الواقع من قبل بعض أنظمة تشغيل على رأس DOS.

386 وضع المحسن؟

ملاحظة: كانت هناك بعض التعليقات على وضع المحسن 386 من Windows 3.x يجري 32 بت ، ودعم تعدد المهام الوقائية.

هذا هو حالة مثيرة للاهتمام. لتلخيص الارتباط مشاركة مدونة، وكان وضع المحسن 386 أساسا hypervisor 32 بت ، والتي تدير الأجهزة الظاهرية. داخل أحد هذه الأجهزة الظاهرية تشغيل وضع Windows 3.x القياسي ، الذي يفعل كافة الأشياء المذكورة أعلاه.

كما يمكن تشغيل MS-DOS داخل هذه الأجهزة الظاهرية ، ومن الواضح أنها كانت متعددة المهام بشكل استباقي - لذلك يبدو أن برنامج Hyper mode المحسن 386 سيشترك في وحدات المعالجة المركزية الزمنية بين الأجهزة الظاهرية (التي يعمل أحدها بشكل طبيعي 3.x والآخر الذي يشغل MS -DOS) ، وسوف تفعل كل VM الشيء الخاص بها - 3.x سوف تعدد المهام بشكل تعاوني ، في حين أن MS-DOS ستكون مهمة واحدة.


MS-DOS

DOS نفسها كانت مهمة واحدة على الورق ، ولكن لديها دعم ل TSR البرامج التي ستبقى في الخلفية حتى يتم تشغيلها بواسطة مقاطعة أجهزة. بعيدًا عن تعدد المهام الحقيقي ، ولكن ليس مهمًا بشكل فردي أيضًا.


كل هذا الكلام عن البتة؟ سألت عن تعدد المهام!

حسنًا ، لا يمكن الاعتماد على البتة وتعدد المهام على بعضهما البعض. يجب أن يكون من الممكن تنفيذ أي وضع تعدد المهام في أي بت. ومع ذلك ، فإن الانتقال من المعالجات المكونة من 16 بتة إلى المعالجات ذات 32-بت قدم أيضًا وظائف أخرى للأجهزة يمكن أن تجعل تنفيذ المهام الوقائية أكثر سهولة في التنفيذ.

بالإضافة إلى ذلك ، بما أن برامج 32 بت كانت جديدة ، كان من الأسهل حملها على العمل عندما يتم إبعادها بالقوة - الأمر الذي قد يؤدي إلى كسر بعض البرامج القديمة ذات 16 بت.

بالطبع ، هذا هو كل التكهنات. إذا كنت تريد حقاً معرفة السبب في عدم تنفيذ MS لمهمة تعدد المهام الوقائية في Windows 3.x (وضع المحسن 386 بالرغم من ذلك) ، يجب عليك أن تسأل شخصًا يعمل هناك.

أيضا ، كنت أرغب في تصحيح افتراضك أن ويندوز 95 كان jsut المجمع ل DOS ؛)


161
2018-03-08 15:22



كتابة لطيفة جدا. إذا كنت أتذكر بشكل صحيح (كان تصميم نظام التشغيل منذ سنوات عديدة بالنسبة لي) ربطت Windows 9x المقاطعات الموقتة لفرض جدولة الخاصة بها ، تمامًا كما تقترح في الفقرة الثانية إلى الأخيرة. كان هناك OS'es أخرى على قمة دوس التي فعلت الشيء نفسه. أتذكر ذلك بوضوح من AMX (نظام التشغيل في الوقت الحقيقي للتطبيقات الصناعية) و XINU (غرض تعليمي صغير Unix / Posix مثل نظام التشغيل) أن كلاهما ركض على قمة دوس. (يمكن أن تقوم AMX بتشغيل المعدن العاري بشكل مستقيم من EPROM أيضًا. كان من الأسهل كثيرًا اختبار / تصحيح الأخطاء عند التشغيل على DOS. تم حفظك من إعادة حرق EPROMS لكل اختبار.) - Tonny
Tonny شكرًا لتأكيد أن هذا المخطط ممكن (ويستخدم في الممارسة). على سبيل التخمين ، السبب أن نظام التشغيل Windows 1-3 لم يستخدم تعدد المهام الوقائي ليس كثيرًا لدرجة أنهم لم يتمكنوا من القيام بذلك (كان MS-DOS 4 ، على الرغم من أنه لم يتم إطلاقه) ، ولكن بدلاً من ذلك ، فقد تم كسر التوافق مع نظام DOS البرامج. - Bob
Mmmmhhh النظر في ويندوز 1-3: إن حقيقة أنه كان رمزًا شائعًا لـ 8086 وحدة المعالجة المركزية (CPU) وأعلى قد يكون لها علاقة أكثر به. كان التعامل مع ring0-3 الصحيح ممكنا فقط مع 80286 وما فوق وهذا ما استخدمه Win9x لتنفيذ مهام متعددة. قدمت بالفعل 4DOS وغيرها العديد من المهام محدودة على دوس (80286 كانت هناك حاجة إذا كنت أذكر بشكل صحيح). يمكنك حتى تشغيل Win3 نفسها كعملية منفصلة في 4DOS. - Tonny
شينو فعلاً ليس تشغيل على قمة دوس. لقد بدأت كنظام تشغيل LSI-11 ، بعد كل شيء. العبارة التي لم يكن هناك تعدد المهام pretemptive في DOS + Windows 3.x غير صحيح. في 386 وضع المحسن كان هناك ، من باب المجاملة VMM. وهراء حول 4DOS يحصل لك على جواب في كثير من الأحيان: 4DOS ليس نظام تشغيل. البيانات التي قدمت تعدد المهام خاطئة تماما. - JdeBP
دعمت PDP-8 تعدد المهام الوقائية ، وكان ذلك فقط جهاز كمبيوتر 12 بت. - david25272


كان يدير باستمرار برنامج واحد ، واحد يسمى ويندوز. هذا واحد انتشار وقت وحدة المعالجة المركزية (والموارد الأخرى) بين البرامج المختلفة.

خذ بعين الاعتبار هذا القياس:

لديك مكتب يمكن أن يكون لديه شخص واحد فقط في ذلك الوقت (يسمى ذلك الشخص السيد أو دوس دوس). هذا الشخص يعمل على شيء واحد في ذلك الوقت. مثلا انها هاتف لشخص واحد ويبدأ في الدردشة 24/7 معه / معها.

الآن يمكنك استبدال هذا الشخص مع السيد السكرتير. (شبابيك). سوف يقوم بالتواصل مع شخص ما ويتحدث معه طوال الوقت (ما زالت مهمة واحدة). ثم بعد مرور بعض الوقت سيقول الشخص الآخر "لقد تحدثت بما فيه الكفاية في الوقت الحالي. اذهب إلى الحديث مع شخص آخر ثم اتصل بي مرة أخرى".

سيدى السيد السكرتير الشخص الآخر دردش مع هذا الشخص حتى يقول ذلك الشخص نفس الشيء. ثم سوف يتصل الشخص التالي حتى يكون في نهاية قائمة الأشخاص للتحدث معه. في ذلك الوقت سيبدأ مرة أخرى في القمة.

  • في المصطلحات التقنية ، يطلق على هذا الأمر تعدد المهام التعاوني. يتطلب من الشخص الآخر أن يقول أنه لديه الوقت الكافي لوحدة المعالجة المركزية (CPU). إذا كان أحد لا يفعل ذلك ثم ينهار كل شيء.
  • الأنظمة الحديثة أذكى بكثير. بما في ذلك تعدد المهام الوقائية. فكر في السكرتير الذي يضع ساعة المنبه ويقطع الشخص الآخر بعد 5 دقائق. "هذه جين لطيفة. لكن يجب أن أتحدث إلى جو الآن. سأتصل بك قليلاً. انقر فوق".

إذا قمت بإضافة معالجات متعددة فإنه يصبح أكثر تعقيدًا. :)


26
2018-03-08 14:36



لا تقصد التعاونية / غير وقائية تعدد المهام في النقطة الأولى؟ أيضا ، المثير للاهتمام ، قدم نظام التشغيل Windows 95 تعدد المهام الوقائي لبرامج 32 بت. لم يكن ذلك عبارة عن غلاف لـ DOS ، حيث كان نظام التشغيل الذي يستخدم DOS كمحمل إقلاع ولكنه حل محل الأجزاء الرئيسية منه (حفظ ما يكفي لدعم برنامج 16-بت / DOS). - Bob
سيد أو يخطئ ، لماذا لا "دكتور" DOS؟ - gtrak
"تعمل باستمرار على تشغيل برنامج واحد ... ذلك أن نشر وقت وحدة المعالجة المركزية (والموارد الأخرى) بين البرامج المختلفة." لا يمكن أن يقال عن أي نظام تشغيل؟ على الرغم من أن السؤال يشير إلى أن MS-DOS لا يمكن. أنا أعارض بشدة التشابهات / الاستعارات عند عدم استخدام التفاصيل التقنية للتكنولوجيا. حسنا ، نحن نعرف الآن كيف يعمل بعض المكتب الافتراضي؟ هذا لا يفسر حقا الإجابة على السؤال. - Celeritas


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

يمكن لنظام التشغيل فرض هذا التحكم ، لأنه يفرض على وحدة المعالجة المركزية أن تدخل وضع حماية.

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

ويسمح هذا الجزء الأخير لتطبيقات مثل Windows 95 لبدء بيئة متعددة مؤشرات الترابط على الرغم من أنها تم إطلاقها بشكل أساسي من DOS.

كان DOS (نظام تشغيل القرص) ، afaik ، ليس أكثر بكثير من نظام إدارة الملفات. وقد وفرت نظامًا للملفات ، وآليات للتنقل في نظام الملفات ، وعدد قليل من الأدوات ، وإمكانية تشغيل التطبيقات. كما سمح لبعض التطبيقات بالبقاء مقيمًا ، على سبيل المثال ، برامج تشغيل الماوس ومحاكاة EMM. لكنه لم يحاول السيطرة على الأجهزة في الكمبيوتر على غرار نظام التشغيل الحديث.

* عندما تم إنشاء DOS لأول مرة في السبعينات ، لم يكن الوضع المحمي موجودًا في وحدة المعالجة المركزية. لم يكن حتى 80286 المعالج في منتصف الثمانينات أصبح الوضع المحمي جزءا من وحدة المعالجة المركزية.


13
2018-03-08 17:11



ضع في اعتبارك أنه في الوقت لم يكن لدى وحدات المعالجة المركزية (CPUs) أشياء مثل الوضع المحمي. - jwenting
jwenting - نقطة جيدة ، لقد أضفت ملاحظة حول هذا الموضوع - Pete


قبل Windows 3.x الذي كان الإصدار الأول لتطبيقات دوس متعددة المهام ، كانت هناك برامج مثل DesqView التي يمكن أن تفعل نفس الشيء. إذا كان واحد على سبيل المثال تشغيل ثلاث جلسات DOS في وقت واحد ، ثم DesqView إنشاء أربعة أجهزة ظاهرية. قد تعتقد كل جلسة من جلسات DOS الثلاث أنها "تملك" الجهاز بأكمله ، إلا أن أياً منها لن يؤدي فعليًا إلى تنفيذ I / O. بدلاً من ذلك ، سيتم تصحيح إصدار DOS قيد التشغيل في كل جلسة بحيث يقوم بإعادة توجيه أي طلبات لملف الإدخال / الإخراج إلى جلسة خاصة ، والتي تم تخصيصها لهذا الغرض. نظرًا لأن أجهزة وضع النص في جهاز الكمبيوتر الشخصي تعرض باستمرار محتويات منطقة من الذاكرة كأحرف؛ قد تسمح DesqView لكل جلسة بشاشتها الافتراضية الخاصة بها عن طريق تعيين نطاق 0xB8000-0xB9FFF لكل جلسة إلى منطقة RAM الخاصة بها ، ونسخ منطقة التطبيق الحالي بشكل دوري إلى المخزن المؤقت للشاشة الفعلية. كان الدعم البياني أصعب بكثير ، لأنه تم التحكم في 256K من ذاكرة الوصول العشوائي على لوحة العرض باستخدام 64K من مساحة العنوان ، وبعض تسجيلات I / O ، وبعض الأجهزة "المثير للاهتمام" التي تتطلب أشياء يمكن قراءتها وكتابتها في تسلسلات محددة معينة. في وضع النص ، عندما كتب أحد التطبيقات شيئًا إلى المخزن المؤقت للنص ، كان DesqView يمكنه تعيين علامة تشير إلى أنه يجب نسخها إلى العرض في علامة التجزئة التالية للموقت ؛ فقط الكتابة الأولى إلى المخزن المؤقت للنص في وقت معين قد يتطلب تدخل DesqView ؛ سيتم دمج كافة الآخرين في علامة التجزئة التالية الموقت.

على النقيض من ذلك ، فإن وضع الرسومات الافتراضية يتطلب من DeskView أن يعوق كل الكتابة الفردية لعرض الذاكرة أو تسجيلات I / O. وبالنظر إلى أن هذا من شأنه أن يبطئ عملية كتابة الذاكرة بعامل يبلغ حوالي 100 ، وكان على برامج الرسومات أن تكتب بيانات أكثر بكثير من البرامج النصية ، فإن التمثيل الافتراضي في الوقت الحقيقي لمعظم برامج الرسوم ليس عمليًا. بدلا من ذلك ، تم التعامل مع الرسومات من خلال وجود أي تطبيق غير الأمامي الذي حاول أن تفعل توقف الرسومات حتى أصبح التطبيق الأمامي ، ومن ثم إعطاء السيطرة الكاملة على الشاشة. عندما تحول التحكم إلى تطبيق مختلف ، يحاول DesqView عمل نسخة من حالة جميع سجلات الرسومات ثم التبديل. عند التبديل مرة أخرى إلى التطبيق الرسومية ، فإن DesqView يستعيد الحالة المحفوظة.

بطريقة ما ، كانت تطبيقات DOS غير الرسومية متعددة المهام أسهل من تطبيقات Windows متعددة المهام نظرًا لوجود عدد قليل جدًا من الموارد المشتركة ، ولم تكن التطبيقات مضطرة للتفاعل مع بعضها البعض. في نظام Windows ، على النقيض من ذلك ، من الضروري التعامل مع أشياء مثل الحافظة ، أو إمكانية تحرك نوافذ أحد البرامج بطريقة تجعلك تحجب صور الآخرين. كان Windows 95 هو الإصدار الأول من Windows الذي يمكنه التغلب على هذه القيود من خلال تضمين أشياء مثل نظام النوافذ الذي يمكن أن يستوعب أن منطقة من الشاشة تصبح غير متوفرة بينما تحاول الكود رسمها (مع التأثير على أن الرسم سيتم حجبه ).


6
2018-03-09 00:33



شكرا لتذكيري عن DesqView. اعتدت على استخدامها في كل وقت ، ولكن نسيت تماما عن ذلك. - Emmet


تعدد المهام ليس أكثر من وهم تشغيل التطبيقات في وقت واحد. يُنظر إليه على أنه تنفيذ متزامن من طرفك ، ولكن في الواقع تقوم العمليات A و B و C بمشاركة وقت وحدة المعالجة المركزية بالترتيب: A ، B ، C ، A ، B ، C ، A ، B ... يتم تشغيلها فقط قبالة بسرعة كبيرة. لا توجد عمليتين قيد التشغيل بالفعل في نفس الوقت.

لذا ، من الممكن تماماً أن تقوم بمهام متعددة MS-DOS بجعلها توقف عملية واحدة ، وتشغيل التالي لفترة قصيرة من الوقت ، وقفة واحدة ، والقفز مرة أخرى إلى الأولى ، وهكذا.

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

بالنسبة لأولئك الذين يتذكرون ، كانت الألعاب لا تزال قيد التشغيل على DOS4GW لأن Windows كان بطيئًا جدًا.


3
2018-03-10 21:34



وبالنسبة للجزء الأكبر ، لا يزال هذا الأمر يعمل في أنظمة التشغيل حتى يومنا هذا. هذا هو السبب في أنه يمكنك تشغيل 10 أشياء "في نفس الوقت" على وحدة المعالجة المركزية 4 الأساسية على سبيل المثال. - jwenting
ليس حقا أن "وحدات المعالجة المركزية بدأت بالسرعة الكافية". كان من الممكن تشغيل أنظمة تشغيل متعددة المهام متعددة المستخدمين على 286 (مثل شركة Mark Williams متماسك، نظام التشغيل غرامة قدم إلى جهاز الكمبيوتر في عام 1983). MS-DOS و Windows (وليس NT) إصدارات حتى (بما في ذلك) "الألفية" حقا كانت فظيعة بأي معيار موضوعي ، حتى المعايير الفنية في ذلك الوقت ، ولكن بمجرد أن تم إنشاء MS-DOS كمعيار لأجهزة الكمبيوتر الشخصية من قبل IBM ، لقد استبعدت شركة مايكروسوفت في مجال التسويق والزخم (ناهيك عن الإساءة الإجرامية لقوتها الاحتكارية) المنافسة الأفضل لفترة طويلة جدًا. - Emmet
"تعدد المهام هو مجرد ميزة ذكية تم تطويرها عند بدء تشغيل وحدات المعالجة المركزية بسرعة كافية ..." تقصد مثل كيف كان Apollo Guidance Computer عبارة عن تصميم متعدد المهام؟ - α CVn
عندما قلت "وحدات المعالجة المركزية (CPU)" كنت أقصد "وحدات المعالجة المركزية" ، وعندما قلت "تعدد المهام" كنت أقصد تعدد مهام تطبيقات الكمبيوتر. وأخيراً ، عن طريق "المستخدم النهائي" ، كنت أعني الطفل وراء الكمبيوتر ، وليس رائد الفضاء. لا يزال ، المديح للتعليق مثيرة للاهتمام. - Dan Horvat


على الرغم من أنها يمكن أن تركز فقط على مهمة واحدة ، إلا أن ما ستفعله هو خطوة بسيطة للانتقال بسرعة من واحدة إلى أخرى. وبهذه الطريقة يبدو أنه كان متعدد المهام ، ولكن في الحقيقة كان التركيز فقط على 1 ، ثم على آخر ، ثم على آخر ، إلخ.


0
2018-03-08 19:33



أنت تتخلل تعدد المهام مع الحوسبة متعددة المعالجات هناك. إن التبديل بين المهام المتعددة بسرعة كبيرة هو تعدد المهام ، في عالم الكمبيوتر. التعريف المعتاد لا الطلب التنفيذ المتوازي. مختلف "الإصدارات القديمة من Windows" قام بمهام متعددة بشكل مختلف ، يعتمد على إصدار Windows ، ما هو وضعه قيد التشغيل ، وما إذا كان حتى يستند إلى DOS في المقام الأول. (Windows NT 3.1 أقدم من DOS + Windows 95 ، ويمكن أن تفعل SMP.) كما أشرت في تعليق آخر ، فقد كتب كتب كاملة على هذا. هذا حقا ليس أفضل ملخص 2 الجملة. - JdeBP
JdeBP ... أنا أعرف الفرق بين تعدد المهام والمعالجات المتعددة ، حيث لا أزال أستخدم معالجات أساسية أحادية! أجهزة الكمبيوتر تعمل بشكل تسلسلي. سوف ينظر فقط إلى التوازي الحقيقي في الحوسبة الكمومية. - Thoth


شيء واحد لم أره ذكر هنا هو نوع مثير للاهتمام:

لم يكن Windows 3.0 نظامًا تعدد المهام وقائيًا ، فقد كان تعاونًا مثل جميع إصدارات MacOS حتى OS X - يجب على أحد التطبيقات العودة من مكالمة قبل أن يتخذ أي تطبيق آخر أي إجراء.

وكما ذكرني أحد المعلقين ، كانت تطبيقات DOS متعددة المهام. هذا لأنهم لم يكتبوا إلى مهمة متعددة "تعاونية" (يجب أن تكون مضمنة دائما في النظم التي تستخدمها).

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

لم تكن هذه تطبيقات Windows فعلاً ، ولكنها كانت طريقة حدوث كل نشاط مؤشر الترابط قبل الإصدار 3.1 من برنامج التشغيل مثل برامج تشغيل الطابعة وبرامج تشغيل كوم ، إلخ.

على الرغم من أن ويندوز 3.1 كان متعدد المهام ، لم يكن دوس ، ولكن ويندوز 3.1 دفعت للتو دوس من الطريق وتولت عندما بدأت (في ذلك الوقت كنت في كثير من الأحيان بدأت النوافذ من موجه DOS).


0
2018-03-10 20:39



يدعم Windows 3.0 تعدد المهام الوقائي لتطبيقات DOS عند التشغيل على معالج 386 أو أعلى. كانت تطبيقات Windows فقط متعددة المهام بشكل تعاوني. - Jules
أوه ، هذا صحيح - كنت ترميز تطبيقات ويندوز في ذلك الوقت ، وكان لا يفكر حقا حول DOS. لقد تعاملت مع تطبيقات دوس بشكل مختلف - شكرا للإشارة إلى ذلك. - Bill K


سؤال جيد. في MS-DOS ، كانت النواة متجانسة ، بمعنى أنها تعاملت مع مهمة واحدة فقط في كل مرة ، مقابل النواة الجديدة والحديثة التي تم تنفيذها في Windows 9x والإصدار الحالي. يمكنك التحقق من أكثر هنا.


-8
2018-03-08 17:43



-1 أنت تستبعد أن نظام التشغيل الأحادي لا يمكنه القيام بمهام متعددة ، فهذا خطأ خاطئ. لينكس هو النواة الأحادية المشهورة (كان هناك جدل مشهور بين torvalds linus و tanenbaum أندرو) ولكن لينكس من الواضح أنه متعدد المهام. هنا هو الرابط لتظهر لك لينكس متجانسة stackoverflow.com/questions/1806585/... - barlop
Monolithic لا يعني ما تعتقد أنه يفعل. - Thorbjørn Ravn Andersen