سیستم عامل چیست؟
سیستم عامل قسمت مهم هر سیستم کامپیوتری است یک سیستم کامپیوتری بصورت کلان می تواند به چهار جزء تقسیم شود: سخت افزار، سیستم عامل، برنامه های کاربردی و کاربرها.
سخت افزار که شامل واحد پردازش مرکزی (CPU)، حافظه، دستگاه های ورودی و خروجی (I/O) می باشد. منابع اصلی محاسبات را تشکیل می دهد. برنامه های کاربردی مانند کمپایلرها، سیستم های بانک اطلاعاتی، بازی ها، و برنامه های تجاری روش هایی را که این منابع برای حل مسائل محاسباتی کاربران بکار می برند تعریف می کنند.
ممکن است کاربران مختلفی (افراد، ماشین ها، کامپیوترهای دیگر) در جهت حل مسائل مختلفی کوشش کنند. همچنین، ممکن است برنامه های کاربردی مختلفی وجود داشته باشد. سیستم عامل استفاده از سخت افزار را بین کاربران مختلف برای برنامه های کاربردی کنترل و هماهنگ می کند.
سیستم عامل مانند یک حکومت است. اجزاء یک سیستم کامپیوتری شامل سخت افزار، نرم افزار و داده های آن می باشد. سیستم عامل امکانات برای استفاده مناسب این منابع را در عملیات سیستم کامپیوتری فراهم می کند. مانند یک حکومت، سیستم عامل به خودی خودکار مفیدی انجام نمی دهد. ولی بطور ساده محیطی فراهم می کند که در آن برنامه ها بتوانند کار مفید انجام دهند.
می توانیم به سیستم عامل بعنوان تخصیص دهنده منابع نگاه کنیم. یک سیستم کامپیوتری منابع زیادی دارد (سخت افزار و نرم افزار) که ممکن است برای یک مسئله لازم باشد: مانند زمان CPU، فضای حافظه، فضای ذخیره فایل دستگاه های I/O و غیره. سیستم عامل مانند مدیران منابع عمل می کند و هنگام لزوم آن ها را به برنامه های مشخص و کاربران تخصیص می دهد. بعلت آنکه ممکن است تقاضای زیادی که احتمال متناقض بودنشان برای منابع وجود داشته باشد بشود. سیستم عامل باید تصمیم بگیرد. منابع را به کدام تقاضا تخصیص دهد تا سیستم کامپیوتر موثر و عادلانه عمل کند. یک نظر تفاوت دیگر از سیستم عامل روی لزوم کنترل دستگاه ها و برنامه های متعدد تمرکز می کند. هر سیستم عامل یک برنامه کنترل کننده می باشد. برنامه کنترل اجرای برنامه های کاربر را نظارت می کند تا از اشتباه ها و استفاده نادرست کامپیوتر جلوگیری کند. مخصوصاً نسبت به عملیات دستگاه های I/O و کنترل آنها دخالت دارد.
گرچه کلا یک تعریف کامل و مناسب برای سیستم عامل وجود ندارد، سیستم عامل ها وجود دارند زیرا آنها روش منطقی حل مسائل برای ایجاد سیستم کامپیوتری مفید هستند. هدف اصلی سیستم های کامپیوتری اجرای برنامه های کاربر و راحت تر کردن حل مسائل او می باشد. در راستای هدف،سخت افزار کامپیوتر ساخته شده است. بعلت آنکه استفاه مستقیم از سخت افزار کار آسانی نیست. برنامه های کاربر بوجود آمده است. این برنامه های متعدد به اعمال همگانی مشخص مانند کنترل دستگاه های I/O نیاز دارند. کارهای عمومی کنترل و تخصیص منابع در یک نرم افزار جمع شده اند که سیستم عامل می باشد.
ویندوز NT
سیستم عامل ویندوز NT مایکروسافت، سیستم عاملی 32 بیتی برای مایکروپروسسورهای جدید می باشد. NT قابل حمل روی انواع مختلف معماری های پردازنده ها می باشد. یک یا چند نسخه NT روی اینتل 386 یا بالاتر روی POWER PC, DEC ALPHA, MIPS R4000 پیاده سازی شده است. هدف های کلیدی این سیستم عبارتند از: قابلیت حمل و امنیت. واسطه قابل حمل به نام POSIX با همگامی با IEEE Std 1003 حمایت چند پردازنده ای قابلیت گسترش حمایت بین المللی و سازگاری با برنامه های کاربردی MS-DOS و NT.MS-WINDOWS معماری میکروهسته ای مانند کامپیوترهای مکینتاش می باشد، بطوری که می توان یک قسمت سیستم عامل را بهینه سازی نمود بدون آنکه قسمت دیگر را شدیدا تحت تاثیر قرار دهد. NT (نسخه 4) یک سیستم چند کاربره نیست.
دو نسخه NT، یکی NT ایستگاه کاری و دیگری NT سرویس دهنده است. آنها از یک هسته و یک کد سیستم عامل استفاده می کنند، اما NT سرویس دهنده برای کاربردهای سرویس دهنده و مشتری پیکربندی شده است و می تواند به عنوان سرویس دهنده روی NetWARE و LANها استفاده شود. نسخه چهار سرویس دهنده NT از تعداد مجوزهای فروخته شده UNIX بیشتر بوده است.
تاریخچه:
در اواسط دهه 1980 شرکت مایکروسافت و آی – بی – ام همکاری مشترک برای سیستم عامل OS/2 را شروع کردند که به زبان اسمبلی برای پردازنده اینتل 286 نوشته بود. در 1988 شرکت مایکروسافت تصمیم به شروع یک تکنولوژی جدید به نام NT نمود که خاصیت قابل حمل بودن را داشته باشد و در عین حال هم سیستم عامل OS/2 و واسطه های POSIX API کاربردی قابل حمل را حمایت کند. در اکتبر 1988، آقای دیوکالتر، معمار سیستم عامل VAX/CMS شرکت دیجیتال استخدام شد و به او ماموریت ایجاد سیستم عامل جدید داده شد. اوایل فرض بر این بود که NT از OS/2 API به عنوان محیط اولیه استفاده کند، لیکن در خلال تولید، سیستم NT تغییر کرد تا از امکانات 32 بیتی ویندوز API یا API WIN32 استفاده کند که منعکس کننده محبوبیت ویندوز 1 . 3 باشد. نسخه های NT ویندوز 1 .3 و ویندوز NT 1 .3 سرور پیشرفته بود (در آن زمان ویندوز 16 بیتی نسخه 1 . 3 بود) در نسخه NT4.0 واسطه کاربرد ویندوز 95 را اختیار کرد و اینترنت وب سرور و نرم افزار بروزر را نیز در سیستم ادغام کرد. بعلاوه بعضی از روال های ارتباطی و کدهای گرافیکی به هسته مرکزی KERNEL برای بهبود سیستم انتقال داده شد با توجه به اینکه امکان قابلیت اطمینان سیستم کاهش خواهد یافت.
اصول طراحی
هدف هایی که مایکروسافت برای NT اعلام کرد در برگیرنده قابلیت گسترش، قابلیت حمل، قابلیت اطمینان، سازگاری، کارآیی و پشتیبانی بین المللی بود.
قابلیت گسترش خاصیت مهمی برای هر سیستم عاملی است که خواهان همگانی با پیشرفت های تکنولوژی کامپیوتر می باشد بطوری که تغییرات در طول زمان امکان پذیر باشد، NT با استفاده از خاصیت لایه ای تکمیل شده است. مدیریت عالی اجرایی NT که در هسته اجرا می شود حالت حفاظت شده دارد که سرویس های اصلی سیستم را دربرمی گیرد. در بالای مدیریت اجرایی،چندین زیر سیستم سرویس دهنده در حالت کاربر کار می کند در بین آنها زیر سیستم های محیطی هستند که سیستم عامل های مختلفی را مدل سازی می کنند بنابراین برنامه های نوشته شده برای MS-DOS ، ویندوز مایکروسافت و پوزیکس همه می توانند تحت NT در محیط خودشان کار کنند. قسمت 4 . 23 را برای اطلاع بیشتر روی سیستم های محیطی مطالعه کنید. به علت ساختار قطعه ای زیر سیستم های بیشتری را می توان بدون تاثیر گذاشتن روی مدیریت عالی اجرایی به آن اضافه نمود. علاوه بر این از گرداننده های قابل بارگذاری در سیستم i/o استفاده می کننده به طوری که سیستم های فایل جدید و انواع دستگاه های I/O را می توان بدون گذاشتن روی مدیریت عالی اجرایی به آن اضافه نمود. علاوه بر این از گرداننده های قابل بارگذاری در سیستم I/O استفاده می کنند به طوری که سیستم های فایل جدید و انواع دستگاه های I/O را می توان اضافه نمود در حالی که سیستم در حال اجرا می باشد. NT یک مدل شبیه سیستم عامل مکینتاش و پردازش توزیع شده را از طریق فراخوانی راه دور (RPC) به طریقی که در مبانی سیستم های باز تعریف شده است حمایت می کند.