آشنایی با اسرار کرنل ویندوزXP
● تسریع بوت
هنگامی که شما برای اولین بار ویندوز XP را بر روی یک سیستم نصب می کنید، یکی از بارزترین بهبودهایی که مایکروسافت به کرنل سیستم عامل خود داده است توجه شما را جلب خواهد کرد. در طی سیر تغییر و تحولات ویندوز و آمدن نسخه های جدیدتر، همه انتظار داشتند زمان بوت نیز در نسخه های جدیدتر طولانی تر شود،
اما مایکروسافت حقیقتا با روند سریع بوت ویندوز XP، همه را غافلگیر کرده است. اما مایکروسافت چه کار جدیدی را در ویندوزXP انجام داده است؟
اولین چیزی که روند بوت را سریعتر می کند، چیزی است که برای اولین بار با ویندوزXP،Me و ویندوز 2000 ارائه شد یعنی Simple Boot Flag یا.SBF SBF ثباتی در حافظه CMOS در تراشهBIOS است و اولین باری که ویندوز بوت می شود مقدار دهی میگردد. SBF سه دسته اطلاعات مهم را در خود نگهداری می کند، علاوه بر یک بیت parity در انتها که ویندوز را قادر می سازد صحت محتوای این ثبات را بررسی کند.
اولین بیت در این ثبات، PNPOS نام دارد که نشان می دهد آیا سیستم عاملی که نصب شده است یک سیستم عامل آگاه از ادوات Plug and Play هست یا خیر. اگر این بیت بر روی1 تنظیم شده باشد،BIOS در حالت حداقلی، تنها چیزهایی را که واقعا لازم دارد بارگزاری می کند و سپس کنترل را به رکورد راه انداز سیستم عامل می سپارد. ویندوز همیشه این بیت را بر روی 1 تنظیم می کند. این کار به تنهایی زمان بوت را کاهش می دهد.
از آنجا که BIOS تنها حداقل سخت افزار مورد نیاز را راه اندازی می کند، می تواند از مواردی چون درگاه های ورودی/خروجی ووقفه ها صرف نظر کرده و کنترل و راه اندازی آنها را به ویندوز بسپارد که بسیار سریعتر این کار را انجام می دهد.در حقیقت تنظیم این ادوات با مقادری نادرست می تواند به طور جدی ویندوز را در نسبت دهی منابع سیستم به طور پویا، دچار مشکل سازد. پس از بیت PNPOS در ثبات SBF، بیت دیگری به نام BOOTING وجود دارد که نشان می دهد آیا آخرین بوت ویندوز موفقیت آمیزبوده است یا خیر.
اگر این بیت نشان بدهد که بوت قبلی موفقیت آمیز نبوده، BIOS مقدار بیت بعدی را برابر 1 قرار می دهد.
آخرین بیت، DIAG نام دارد و مشخص می کند که آیا روال های بررسی و تشخیص سخت افزارهای BIOS باید اجرا شوند یا خیر. اگر این بیت دارای مقدار صفر باشد، یعنی در طول بوت قبلی مشکلی رخ نداده در نتیجه از انجام کنترل های قدیمی سخت افزاری صرف نظر می شود که باعث کاهش زمان بوت می شود.
اما ا گر بوت قبلی موفقیت آمیز نبوده باشد، بیتDIAG دارای مقدار1خواهد بود و روال های کنترل و تشخیص سخت افزار انجام می شود.
● پیش واکنشی (Pre fetching)
بهبود بعدی و بزرگ هسته ویندوزXP، اضافه شدن قابلیت پیش واکنشی به آن است.این بدین معنی است که راه انداز بوت هسته سیستم عامل، تمامی داده هایی را که نیاز دارد به طور یک جا واکشی می کند که باعث کاهش زمان دستیابی دیسک و در نتیجه افزایش سرعت بوت سیستم می گردد. راه انداز بوت ویندوزXP اساسا به منظور پیش واکشی همزمان درایورها و کدهای دیگری که بارگذاری و اجرای آنها در هنگام بوت حیاتی و مهم است، تماما از اول بازنویسی شده است. علاوه بر بارگذاری همزمان و موازی درایورها و کدهای راه انداز، ویندوزXP تا آنجا که بتواند بارگذاری و راه اندازی درایورها را سریعترانجام می دهد. در واقع حتی هنگامی که شما میز کار ویندوزXP را می بینید بسیاری از درایورها هنوز نصب نشده اند. در حالی که نسخه های قبلی ویندوز پیش از نمایان ساختن میز کار، راه اندازی تمام درایورها را کامل می کردند. به عنوان مثال ویندوز XP درایورهای شبکه را در این مرحله بارگذاری می کند، اما آن ها را تا زمانی که میز کار بالا آمده و در حال اجرا باشد به طور کامل راه اندازی نمی کند. البته یک استثنای بزرگ برای این حالت وجود دارد وآن حالتی است که کامپیوتر شما بخشی از یک Domain شبکه است، که در آن حالت تمام درایورها باید تماما پیش از رسیدن به مرحله تایید ورود کاربرو Login کردن، فعال بارگذاری و راه اندازی شوند. اگر در ویندوزXP شما برخی از منابع شبکه ای مانند درایو شبکه، چاپگرشبکه، سی دی درایو راه دور در شبکه و... به درایوهای شبکه نگاشت شده اند، دلیل اینکه در بسیاری از مواقع، درست بعد از بوت، قادر به کار با آنها نمی باشیدهمین امر است.
تسریع و بهبود بزرگ دیگری که در روند بوت و زمان آن انجام شده است، هنگامی دیده می شود که ویندوزXP شروع به چیدن پویای مکان فیزیکی تایید درایور در ویندوزXP از نصب بدون اجازه درایورهای نا معتبرو ناشناس جلوگیری می کند.
● بهبود در حافظه
بعد از آنکه سیستم بوت شد و بالا آمد، یکی از بهبودهای اصلی ویندوز یعنی روال های مدیریت حافظه که تماما از اول بازنویسی شده اند شروع به ایفای نقش می کنند.
حافظه بسته به اهمیت محتوای آن، توسط ویندوزبه دو دسته تقسیم بندی می شود. گروه اول، حافظه صفحه بندی نشده است. این حافظه زمان زمان بسیار زیادی را، حتی برای خود روال مدیریت حافظه که باید همیشه در حافظه فیزیکی قرار داشته باشد مصرف می کند. گروه دوم، حافظه صفحه بندی شده است که اکثریت حافظه سیستم شما را تشکیل می دهد. استفاده از این نوع حافظه خطرات کمتری را در مواقع بحرانی سیستم در بر دارد و لذا ویندوز می تواند در صورب نیاز به حافظه فیزیکی بیشتر، با خیال آسوده آن را توسط مدیر حافظه مجازی به روی دیسک منتقل کند.
ویندوز، حافظه رابه صفحات4 کیلو بایتی تقسیم بندی می کند واین صفحات توسط سیستمی ازFlagها مدیریت می شوند که مدخل های جدول صفحات یا PTE نام دارند.هرPTE حاوی اطلاعاتی در باره صفحه ای است که به آن تخصیص داده شده و نیز شامل اینکه آیا آن صفحه در حال استفاده است یا خیر. ویندوزXP تعداد اینPTE هارا به اندازه ای افزایش داده است که بتواند تا 1.3 گیگا بایت حافظه را پوشش دهد که بدین معنی است که هسته سیستم عامل می تواند حافظه را به صورت بهینه تری بدون نیاز به پاکسازی PTEها و استفاده مجدد از آن ها مورد استفاده قرار دهد.