تاریخچهٔ سیستم عامل
رایانههای اولیه مانند ماشین حساب برای انجام یک سری از کارهای تکی ساخته شدند. ویژگیهای اولیه سیستم عامل در دههٔ ۵۰ رشد یافت، مانند ویژگی ناظر مقیم که می تواند بهطور خودکار برنامههای مختلف را به صورت متوالی اجرا کنند تا پردازش را سرعت دهد. سیستمهای عامل تا اوایل دههٔ ۱۹۶۰ به شکلهای مدرن و پیچیدهتر وجود نداشتند. ویژگیهای سختافزاری اضافه شدهاست که امکان استفاده از کتابخانههای زمان اجرا، وقفهها و پردازش موازی را فراهم میآورد. هنگامی که رایانههای شخصی در دههٔ ۱۹۸۰ رایج شدند، سیستمهای عامل برای آنها شبیه به رایانههای بزرگتر مورد استفاده قرار گرفت.
در دههٔ ۱۹۴۰، نخستین سیستمهای دیجیتال الکترونیکی هیچ سیستم عاملی نداشتند. سیستمهای الکترونیکی آن زمان در ردیفهای سوئیچهای مکانیکی یا توسط سیمهای بلوز روی پلاگینها برنامهریزی میشدند. اینها سیستمهای ویژهای بود که به عنوان مثال جدولهای بالستیک را برای ارتش ایجاد میکردند یا چاپ چکهای حقوق و دستمزد از دادههای روی کارتهای کاغذ سوراخدار را کنترل میکردند. پس از اختراع رایانههای قابل برنامهریزی عمومی، زبانهای دستگاه (متشکل از رشتههای ارقام باینری ۰ و ۱ روی نوار کاغذ سوراخدار) معرفی شدند که روند برنامهنویسی را سرعت میبخشد (استرن، ۱۹۸۱).
در اوایل دههٔ ۵۰، یک رایانه میتوانست همزمان فقط یک برنامه را اجرا کند. هر کاربر تنها برای مدت محدودی از رایانه استفاده میکرد و با برنامه و دادههای خود در کارتهای کاغذ سوراخدار یا نوار پانچشده در یک زمان مشخص قرار میگرفت. برنامه وارد دستگاه میشود و دستگاه تا زمان تکمیل یا خراب شدن برنامه کار میکند. بهطور کلی برنامهها میتوانند از طریق پنل جلویی با استفاده از کلیدهای جابجایی و چراغهای پانل اشکالزدایی شوند. گفته میشود که آلن تورینگ در اوایل ماشین منچستر مارک ۱ استاد این کار بودهاست و او پیشتر برداشت اولیهٔ یک سیستم عامل را از اصول دستگاه جهانی تورینگ بهدست میآورد.
ماشینهای بعدی با کتابخانههایی از برنامهها همراه شدند که برای کمک به عملیاتی از قبیل ورودی و خروجی و گردآوری (تولید کد دستگاه از کد نمادین قابل خواندن توسط انسان) به برنامهٔ کاربر متصل میشوند. این پیدایش سیستم عامل مدرن بود. با این حال، ماشینآلات هنوز هم یک کار واحد را همزمان انجام میدادند. در دانشگاه کمبریج در انگلیس، صف کار در یک زمان یک خط شستوشو (خط لباس) بود که از آن نوارها با گیرههای رنگی مختلف برای نشان دادن اولویت شغل آویزان میشد.
سرپرست اطلس پیشرفت خوبی داشت. با معرفی اطلس منچستر در سال ۱۹۶۲، از نظر بسیاری نخستین سیستم عامل مدرن قابل تشخیص است. برینچ هانسن آن را «مهمترین پیشرفت در تاریخ سیستمهای عامل» توصیف کرد.
سیستم عامل یا ( Operating System | OS ) یک نرم افزار سیستمی بوده که فعالیت های اصلی یک سیستم کامپیوتری را مدیریت میکند. وظیفه اصلی سیستم عامل، مخفی کردن فرآیند های پیچیده از نگاه کاربر و انجام دستورات کاربران به ساده ترین روش های ممکن خواهد بود.
در تعریف ساده، سیستم عامل یک واسط میان سخت افزار و نرم افزار است که تمام دستورات کاربران را اجرا میکند. سیستم عامل بایستی به ساده ترین روش ممکن، نتیجه یک عملیات پیچیده را به کاربر نمایش دهد. کاربران معمولی توانایی درک حجم بالای اطلاعات و پیچیدگی پردازش ها را ندارند؛ پس تنها چیزی که برای کاربر مهم است، نتیجه اجرای یک دستور به بهترین شکل ممکن میباشد.
معرفی انواع سیستم عامل ها
شیوه های مختلفی برای دسته بندی کردنت سیستم عامل ها وجود دارد. به عنوان مثال از نظر نوع کاربرد و رویکرد، انواع تک وظیفهای، چند وظیفهای و اشتراک زمانی، توزیعی، قالب بندی شده، بلادرنگ و غیره را خواهیم داشت. در کنار رقابت شرکت های نرم افزاری، دلایل اصلی متنوع بودن سیستم های عامل، تنوع شکل و شمایل و ابعاد کامپیوتر ها میباشد.
وقفهها
وقفهها برای سیستم عاملها از اهمیت ویژهای برخوردار است، زیرا آنها یک روش کارآمد برای سیستم عامل برای تعامل و واکنش به محیط آن فراهم میکنند. وقفهها راهی را برای صرفهجویی در خودکار ثبت زمینههای ثبت محلی و اجرای کد ویژه در پاسخ به وقایع، به رایانه میدهد. حتی رایانههای بسیار اساسی از قطع سختافزار پشتیبانی میکنند و به برنامهنویس اجازه میدهند کدی را که ممکن است هنگام وقوع آن اجرا شود، مشخص کند.
هنگامی که یک وقفه دریافت شد، سختافزار رایانه بهطور خودکار هر برنامهای را که در حال اجراست، به حالت تعلیق درمیآورد، وضعیت خود را ذخیره میکند، و کد رایانهای را که پیشتر با وقفه در ارتباط بود اجرا میکند. این مشابه با قرار دادن یک نشانک در یک کتاب در پاسخ به تماس تلفنی است. در سیستم عاملهای مدرن، وقفهها توسط هستهٔ سیستم عامل انجام میشود. وقفهها ممکن است از سختافزار رایانه یا برنامه در حال اجرا باشد.
هنگامی که یک دستگاه سختافزاری باعث ایجاد وقفه میشود، هستهٔ سیستم عامل تصمیم میگیرد که چگونه با این رویداد معمولاً با اجرای کد پردازشی مقابله کند. میزان کد در حال اجرا بستگی به اولویت وقفه دارد (برای مثال: شخص معمولاً پیش از پاسخ دادن به تلفن به زنگ آشکارساز دود پاسخ میدهد). پردازش قطع سختافزار کاری است که معمولاً به نرمافزاری به نام درایور دستگاه منتقل میشود که ممکن است بخشی از هستهٔ سیستم عامل، بخشی از برنامهٔ دیگر یا هر دو باشد. ممکن است درایورهای دستگاه با استفاده از روشهای مختلف، اطلاعات را به یک برنامه در حال اجرا منتقل کنند.
یک برنامه همچنین ممکن است باعث ایجاد وقفه در سیستم عامل شود. برای مثال اگر یک برنامه بخواهد به سختافزار دسترسی داشته باشد، ممکن است هستهٔ سیستم عامل را قطع کند و این باعث میشود کنترل به هسته منتقل شود. سپس هسته درخواست را پردازش میکند. اگر برنامهای بخواهد منابع اضافی (یا مایل به ریختن منابع) مانند حافظه باشد، باعث جلب توجه هسته میشود.
معروف ترین سیستم عامل ها بر اساس پلتفرم
بر اساس پلتفرم مورد استفاده، معروف ترین سیستم عامل ها عبارتنداز ویندوز، اندروید، مک او اس، آی او اس و لینوکس. البته اینها صرفا بهترین و معروف ترین سیستم عامل ها هستند وگرنه تعداد سیستم های عامل بسیار بیشتر از این بوده و حتی برخی از آنها نظیر کروم او اس و فیوژا، استفاده و کاربردهای اندکی نیز دارند.
هسته سیستم عامل
هسته سیستم عامل مهمترین بخش آن بوده که همواره در RAM سیستم بایستی در حال اجرا باشد. هسته مشخص کننده این است که هر نرم افزاری به کدام یک از سخت افزار های سیستم دسترسی داشته باشد. علاوه بر اینها، کرنل یا هسته سیستم عامل مسئول ارسال و دریافت اطلاعات میان رم و هارد یا به عبارت بهتر مسئول اتصال سخت افزار های اصلی به یکدیگر خواهد بود.
فصلهای مهم تر درس سیستم عامل
سر فصل مطالبی که در این درس وجود دارد عبارت است از :
- فرآیندها و زمانبندی پردازندهها
- همروندی انحصار متقابل و همگامسازی
- بن بست
- ورودی و خروجی
- مدیریت حافظه
- حافظه مجازی