INFO: كيفية معالجة Windows العمليات الحسابية الفاصلة العائمة

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

102555
تمت أرشفة هذه المقالة. وتظهر "كما هي" ولن يتم تحديثها بعد الآن.
الموجز
كافة الأنظمة الأساسية Microsoft Windows يوفر لتطبيقات Win32 بيئة الفاصلة عائمة شائعة ولكن كانت تختلف في دعم برامج تشغيل الأجهزة الخاصة بهم وفي الخاصة بهم الدعم لتطبيقات Win16 واجهة نظام التشغيل المحمول (POSIX) ، MS-DOS و والمستندة إلى OS/2.

توضح هذه المقالة كيفية كل من هذه الأنظمة الأساسية يوفر الدعم الفاصلة العائمة لتطبيقات برامج تشغيل الأجهزة.
معلومات أخرى
هذا المقطع وصف وظيفة الفاصلة العائمة في Windows NT و Windows 2000 الخاص بها اللاحقة أولاً ويصف ثم نفسها في Windows 95 و Windows 98 الإصدار الثاني من Windows 98 و الأنظمة المستندة إلى Windows Millennium Edition (Me). الأعضاء في كل مجموعة توفر الدعم الفاصلة العائمة مشابهة بعضها ولكنها تختلف مجموعتين عن وبسبب الاختلافات الأساسية.

Windows NT و به اللاحقة

لتطبيقات Win32

يحتوي كل مؤشر ترابط في تطبيق Win32 حالة التنفيذ الخاصة به التي تشتمل على تسجيلات general-purpose تسجيلات الفاصلة العائمة. لذلك، يتم التحكم تنفيذ الفاصلة العائمة ومعالجة الاستثناء على أساس لكل مؤشر ترابط. هذا يسمح الفردية مؤشرات الترابط في عملية ضبط سلوك المعالج الفاصلة العائمة لاستخدام التقريب متخصصة أو الدقة والتحكم معالجة الاستثناء.

تتم معالجة استثناءات الفاصلة العائمة بواسطة الاستثناء Win32 بناء معالجة آلية (SEH) المضمنة في kernel Win32. عندما يؤدي مؤشر ترابط استثناء الفاصلة عائمة ، يبحث آلية SEH عن معالج استثناء المسجلة من قبل مؤشر ترابط لمعالجة الاستثناء. إذا لم يعالج مؤشر الترابط الاستثناء, يتم إغلاق العملية الذي يملك عليه.

يوفر Windows NT "و" الخاص به اللاحقة الدعم الكامل الفاصلة العائمة لتطبيقات Win32 حتى على معالجات x 86 Intel التي لم يتم دعم الفاصلة العائمة مضمن. يتم توفير مضاهاة بواسطة kernel Win32 لأجهزة الكمبيوتر التي لا تتضمن جهاز الفاصلة العائمة. لذلك، compilers لا يلزم توفر الخاصة بهم مضاهاة الفاصلة العائمة.

قد تحتاج اللغات وقت التشغيل المكتبات أو أنظمة وقت التشغيل التي توفر الافتراضي معالجات الاستثناء الفاصلة العائمة. على سبيل المثال، مكتبة وقت تشغيل Visual C++ Microsoft توفر معالجة الاستثناء الفاصلة العائمة الافتراضي وتضمين الوظائف مثل _controlfp تحديد و ضبط جهاز الفاصلة العائمة التقريب التحكم الدقة و سلوك معالجة الاستثناء.

تطبيقات Win16

يتم تصنيف Win16 التطبيقات عادةً أن السجلات الإصلاح في التعليمات البرمجية الخاصة بهم الكائن التي تحتوي على إرشادات الفاصلة العائمة "و" مكالمات 16-بت الفاصلة العائمة محاكي ، WIN87EM. إذا كان معالج جهاز الكمبيوتر يدعم الإرشادات الفاصلة العائمة أو إذا كان المعالج الثانوي المحمّل يحل في إصلاح إرشادات الفاصلة العائمة وقد تنفيذ الإرشادات. إذا لم يتم الكشف عن جهاز الفاصلة العائمة المُحمل يحل في إصلاح مكالمات إلى WIN87EM وقد تنفيذ عن بروتوكول المضاهاة.

WIN87EM مقاطعة رزم الإرشادات الفاصلة العائمة تنفيذ التطبيقات; تشغيله فقط عندما يتم استدعاء بشكل صريح. لذلك، تأكد من تحويله برمجيًا التطبيقات Win16 لدعم مضاهاة يُعلمك linker لوضع السجلات الإصلاح في الملف القابل للتنفيذ.

استخدام Windows NT على أجهزة الكمبيوتر التي تعمل بنظام RISC Windows NT Intel x 86 المعالج محاكي رمز لتشغيل التطبيقات Win16. تتضمن Windows NT 3.5 و Windows NT 3.51 مضاهيات 80286 و 80287; محاكي i486 يتضمن نظام التشغيل Windows NT 4.0. تشغيل تطبيقات Win16 دوماً كما لو coprocessors الفاصلة العائمة Intel موجودة. ولذلك، لا تقدم WIN87EM مضاهاة الفاصلة العائمة على أجهزة كمبيوتر RISC.

برامج تشغيل الأجهزة

يمكن استخدام برامج تشغيل وضع kernel لـ Windows 2000 و به اللاحقة الإرشادات الفاصلة العائمة عند IRQL أقل من أو يساوي DISPATCH_LEVEL ولكن يجب أن بشكل صريح تقوم الاحتفاظ المعالج في حالة الفاصلة العائمة بحيث لا يتم تغيير سياق المتصل الفاصلة العائمة. يجب استدعاء KeSaveFloatingPointState قبل تنفيذ أية عمليات الفاصلة العائمة وظائف برنامج التشغيل ثم يجب استدعاء KeRestoreFloatingPointState قبل العودة إلى المستدعي. يتم توثيق هذه الدالات في Windows 2000 مجموعة من تطوير برنامج تشغيل (DDK).

لا يمكن لـ Windows NT 3.51 و 4.0 Windows برامج تشغيل وضع kernel استخدام الفاصلة العائمة الإرشادات، لأنه لا تحتفظ رموز التبديل مكدس kernel-وضع تسجيلات الفاصلة العائمة. إذا كان برنامج تشغيل وضع kernel أدى استخدام أي تعليمة الفاصلة العائمة "، قد يتسبب هذا إما من فشل نظام (العطل) أو تلف الحالة الرقمية تطبيق وضع المستخدم.

تطبيقات MS-DOS

يتم تشغيل تطبيقات MS-DOS في الوضع الظاهري 8086 Intel x 86 المعالج من Windows NT اللاحقة الخاص به على Intel x 86. يمكن الوصول تطبيقات MS-DOS جهاز الفاصلة العائمة تماماً كما يفعلون في MS-DOS. في حالة وجود لم جهاز الفاصلة العائمة يتم توفير لم مضاهاة التطبيق. لذلك، يجب أن توفر التطبيق مضاهاة الخاصة به.

يستخدم Windows NT على أجهزة الكمبيوتر التي تعمل بنظام RISC التعليمات البرمجية لمضاهاة x 86 Intel المضمنة. تتضمن Windows NT 3.5 و Windows NT 3.51 مضاهيات 80286 و 80287; محاكي i486 يتضمن نظام التشغيل Windows NT 4.0. تشغيل تطبيقات MS-DOS دوماً كما في حالة وجود coprocessors الفاصلة العائمة Intel.

تطبيقات POSIX

كما مع تطبيقات Win32 التطبيقات POSIX يمكن تفترض تعتمد الفاصلة العائمة الكامل دوماً موجود.

لا تحدد POSIX القياسية طريقة لتشغيل استثناءات الفاصلة العائمة. لذلك، يجب أن تعتمد التطبيقات POSIX التي تستخدم استثناءات الفاصلة العائمة على الميزات الخاصة النظام. يمكن تشغيل تطبيق POSIX تحويلها برمجياً باستخدام Microsoft Visual C++ استثناءات العائمة باستخدام الدالة _controlfp. استثناءات الفاصلة العائمة يمكن ثم أن يدخل في ذلك بواسطة SIGFPE أو إذا احتاج التطبيق للقيام أكثر من مجرد تصفية الاستثناء في بواسطة الدالة fpieee_flt.

تطبيقات OS/2

يطابق دعم الفاصلة العائمة في هذا النظام الفرعي الذي OS/2: إذا لم يتم تثبيت "الفاصلة العائمة" ، يجب أن يوفر تطبيق OS/2 مضاهاة الخاصة به. يتم اعتماد النظام الفرعي OS/2 على Intel x 86 الإصدارات من Windows NT و به اللاحقة فقط.

Windows 95 وWindows 98 الإصدار الثاني من Windows 98 وWindows Me

لتطبيقات Win32

توفير Windows 95 عبر الأنظمة الأساسية Windows Me اعتماد الفاصلة العائمة نفس لتطبيقات Win32 مثل الأنظمة الأساسية Windows NT و Windows 2000.

تطبيقات Win16

عادةً يتم تجميع تطبيقات Win16 لتضمين السجلات الإصلاح في التعليمات البرمجية الخاصة بهم الكائن "التي تحتوي على إرشادات الفاصلة العائمة" و "مكالمات 16-بت الفاصلة العائمة محاكي ، WIN87EM. معالج جهاز الكمبيوتر يدعم الإرشادات الفاصلة العائمة أو وجود المعالج الثانوي المُحمل يحل في إصلاح إرشادات الفاصلة العائمة وقد سوف يتم تنفيذه. إذا لم يتم الكشف عن جهاز الفاصلة العائمة المُحمل يحل في إصلاح مكالمات إلى WIN87EM وقد تنفيذ عن بروتوكول المضاهاة.

WIN87EM مقاطعة رزم الإرشادات الفاصلة العائمة تنفيذ التطبيقات; تشغيله فقط عندما يتم استدعاء بشكل صريح. لذلك، تجميع تطبيقات Win16 لدعم مضاهاة يُعلمك linker لوضع السجلات الإصلاح في الملف القابل للتنفيذ.

برامج تشغيل الأجهزة

يمكن استخدام الفاصلة العائمة الإرشادات برامج تشغيل الجهاز الظاهري (VxDs) ولكن يجب أن تستخدم واجهة "الأجهزة المعالج الثانوي الرياضي الظاهري" لحفظ واستعادة حالة المعالج الثانوي الفاصلة العائمة. يجب أيضاً تسجيل VxD معالج استثناء للاستثناءات الفاصلة العائمة.

تطبيقات MS-DOS

تشغيل Windows 95 عبر الأنظمة الأساسية Windows Me تطبيقات MS-DOS في الوضع الظاهري 8086 Intel x 86 المعالج. يمكن الوصول تطبيقات MS-DOS جهاز الفاصلة العائمة تماماً كما يفعلون في MS-DOS. في حالة وجود لم جهاز الفاصلة العائمة يتم توفير لم مضاهاة التطبيق. لذلك، يجب أن توفر التطبيق الخاص به مضاهاة كما يتم إجراء عادةً بواسطة مكتبة وقت تشغيل التطبيق MS-DOS.

منتجات الجهات الأخرى التي تمت مناقشتها في هذه المقالة تكون تابعة لشركات مستقلة عن Microsoft. لا تقدم Microsoft أي ضمان ، ضمنيًا أو صريحًا، بخصوص أداء أو ثبات النظام "من هذه المنتجات.
FPU العائمة نقطة الرياضي

تحذير: تمت ترجمة هذا المقال تلقائياً

خصائص

رقم الموضوع: 102555 - آخر مراجعة: 02/28/2014 07:53:20 - المراجعة: 2.3

  • Microsoft Win32 واجهة برمجة تطبيقات
  • kbnosurvey kbarchive kbmt kbfloatpoint kbinfo kbkernbase kbprogramming KB102555 KbMtar
تعليقات