تفاوت میان نسخه‌های «سیستم‌عامل»

۱۲٬۶۰۰ بایت اضافه‌شده ،  ۱ ماه پیش
به رسانی و افزودن مطالب جدید و به روز شده
(تغییر جزیی)
برچسب‌ها: ویرایش با تلفن همراه ویرایش با مرورگر تلفن همراه ویرایش‌گر دیداری
(به رسانی و افزودن مطالب جدید و به روز شده)
 
== انواع سیستم‌عامل ==
 
=== تک کاره و چند کاره ===
یک سیستم تک کاره تنها می تواند یک برنامه را به طور همزمان اجرا کند ، در حالی که یک سیستم عامل چند منظوره اجازه می دهد تا بیش از یک برنامه به طور همزمان اجرا شود. این با به اشتراک گذاری زمان حاصل می شود ، که در آن زمان پردازنده موجود بین چندین فرآیند تقسیم می شود. این فرایندها هر یک بطور مکرر در برشهای زمانی توسط یک زیر سیستم برنامه ریزی کار سیستم عامل قطع می شوند. چند وظیفه ای ممکن است در انواع پیشگیرانه و تعاونی مشخص شود. در چند وظیفه ای پیشگیرانه ، سیستم عامل زمان CPU را قطع می کند و شکافی را به هر یک از برنامه ها اختصاص می دهد. سیستم عامل های یونیکس مانند ، مانند Solaris و Linux — و همچنین غیر Unix مانند مانند AmigaOS — از وظیفه های پیشگویی کننده پشتیبانی می کنند. چند وظیفه تعاونی با تکیه بر هر فرآیند بدست می آید تا زمان دیگری را برای سایر فرآیندها به صورت تعریف شده فراهم کند. نسخه های 16 بیتی مایکروسافت ویندوز از چند کاره تعاونی استفاده می کردند. نسخه های 32 بیتی ویندوز NT و Win9x از وظایف پیشگیرانه استفاده می کنند.
 
=== تک کاربره و چند کاربره ===
{{اصلی|چندکاربره}}سیستم عامل های یک کاربره امکان تمایز کاربران را ندارند ، اما ممکن است چندین برنامه را به صورت همزمان اجرا کنند. یک سیستم عامل چند کاربره مفهوم اصلی کار چند منظوره را با امکاناتی فراهم می کند که فرآیندها و منابع را شناسایی می کنند ، از جمله فضای دیسک ، متعلق به چندین کاربر ، و سیستم به چندین کاربر اجازه می دهد تا همزمان با سیستم ارتباط برقرار کنند. برنامه های زمانبندی سیستم عامل برای استفاده کارآمد از سیستم برنامه ریزی کرده و ممکن است شامل نرم افزار حسابداری برای اختصاص هزینه زمان پردازنده ، ذخیره انبوه ، چاپ و سایر منابع برای چندین کاربر نیز باشد.
 
=== سیستم‌عامل توزیع شده ===
{{اصلی|سیستم‌های عامل توزیع شده}}
سیستم عامل توزیع شده گروهی از رایانه های مجزا و شبکه ای را مدیریت می کند و باعث می شود که آنها یک کامپیوتر واحد باشند ، زیرا همه محاسبات توزیع می شوند (بین رایانه های سازنده تقسیم می شوند).
 
=== قالب ===
در زمینه محاسبات توزیع شده و ابری یک سیستم عامل ، قالب بندی به ایجاد یک تصویر واحد مجازی به عنوان یک سیستم عامل مهمان اشاره دارد و سپس آن را به عنوان ابزاری برای چندین ماشین مجازی در حال اجرا ذخیره می کند. این روش هم در مجازی سازی و هم در مدیریت محاسبات ابری مورد استفاده قرار می گیرد و در انبارهای بزرگ سرور رایج است.
 
=== جاسازی شده ===
سیستم عامل های جاسازی شده برای استفاده در سیستم های رایانه ای جاسازی شده طراحی شده اند. آنها به گونه ای طراحی شده اند که در دستگاه های کوچک با استقلال کمتری کار کنند (به عنوان مثال PDA). آنها از نظر طراحی بسیار جمع و جور و بسیار کارآمد هستند و قادر به استفاده از منابع محدود هستند. Windows CE و Minix 3 نمونه هایی از سیستم عامل های تعبیه شده هستند.
 
=== سیستم‌های بی‌درنگ ===
{{اصلی|سیستم‌عامل بی‌درنگ}}
[[سیستم‌عامل بی‌درنگ|سیستم‌های بی‌درنگ]] یا سیستم عامل در زمان واقعی یک سیستم عامل است که پردازش رویدادها یا داده ها توسط یک لحظه خاص در زمان را تضمین می کند. یک سیستم عامل در زمان واقعی ممکن است تک کاره یا چند کاره باشد ، اما هنگام کار چند وظیفه ای ، از الگوریتم های برنامه ریزی تخصصی استفاده می کند تا ماهیت قطعی رفتار حاصل شود. چنین سیستمی محور براساس اولویتها یا رویدادهای خارجی بین وظایف تغییر می کند ، در حالی که سیستم های عامل مشترک با زمان وظایف را بر اساس وقفه ساعت تغییر می دهند.
[[سیستم‌عامل بی‌درنگ|سیستم‌های بی‌درنگ]] یا زمان واقعی یک سیستم عامل چند وظیفه‌ای است که معمولاً به عنوان یک کنترل‌کننده در یک کاربرد خاص استفاده می‌شوند. سیستم در این حالت می‌بایست در زمانی مشخص و معین حتماً جواب مورد نظر را بدهد. سیستم‌های کنترل آزمایش‌های علمی، [[تصویربرداری پزشکی]]، کنترل صنعتی و برخی از سیستم‌های نمایش از این دسته‌اند. هدف اصلی استفاده از سیستم‌های بی‌درنگ واکنش سریع و تضمین شده در برابر یک رویداد خارجی می‌باشد. در سیستم‌های بی‌درنگ معمولاً وسایل ذخیره‌سازی ثانویه وجود ندارد و به جای آن از حافظه‌های ROM استفاده می‌شود. سیستم‌عامل‌های پیشرفته نیز در این سیستم‌ها وجود ندارند چرا که سیستم‌عامل کاربر را از سخت‌افزار جدا می‌کند و این جداسازی باعث عدم قطعیت در زمان پاسخ‌گویی می‌شود. سیستم‌هایی که در آن مهلت زمانی<ref group="یادداشت">Deadline</ref> باید پاسخ داده شود را بی‌درنگ سخت و سیستم‌هایی که مهلت زمانی را پشتیبانی نمی‌کنند بی‌درنگ نرم می‌نامند. از کاربرد سیستم‌های بی‌درنگ سخت می‌توان به کنترل موتور یک خودرو (پاسخ با تأخیر می‌تواند نتایج فاجعه‌باری را به همراه داشته باشد) و در سیستم‌های بی‌درنگ نرم می‌توان به اسکن بارکد در پایانه فروشگاه (با اینکه سرعت پاسخ‌دهی باید سریع باشد اما به حادّی سیستم‌های سخت نمی‌باشد) اشاره کرد.<ref name="مفاهیم سیستم‌عامل">{{یادکرد کتاب | زبان=فارسی | سال=1389 | شابک=978-964-49-303-8 | عنوان=سیستم عامل | تاریخ بازبینی=۱۷ اوت ۲۰۱۴ | فصل=فصل یک | مکان=صفحه 32 | ناشر=انتشارات گسترش علوم پایه | نام=حمیدرضا | نام خانوادگی=مقسمی}}</ref><ref name="Real - time Operating System s that Support Java">{{یادکرد وب | اثر=W. Arnold, K. Branson, D. Chung, R. Pesigan University of California, San Diego | تاریخ بازبینی=۱۷ اوت ۲۰۱۴ | عنوان=Real - time Operating System s that Support Java | نشانی=http://cseweb.ucsd.edu/classes/wi01/cse221/OSSurveyW01/papers/rpesigan,dchung,warnold,kbranson.real-time_operating_systems_that_support_java.pdf}}</ref>
 
=== کتابخانه ===
=== سیستم‌های چند کاربره ===
یک سیستم عامل کتابخانه ای است که در آن خدماتی که یک سیستم عامل معمولی از قبیل شبکه سازی ارائه می دهد ، در قالب کتابخانه ها ارائه می شود و با استفاده از کد برنامه و پیکربندی برای ساخت یک unikernel تشکیل شده است: یک فضای اختصاصی ، آدرس واحد ، تصویر دستگاه که می تواند در محیط های ابری یا جاسازی شده مستقر شود.
{{اصلی|چندکاربره}}
[[چند کاربره|سیستم‌های چند کاربره]] اجازه می‌دهند تا کاربران متعدد به صورت هم‌زمان به یک سیستم رایانه ای دسترسی داشته باشند. [[اشتراک زمانی|سیستم‌های اشتراک زمانی]] و [[کارساز وب]] را می‌توان به عنوان سیستم‌های چند کاربره طبقه‌بندی کرد. در سیستم‌های اشتراک زمانی تنها یک پردازنده قرار دارد که توسط مکانیزم‌های [[زمان‌بندی (رایانه)|زمانبندی]] بین برنامه‌های مختلف کاربرها با سرعت زیاد سوئیچ می‌شود و بنابراین هر کاربر تصور می‌کند کل رایانه در اختیار اوست.<ref name="مفاهیم سیستم‌عامل"/>
 
== تاریخچه سیستم عامل ==
=== سیستم‌عامل تک پردازنده ===
رایانه های اولیه برای انجام یک سری از کارهای تک مانند ماشین حساب ساخته شدند. ویژگی های اصلی سیستم عامل در دهه 50 توسعه یافت ، مانند توابع مانیتور ساکن که به طور خودکار می توانند برنامه های مختلف را به صورت متوالی اجرا کنند تا پردازش سریع شود. سیستم های عامل تا اوایل دهه 1960 به شکل های مدرن و پیچیده تر وجود نداشتند. ویژگی های سخت افزاری اضافه شده است که امکان استفاده از کتابخانه های زمان اجرا ، وقفه ها و پردازش موازی را فراهم می آورد. هنگامی که رایانه های شخصی در دهه 1980 رایج شدند ، سیستم های عامل برای آنها شبیه به رایانه های بزرگتر مورد استفاده قرار گرفت.
این نوع سیستم‌عامل‌ها، سیستم‌عامل‌های نسل چهارم (نسل فعلی) هستند که بر روی یک پردازنده اجرا می‌شوند. از قبیل ویندوز [[ویندوز اکس‌پی|اکس‌پی]]، [[ویندوز ۹۸|۹۸]]، [[ویندوز ام‌ای|ام‌ای]] و [[ویندوز ویستا|ویستا]] که بیشتر محصول شرکت [[مایکروسافت]] می‌باشند.{{مدرک}}
 
در دهه 1940 ، نخستین سیستمهای دیجیتال الکترونیکی هیچ سیستم عامل نداشتند. سیستم های الکترونیکی این زمان در ردیف های سوئیچ های مکانیکی یا توسط سیم های بلوز روی پلاگین ها برنامه ریزی می شدند. اینها سیستمهای مخصوصی بود که به عنوان مثال جداول بالستیک را برای ارتش ایجاد می کردند و یا چاپ چک های حقوق و دستمزد از داده های روی کارتهای کاغذ سوراخ دار را کنترل می کردند. پس از اختراع رایانه های قابل برنامه ریزی عمومی ، زبانهای دستگاه (متشکل از رشته های ارقام باینری 0 و 1 روی نوار کاغذ سوراخ دار) معرفی شدند که روند برنامه نویسی را سرعت می بخشد (استرن ، 1981).
=== سیستم عامل شبکه ای ===
{{اصلی|سیستم‌عامل شبکه}}
سیستم عاملهایی مثل ناول نت که بیشترین استفاده و امکانات این سیستم عامل برای شبکه می‌باشد{{مدرک}}
 
در اوایل دهه 50 ، یک رایانه می توانست همزمان فقط یک برنامه را اجرا کند. هر کاربر تنها برای مدت محدودی از رایانه استفاده می کرد و با برنامه و داده های خود در کارتهای کاغذ سوراخ دار یا نوار پانچ شده در یک زمان مشخص قرار می گرفت. برنامه وارد دستگاه می شود و دستگاه تا زمان تکمیل یا خراب شدن برنامه کار می کند. به طور کلی برنامه ها می توانند از طریق پنل جلویی با استفاده از کلیدهای جابجایی و چراغهای پانل اشکال زدایی شوند. گفته می شود که آلن تورینگ در اوایل ماشین منچستر مارک 1 استاد این کار بوده است و او قبلاً برداشت اولیه یک سیستم عامل را از اصول دستگاه جهانی تورینگ به دست می آورد.
=== سیستم‌عامل توزیع شده ===
{{اصلی|سیستم‌های عامل توزیع شده}}
این سیستم‌عامل‌ها خود را مانند سیستم‌عامل‌های تک پردازنده به کاربر معرفی می‌کنند، اما در عمل از چندین پردازنده استفاده می‌کنند. این نوع سیستم‌عامل در یک محیط شبکه‌ای اجرا می‌شود در این نوع سیستم یک برنامه پس از اجرا در کامپوترهای مختلف جواب نهایی به سیستم اصلی کاربر برمی‌گردد سرعت پردازش در این نوع سیستم بسیار بالاست.
 
ماشین های بعدی با کتابخانه هایی از برنامه ها همراه شدند که برای کمک به عملیاتی از قبیل ورودی و خروجی و گردآوری (تولید کد دستگاه از کد نمادین قابل خواندن توسط انسان) به برنامه کاربر متصل می شوند. این پیدایش سیستم عامل مدرن بود. با این حال ، ماشین آلات هنوز هم یک کار واحد را همزمان انجام می دادند. در دانشگاه کمبریج در انگلیس ، صف کار در یک زمان یک خط شستشو (خط لباس) بود که از آن نوارها با گیره های رنگی مختلف برای نشان دادن اولویت شغل آویزان می شد.
== دلایل ایجاد سیستم‌عامل ==
یک سیستم رایانه ای پیشرفته از یک یا چند پردازنده، مقداری حافظه اصلی، دیسک‌ها، چاپگرها، صفحه‌کلید، صفحه نمایش، واسط‌های شبکه‌ای و دیگر دستگاه‌های ورودی و خروجی تشکیل شده‌است. اگر سیستم یکپارچه‌ای برای مدیریت این منابع وجود نداشته باشد، هر برنامه باید به تنهایی این کار را انجام دهد. سیستم‌عامل یک لایه نرم‌افزاری فراهم می‌کند که وظیفه مدیریت منابع سیستم را از دوش برنامه‌های کاربردی رهانیده و کار برنامه‌نویسی را ساده‌تر می‌نماید؛ که با توجه به نسخه‌های جدید سیستم عامل‌ها که به دلیل بهره‌مندی از تکنولوژی گرافیک و امکان استفاده از ماوس، امکان استفاده ساده و آسان را برای کاربران مبتدی فراهم نموده‌است.
در حقیقت سیستم‌عامل واسط بین سخت‌افزار رایانه و کاربر می‌باشد.
 
سرپرست اطلس پیشرفت خوبی داشت. با معرفی اطلس منچستر در سال 1962 ، از نظر بسیاری اولین سیستم عامل مدرن قابل تشخیص است. برینچ هانسن آن را "مهمترین پیشرفت در تاریخ سیستم های عامل" توصیف کرد.
 
=== مین فریم‌ها ===
در دهه 1950 ، بسیاری از ویژگیهای اصلی در زمینه سیستم عامل های رایانه های اصلی از جمله پردازش دسته ای ، قطع ورودی و خروجی ، بافر ، چند کاره ، غلط گیری ، کتابخانه های زمان اجرا ، لینک بارگذاری و برنامه هایی برای مرتب سازی سوابق در پرونده ها پیشگام شدند. این ویژگی ها به جای یک سیستم عامل جداگانه که توسط همه برنامه ها استفاده می شود ، در گزینه برنامه نویسان برنامه گنجانده شده و یا شامل نشده اند. در سال 1959 ، سیستم عامل SHARE بعنوان ابزاری یکپارچه برای IBM 704 و بعداً در میان اصلی های 709 و 7090 منتشر شد ، اگرچه به سرعت توسط IBSYS / IBJOB در 709 ، 7090 و 7094 ارسال شد.
 
در دهه 1960 ، سیستم عامل IBM / OS IBM مفهوم سیستم عامل منفرد را در بر داشت که تمام خط تولید را شامل می شد ، که برای موفقیت دستگاه های System / 360 بسیار مهم بود. سیستم های عامل اصلی فعلی IBM از فرزندان دور این سیستم اصلی هستند و ماشین های مدرن با برنامه های نوشته شده برای OS / 360 سازگار با عقب هستند.
 
==== میکرو کامپیوترها ====
ریز کامپیوترها برای اولین بار از ظرفیت و یا نیاز به سیستم عامل های پیچیده ای که برای اصلی ها و مینی ها ساخته شده بودند ، نداشتند. سیستم عامل های حداقلی توسعه یافته بودند ، که اغلب از ROM بارگذاری می شوند و به عنوان مانیتور معروف هستند. یکی از سیستم عاملهای قابل توجه درایو اولیه ، CP / M بود که در بسیاری از میکرو کامپیوترهای اولیه پشتیبانی شد و از نزدیک توسط MS-DOS مایکروسافت تقلید شد ، که به عنوان سیستم عامل انتخاب شده برای IBM PC محبوبیت زیادی پیدا کرد (نسخه IBM از آن با نام IBM DOS نامگذاری شد). یا DOS PC). در دهه 1980 ، شرکت اپل کامپیوتر (اکنون شرکت اپل) از سری محبوب میکرو رایانه های اپل II خود رها شد تا رایانه اپل مکینتاش را با یک رابط کاربری گرافیکی نوآورانه (GUI) به سیستم عامل مک معرفی کند.
 
معرفی تراشه CPU Intel 80386 CPU در اکتبر 1985 ، با قابلیت معماری 32 بیتی و قابلیت صفحه بندی ، امکان رایانه های شخصی را برای اجرای سیستم عامل های چند وظیفه ای مانند رایانه های مینی رایانه و مجهز به سیستم های قبلی فراهم کرد. مایکروسافت با استخدام دیو کاتلر ، که سیستم عامل VMS را برای شرکت تجهیزات دیجیتال توسعه داده بود ، به این پیشرفت پاسخ داد. او توسعه سیستم عامل Windows NT را هدایت می کند ، که همچنان به عنوان پایه ای برای خط سیستم عامل مایکروسافت عمل می کند. استیو جابز ، یکی از بنیانگذاران شرکت اپل ، NeXT Computer Inc را راه اندازی کرد که سیستم عامل NEXTSTEP را توسعه داد. NEXTSTEP بعدا توسط Apple Inc. به دست می آید و همراه با کد FreeBSD به عنوان هسته Mac OS X (macOS پس از آخرین تغییر نام) استفاده می شود.
 
پروژه GNU توسط ریچارد استالمن فعال و برنامه نویس با هدف ایجاد جایگزینی کامل نرم افزار رایگان در سیستم عامل اختصاصی UNIX آغاز شد. در حالی که این پروژه در کپی کردن قابلیت های بخش های مختلف UNIX بسیار موفق بود ، توسعه هسته GNU Hurd بی ثمر بود. در سال 1991 ، لینوس توروالدز ، دانشجوی علوم کامپیوتر رایانه ، با همکاری داوطلبانی که از طریق اینترنت همکاری می کنند ، اولین نسخه از هسته لینوکس را منتشر کرد. به زودی با مؤلفه های فضای کاربر کاربر و نرم افزار سیستم ادغام شد تا یک سیستم عامل کامل ایجاد شود. از آن زمان به بعد ، ترکیب دو مؤلفه اصلی معمولاً توسط صنعت نرم افزار به سادگی به "لینوکس" گفته می شود ، یک کنوانسیون نامگذاری که استالمن و بنیاد نرم افزار آزاد با آن مخالف هستند و ترجیح می دهند نام GNU / Linux را ترجیح دهند. توزیع نرم افزار برکلی ، معروف به BSD ، مشتق UNIX است که از دهه 1970 توسط دانشگاه کالیفرنیا ، برکلی توزیع شده است. در بسیاری از رایانه های رایانه ای که بصورت رایگان توزیع و منتقل می شوند ، در نهایت نیز برای استفاده در رایانه های شخصی ، به طور عمده به عنوان FreeBSD ، NetBSD و OpenBSD ، موارد زیر را بدست آورد.
 
== اجزاء ==
اجزای سیستم عامل همه به منظور ایجاد بخش های مختلف یک کامپیوتر در کنار هم وجود دارند. تمام نرم افزارهای کاربر برای استفاده از هرکدام از سخت افزارها ، چه از طریق ماوس و کیبورد و چه به عنوان یک کامپوننت اینترنت ، باید از طریق سیستم عامل عبور کنند.
 
=== هسته ===
{{main|هسته (رایانش)}}
 
با کمک درایورهای سیستم عامل و دستگاه ها ، هسته ابتدایی ترین سطح کنترل را بر روی تمام دستگاه های سخت افزاری رایانه فراهم می کند. دسترسی به حافظه را برای برنامه هایی در RAM مدیریت می کند ، تعیین می کند که برنامه ها به چه منابع سخت افزاری دسترسی پیدا می کنند ، حالت های عملیاتی CPU را برای کارایی بهینه در همه زمان ها تنظیم و تنظیم می کنند و داده ها را برای ذخیره طولانی مدت غیر فرار سازماندهی می کند. با سیستم فایل در رسانه هایی مانند دیسک ، نوار ، فلش مموری و غیره
 
=== اجرای برنامه ===
{{main|پردازش}}سیستم عامل واسط بین یک برنامه کاربردی و سخت افزار رایانه را فراهم می کند ، به گونه ای که یک برنامه کاربردی می تواند تنها با رعایت قوانین و رویه های برنامه ریزی شده در سیستم عامل با سخت افزار ارتباط برقرار کند. سیستم عامل همچنین مجموعه ای از خدمات است که توسعه و اجرای برنامه های کاربردی را ساده می کند. اجرای یک برنامه کاربردی شامل ایجاد یک فرآیند توسط هسته سیستم عامل است که فضای حافظه و منابع دیگر را اختصاص می دهد ، اولویت این فرآیند را در سیستم های چند کاره ایجاد می کند ، کد های باینری برنامه را در حافظه بارگذاری می کند و اجرای برنامه کاربردی را آغاز می کند. سپس با کاربر و دستگاه های سخت افزاری ارتباط برقرار می کند.
 
=== وقفه‌ها ===
{{main|وقفه}}وقفه ها برای سیستم عامل ها از اهمیت ویژه ای برخوردار است ، زیرا آنها یک روش کارآمد برای سیستم عامل برای تعامل و واکنش به محیط آن فراهم می کنند. گزینه جایگزین - داشتن سیستم عامل منابع مختلف ورودی برای رویدادها (نظرسنجی) که نیاز به اقدام دارند "را تماشا می کند" را می توان در سیستم های قدیمی با پشته های بسیار کوچک (50 یا 60 بایت) یافت اما در سیستم های مدرن با پشته های بزرگ غیر معمول است. برنامه نویسی مبتنی بر قطع به طور مستقیم توسط اکثر CPU های مدرن پشتیبانی می شود. وقفه ها راهی را برای صرفه جویی در خودکار ثبت زمینه های ثبت محلی و اجرای کد ویژه در پاسخ به وقایع ، به رایانه می دهد. حتی رایانه های بسیار اساسی از قطع سخت افزار پشتیبانی می کنند و به برنامه نویس اجازه می دهند کدی را که ممکن است هنگام وقوع آن اجرا شود ، مشخص کند.
 
هنگامی که یک وقفه دریافت شد ، سخت افزار رایانه به طور خودکار هر برنامه ای را که در حال اجراست ، به حالت تعلیق در می آورد ، وضعیت خود را ذخیره می کند ، و کد رایانه ای را که قبلاً با وقفه در ارتباط بود اجرا می کند. این مشابه با قرار دادن یک نشانک در یک کتاب در پاسخ به تماس تلفنی است. در سیستم عامل های مدرن ، وقفه ها توسط هسته سیستم عامل انجام می شود. وقفه ها ممکن است از سخت افزار رایانه یا برنامه در حال اجرا باشد.
 
هنگامی که یک دستگاه سخت افزاری باعث ایجاد وقفه می شود ، هسته سیستم عامل تصمیم می گیرد که چگونه با این رویداد معمولاً با اجرای کد پردازشی مقابله کند. میزان کد در حال اجرا بستگی به اولویت وقفه دارد (برای مثال: شخص معمولاً قبل از پاسخ دادن به تلفن به زنگ آشکارساز دود پاسخ می دهد). پردازش قطع سخت افزار کاری است که معمولاً به نرم افزاری به نام درایور دستگاه منتقل می شود که ممکن است بخشی از هسته سیستم عامل ، بخشی از برنامه دیگر یا هر دو باشد. ممکن است درایورهای دستگاه با استفاده از روشهای مختلف ، اطلاعات را به یک برنامه در حال اجرا منتقل کنند.
 
یک برنامه همچنین ممکن است باعث ایجاد وقفه در سیستم عامل شود. برای مثال اگر یک برنامه بخواهد به سخت افزار دسترسی داشته باشد ، ممکن است هسته سیستم عامل را قطع کند و این باعث می شود کنترل به هسته منتقل شود. سپس هسته درخواست را پردازش می کند. اگر برنامه ای بخواهد منابع اضافی (یا مایل به ریختن منابع) مانند حافظه باشد ، باعث جلب توجه هسته می شود.
 
=== حالت حفاظت شده و ناظر ===
=== مدیریت حافظه ===
{{main|مدیریت حافظه}}
 
=== حافظه مجازی ===
{{main|حافظه مجازی}}
 
=== چند وظیفه‌ای ===
{{main|چند وظیفه‌ای}}
 
=== دسترسی به دیسک و سیستم فایل ===
<br />
=== راه اندازهای دستگاه‌ها ===
=== شبکه ===
{{main|شبکه رایانه‌ای}}
 
=== امنیت ===
<br />
 
=== رابط کاربری ===
<br />
== وظایف سیستم‌عامل ==
سیستم‌عامل دو کار عمده انجام می‌دهد:
* ایجاد مکانیسم‌های ارتباط بین [[فرایند (رایانه)|فرایند]]ها و همگام‌سازی آن‌ها
* مدیریت [[فایل]]‌ها و [[پوشه (رایانه)|پوشه]]‌ها
* [[مدیریت حافظه]]‌های اصلی و جانبی
* برقراری امکان دسترسی چندتایی<ref group="یادداشت">Multiaccess</ref> و اجرای هم روند<ref group="یادداشت">Concurrent</ref> [[فرایند (رایانه)|فرایند]]ها
* به اشتراک‌گذاری منابع<ref group="یادداشت">Resource Sharing</ref>
 
آمار موجود که مربوط به [[فوریه ۲۰۲۰]] می‌باشد به شرح زیر است:
* [[ انری ]] : ٪۹۰
* [[ویندوز ۱۰]]: ۱۸٫۳۹٪
*[[اندروید پای|اندروید ۹]]: ۱۴٫۲۰٪
*[[ویندوز ۷]]: ۱۳٫۷۷٪
*[[آی او اس ۱۳]]: ۸٫۳۰٪
* [[اندروید اوریو|اندروید ۸]]: ۷٫۷۶٪
*[[اندروید مارشمالو|اندروید ۶]]: ۴٫۸۴٪
* [[اندروید نوقا|اندروید ۷]]: ۴٫۵۶٪
*[[اندروید آبنبات‌چوبی|اندروید ۵:]] ۴٫۳۵٪
*[[مک‌اواس|مک اواس]]: ۴٫۳۱٪
 
از سیستم‌عامل‌های مشهور رایانه‌های شخصی می‌توان به اسامی زیر اشاره کرد:
* [[ویندوز ۱۰]]
* [[ویندوز ۷]]
* [[مک‌اواس|مک اواس]]
* [[ویندوز ۸]]
* [[اوبونتو]]
* [[کروم اواس]]
* [[کالی لینوکس]]
* [[گنو/لینوکس]]
* [[یونیکس]]
* [[ویندوز ۸٫۱]]
* [[ویندوز اکس‌پی]]
* [[ویندوز ویستا]]
* [[ویندوز ان‌تی]]
* [[ویندوز سی‌ای]]
* [[سولاریس (سیستم‌عامل)|سولاریس]]
* [[بی اس دی]]
* [[داس (سیستم‌عامل)|داس]]
* [[ام وی اس]]
* [[ویلز (سیستم‌عامل)|ویلز]]
* [[پالم (سیستم‌عامل)|پالم]]
 
همچنین از سیستم‌عامل‌های موجود روی گوشی‌های تلفن همراه نسل جدید می‌توان به اسامی زیر اشاره کرد:
* [[انری]]
* [[اندروید]]
* [[آی‌اواس|iOS]]
* [[ویندوز موبایل]]
* [[ویندوز فون]]
* [[سیمبیان|سیمبین]]
* [[یوآی‌کیو]]
* [[بادا (سیستم عامل)|بادا]]
* [[سیستم‌عامل بلک‌بری|بلک بری]]
* [[می‌گو (سیستم‌عامل)|می‌گو]]
* [[پالم (سیستم‌عامل)|پالم]]
* [[تایزن]]
 
== تاریخچه سیستم عامل ==
=== در آغاز ===
اولین رایانه‌ها فاقد سیستم‌عامل بودند. در اوایل سال ۱۹۶۴ فروشندگان رایانه‌های تجاری ابزار کاملاً گسترده‌ای را برای تسهیل توسعه، زمانبندی، و اجرای کارها روی یک سیستم پردازش دسته‌ای فراهم می‌کردند. برای مثال رایانه تولید شده توسط UNI
VAC.
 
در ابتدا سیستم‌عامل روی مین فریم‌ها مستقر می‌شد و کمی بعد سیستم‌عامل میکرو کامپیوترهای ابتدایی که فقط از یک برنامه در هر زمان پشتیبانی می‌کردند و به یک زمانبند بسیار ابتدایی نیاز داشتند. هر برنامه زمانی که در حال اجرا بود تحت کنترل کامل ماشین قرار داشت.
چند وظیفه‌ای (اشتراک زمانی) اولین بار در مین فریم‌ها و در ۱۹۶۰ عرضه شد.
ابتدا رایانه‌ها بسیار بزرگ و جاگیر بودند اما امروزه در کف یک دست جا می‌گیرند.
 
=== مین فریم‌ها ===
==== میکرو کامپیوترها ====
میکرو کامپیوترهای اولیه نیاز یا ظرفیت داشتن یک سیستم‌عامل پیچیده که روی مین فریم‌ها توسعه یافته بود نداشتند.
 
== ویژگی‌ها ==
=== اجرای برنامه ===
{{main|پردازش}}
 
=== وقفه‌ها ===
{{main|وقفه}}
 
==== دسته‌بندی وقفه‌ها ====
* '''برنامه''' وقفه‌هایی که به دلیل بعضی شرایط حاصل از یک دستورالعمل بروز می‌کند. شامل سریز شدن محاسباتی، تقسیم بر صفر، تلاش برای اجرای یک دستورالعمل ماشین غیرمجاز و مراجعه به آدرسی خارج از فضای مجاز کاربر.
* '''زمان‌سنج''' وقفه‌ای که توسط زمان‌سنج داخلی تولید می‌شود. این وقفه به سیستم‌عامل اجازه می‌دهد، بعضی اعمال را به‌طور مرتب انجام دهد.
* '''ورودی/خروجی''' وقفه‌هایی که به وسیله کنترل‌کننده ورودی/خروجی تولید می‌شود، تا کامل شدن طبیعی یک عمل یا شرایط خطا را اعلام نماید.
* '''نقص سخت‌افزار''' وقفه‌هایی که با نقص سخت‌افزاری تولید می‌شود، مثل نقص برق یا خطای توازن حافظه.
 
=== حالت حفاظت شده و ناظر ===
=== مدیریت حافظه ===
{{main|مدیریت حافظه}}
 
=== حافظه مجازی ===
{{main|حافظه مجازی}}
 
=== چند وظیفه‌ای ===
{{main|چند وظیفه‌ای}}
 
=== دسترسی به دیسک و سیستم فایل ===
=== راه اندازهای دستگاه‌ها ===
=== شبکه ===
{{main|شبکه رایانه‌ای}}
 
=== امنیت ===
== جستارهای وابسته ==
* [[جدول زمانی اختراع‌ها در ایالات متحده (۱۹۴۶–۱۹۹۱)|اختراع‌ها در ایالات متحده (۱۹۴۶–۱۹۹۱)]]
* [[فهرست سیستم‌عامل‌ها]]
* [[سیستم‌عامل شبکه]]
 
* [[سیستم اشتراک زمانی سازگار]]
== یادداشت ==
{{پانویس|۲|چپ‌چین=بله|گروه=یادداشت}}