PDA

View Full Version : مفهوم سطح کرنل چیست ؟؟



Anon
جمعه 19 فروردین 1384, 05:52 صبح
مگر سطح اجرای kernel و gdi و ... در ring3 نیست . پس در این صورت اصطلاح سطح کرنل چه معنی دارد ؟؟ مثلا دیباگر سطح کرنل و یا غیره ....
میشه کمی در مورد سطوح اجرایی در NT و 9x توضیح دهید ؟؟

Inprise
جمعه 19 فروردین 1384, 11:27 صبح
پردازنده های مبتنی بر IA32 چهار سطح دسترسی دارند . سطح اول یا Ring0 دارای مجوز کامل دسترسی به تمام امکانات پردازنده Ring1 و Ring2 و Ring3 هم به ترتیب دارای دسترسی های محدودتری به پردازنده هستند . چون ویندوز و بسیاری از سیستم عاملهای مدرن غیر از IA32 برای سایر مدلها نیز طراحی شده اند و بسیاری از پردازنده های فقط دو یه سه سطح دسترسی برای پردازنده قائل هستند ، عموم سیستمهای عامل دارای صرفا" دو جزء Ring0 و Ring3 هستند ( که لزومی برای بازنویسی کد برای هر معماری سخت افزاری وجود نداشته باشه ؛ مثلا معماری آلفا که با IA32 متفاوت است )

بخشی از ویندوز با استفاده از مجوزهای کامل Ring0 اجرا میشه ، که اصطلاحا" به اون کدهای سطح کرنل گفته میشه ؛ و بخشی دیگه به امکانات محدودتری دسترسی داره و با استفاده از مجوزهای Ring3 اجرا میشه . به عنوان مثال GDI روی Ring3 و Kernel روی Ring0 هستند ؛

دیباگرهای سطح کرنل امکان دیباگ کدهائی که در فضای Ring0 اجرا میشن رو دارن و دیباگرهای User-Mode فقط امکان دیباگ کدهای Ring3 رو دارن .

BOB
شنبه 20 فروردین 1384, 06:47 صبح
سلام

با تشکر از جناب Inprise

1ـ آیا در ویندوزهای 9x هم Kernel32 در سطح Ring 0 اجرا میشود ؟؟ من تا حالا فکر میکردم که در ویندوزهای 9x فقط VxD ها دارای دسترسی Ring 0 میباشند .

2 ـ آیا دیباگرهای سطح کرنل ، در ویندوز ME هم جواب میدهند ؟؟

متشکرم

Inprise
شنبه 20 فروردین 1384, 13:42 عصر
آیا در ویندوزهای 9x هم Kernel32 در سطح Ring 0 اجرا میشود ؟؟

روی 9X و NT کتابخانهء Kernel32 یک کد User Mode است ؛ Kernel32 کرنل ویندوز نیست . این کتابخانه صرفا" یک رابط سطح بالا برای توابع پایه ای سیستم است .


آیا دیباگرهای سطح کرنل ، در ویندوز ME هم جواب میدهند ؟؟

SICE نسخه های متعددی داره که یکی از اونها NTو9X رو همزمان حمایت میکنه ؛ نمیدونم ME ممکنه متفاوت باشه یا خیر ، هر چند احتمالا" تفاوتی نیست . شخصا تست نکرده ام .

whitehat
شنبه 20 فروردین 1384, 14:30 عصر
SICE نسخه های متعددی داره که یکی از اونها NTو9X رو همزمان حمایت میکنه ؛ نمیدونم ME ممکنه متفاوت باشه یا خیر ، هر چند احتمالا" تفاوتی نیست . شخصا تست نکرده ام .
برای ویندوز ME باید بسته WinMeDDK را قبل از نصب SI نصب کنید.(ولی با این حال به خوبی نیز کار نمی کند !)
موفق باشید

Inprise
یک شنبه 21 فروردین 1384, 00:04 صبح
خوب؛ من نسخهء 4 اش رو روی ME تست کردم و بدون مشکل جواب میده .