سیستمعامل یا سامانهٔ عامل نرمافزاری است که مدیریت منابع رایانه را به عهده گرفته و بستری را فراهم میسازد که نرمافزار کاربردی اجرا شده و از خدمات آن استفاده کنند. سیستمعامل جزء ضروریترین نرمافزارهای یک سیستم کامپیوتری است. سیستمعامل خدماتی به برنامههای کاربردی و کاربر ارائه میدهد. برنامههای کاربردی یا از طریق واسطهای برنامهنویسی کاربردی یا از طرق فراخوانیهای سیستم به این خدمات دسترسی دارند. با فراخوانی این واسطها، برنامههای کاربردی میتوانند سرویسی را از سیستمعامل درخواست کنند، پارامترها را انتقال دهند، و پاسخ عملیات را دریافت کنند. ممکن است کاربران با بعضی انواع واسط کاربری نرمافزار مثل واسط خط فرمان یا یک واسط گرافیکی کاربر با سیستمعامل تعامل کنند. برای کامپیوترهای دستی و رومیزی، عموماً واسط کاربری به عنوان بخشی از سیستمعامل در نظر گرفته میشود. در سیستمهای بزرگ و چند کاربره مثل یونیکس و سیستمهای شبیه یونیکس، واسط کاربری معمولاً به عنوان یک برنامه کاربردی که خارج از سیستمعامل اجرا میشود پیادهسازی میشود. نمونههایی از محبوبترین سیستمعاملهای نوین شامل: اندروید، بیاسدی، آیاواس، لینوکس، اواس ده، کیواناکس، مایکروسافت ویندوز، ویندوز فون و زد/اواس میباشند.
یک سیستم کامپیوتری پیشرفته از یک یا چند پردازنده، مقداری حافظه اصلی، دیسکها، چاپگرها، صفحهکلید، صفحه نمایش، واسطهای شبکهای و دیگر دستگاههای ورودی و خروجی تشکیل شدهاست. اگر سیستم یکپارچهای برای مدیریت این منابع وجود نداشته باشد، هر برنامه باید به تنهایی این کار را انجام دهد. سیستمعامل یک لایه نرمافزاری فراهم میکند که وظیفه مدیریت منابع سیستم را از دوش برنامههای کاربردی رهانیده و کار برنامهنویسی را سادهتر مینماید؛ که با توجه به نسخههای جدید سیستم عاملها که به دلیل بهرهمندی از تکنولوژی گرافیک و امکان استفاده از ماوس، امکان استفاده ساده و آسان را برای کاربران مبتدی فراهم نمودهاست. در حقیقت سیستمعامل واسط بین سختافزار رایانه و کاربر میباشد.
فهرست مطالب:
همزمانی: انحصار متقابل و همگام سازی
همه موضات محوری در طراحی سیستم عامل
زمینه های همزمانی
اصول همزمانی
ملاحظات سیستم عامل در همزمانی
محاوره فرایندها
همکاری فرایندها توسط اشتراک
همکاری فرایندها توسط ارتباط
ملزومات انحصار متقابل
رویکرد نرم افزاری
الگوریتم DEKKER
الگوریتم Peterson
حمایت سخت افزار
از کار انداختن وقفه
دستورالعمل آزمون و مقدار گذاری
ویژگیهای رویکرد دستورالعمل ماشین
معایب رویکرد دستورالعمل ماشین
راهنماها
ناظرها
ناظر با علامت
تبادل پیام
همگام سازی
آدرس دهی
ارتباط غیر مستقیم فرایندها
قالب پیام
نظام صف بندی
وضعیت صفهای فرایندها
همزمانی: بن بست و گرسنگی
اصول بن بست
انواع منابع
شرایط بن بست
سه رویکرد در برخورد با بن بست
پیشگیری از بن بست
مزایای پیشگیری از بن بست
کشف
اجتناب
دو رویکرد برای اجتناب از بن بست
عدم تخصیص
امتیاز اجتناب از بن بست
ترمیم
راهبرد مجتمع برای بن بست
مسئله تغذیه فیلسوفان
راهکارهای هم زمانی در unix
و...