ویندوز NT نسبت به سیستمهای عامل OS/2 و UNIX و ویندوز 16 بیتی دارای برتریهایی است که این خصوصیات و امکاناتی که ویندوز NT دارد، با یک سیستم عامل یا بیشتر نیز قابل دسترسی است. ولی هیچکدام از سیتم عاملها قابلیتهای ویندوز NT را ندارد. در این قسمت مهمترین خصوصیات NT را معرفی میکنیم و یکسری خصوصیات کلیدی NT را شرح میدهیم.
1- آدرسدهی 32 بیتی
در انیجا لازم است توضیحی در مورد اینکه آدرس چیست و نحوة آدرسدهی که میکروسافت DOS چگونه است بدهیم. آدرس کلاً محل یک بایت از اطلاعات در حافظه کامپیوتر یا Mass storage میگویند. آدرس بر دو نوع است. آدرس میتواند فیزیکی و یا میتواند مجازی باشد.
1-1- آدرسدهی فیزیکی: به بایت دادة معین در محل فیزیکی معینی از حافظه یا دیسک اشاره میکنند.
2-1- آدرسدهی مجازی: به آدرس منطقی (نرمافزاری) اشاره میکند که سیستم عامل به آدرس فیزیکی معینی اشاره میکند.
مطلب قابل توجه در انیجا این است که ویندوزNT از بین دو آدرسدهی، از آدرسدهی مجازی استفاده میکند که برای هر درخواست اصولاً چهار گیگابایت اختصاص داده میشود که البته 2 گیگابایت آن برای سیستم عامل منظور میشود.
به دنبال پیشرفت مایکروسافت DOS به دلیل محدودیتهای حافظه، میکروپروسسورهایی از قبیل 8086 و 8088 شانزده بیتی که یک فضای آدرسدهی بیست بیتی را عرضه میداشتند طراحی کردند. یعنی در واقع این میکروپروسسورهای میتوانستند یک مگابایت از حافظه را به طور فیزیکی آدرسدهی کنند. با توجه به این که بیست بیت به خوبی در کلمه (word) شانزده بیتی جای نمیگرفت مهندسین INTEL برای دستیابی به هر آدرس، طرحی به نام تقسیم حافظه ارائه دادند.
در این نوع آدرسدهی آمدند یک مگابایت را به 16 قسمت تقسیم کردند که هر قسمت 64 کیلوبایتی با ghunk بود. این کار بدین دلیل بود که برنامهنویسان اصولاً در پردازندههای 8 بیتی قدیمی مانند INTEL 8085 و ZILOG Z80 با آدرسدهی 64 kdyte آشنایی داشتند.
برای اینکه برنامنویسان بتوانند به هر آدرسی در داخل فضای آدرس یک مگابایتی دست پیدا کنند آدرس حافظه فیزیکی محاسبه شد. (قسمت در 16 ضرب کرده و سپس یک offset به آن اضافه میشود. نتیجه به بایت مورد نظر اشاره میکند.) بقیة پردازندههای 6 بیت مانند 68000 Motorola از آدرسدهی خطی استفاده میکردند که هربیت از حافظه مستقیماً و بدون استفاده از offset & segment آدرسدهی میکرد. و علاوه بر تسهیلاتی مانند MS-DOS 5.0 و windows 3.1، طراحان زیادی طرحهای خود را برای آدرسدهی و بیش از 640 کیلوبایت حافظه پیشنهاد کردند. میتوان از معروفترین نمونهها QEMM QUALAS’ 386 MAو QUARTERDECK’S را نام برد.
کل این و طرحها حافظة مورد استفاده را بیش از حد 640 کیلوبایتی بسط داند، ولی مجبور کردن آنها به کار با یک موقعیت خاص PC و دنبالة درخواستها و تسهیلات نرمافزاری معمولاً یک هدر کردن زمان، پردازش خنثیکننده است. همیشه اینطور به نظر میرسد که حداقل یک درخواست مهم با یکی از تسهیلات با مدیریت حافظة شما سازگار نیست.
اولین پردازنده که فضای آدرسدهی خطی را به کار برد و نیز با DOS سازگاری داشت INTEL 386 بودکه میبایست تقسیمبندی حافظه در کنار آن احتیاج به مدیریت شخص ثالث را حذف کرد که در واقع فضای آدرسدهی 32 بیتی INTEL 386 با برنامهها نوشته شده برای پردازندههای INTEL قبلی سازگاری نداشت.
این برنامههای ناسازگار، DOS و تمام برنامههای اجرا شده تحت DOS بودند. برایایجاد سازگاری با DOS و درخواستهای آن INTEL یک طریقة دیگر آدرسدهی را طرح کرد بنام Real Mode .
این نوع آدرسدهی با سایر نرمافزارهای قبل سازگاری داشت ولی متذسفانه در هنگام کار با این نوع آدرسدهی یعنی Real moed ، 386 و (486) بیش از یک 8086 خیلی سریع عمل نمیکند. DOS که در مقابل محدودیتهای 8086 و 8088 نوشته شده بود، هنوز بسیار شبیه نسخه سریع حد خود در سال 1981 با تمام محدودیتهای آدرسدهی عمل میکنند.
دو طریق آدرسدهی حافظه:
Real Mode : یک طریقة آدرسدهی حافظه است که از آدرسدهی نوع تقسیمبندی حافظه یعنی همان segment & offset استفاده میکنند. ماننده پردازندة INTEL 8086.
Protected Mode : یک طریقة دیگر آدرسدهی حافظه که برای دستیابی به بایت حافظه به جای segment & offset از آدرسدهی خطی استفاده میکند. این نوع آدرسدهی مشخصات حفاظت سختافزاری که windows و windows NT آن را به کار گرفتهاند، فعال میکند.
windows NT برای تهیه آدرسدهی 32 بیتی واقعی Trune 32-bit addressing از آدرسدهی خطی 386 و 186 و پنتوم (INTELS586) و همچنین پردازنده pisk همچنون Mips و DigtalAlpha استفاده می کند. قابل ذکر است که دیگر NT از سازگار بودن با DOS و windos 16بیتی صرفنظر می کند و دارای طرحی است بنام (viriul dos machine) که در این صورت این امکان را به ویندوز NT می دهد که بتواند در خواستهای Dos و windows16 بیتی را اجرا کند (بعدا در مورد VDM صحبت خواهیم کرد ) .
مزیت های آدرس دهی 32 بیتی :
1-توسعه نرم افزار با حذف قسمت بندی حافظ آسانتر و سریع تر می شود.
2- برنامه نویسان دیگر لآزم نیست حافظه مورد در خواستهایشان آشنا باشد .
3-کارسیستم باحذف سربارپردازشی که موردلزوم مدیریت حافظه است بهبود می یابد.یعنی در هیچ گونه نیازی به حافظه ثالثی ندارد.رهایی از مدیریت حافظه سازگاریهای NT واقع ویندوز مختلف سخت افزار ونرم افزار را نیزحذفمی کندیعنی وضعیت استقرارنرم افزار می تواند ساده و 16 بیتی باشد WindowsیاDos ابتدایی تر از
4- میزان برنامه قابل دسترسی و اندازه داده در آدرس دهی 32 بیتی زیاد می شود.
ویندوز NT از ترکیب برنامه و سیستم با اندازه چهار گیگا با یت که صدها برابر بزرگتر از حدودقابل اجرا روی بر نامه های DOS و ویندوز 16 بیتی تشکیل شده است . فایلهای بزرگ که توسط ویندوز NT قابل پردازش می باشد غیر ممکن است که توسط DOS ویاwindos16 بیتی پردازش شوددر خواست کننده های (در خواستهای ) پیچیده که فایلهای بزرگ را پردازش میکنند فقط با ویندوز NT عمل می کندو آن هم فقط به دلیل آدرس دهی 32 بیتی است . در خواستهای پیچیده همچون رزرواسیون، مبادله دارایی وسیستمهای پردازش طلبهای بیمه است
از دیگر خصوصیات کلیدی ویندوز NT ،حافظه مجازی و یا VM است که در زیر توضیح می دهیم .
1- آدرسدهی 32 بیتی
دو طریق آدرسدهی حافظه:
مزیت های آدرس دهی 32 بیتی :
عیوب استفاده ازRAM :
nonpreemptive :
Preemptive multitasking :
MULTIPROCESSING متقارن و نا متقارن
:System _ Calls
زمانبندی و سوئیچ کردن:(Scheduling & Context Switching)
Process Suspension& Resumption
پیغام های بین فرآیندی : (process to process message passing)
Interrupt Processing :
:Input Output Management
تاریخچه MINIX
1-1 نگاهی به مراحل پردازش در minix
2-3 برنامه مدیریت وقفه در سیستم minix
3-3 نرم افزار ورودی /خروجی غیر وابسته به وسایل سخت افزاری در minix
7-3 نگاهی به نرم افزار ساعت در minix
2-Get time
ساختار داخلی UNIX :
ورود به UNIX :
فایلها و دایرکتریهای در UNIX :
UNIX Implementation (اجرای UNIX ):
پردازشها در UNIX :
شامل 73 صفحه فایل word