السلامة و تأمين النوع
تقوم التعليمات البرمجية التي تطبق أمان النوع بالوصول إلى مواقع الذاكرة المصرح لها بالوصول إليها فقط. (في هذه المناقشة يشير تأمين النوع إلى تأمين النوع الخاص بالذاكرة ولا يجب الخلط بينه و بين تأمين النوع في المجال الأوسع نطاقاً) على سبيل المثال، لا يمكن للتعليمات البرمجية التي تمتاز بأمان النوع قراءة قيم من الحقول الخاصة لكائن آخر. يمكنها الوصول إلى الأنواع فقط بواسطة طرق محددة بشكل جيد، و مسموح بها.
أثناء عملية التحويل البرمجي في نفس الوقت (JIT)، تقوم عملية تحقق اختيارية بفحص بيانات التعريف و لغة Microsoft Intermediate Language (MSIL) للأسلوب المراد تحويله برمجياً في نفس الوقت (JIT) إلى تعليمات برمجية أصلية للجهاز و ذلك للتحقق من أمان النوع الخاص بها. يتم تخطي هذه العملية إذا كان لدى التعليمات البرمجية الإذن لتجاوز عملية التحقق. لمزيد من المعلومات حول عملية التحقق، راجع عملية تنفيذ المدارة.
على الرغم من أن عملية التحقق من أمان النوع غير إلزامية لتشغيل التعليمات البرمجية المُدارة، إلا أن أمان النوع يلعب دوراً هاماً في عزل التجميع وفرض الأمان. عندما تكون التعليمات البرمجية تتوافق مع أمان النوع، يمكن لبيئة وقت تشغيل اللغة العامة عزل التجميعات بشكل كامل عن بعضها البعض. يساعد هذا العزل على ضمان أنه لا يمكن للتجميعات التأثير بشكل سلبي على بعضها و أيضاً زيادة ثبات و اعتمادية التطبيق. يمكن تنفيذ المكونات المطابقة لأمان النوع بأمان في نفس العملية حتى مع اختلاف مستوى الوثوق بها. عندما لا تطبق التعليمات البرمجية أمان النوع، يمكن حدوث آثار جانبية غير مرغوب فيها. على سبيل المثال، لا يمكن لبيئة وقت التشغيل منع تعليمات برمجية غير مُدارة من استدعاء تعليمات برمجية أصلية (غير مُدارة) والقيام بعمليات ضارة. عندما تطبق التعليمات البرمجية أمان النوع، تضمن آلية فرض الأمان الخاصة ببيئة وقت التشغيل أنه لا يمكنها الوصول لتعليمات برمجية أصلية إلا إذا كانت لديها الإذن للقيام بذلك. يجب أن يتم منح كافة التعليمات البرمجية التي لا تطبق أمان النوع SecurityPermission مع تمرير عضو التعداد SkipVerification لتنفيذها.
راجع أيضًا:
المبادئ
كتابة تعليمات برمجية آمنة نوعياً و يمكن التأكد منها