سیستم عامل چیست؟

مرور کلی بر سیستم عامل
سیستم عامل چیست؟
سیستم عامل به عنوان واسطی بین کاربر کامپیوتر و سخت افزار کامپیوتر عمل میکند. هدف سیستم عامل فراهم کردن محیطی است که در آن کاربر میتواند برنامه ها را به راحتی و با کارایی خوبی اجرا کند. سیستم عامل نرم افزاری است که سخت افزار کامپیوتر را مدیریت می کند. سخت افزار باید مکانیزمهای مناسبی را فراهم کند تا عملکرد درست سیستم کامپیوتری را تضمین کند و مانع از تداخل برنامه ی کاربر با عملکرد مناسب سیستم شود.
قطعات داخلی سیستمهای عامل با هم فرق میکند، زیرا به شکلهای مختلفی سازماندهی می شوند. طراحی سیستم عامل ،جدید کار مهمی است مهم است که اهداف سیستمها قبل از شروع طراحی مشخص شود این اهداف مبنایی برای انتخاب الگوریتم ها و استراتژیهای مختلف است.
چون سیستم عامل بزرگ و پیچیده است باید به صورت قطعه قطعه ایجاد شود. هر قطعه باید قسمتی از سیستم عامل را به خوبی توصیف کند به طوری که ورودیها خروجی ها و توابع آن با دقت تعریف شده باشند.
توضیحات ابتدایی
سیستم عامل برنامه ای است که سخت افزار کامپیوتر را مدیریت میکند همچنین مبنایی برای برنامه های کاربردی است و به عنوان واسط بین کاربر و سخت افزار کامپیوتر محسوب میشود. یکی از جنبه های جالب سیستمهای عامل تنوع آنها در انجام این وظایف .است سیستمهای عامل کامپیوترهای بزرگ برای بهینه سازی بهره وری از سخت افزار ساخته شدند.
سیستمهای عامل کامپیوترهای شخصی (PC) بازی های پیچیده برنامه های کاربردی ،تجاری و هر آنچه را که بین آنها است، پشتیبانی می کند. سیستم های عامل کامپیوترهای دستی طراحی شدند تا محیطی را فراهم کنند که کاربر به آسانی بتواند با کامپیوتر ارتباط برقرار کند و برنامه ها را اجرا نماید. لذا بعضی از سیستمهای عامل برای فراهم کردن آسایش و بعضی دیگر برای افزایش کارایی طراحی شدند.
شکل دیدگاه انتزاعی از بخش های سیستم های کامپیوتری

قبل از پرداختن به جزییات سیستم عامل ،باید اطلاعاتی راجع به ساختار سیستم (کامپیوتری) داشته باشیم بنابراین با بحث درباره کارهای اصلی راه اندازی سیستم I/O و حافظه شروع میکنیم سپس به شرح معماری پایه ی کامپیوتر میپردازیم که امکان نوشتن سیستم عامل تابعی را فراهم می سازد. چون سیستم عامل بزرگ و پیچیده است باید به صورت قطعه قطعه تولید شود.
هر یک از این قطعات باید بخشی از سیستم را به خوبی توصیف کند به طوری که ورودیها، خروجی ها و عملکردها را به دقت تعریف نماید.
بحث خود را با نگاهی به نقش سیستم عامل در سیستم کامپیوتری شروع می کنیم. سیستم کامپیوتری می تواند به چهار بخش تقسیم شود:
- سخت افزار
- سیستم عامل
- برنامه های کاربردی
- کاربران
آموزش برنامه نویسی ++C – مقدماتی تا پیشرفته(کلیلک کنید)
سخت افزار – واحد پردازشگر مرکزی (CPU)، حافظه و دستگاه های ورودی – خروجی (I/O) – منابع محاسباتی اصلی را برای سیستم فراهم می سازند. برنامه های کاربردی – مثل واژه پردازها، صفحه گسترده ها کامپایلرها و مرورگرهای وب روش استفاده از این منابع را برای حل مسئله های محاسباتی کاربران تعریف میکنند.
سیستم عامل سخت افزار را کنترل میکند و استفاده از آن را بین برنامه های کاربردی مختلف برای کاربران مختلف، هماهنگ می کند. سیستم کامپیوتری را می توان شامل سخت افزار نرم افزار و داده ها نیز دانست.
همچنیابزارهایی را برای استفاده ی مناسب از این منابع در عملکرد سیستم کامپیوتری فراهم می سازد. سیستم عامل شبیه دولت است که خودش کار مفیدی انجام نم یدهد بلکه محیطی برای برنامه ها فراهم می سازد تا در آن کارهای مفیدی انجام دهند.
برای درک کامل نقش سیستم عامل سیستم عامل را از دو دیدگاه شرح می ذدهیم دیدگاه کاربر و دیدگاه سیستم.
آموزش الگوریتم نویسی و رسم فلوچارت-مقدماتی تا پیشرفته (کلیک کنید)
دیدگاه کاربر (user view)
دیدگاه کاربر نسبت به کامپیوتر بر حسب واسطی که مورد استفاده قرار میگیرد، تفاوت دارد. اغلب کاربران کامپیوتر از PC که شامل مانیتور، صفحه کلید ، ماوس و واحد سیستم است، استفاده می کنند. چنین سیستمی برای یک کاربر تهیه شده است تا از منابع آن برای انجام کارهای بیشتر استفاده کند. هدف ماکزیمم کردن کاری است که کاربر انجام میدهد.
در این مورد سیستم عامل برای سهولت استفاده طراحی شد ولی نگاهی به کارایی سیستم داشت، در صورتی که به بهره وری منابع – منابع سخت افزاری و نرم افزاری چگونه باید به طور مشترک استفاده شوند-پرداخته نشد. کارایی برای کاربر – مهم است، ولی چنین سیستمهایی برای یک کاربر طراحی شدند نه چندین کاربر.
بعضی از کاربران از پایانه هایی (ترمینال هایی) استفاده می کنند که به کامپیوتر بزرگ یا مینی کامپیوتر وصل هستند. کاربران دیگر نیز از طریق پایانه های دیگر به این کامپیوترها دسترسی دارند. این کاربران از منابع به طور مشترک استفاده میکنند و اطلاعات را مبادله می نمایند. این نوع سیستم عامل طراحی شد تا بهره وری منابع (resource utilization) را افزایش دهد.
بدین ترتیب، کل زمان پردازنده، حافظه و I/O به طور کارآمد مورد استفاده قرار میگیرند و هیچ کدام از کاربران بیش از حد نیاز سیستم را در اختیار ندارند.
آموزش فریم ورک کیوت-مقدماتی تا پیشرفته(کلیک کنید)
کاربران دیگر از ایستگاه های کاری که به شبکه هایی از سایر ایستگاه های کاری و سرورها وصل هستند، استفاده میکنند. این کاربران میتوانند منابعی را در اختیار بگیرند و از آنها استفاده کنند ولی از منابعی مثل شبکه ها و سرورها – قابلها و چاپگرها – به طور اشتراکی استفاده می کنند. لذا سیستم عامل آنها طراحی شد تا بین بهره وری از منابع و استفاده شخصی توازن برقرار کند.
اخیراً کامپیوترهای دستی گوناگونی به بازار آمدند. این دستگاهها مستقل هستند و توسط کاربران به طور شخصی مورد استفاده قرار می گیرند بعضی ها به شبکه ها متصل هستند از طریق سیم یا به صورت بی سیم)، بر حسب قدرت و محدودیتهایی که دارند عملیات راه دور را انجام می دهند. این سیستم های عامل برای استفاده ی شخصی طراحی شدند اما کارایی آنها در مدت طول عمر باتری نیز مهم است.
کاربران نسبت به بعضی از کامپیوترها دیدگاهی ندارند. به عنوان مثال کامپیوترهای تعیبه شده در دستگاههای خانگی و اتومبیل ها ،صفحه کلیدی عددی دارند و لامپهایی را خاموش یا روشن می کنند که این خاموش و روشن شدن وضعیت آنها را نشان می دهد. این کامپیوترها و سیستم های عامل آنها طوری طراحی شدند که بدون دخالت کاربر اجرا می شوند.
دیدگاه سیستم (system (view)
از نقطه نظر کامپیوتر سیستم عامل برنامه ای است که به شدت با سخت افزار عجین شده است. در این مورد سیستم عامل را می توان تخصیص دهنددی منابع در نظر گرفت. سیستم کامپیوتر دارای منابع سخت افزاری و نرم افزاری متعددی است که برای حل مسئله مفید هستند این منابع عبارتند از زمان CPU ، فضای حافظه، فضای ذخیره سازی فایل، دستگاههای I/O و غیره.
سیستم عامل مدیر این منابع است و آنها را در اختیار برنامه های کاربردی و کاربران قرار می دهد تا نیازهای خودشان را بر طرف کنند. چون ممکن است. درخواستهای متعددی برای منابع وجود داشته باشد که حتی متناقض هم باشند، سیستم عامل باید منابع را طوری در اختیار کاربر با برنامه کاربردی قرار دهد که عملکرد سیستم کامپیوتری کارآمد و عادلانه باشد.
سیستم عامل را میتوان از دیدگاه نیاز به کنترل دستگاههای VO و برنامه های کاربردی نیز مورد مطالعه قرار داد. در این دیدگاه سیستم عامل یک برنامه کنترلی است برنامه کنترلی، برنامه های کاربران را کنترل می کند تا از کامپیوتر به درستی استفاده کنند. در این دیدگاه بیشتر به کنترل دستگاه های I/O پرداخته میشود.
تعریف سیستمهای عامل
نقش سیستم عامل را از دیدگاه کاربر و سیستم مورد بررسی قرار دادیم. چگونه میتوان گفت که سیستم عامل چیست؟ به طور کلی تعریف کافی از سیستم عامل وجود ندارد. سیستمهای عامل به این دلیل وجود دارند که روش معقولی را برای حل مسئله ی “ایجاد سیستم کامپیوتری مفید”، ارائه می کنند.
هدف اصلی سیستم های کامپیوتری اجرای برنامه های کاربر و حل آسان تر مسئله ها است. سخت افزار کامپیوتر در راستای این هدف ساخته شد چون سخت افزار محض به تنهایی قابل استفاده نیست برنامه های کاربردی به وجود آمدند این برنامه ها به بعضی از عملیاتهای مشترک نیاز دارند مثل آنهایی که دستگاههای I/O را کنترل می کنند. اعمال متداول کنترل و تخصیص منابع، در یک قطعه ی نرم افزاری به نام سیستم عامل جمع میشوند.
تعریف و نمادگذاری حافظه
بیت، واحد اصلی حافظه کامپیوتر است می تواند شامل یکی از دو مقدار صفر با یک باشد. بقیه ی حافظه ها در کامپیوتر، برحسب بیت تعریف میشوند ،اعداد ،حروف ،تصاویر، فیلمها، صداها، اسناد و برنامه ها یا بیت سنجیده میشوند هر بایت ۸ بیت است و در اغلب کامپیوترها کوچکترین حافظه ای است که قابل آدرس دهی است برای مثال اغلب کامپیوترها فاقد دستورالعملی برای انتقال بیت هستند و دستورالعملی برای انتقال بایت دارند کلمه یک واحد حافظه ذاتی برای معماری کامپیوترها است.
کلمه از چند بایت تشکیل شده است. برای مثال کامپیوتر ممکن است دستور العمل هایی برای انتقال کلمات ۶۴ بیتی (۸) بایتی باشد.
کیلوبایت (KB) برابر با ۱۰۲۴ بایت، مگابایت (MB) برابر۱۰۲۴ به توان ۲ بایت GB برابر با ۱۰۲۴ به توان 3 بایت است. سازندگان کامپیوتر این اعداد را گرد میکنند و میگویند که یک مگابایت برابر با ۱ میلیون بایت و یک گیگابایت برابر با یک بیلبون بایت است.
تعریف ساده سیستم عامل
علاوه بر این تعریف قابل قبول جهانی مبنی بر اینکه چه چیزهایی به عنوان بخشی از سیستم عامل محسوب میشوند، وجود ندارد. یک دیدگاه ساده این است که هر چیزی که فروشنده در قبال درخواست سیستم عامل ” به شما تحویل میدهد به عنوان سیستم عامل محسوب شود.
ویژگیهایی که ارائه میشود در سیستمهای عامل مختلف متفاوت است. بعضی از سیستمهای عامل کمتر از یک مگابایت حافظه را اشغال میکنند. و فاقد ویراستار تمام صفحه است در حالی که بقیه به چند گیگابایت حافظه نیاز دارند و دارای سیستم های پنجره ای هستند.
یک تعریف متداول تر که معمولاً از آن پیروی میکنیم این است که سیستم عامل برنامه ای است که همیشه در کامپیوتر در حال اجرا است که معمولاً یک هسته (کرنل) نامیده میشود (همراه با هسته دو نوع برنامه دیگر وجود دارند برنامه های سیستم که مربوط به سیستم عامل هستند ولی بخشی از هسته محسوب نمی شوند و برنامه های کاربردی که شامل تمام برنامه هایی است که به عملکرد سیستم مربوط نمی شود.
توجه به آنچه که سیستم عامل را می سازد به طور فرایندهای اهمیت پیدا کرد. در سال ۱۹۸۸ United States Department of Justice اعلان کرد که میکروسافت عملکردهای زیادی را در سیستم عامل گنجانده است که مانع از رقابت فروشندگان برنامه های کاربردی شده است. برای مثال، مرورگر وب به عنوان بخش داخلی سیستم عامل است. در نتیجه با ارائه مرورگر در سیستم عامل، مانع از رقابت بر سر مرورگر شده است.