ارتقای کرنل ویندوز XP
ارتقای کرنل ویندوز XP – ایران ترجمه – Irantarjomeh
مقالات ترجمه شده آماده گروه کامپیوتر
مقالات ترجمه شده آماده کل گروه های دانشگاهی
مقالات
قیمت
قیمت این مقاله: 88000 تومان (ایران ترجمه - Irantarjomeh)
توضیح
بخش زیادی از این مقاله بصورت رایگان ذیلا قابل مطالعه می باشد.
شماره | ۵ |
کد مقاله | COM05 |
مترجم | گروه مترجمین ایران ترجمه – irantarjomeh |
نام فارسی | ارتقای کرنل ویندوز XP |
نام انگلیسی | Kernel Enhancements for Windows XP |
تعداد صفحه به فارسی | ۷۷ |
تعداد صفحه به انگلیسی | ۳۰ |
کلمات کلیدی به فارسی | کرنل ویندوز XP |
کلمات کلیدی به انگلیسی | Kernel ,Windows XP |
کشور |
ارتقای کرنل ویندوز XP
شرکت مایکروسافت تغییرات زیادی را در خصوص بهینه سازی کرنل مایکروسافت در سیستم عاملهای سرور Windows.XP و سیستم عامل سرورWindows.NET انجام داده است. مقاله موجود نگاهی به خصیصه های جدید و تغییرات در کرنل این نگارش از ویندوزها خواهد انداخت. این مقاله برای طراحان سیستم و لوازم جانبی، توسعه دهندگان درایورها و شرکتهایی که محصولاتی بر مبنای این سیستمهای عامل میسازند مناسب است.
این مقوله فرض میکند که خواننده با مفاهیم مرتبط و مباحث ویندوز ۲۰۰۰ آشنا میباشد. برای بدست آوری اطلاعات بیشتر در خصوص کیت توسعه ویندوز به آدرس: http://www.microsoft.com/ddk/ ، یا به کیت توسعه منابع ویندوز ۲۰۰۰ مراجعه کنید. (این اطلاعات همچنین از طریق اشتراک حرفهای MSDN و یا انتشارات میکروسافت در دسترس میباشد).
ارتقای کرنل ویندوز XP
مقدمه
اطلاعات ارائه شده در این مقوله درخصوص سیستمهای عامل سرورWindows XP و سیستم عامل سرورWindows.NET میباشد. هر موضوعی که درباره Windows XP بیان میشود در باره Windows.NET نیز صادق است. مواردی که دارای خصیصههای متفاوتی باشد بطورصریح بیان خواهد گشت.
مایکروسافت تغییرات اساسی را در هسته کرنل Windows XP بوجود آورده است. پیشرفت کرنل حائز اهمیت است چرا که کرنل عملکردهای سطح پایین را در سیستم عامل مهیا میسازد. این عملکردها شامل برنامهریزی و زمانبندی برنامهها، وقفه و توزیع امکانات استثنا، سنکرون یا هماهنگ سازی چند پردازنده و یکسری روتینها و آبجکتهای پایهای است که بوسیله بقیه سیستم عامل برای انجام ساختارهای سطح بالاتری بکار گرفته میشوند. پیشرفتها و توسعههایی که در کرنل Windows XP بوجود آمده عبارت است از :
رجیستری ـ رجیستریهای بزرگتر،که تنها ظرفیت فضای دیسک آن را محدود میکند،
با الگوریتم بهینه شده برای پرس و جوهای سریعتر.
پشتیبانی از بهینه سازی ـ اشکال زدایی یا دیباگینگ سطح عرضی، دستورات خروج و جداسازی جدید برای اشکال زدایی بدون از بین بردن برنامه کاربردی و مد کاربر داخلی شناسایی رخنههای پشته.
ساب سیستمI\O ـ رابطهای (I\O) ورودی ـ خروجی جدیدجهت افزایش قدرت اجرا، هماهنگیکامل با درایورهایwindows2000، توسعه رابط برنامه نویسی کاربردی(API) درایو فیلترینگ سیستم فایل، پشتیبانی از ارزیابی عملکرد درکد جزئی و بهینه سازی عملکرد حافظه فضای اندک.
مدیریت حافظه ـ محدوده گستردهای از موارد توسعه یافته، شامل پریفیچینگ، لود داده از حافظه و قرار دادن آن در صف برای دسترسی سریعتر پردازنده بدان، منطقی جهت بهینهسازی عملکرد بوت و اتصال با سیستم. کاهش استفاده از منابع صفحه بندی شده، بهینه سازی پشتیبانی از ترمینال سرور، پشتیبانی از درایوهای بسیار بزرگ و اجرای ویندوز XP از روی ROM.
مدیریت مصرف انرژی ـ پشتیبانی محلی از کنترل عملکرد پردازنده شامل Intel، speed step technology ، AMD Power Now ! و Transmeta LongRun به منظور عمر بیشتر باطری موبایل PC، با ارتقای مواردی نظیر Hibernate(خواب زمستانی)، Standby (حالت خاموشی موقت کامپیوتر و شروع مجدد فعالیت آن با فشار ماوس یا صفحهکلید)و Resume (ادامه فعالیت).
بهینه سازی عملکرد بوت و اتصال به کامپیوتر و ادوات جانبی ـ به هنگامیکه ویندوز بر مبنای سیستم XP بوت میشود، تقریبا تمامیاطلاعات مربوط به عملیات خواندن دیسکهای منطقی ذخیره میگردد. در بوت بعدی، این اطلاعات با دیگر فایلهای بوت برای لود یا فراخوانی دادههای مربوطه استفاده خواهد شد.
پشتیبانی بدونسر ـ برای پیادهسازی مرکزداده نوری و مدیریت راه دور.
پشتیبانی از ccNUMA – اجرای عملکرد بهتر کامپیوترها در معماری نوع
Cache Coherent-Non Uniform Memory Architecture (ccNUMA) و ایجاد رابطی برای مناسب نمودن خصیصه های برنامه های کاربردی در محیط ccNUMA.
بهینه سازی کرنل ویندوز xp زمینه کاری جدیدی را برای فروشندگان مستقل نرم افزار (ISVs) و فروشندگان مستقل سخت افزار (IHVs) و دیگر اارئه دهندگان ارزش افزوده بدین سیستم فراهم نموده است . ویندوز XP کاملاً با درایورها و دیوایسهای ویندوز ۲۰۰۰ همخوانی داشته و علاوه بر آن مواردی نیز بدان اضافه گردیده است، مثل: API جدید، بهینهسازیها و خصیصههای دیگر که میتوان در آینده در محصولات و سرویسها گنجاند.
ارتقای کرنل ویندوز XP
بهینه سازی Registry
مانند ویندوز ۲۰۰۰ ، رجیستری در ویندوز XP نقش کلیدی در پیکربندی و کنترل سیستم دارد. رجیستری که بر روی دیسک در فایلهای متعددی بنام کندوها (hives) قرار دارد، در ابتدا محلی برای پیکربندی اطلاعات بود. با وجود آنکه، اغلب مردم میپندارند که رجیستری اطلاعات ثابتی است که بر روی هارد دیسک ذخیره شده است، رجیستری خود پنجرهای میباشد بروی ساختارهای حافظه داخلی که بوسیله کرنل و روتینهای اجرایی ویندوز XP نگهداری و کنترل میشوند.
کد رجیستری برای کار در محیط XP بازنگری شده است. این بازنگری شامل بهینه سازی عملکرد رجیستری میباشد، در عین حال همخوانی و شفافیت آن، در ارتباط با برنامههای کاربردی با حفظ رابطهای برنامه نویسی موجود، در نظر گرفته شده است. رجیستری ارتقا یافته ویندوز XP باعث بالابردن سرعت در زمینه های زیر میشود:
تبدیل جدول (delayed close table) و تبدیل آن به کوچکترین لیست اخیرا استفاده شده
کاهش قفل بلوک کنترل کرنل (KCB) با امکانات عدم قفل رجیستری و عدم تماس داده فرار.
قرار دادن حافظه cache حفاظتی جهت حذف توصیف گرهای حفاظتی دوبل .
کاربرد رجیستری جدید دو مزیت دارد :
رجیستریهای بزرگتر
پرس وجوهای سریعتر
رجیستریهای بزرگتر
ویندوز XP از رجسترهای بزرگتری در مقایسه با گونههای قبلی کرنل پشتیبانی میکند. نگارشهای قبلی محدودیتی به میزان ۸۰ درصد از کل اندازه منابع صفحه بندی شده را داشت، ولی گونه جدید تنها با فضای موجود بر روی دیسک محدود میشود.
میان مصرف کنندگان رجیستری تمایلی بوجود آمد تا آنکه رجیستری بصورت یک بانک اطلاعاتی باشد، تا در مواقع ضروری بتوان اندازه آن را تغییر داد. طراحی ابتدائی رجیستری بگونه ای بود که کلیه فایلهای رجیستری را در منابع صفحه بندی شده ، در کرنل ۳۲ بیتی ، قرار میداد. این امر باعث میشد که طول رجیستری به حدود ۱۶۰ مگابایت محدود باشد. این محدودیت بخاطر طرح آدرس دهی مجازی کرنل میباشد. در این هنگام مشکلی که روی میداد عبارت بود از، هر چه مصرف کنندگان رجیستری نظیر Terminal services و Com بزرگتر میشد، مقدار قابل توجهی از فضای منابع صفحه بندی شده را تنها رجیستری اشغال مینمود و در نتیجه مقدار کمیاز فضا برای بقیه اجزای کرنل باقی میماند.
…
ارتقای کرنل ویندوز XP
پرس وجوی سریعتر
مورد دیگری که بر عملکرد رجیستری در نگارشهای اولیه اثر دارد مشکل محلی (Locality problem) است. سلولهای مرتبط در اطراف کل فایلهای رجیستری پراکنده گردیدهاند. دسترسی به یک اطلاعات مشخص مانند صفات یک کلید، میتواند خطای page- faults را تولید کند، که در نتیجه به عملکرد سیستم آسیب میرساند.
پشتیبانی ویندوز از بهینه سازی
تعداد زیادی از محصولات بهینه شده در ویندوز XP و Windows.Net سرور بکار گرفته شدهاند، از جمله بهینه سازی کرنل و پیشرفت دیباگر (debugger) عرضه شده بوسیله ویندوز XP و DDK. این بهینه سازیها عبارتند از:
تغییرات کرنل جهت دیباگینگ پیشرفته.
تشخیص رخنه پشته داخلی
شمارندههای جدید عملکرد پشته
تغییرات کرنل جهت دیباگینگ پیشرفته
دیباگرهای ویندوزXP مجدداً طراحی گشته و شامل ابزارهایی مانند Windbg ، Kd وCdb میگردد. با وجود آنکه دیباگر جدید با ویندوزNT 4.0 و ویندوز ۲۰۰۰ کار میکند بعضی از خصایص آن فقط برای ویندوز XP مهیا میباشد. همچنین نگارش ۶۴ بیتی کلیه دیباگرها، جهت دیباگ سروهای Intel Itanium – based که دارای ویندوز XP میباشند، فراهم است.
موارد ارتقای کرنل که تنها برای دیباگینگ تحت ویندوز XP مهیا میباشد:
دیباگینگ سطح مقطع (Cross-Session)
خروج و قطع اتصال
دیباگینگ در پورت IEEE 1394
کنترل پویا در Debug- child flag
بهبود کاربری پهنای باند سریال Kd
لود فایلهای آپدیت درایور از طریق Kd
کنترل آنکه آیا خروج دیباگر باعث خروج برنامه تحت دیباگ نیز میگردد.
دیباگینگ سطح مقطع
ویندوز XP از دیباگینگ سطح مقطع حمایت میکند. قبلاً کلیه دیباگینگها توسط (Csrss.exe) Microsoft win32 environment subsystem انجام میگرفت. این امر مشکلات بالقوهای را بوجود میآورد، چرا که سرویسهای ترمینال هر مشتری دارای پروسه Csrss خاص خود بوده بگونهای که دیباگینگ را نمیتوان در خلال جلسات نشست ترمینال انجام داد.
خروج و قطع اتصال
ویندوز XP امکان دیباگ برنامه کاربردی و سپس خروج دیباگر، بدون از بین بردن برنامه را مهیا ساخته است. این عمل بوسیله یک دستور جدید دیباگ انجام میپذیرد، qd (خروج و قطع اتصال) رفتار پیشگزینه دستور q دیباگر باعث از بین رفتن برنامه میشود.
ارتقای کرنل ویندوز XP
دیباگ کردن در پورت IEEE 1394
ماشینهای دیباگر و تحت دیباگ را میتوان در ویندوز XP بوسیله پورت IEEE 1394 به هم متصل ساخت. پورت IEEE 1394 عملکرد دیباگینگ بسیار بهتری در مقایسه با دیباگینک پورت سریال دارد.
کنترل پویا در Debug – child flag
به هنگامیکه یک پروسه دیباگینگ شکل میگیرد یا فلگ (پرچم)DEBUG- PROCESS و یا فلگ DEBUG – ONLY – THIS – PROCESS مورد استفاده قرار میگیرد و معرف آن است که آیا پروسه های child باید دیباگ شوند یا خیر؟
بهبود کاربری پهنای باند سریال Kd
توسعه در پروتکل دیباگر کرنل باعث کاهش میزان ارسال اطلاعات بین ماشین مقصد و دیباگر کرنل گردیده است و به همین علت سرعت و عملکرد دیباگینگ بهبود یافته است.
لود فایلهای درایور آپدیت شده از طریق Kd
با بهبودی پروتکل دیباگر کرنل اکنون میتوان فایلهای لود درایو را از طریق دیباگر کرنل پیکربندی شده مناسب تقاضا نمود. به هنگامیکه سیستم درایوری را لود میکند دیباگر کرنل مورد پرس و جو قرار میگیرد تا معلوم شود آیا دیباگر کرنل تمایلی به مهیا سازی فایل برای درایور مورد نظر دارد یا خیر؟
کنترل آنکه آیا خروج دیباگر باعث خروج برنامه مورد دیباگ نیز میگردد
قبل از ویندوز XP، خروج از دیباگر معمولاً باعث از بین رفتن کلیه پروسه های تحت دیباگ میگشت. API جدید Debug SetProcessKillOnExit به دیباگر امکان میدهد تا این روند را کنترل کرده و یکی از دو انتخاب قطع اتصال و یا از بین بردن معمول را برگزیند.
تشخیص رخنه در پشته کاربر داخلی
ویندوز XP مد تشخیص رخنه در پشته کاربر داخلی را مهیا کرده است. برنامههای کاربردی ضعیف و یا دارای کد اشتباه میتوانند رخنهای را در حافظه پشته ایجاد نمایند. در نگارشهای قبل از ویندوز XP ، به هنگام بروز چنین واقعهای، نیاز به ابزارهای مخصوص بر روی سرور میبود تا دلیل این رخنه بررسی شود. رخنههای مربوطه به مد کامپوننت کاربر از دو طریق قابل رویت است:
تشخیص رخنه در موقع خروج از پروسه
تشخیص رخنه در تمامیاوقاتی که برنامه کاملاً خارج میشود روی میدهد. چنانچه پروسه توسط یکی از دستورات( ) Terminate Thread ( ) , Terminate Process و یا Exit Thread( ) به اتمام رسد، سیستم تشخیص رخنه عمل نخواهد کرد، ولی برای اغلب برنامه ها مشکلی روی نخواهد داد.
کاربرد پسوند دیباگر برای بررسی رخنهها
ویندوز XP اجازه استفاده از پسوند دیباگر برای بررسی رخنهها را میدهد. این کاری سودمند میباشد، چرا که پروسه هایی نظیرExplorer.exe و services .exe نمیتوانند در موقع خروج توسط برنامه تشخیص رخنه کنترل شوند. در چنین مواقعی میتوان با اتصال یکNtsd به پروسه و کاربرد پسوند دیباگر ! heap-I به نتیجه دلخواه رسید. چنانچه اندازه و محتویات بلوک به اندازه کافی برای تشخیص رخنه برنامه نباشد، میتوانید گزینههای دیباگ را برای دنبال کردن این بلوکها در پشته (stack) فعال نمائید.
شمارنده اضافی پشته
خصیصه دیگر جدید ویندوز XP مانیتورینگ عملکرد پشته میباشد. مانیتور عملکرد (Perfmon) قادر به نمایش ۲۰ آیتم مربوط به پشته میباشد: مقدار حافظه رزرو شده و مورد اقدام پشته، تعداد بلوکهای اختصاص یافته و آزاد شده برای اندازههای ۳ کلاس، میانگین زمان تحصیص و زمان آزاد شدن، محتویات قفل و موارد دیگر. تنها پروسه پشته مربوطه و یا پشته ها با اولویت کابری بالا مانیتور میشوند.
سابسیستم I/O
سابسیستم I/O شامل عناصر کرنلی است که یک رابط را برای دیوایسهای سختافزاری مهیا میسازد. ویندوز XP، ساب سیستم IO را گسترش داده است و این در حالی است که با کلیه درایورهای نوشته شده۲۰۰۰ Windows سازگاری دارد. این سازگاری با اهمیت میباشد چرا که ساب سیستم I/O رابطی را برای کلیه درایورها مهیا نموده و اعمال تغییرات زیاد در پروسه I/O میتواند باعث وجود شکاف بین برنامهها و درایورها شود.
صف جدید کنسل
بجای داشتن درایورهایی جهت اجرای صف دیوایس (device queuing) و هندل نمودن پاکت درخواستی I/O I/O, (IRP) ، ویندوز XP این عمل را بطور اتوماتیک انجام میدهد. در ویندوزXP درایورها صف بندی IRP را هندل نموده و لزومیبه هندل نمودن IRP Cancellation نمیباشد. در مواقعی که I/O کنسل میشود هوشمندی بکار رفته در پروسه صف بندی اجازه میدهد تا I/O APIs تقاضاها را هندل نمایند.
رابطهای برنامه کاربردی (API) درایور فیلتر سیستم فایل
چندینAPIs جدید درصد اطمینان و اتکا به سیستم را افزایش داده است. مایکروسافت شرکتهای ثالث را جهت تست درایورهای خود بکار گرفته است. چنانچه یک درایور به هنگام تست عملکردی نادرست از خود نشان دهد، این موضوع به APIs گزارش شده تا بدون ایجاد مشکل برای کل سیستم نسبت به رفع عیب آن اقدام شود. APIs، مورد نظررا میتوان در کیت IFS ویندوزXP یافت:
عملکرد حافظه – اندک ارتقا یافته
ویندوز XP در هنگام مواجه با کمبود حافظه از انعطاف بیشتری برخوردار است، چرا که پروسه «لزوم موفقیت» در اختصاص حافظه (Must succeed) دیگر اجرا نمیگردد. نگارشهای قبلی کرنل و درایورها پروسهای را اجرا میکردند که حتی در موقع کمبود حافظه نیز میخواست حافظه مورد نیاز خود را تأمین نماید چنین تخصیص حافظهای در صورت نبود جای کافی باعث صدمه دیدن سیستم (crash) میشد.
کاهش I/O
پیشرفت دیگری که در وضعیت کمبود حافظه حاصلگردیده کاهش I/O میباشد. چنانچه سیستم نتواند حافظه کافی اختصاص دهد، سیستم کاهش I/O فعال گشته و پروسه را به میزان یک صفحه در هر زمان تقلیل میدهد. این امر باعث میشود تا سیستم به کار خود با سرعت کمتری ادامه دهد تا آنکه منابع بیشتری در اختیار سیستم قرار گیرد و بتواند سرعت زمانی مد نظر خود را باز یابد.
توسعههای DMA
سه خصیصه جدید به انتهای ساختارDMA- OPERATIONS اضافه شده است. این سه خصیصه قابل دسترسی برای هر گونه درایوری که از IOGetDmaAdaptor( ) استفاده میکند قابل دسترس میباشد. برای کنترل وجود این خصیصههای جدید، درایور میبایست نگارش فیلد DEVICE-DESCRIPTION ارائه گشته به IOGetDmaAdaptor() را با DEVICE–DESCRIPTION-VERSION2 هماهنگ و تنظیم نماید.
تغییر مسیر دهنده WebDAV
ویندوز XP شامل عنصر جدیدی بنام تغییر مسیر دهنده WebDAV میباشد. این عنصر به برنامه ها اجازه دسترسی به اینترنت را میدهد. برنامهها میتوانند با بکارگیری WebDAV از اینترنت خوانده و یا بر روی آن بنویسند. پروتکل WebDAV الحاقیهای است که به پروتکل انتقال ابرمتنها (HTTP) اضافه گردیده است و اجازه میدهد اطلاعات بر روی مقصدهای HTTP مانند MicrosoftMSN نوشته شود. پروتکل WebDAV دسترسی به اینگونه سرورها را از طریق File System-Level میسر میسازد و این دسترسی مانند دسترسی به سرورهای CIFS/SMB میباشد.
بازیابی سیستم
بازیابی سیستم شامل درایور فیلتر سیستم فایل و سرویسهای مد ـ کاربر میباشد که راهی را در مورد برگشت فایلهای پیکربندی به مرحله قبلی خود ارائه میدهد. این فرآیند همچنین شامل یک درایور فیلتر سیستم فایل بنام Sr.sys میباشد که در جهت اجرای فرآیند Copy-On-Write کمک میکند. بازیابی سیستم یکی از خصیصههای ویندوز XP نگارش خانگی، ویندوز XP 32 بیتی حرفهای بوده و این خصیصه در ولی در Windows.NET سرور موجود نیست.
سرویس تصویربرداری از یک درایو (Snapshot)
تصویر برداری از یک والیوم یا درایو در حقیقت کپی برداری بصورت ”نقطه ـ در هر زمان “ از یک والیوم میباشد. این پروسه معمولأ برای بک آپ گیری مورد استفاده قرار میگیرد. حالت بکآپگیری بطور پایدار است و حتی چنانچه فایل تغییر کند بک آپ گیری انجام خواهد شد. ویندوز XP دارای یک برنامه منظم برای بک آپ گیری است.
تغییرات در خصیصه های O/I موجود
ویندوزXP در زمینه خصایص O/I موجود شاهد تغییراتی بوده است که از آن جمله میتوان به موارد ذیل اشاره داشت:
FAT32 بر روی RAM ـDVD. دیسکتهای RAM ـDVD میتواند شامل DVD/ CD و دیسکتهای قابل نوشتن باشد. ویندوزXP قابلیت فرمت و استفاده RAM ـ DVD بر روی فایل سیستم ۳۲ بیتی را فراهم کرده است.
یکپارچه سازی APIs. از زمان به بازار آمدن ویندوز NT 4.0 سیستم فایل NTFS، API ها را معرفی نمود که به کاربران اجازه میداد محدوده اختصاص یافته یک فایل را بر روی دیسک مورد پرس و جو قرار داده و همچنین بهینه سازی و مرتب سازی فایل با اجرای یکپارچه سازی به منظور بحداقل رسانی زمان جستجو به هنگام پردازش I/O را مورد توجه قرار دهند. در ویندوز ۲۰۰۰ این API ها دارای برخی محدودیت میباشند. بعنوان مثال عملکرد آنها شامل جدول مسترفایل (MFT ) ، PageFile و صفات NTFS نمیشود. این خصیصه قرار داده شده در ویندوزXP تغییراتی را در NTFS به شرح ذیل داشته است:
API های یکپارچهساز دیگر بوسیله کش (cache) سیستم، اطلاعات را یکپارچه نمیکنند. این بدان معناست که فایلهای رمزدار شده دیگر نیازی به باز شدن بوسیله دسترسی خواندن ندارند.
اکنون NTFS در محدوده کلاستر فایلهای غیر فشرده را یکپارچه میکند. در ویندوز ۲۰۰۰ این امر محدود به بخشپذیری صفحه برای فایلهای غیرفشرده میباشد.
NTFS هم اکنون MFT را یکپارچه میسازد. این خصیصه در ویندوز ۲۰۰۰ وجود ندارد. این امر از طریق یک مسیر کد معمول انجام میگیرد، بنابراین محدودیتی در اندازه جابجایی در یک زمان خاص وجود نداشته و هر قسمت از آن بجز کلاستر ۰x10 میتواند جابجا شود. چنانچه فضای خالی درMFT موجود نباشد تا تغییرات را تشریح نماید، اطلاعات باز گردانده خواهد شد. API میتواند سگمنتMFT را جابجا سازد. این جابجایی حتی در صورت باز بودن فایل همراه با File Entry در این قسمت انجام خواهد شد.
ارتقای کرنل ویندوز XP
کرنل فقط خواندنی و صفحات HAL
در بسیاری از سیستمهای بر پایه ویندوز XP، کرنل و صفحات HAL بعنوان فقط خواندنی مارک دار شدهاند. این موضوع باعث تأثیر گذاشتن به درایورهایی که تلاش دارند کدهای سیستم را مخفی سازند، جدولهای آشکار ساز و یا ساختار دیتا خواهد شد. تغییر کرنل و HAL به حالت فقط خواندنی در کلیه سیستمها روی نمیدهد:
API های جدید
ویندوز XP شامل چندین درایور فیلترینگ جدید API به شرح زیر میباشد.
Setshortname( ). یک API جدید ۳۲ بیتی جهت تنظیم اسم کوتاه فایل در NTFS.
GetvolumePathNamesForVolumeName( ) یک API جدید که اجازه میدهد تا لیستی از کلیه VolumePath هایی که یک volumeName ممکن است مانت (mount) کرده باشد داشته باشیم .
آرگومانها:
IpszVolumeName تعیین نام والیوم
IPszVolumePathNames برگشت نام مسیر والیوم
cchBufferLength تعیین اندازه با فر برگشتی
IpcchReturnLength تعیین تعداد کاراکترهای کپی شده بافر برگشتی در حالت موفق یا کل کاراکترهای لازم برای بافر در حالت ERROR_MORE_DATA .
ارزش برگشتی :
FALSE : عدم موفقیت
TRUE : موفقیت
FiledBothDirectoryInformation( ) & Filed fullDirectoryInformation( ).
مدیریت حافظه
ویندوز XP یک مدیریت حافظه توسعه یافته را عرضه نموده است. مدیر حافظه به سرویسهای سیستمیاجازه میدهد تا حافظه مجازی را تخصیص داده و یا آزاد نمایند. از جمله موارد دیگر میتوان از حافظه اشتراکی بین پروسهها، مپ کردن فایلها به حافظه، نوشتن صفحات مجازی بر روی دیسک، بازیابی اطلاعات در محدودهای از صفحات مجازی، تغییرحفاظت صفحات مجازی و قفل صفحات مجازی در حافظه. مدیر حافظه همچنین تعدادی از سرویسها را فراهم آورده است مانند، اختصاص و یا عدم اختصاص حافظه فیزیکی و قفل صفحات در حافظه فیزیکی جهت انتقالهای DMA به دیگر اجزای مد- کرنل در برنامه های اجرایی و همچنین دیوایس درایورها.
توسعه مدیریت حافظه بشرح زیر است:
فراخوان یا لودر منطقی جهت BOOT و اجرای سریعتر برنامهها
پیشرفت مدیر حافظه جهت مقیاسپذیری بهتر
کاهش استفاده از منابع صفحه بندی شده
ازدیاد تعداد ورودیهای جدول صفحه سیستم (PTES)
پشتیبانی از درایورهای بزرگ
لودر منطقی جهت بوت و اجرای سریعتر برنامه
به هنگامیکه سیستمیکه بر مبنای ویندوز XP است بوت میشود، اطلاعات مربوط به کلیه اعمال خواندن دیسک منطقی ذخیره میگردد. در بوت بعدی، این اطلاعات موازی با دیگر اعمال بوت سبب بازخوانی و لود فایلهای ذخیره شده میشود. به هنگام بوت و راه اندازی و اجرای برنامه، سیستم ویندوز درخواستها و صفحات، میزان مقیاسپذیر داده در بخشهای کوچک۴ الی ۶۴ کیلویی، بین فایلها، زیرفهرستها و متادیتا بجستجو میپردازد. آورندهها یا لودرهای منطقی که پدیدهای جدید در ویندوز XP محسوب میشوند، بیشتر این دادهها را به سیستم کش آورده که باعث کم کردن زمان جستجو و هماهنگی مؤثر I/O میگردد.
توسعه مقیاس پذیری بعلت کاهش مباحث قفل
بعد از آنالیز قابل توجه برای شناسایی همزمانی منابع که مباحث زیادی را سبب شد، سابسیستم مدیریت حافظه در ویندوز XP تغییرات زیادی را شاهد بوده است. از جمله کاهش تعداد فریمهای صفحه (PFN )، آدرس ایجاد پنجره، PTE سیستم و مباحث قفل. این تغییرات بسیاری از قفلهای غیر لازم را برداشته و در بسیاری از موارد نوع آنها را دوباره طراحی نموده و باعث پیشرفت مقیاس پذیری و عملکرد شده است.
توسعه حافظه کشینگ و بکآپ بواسطه کاربرد منابع صفحهبندیشده پویا
طراحی مجدد اصلی برخی از ساختارهای داخلی مدیر حافظه باعث مصرف صفحات کمتری شده است و سبب گردیده تا جوابها سریعتر شده و ظرفیت حافظه کش نیز افزایش یابد.
مقیاسدهی پیشرفته سرور بعلت شارژ صفحه واحد
مقیاس پذیری بیشتر با کاهش احتیاج به حافظه مورد نیاز عملیات. بطور مثال، یک سرور وب که برای هر فرد ۴ کیلو صفحه در نظر میگیرد، چنانچه۱۰۰۰۰ مشتری داشته باشد نیاز به ۴۰ مگابایت فضا دارد. بنابراین کمبود فضا باعث رد تقاضای مشتری خواهد شد.
پیشرفت مقیاسپذیری سرور ترمینال و سرور شبکه
تعداد ورودیهای جدول ـ صفحه سیستم به حداکثر ۳ /۱ گیگا بایت افزایش یافته است. از این تعداد کمتر از ۱ گیگا بایت آن بطور مجازی همجوار میباشند، این مقدار حدوداً ۲ برابر PTE های ویندوز ۲۰۰۰ و ۶ برابر ویندوز NT4.0 میباشد. البته این موضوع بستگی به پیکر بندی سیستم نظیر رم، سوئیچهای رجیستری و عوامل دارد. بطور معمول یک سیستم باید شرایط ذیل را داشته باشد:
بوت شدن بدون سوئیچGB3/
داشتن رم ۱۲۸ مگا بایتی یا بیشتر
نداشتن کلید رجیستری که اجازه میدهد رم بعنوان کش سیستم مورد استفاده قرار گیرد.
نداشتن کلیدهای رجیستری که اجازه میدهد Session Space یا System Mapped Views بزرگتر از گزینه معمول آن ۴۸ مگابایت باشد.
پشتیبانی از درایورهای بزرگ بواسطه ازدیاد تعداد PTE های سیستم.
ویندوز XP از درایورهای بزرگ پشتیبانی میکند. با وجود آنکه درایورهای ویدیوئی از جمله نمونه بارز ادواتی است که از این درایوها بهره میبرند، بقیه درایورهای مخصوصی که از فضای زیاد اختصاص یافته رم پشتیبانی میکنند نیز میتوانند از این درایورهای بزرگ استفاده نمایند.
پشتیبانی اجرای مستقیم از رام (ROM)
ویندوز XP اجرای برنامههای کاربردی بطور مستقیم از رام را پشتیبانی میکند. این خصیصه باعث میشود بتوان محصولاتی نظیر موارد تعبیه شده ویندوز NT را بر روی ROM قرار داد و همچنین به تولید کنندگان سیستمیاجازه میدهد تا محصولات خود را بدون نیاز به دیسکت درایور به بازارهای خاص بفرستند.
مدیریت انرژی
ویندوز XP، مدیر انرژی خود را توسعه داده است، در حالی که به پشتیبانی از درایورهای موروثی نیز ادامه میدهد. مدیر انرژی، که مسئول هماهنگی استفاده از انرژی سیستم است کلیه مواردی از سیستم که با انرژی برق سر و کار دارد را بررسی میکند. مانند ویندوز ۲۰۰۰، مدیر انرژی با ارسال IRP_MJ_POWER تقاضا میکند تا عملیات انرژی صورت پذیرد. این تقاضا میتواند شامل تغییر وضعیت جدید تأمین انرژی و یا بررسی امکان تغییر وضعیت انرژی باشد. به هنگامیکه یکی از وضعیتهای Sleep،Hibernation و Shutdown روی میدهد، مدیر حافظه یک IRP_MJ_POWER به هر یک از شاخههای درخت ابزار ارسال داشته و عملکرد مناسب را درخواست میکند. مدیر سیستم نکات زیر را با توجه به نوع عملی که باید انجام گیرد، Sleep ،Hibernation و Shut down ، در نظر میگیرد:
بهینه سازی عملکرد Boot و Logon
تحقیقات انجام شده بر روی مشتریان نشان داده است که یکی از مهمترین خواستههای آنها در خصوص PC ، بالا آمدن یا Startup سریع است،حال در زمان بوت سرد باشد یا خواب. وقتی یک سیستم برمبنای XP برای اولین دفعه بوت میشود، اطلاعات مربوط به کل عملیات خواندن دیسک منطقی، ذخیره میشود. در بوت بعدی این اطلاعات باعث لود این دسته از فایلها بطور موازی با دیگر عملکردهای بوت میشود.
پیشرفت لودر بوت
نکته اصلی در لودر بوت و عملکرد آن در زمینه بهینهسازی عملیات خواندن از دیسک میباشد. بوت لودر ویندوز XP (Ntldr ) فایلها و دیرکتوری متافایلها را در بلوکهای بزرگ، در حالت بیشترین وضعیت استفاده شده اخیر، کش نموده و در نتیجه باعث کاهش جستجوی دیسک میشود. هر فایل سیستم اکنون به وسیله یک عمل o/I خوانده میشود. نتیجه پیشرفت در بوت ویندوز XP بدین گونه است که سرعت بوت در مقایسه با ویندوز ۲۰۰۰ چهار تا پنج برابر است. بعلاوه کنترلهای هماهنگی ماوس ۲/PS از Ntldr حذف شده است.
موارد توسعه بوت سیستم عامل
بهینهسازی لود سیستم عامل در ویندوز XP بوسیله انطباق راهانداز دیوایس با I\O دیسک مدنظر و بوسیله حذف یا تأخیر لود پروسههای غیر ضروری در زمان بوت میسر است. وقتی سیستم را جهت بوت سریع تنظیم میکنیم باید به هر دو نکته اصلی یعنی کارآیی راه اندازی دیوایسها وI\O های دیسک توجه داشته باشیم. ویندوز XP درایوهای دیوایس را بطور موازی جهت بهبود و ارتقای زمان بوت راه اندازی میکند.
موارد توسعه حالت خواب سیستم عامل (Hibernation )
به هنگام هایبرناسیون برق کلیه دیوایسها قطع میگردد و اطلاعات حافظه فیزیکی سیستم در فایل سیستم هایبرناسیون (\Hiberfil.sys) نوشته میشود. قبل از آنکه ویندوز XP عمل نوشتن به روی این فایل را آغاز کند، کلیه صفحات حافظه در لیستهای صفر، آزاد و وقفه موقت خالی میگردند. این صفحات نیازی به نوشتن بر روی دیسک ندارند. همچنین، صفحات حافظه قبل از نوشته شدن فشرده میشوند.
توسعه موارد مرتبط با راه اندازی مجدد از حالت Standby
به هنگام راه اندازی مجدد سیستم از حالت Standby، سیستم عامل SO IRPs را به دیوایسها ارسال میکند تا تغییرات بوجود آمده در وضعیت پاور سیستم را اعلام نمایند. همانگونه که در بخش مدیریت پاور مشخص شد، درایورهای دیوایس معمولا برای تغییر وضعیت برق دیوایس مربوط بخود DO IRPs را درخواست میکنند. سیستم عامل مسئول اعلام این موضوع به هر دیوایس براساس نظم درست آن میباشد. دو قاعده کلیدی در این خصوص باید رعایت شود تا از بروز اشکال و قفل کردن سیستم جلوگیری شود:
ابزارهای Boot و Resume ویندوز XP
ویندوزXP توانایی ره گیری بوت و راه اندازی مجدد معیارهای مربوط را داشته و میتواند نتایج بدست آمده را در یک فایل باینری، که توسط برنامهBootvis.exe قابل مشاهده است، ذخیره نماید. برنامه Bootvis.exe گرافهای زمان- همبندی نظیر کارکرد CPU، o/I دیسک، تأخیرات درایو و فعالیت Resume را نشان میدهد. این برنامه توانایی نشان دادن بسیاری از جزئیات سودمند را دارد.
پشتیبانی Headless
Windows.NET سرور از «Headless Server» بر روی پلتفرم سرور پشتیبانی میکند. این به معنای پشتیبانی از عملیات، بدون ابزارهای ورودی یا نمایش محلی است. شرکت مایکروسافت و اینتل با همکاری کارخانجات صنایع کامپیوتر در زمینه ساخت ملزومات نرمافزاری و سخت افزاری برای عملیات سرور اقدام کردهاند. این اقدامات شامل ایجاد ملزوماتی برای عملیات Headless تحت سرورWindows.NET، بعنوان بخشی از طراحی سخت افزاری نگارش ۳ برای ویندوز ۲۰۰۰ سرور، میباشد.
ارائه مدیریت Out-Of-Band
ویندوز مکانیزمهای زیادی را جهت مدیریت از راه دور سیستم، به هنگامیکه سیستم لود گشته، کاملا راهاندازی شده و در حال عمل میباشد، عرضه داشته است. نوع این مدیریت ”in-band“ خواند میشود و بطور عادی در شبکه کاربرد دارد.
اجرای پشتیبانی Headless
راه حل headless نیازمند آن است تا وابستگی کنسولI\O محلی از سیستم عامل از بین برود. Windows.Net سرور از عملکرد بدون بهره گیری از صفحه کلید، ماوس و یا مانیتور متصل به سیستم پشتیبانی میکند. در یک سیستم با ACPI فعال شده، ویندوز NET سرور از عملکردی پشتیبانی میکند که در آن کنترلر صفحه کلید ۸۰۴۲ وجود ندارد.Windows.NET سرور، همچنین از سیستمهای بدون سخت افزار نمایش VGA پشتیبانی میکند.
طراحی سخت افزار و میان افزار
سه مورد کلیدی جهت مهیا سازی پلتفرم headless با کیفیت بالا وجود داشته که با Windows .Net سرور EMS تکامل یافته اند:
سخت افزار مدیریت پورت: Windows.NET از یک سریال پورت موروثی استاندارد پشتیبانی میکند.
عملکرد Headless در Windows.NET سرور از سریال پورت ۱۶۵۵۰ پشتیبانی میکند و آدرس۲E8,3E8,2F8,3F8,COM4, COM3 , COM2,COM1 را شامل میشود. یک سرور حداقل میبایست دارای یک اینترفیس UART با توانایی استفاده در ویندوز (EMS) NET باشد.
پشتیبانی از Hot-Add memory, Memory Mirroring
Windows.Net از خصیصه اضافه نمودن حافظه بصورت گرم (Hot-Add Memory) پشتیبانی میکند. این خصیصه اجازه میدهد دیوایسها یا ادوات مختلف حافظه، بعنوان بخشی از منابع حافظه معمولی، به ماشین اضافه گشته و در اختیار سیستم عامل و برنامهها قرار گیرند. این خصیصه بدون خاموش کردن و بوت کردن مجدد سیستم انجام میگیرد.
پشتیبانی از ccNUMA
Windows.NET سرور از طراحی ccNUMA و NUMA- “lite” پشتیبانی میکند. این خصیصه برای دسترسی به حافظه دور ـ نزدیک با نسبتهای زمانی ۱:۳ یا کمتر استفاده میشود.
تخصیص حافظه بر حسب گره
یک روش مؤثر جهت ارتقای عملکرد ماشینهای ccNUMA اطمینان از استفاده پردازندهها از نزدیکترین حافظه مجاور آنها میباشد. این راهنما شامل تداوم اجرا بر روی یک گره پردازنده میباشد. خصیصه رنگآمیزی صفحه در ویندوز ۲۰۰۰ مورد استفاده قرار گرفته تا اطمینان حاصل شود که اختصاص صفحه تا حد ممکن، فضای آدرس فیزیکی سیستم را شامل شود.
زمانبندی برحسب گره
زمان بندی شامل تغییراتی در خصوص پیکربندی پردازنده بوده است:
یک پردازنده ایدهآل نخی
پردازنده حقیقی که در همان گرهای است که پردازنده ایدهآل نخی میباشد.
پشتیبانی OEM جهت ccNUMA
جهت آنکه Windows.NET بتواند پشتیبانی مناسب ccNUMA برای اینگونه موارد اضافی را فراهم آورد، سازندگان محصولات اصلی (OEM) میبایست یک HAL را تهیه نمایند تا بتواند با سخت افزار ارتباط برقرار نموده و قابل فهم برای Windows. NET باشد.
ارتقای کرنل ویندوز XP
جدول قرابت منابع ایستا
به هنگامیکه رویه جاری بازار ساخت مقیاس بزرگی از سیستمها بر اساس گرههای کوچکتر متصل به هم باشد، بهترین دستاورد در زمانی تحصیل میشود که پردازندهها، بجای استفاده از حافظه گرههای دیگر، از حافظهای استفاده کنند که در گره سیستم کوچکتر قرار دارد.
چگونه ویندوز میتواند از SRAT استفاده کند؟
SRAT یک مرحله میانی جهت فعال نمودن خصیصههایی نظیر بهینهسازی ccNUMA بر روی ماشینهای کلاس سرور مرکزدیتای ویندوز میباشد، تا آنکه توانایی لازم در دسترسی به ACPI 2.0 Namespace در فاز شروع مطلوب تامین شود. تا مهیا شدن این توانائیها سیستم عامل نسبت به پویش و استفاده از اطلاعات مهیا شده در SRAT در زمان بوت اقدام میکند. با این وجود، پس از مجتمع شدن این توانائیها در سیستم عامل، این سسیتم دیگر از SRAT و یا اطلاعات ACPI Namespace استفاده نمیکند.
پشتیبانی از سخت افزار جدید
نگارش ۶۴ بیتی ویندوز XP و ویندوز NET. سرور از بسیاری از رابطهای میان افزاری (EFI) پشتیبانی میکنند که شامل استانداردهای جدید رابطهایی است که باعث تقویت PC ها میشود. مایکروسافت از EFI بعنوان تنها میان افزار قابل استفاده در نگارش ۶۴ بیتی ویندوز (ITANIUM) پشتیبانی میکند، از آنجا که گونه ۶۴ بیتی ویندوز نمیتواند تنها بوسیله لایههای تجریدی سیستمی(SAL) یا بیوس بوت شود، وجود EFI برای کلیه سیستمهای بر پایه ITANIUM به منظور بوت ویندوز لازم و ضروری میباشد.
پشتیبانی ایتانیوم اینتل
نگارشهای ۶۴ بیتی XP و ویندوز NET. سرور برای سیستمهای بر مبنای ایتانیوم اینتل یک سیستم عامل تمام عیار محسوب گردیده که دارای سازگاری با اکثر برنامه های ۳۲ بیتی میباشند. سیستم عامل ۶۴ بیتی ویندوز توانائیهای زیادی را فراهم میسازد، از جمله: مهیا بودن کامل سیستم، مقیاس پذیری پیشرفته و پشتیبانی از حافظههای بزرگ بر روی چیپ ایتانیوم همراه با خصیصههای گسترده چندپردازندهای، ممیز اعشار قوی ریاضی و دستورالعملهای خاص مولتی مدیا. ویندوز ۶۴ بیتی و ریزپردازنده ایتانیوم طوری طراحی شدهاند که اغلب نیازهای تجاری روز بر پایه اینترنت، بازرگانی الکترونیکی، جمع آوری اطلاعات، معاملات آن لاین، گرافیکهای بسیار پیشرفته، محاسبات پیچیده و کاربردهای سطح بالای مولتی مدیا را انجام دهند.
فواید استفاده از معماری ۶۴ بیتی
سیستم عامل ۶۴ بیتی از حافظههای مجازی بیشتری در مقایسه با سیستم عامل ۳۲ بیتی پشتیبانی میکند. به عنوان مثال، ویندوز ۳۲ بیتی Whistler، از ۴ گیگا بایت حافظه مجازی پشتیبانی میکند، در حالیکه ویندوز ۶۴ بیتی قابلیت پشتیبانی از ۱۶ ترابایت حافظه مجازی را دارد. همجنین منابع صفحه بندی نشده به طور اساسی پیشرفت نموده است، تا ۱۲۸ گیگا بایت برای پلتفرم ۶۴ بیتی در مقایسه با ۲۵۶ مگابایت پلتفرم ۳۲ بیتی. در مقایسه با این خصیصه ها میتوان میزان مقیاس پذیری پلتفرم ۶۴ بیتی را تصور نمود. این میزان در برنامههای Network Connection Page Pools,Terminal Server Clients
نمود مییابد.
هر برنامه ای میتواند کاربران زیادتری داشته باشد. تمامییا بخشی از هر برنامه میبایست برای هر کاربر کپی شود، که این امر نیازمند داشتن حافظه اضافه یا بیشتر میباشد.
هر برنامه به حافظه زیادتری دسترسی دارد که میتواند سرعت اجرا را افزایش دهد.
هر برنامه حافظه بیشتری جهت ذخیره سازی اطلاعات و هندل نمودن آن دارد. بانکهای اطلاعاتی میتوانند دادههای بیشتر را در حافظه فیزیکی ذخیره کنند. دسترسی به اطلاعات سریعتر میباشد چرا که لزومیبرای خواندن از روی دیسک نمیباشد.
برنامهها میتوانند اطلاعات زیادی را براحتی و با اطمینان بالا هندل نمایند. ترکیبات ویدیویی برای بحرکت درآوردن تصاویر به ویندوز ۶۴ بیتی نیاز دارند. مدلسازی برنامههای علمیو بازرگانی به میزان زیادی از ساختارهای داده مقیم در حافظه سود برده که این خصیصه قابل حصول در ویندوز ۳۲ بیتی نمیبود.