| سیستم‌عامل |
| --- |
|  |
| 
ویژگی‌های مشترک |
| 
* مدیریت فرایند
* وقفه
* مدیریت حافظه
* سیستم فایل
* راه‌انداز
* شبکه رایانه‌ای
* امنیت رایانه‌ای
* ورودی/خروجی
* واسط گرافیکی کاربر

 |
| * ن
* ب
* و
 |

**سیستم‌عامل** یا **سامانهٔ عامل** (به انگلیسی: operating system) یا به کوتاهی **اُاِس** (OS)، نرم‌افزار سیستمی‌ای است که مدیریت منابع رایانه را به عهده گرفته و بستری را فراهم می‌سازد که نرم‌افزار کاربردی اجرا شده و از خدمات آن استفاده کنند. سیستم‌عامل جزو ضروری‌ترین نرم‌افزارهای یک سیستم رایانه‌ای است.
سیستم‌عامل خدماتی به برنامه‌های کاربردی و کاربر ارائه می‌دهد. برنامه‌های کاربردی یا از طریق واسط‌های برنامه‌نویسی کاربردی یا از طرق فراخوانی‌های سیستم به این خدمات دسترسی دارند. با فراخوانی این واسط‌ها، برنامه‌های کاربردی می‌توانند سرویسی را از سیستم‌عامل درخواست کنند، پارامترها را انتقال دهند، و پاسخ عملیات را دریافت کنند. ممکن است کاربران با بعضی انواع واسط (رابط) کاربری نرم‌افزار مثل واسط خط فرمان یک واسط گرافیکی کاربر با سیستم‌عامل تعامل کنند. برای رایانه‌های دستی و رومیزی، عموماً واسط کاربری به عنوان بخشی از سیستم‌عامل در نظر گرفته می‌شود. در سیستم‌های بزرگ و چند کاربره مثل یونیکس و سیستم‌های شبیه یونیکس، واسط کاربری معمولاً به عنوان یک برنامهٔ کاربردی که خارج از سیستم‌عامل اجرا می‌شود پیاده‌سازی می‌شود.
نمونه‌هایی از محبوب‌ترین سیستم‌عامل‌های نوین شامل: اندروید، ویندوز، آی او اس، مک اواس، لینوکس، کروم اواس، ویندوز فون، بی‌اس‌دی، کیوان‌اکس، و زد/اواس می‌باشند.

انواع سیستم‌عامل
----------------

### تک‌کاره و چندکاره

یک سیستم تک‌کاره تنها می‌تواند یک برنامه را به‌طور همزمان اجرا کند، در حالی‌که یک سیستم‌عامل چندمنظوره اجازه می‌دهد تا بیش از یک برنامه به‌طور همزمان اجرا شود. این با به اشتراک‌گذاری زمان حاصل می‌شود، که در آن زمان پردازندهٔ موجود بین چندین فرایند تقسیم می‌شود. این فرایندها هر یک به‌طور مکرر در برش‌های زمانی توسط یک زیر سیستم برنامه‌ریزی کار سیستم‌عامل قطع می‌شوند. چند وظیفه‌ای ممکن است در انواع پیشگیرانه و تعاونی مشخص شود. در چند وظیفه‌ای پیشگیرانه، سیستم‌عامل زمان CPU را قطع می‌کند و شکافی را به هر یک از برنامه‌ها اختصاص می‌دهد. سیستم‌عامل‌های یونیکس مانند، مانند Solaris, Linux و همچنین غیر Unix مانند مانند AmigaOS، از وظیفه‌های پیشگویی‌کننده پشتیبانی می‌کنند. چند وظیفهٔ تعاونی با تکیه بر هر فرایند به‌دست می‌آید تا زمان دیگری را برای سایر فرایندها به صورت تعریف‌شده فراهم کند. نسخه‌های ۱۶ بیتی مایکروسافت ویندوز از چندکاره تعاونی استفاده می‌کردند. نسخه‌های ۳۲ بیتی ویندوز NT و Win9x از وظایف پیشگیرانه استفاده می‌کنند.

### تک‌کاربره و چندکاربره

مقالهٔ اصلی: چندکاربره
سیستم‌عامل‌های یک‌کاربره امکان تمایز کاربران را ندارند، اما ممکن است چندین برنامه را به صورت همزمان اجرا کنند. یک سیستم‌عامل چند کاربره مفهوم اصلی کار چند منظوره را با امکاناتی فراهم می‌کند که فرایندها و منابع را شناسایی می‌کنند، از جمله فضای دیسک، متعلق به چندین کاربر، و سیستم به چندین کاربر اجازه می‌دهد تا همزمان با سیستم ارتباط برقرار کنند. برنامه‌های زمانبندی سیستم‌عامل برای استفاده کارآمد از سیستم برنامه‌ریزی کرده و ممکن است شامل نرم‌افزار حسابداری برای اختصاص هزینهٔ زمان پردازنده، ذخیرهٔ انبوه، چاپ و سایر منابع برای چندین کاربر نیز باشد. در سیستم‌عامل‌های شبه‌یونیکس یک حالت تک‌کاربره در هستهٔ پشتیبان وجود دارد که برای وقتی است که دیگر هسته‌ها با مشکل مواجه می‌شوند و نیاز به تعمیر دارند یا رمز کاربر ریشه را بدون دانستن آن بخواهیم تغییر دهیم.[]

### سیستم‌عامل توزیع شده

مقالهٔ اصلی: سیستم‌عامل توزیع‌شده
سیستم‌عامل توزیع‌شده گروهی از رایانه‌های مجزا و شبکه‌ای را مدیریت می‌کند و باعث می‌شود که آن‌ها یک کامپیوتر واحد باشند، زیرا همهٔ محاسبات توزیع می‌شوند (بین رایانه‌های سازنده تقسیم می‌شوند).

### قالب

در زمینهٔ محاسبات توزیع‌شده و ابری یک سیستم‌عامل، قالب‌بندی به ایجاد یک تصویر واحد مجازی به عنوان یک سیستم‌عامل مهمان اشاره دارد و سپس آن را به عنوان ابزاری برای چندین ماشین مجازی در حال اجرا ذخیره می‌کند. این روش هم در مجازی‌سازی و هم در مدیریت محاسبات ابری مورد استفاده قرار می‌گیرد و در انبارهای بزرگ سرور رایج است.

### جاسازی شده

سیستم‌عامل‌های جاسازی‌شده برای استفاده در سیستم‌های رایانه‌ای جاسازی‌شده طراحی شده‌اند. آن‌ها به گونه‌ای طراحی شده‌اند که در دستگاه‌های کوچک با استقلال کمتری کار کنند (به عنوان مثال PDA). آن‌ها از نظر طراحی بسیار جمع و جور و بسیار کارآمد هستند و قادر به استفاده از منابع محدود هستند. Windows CE و Minix 3 نمونه‌هایی از سیستم‌عامل‌های تعبیه‌شده هستند.

### سیستم‌های با درنگ

مقالهٔ اصلی: سیستم‌عامل بی‌درنگ
سیستم‌های بی‌درنگ یا سیستم‌عامل در زمان واقعی یک سیستم‌عامل است که پردازش رویدادها یا داده‌ها توسط یک لحظهٔ خاص در زمان را تضمین می‌کند. یک سیستم‌عامل در زمان واقعی ممکن است تک‌کاره یا چندکاره باشد، اما هنگام کار چند وظیفه‌ای، از الگوریتم‌های برنامه‌ریزی تخصصی استفاده می‌کند تا ماهیت قطعی رفتار حاصل شود. چنین سیستمی محور براساس اولویت‌ها یا رویدادهای خارجی بین وظایف تغییر می‌کند، در حالی که سیستم‌های عامل مشترک با زمان وظایف را بر اساس وقفه ساعت تغییر می‌دهند.

### کتابخانه

هر سیستم‌عامل کتابخانه‌ای دارد که در آن رویه‌های سیستم‌عامل برای فراخوانی توسط برنامه‌های دیگر وجود دارند. برای مثال، برای نوشتن فایلی بر دیسک نیاز به فراخوانی رویهٔ خاصی در سیستم‌عامل است. یا در سیستم‌عامل‌های شبه‌یونیکس از رویهٔ سیستمی Fork برای ساختن فرآیندهای جدید استفاده می‌شود. معمولاً کتابخانهٔ سیستم‌عامل‌های شبه‌یونیکس با زبان برنامه‌نویسی سی نوشته شده‌اند.

تاریخچهٔ سیستم‌عامل
-------------------

رایانه‌های اولیه مانند ماشین حساب برای انجام یک سری از کارهای تکی ساخته شدند. ویژگی‌های اولیه سیستم‌عامل در دههٔ ۵۰ رشد یافت، مانند ویژگی ناظر مقیم که می تواند به‌طور خودکار برنامه‌های مختلف را به صورت متوالی اجرا کنند تا پردازش را سرعت دهد. سیستم‌های عامل تا اوایل دههٔ ۱۹۶۰ به شکل‌های مدرن و پیچیده‌تر وجود نداشتند. ویژگی‌های سخت‌افزاری اضافه شده‌است که امکان استفاده از کتابخانه‌های زمان اجرا، وقفه‌ها و پردازش موازی را فراهم می‌آورد. هنگامی که رایانه‌های شخصی در دههٔ ۱۹۸۰ رایج شدند، سیستم‌های عامل برای آن‌ها شبیه به رایانه‌های بزرگ‌تر مورد استفاده قرار گرفت.

در دههٔ ۱۹۴۰، نخستین سیستم‌های دیجیتال الکترونیکی هیچ سیستم‌عاملی نداشتند. سیستم‌های الکترونیکی آن زمان در ردیف‌های سوئیچ‌های مکانیکی یا توسط سیم‌های بلوز روی پلاگین‌ها برنامه‌ریزی می‌شدند. این‌ها سیستم‌های ویژه‌ای بود که به عنوان مثال جدول‌های بالستیک را برای ارتش ایجاد می‌کردند یا چاپ چک‌های حقوق و دستمزد از داده‌های روی کارت‌های کاغذ سوراخ‌دار را کنترل می‌کردند. پس از اختراع رایانه‌های قابل برنامه‌ریزی عمومی، زبان‌های دستگاه (متشکل از رشته‌های ارقام باینری ۰ و ۱ روی نوار کاغذ سوراخ‌دار) معرفی شدند که روند برنامه‌نویسی را سرعت می‌بخشد (استرن، ۱۹۸۱).

در اوایل دههٔ ۵۰، یک رایانه می‌توانست همزمان فقط یک برنامه را اجرا کند. هر کاربر تنها برای مدت محدودی از رایانه استفاده می‌کرد و با برنامه و داده‌های خود در کارت‌های کاغذ سوراخ‌دار یا نوار پانچ‌شده در یک زمان مشخص قرار می‌گرفت. برنامه وارد دستگاه می‌شود و دستگاه تا زمان تکمیل یا خراب شدن برنامه کار می‌کند. به‌طور کلی برنامه‌ها می‌توانند از طریق پنل جلویی با استفاده از کلیدهای جابجایی و چراغ‌های پانل اشکال‌زدایی شوند. گفته می‌شود که آلن تورینگ در اوایل ماشین منچستر مارک ۱ استاد این کار بوده‌است و او پیش‌تر برداشت اولیهٔ یک سیستم‌عامل را از اصول دستگاه جهانی تورینگ به‌دست می‌آورد.

ماشین‌های بعدی با کتابخانه‌هایی از برنامه‌ها همراه شدند که برای کمک به عملیاتی از قبیل ورودی و خروجی و گردآوری (تولید کد دستگاه از کد نمادین قابل خواندن توسط انسان) به برنامهٔ کاربر متصل می‌شوند. این پیدایش سیستم‌عامل مدرن بود. با این حال، ماشین‌آلات هنوز هم یک کار واحد را همزمان انجام می‌دادند. در دانشگاه کمبریج در انگلیس، صف کار در یک زمان یک خط شست‌وشو (خط لباس) بود که از آن نوارها با گیره‌های رنگی مختلف برای نشان دادن اولویت شغل آویزان می‌شد.

سرپرست اطلس پیشرفت خوبی داشت. با معرفی اطلس منچستر در سال ۱۹۶۲، از نظر بسیاری نخستین سیستم‌عامل مدرن قابل تشخیص است. برینچ هانسن آن را «مهم‌ترین پیشرفت در تاریخ سیستم‌های عامل» توصیف کرد.

### ابر رایانه‌ها

در دههٔ ۱۹۵۰، بسیاری از ویژگی‌های اصلی در زمینهٔ سیستم‌عامل‌های رایانه‌های اصلی از جمله پردازش دسته‌ای، قطع ورودی و خروجی، بافر، چند کاره، غلط‌گیری، کتابخانه‌های زمان اجرا، لینک بارگذاری و برنامه‌هایی برای مرتب‌سازی پیشینه‌ها در پرونده‌ها پیشگام شدند. این ویژگی‌ها به جای یک سیستم‌عامل جداگانه که توسط همهٔ برنامه‌ها استفاده می‌شود، در گزینهٔ برنامه‌نویسان برنامه گنجانده شده یا شامل نشده‌اند. در سال ۱۹۵۹، سیستم‌عامل SHARE به‌عنوان ابزاری یکپارچه برای IBM 704 و بعداً در میان اصلی‌های ۷۰۹ و ۷۰۹۰ منتشر شد، اگرچه به سرعت توسط IBSYS / IBJOB در ۷۰۹، ۷۰۹۰ و ۷۰۹۴ ارسال شد.

در دههٔ ۱۹۶۰، سیستم‌عامل IBM / OS IBM مفهوم سیستم‌عامل منفرد را دربرداشت که تمام خط تولید را شامل می‌شد، که برای موفقیت دستگاه‌های System / 360 بسیار مهم بود. سیستم‌های عامل اصلی کنونی IBM از فرزندان دور این سیستم اصلی هستند و ماشین‌های مدرن با برنامه‌های نوشته‌شده برای OS / 360 سازگار با عقب هستند.

#### میکرو کامپیوترها

ریز کامپیوترها برای نخستین بار از ظرفیت یا نیاز به سیستم‌عامل‌های پیچیده‌ای که برای اصلی‌ها و مینی‌ها ساخته شده بودند، نداشتند. سیستم‌عامل‌های حداقلی توسعه یافته بودند، که اغلب از ROM بارگذاری می‌شوند و به عنوان مانیتور معروف هستند. یکی از سیستم‌عامل‌های قابل توجه درایو اولیه، CP / M بود که در بسیاری از میکرو کامپیوترهای اولیه پشتیبانی شد و از نزدیک توسط MS-DOS مایکروسافت تقلید شد، که به عنوان سیستم‌عامل انتخاب شده برای IBM PC محبوبیت زیادی پیدا کرد (نسخهٔ IBM از آن با نام IBM DOS نامگذاری شد). یا DOS PC). در دههٔ ۱۹۸۰، شرکت اپل کامپیوتر (اکنون شرکت اپل) از سری محبوب میکرو رایانه‌های اپل II خود رها شد تا رایانه اپل مکینتاش را با یک رابط کاربری گرافیکی نوآورانه (GUI) به سیستم‌عامل مک معرفی کند.

معرفی تراشهٔ CPU Intel 80386 CPU در اکتبر ۱۹۸۵، با قابلیت معماری ۳۲ بیتی و قابلیت صفحه‌بندی، امکان رایانه‌های شخصی را برای اجرای سیستم‌عامل‌های چند وظیفه‌ای مانند رایانه‌های مینی‌رایانه و مجهز به سیستم‌های پیشین فراهم کرد. مایکروسافت با استخدام دیو کاتلر، که سیستم‌عامل VMS را برای شرکت تجهیزات دیجیتال توسعه داده بود، به این پیشرفت پاسخ داد. او توسعهٔ سیستم‌عامل Windows NT را هدایت می‌کند، که همچنان به عنوان پایه‌ای برای خط سیستم‌عامل مایکروسافت عمل می‌کند. استیو جابز، یکی از بنیانگذاران شرکت اپل، NeXT Computer Inc را راه‌اندازی کرد که سیستم‌عامل NEXTSTEP را توسعه داد. NEXTSTEP بعداً توسط Apple Inc. به‌دست می‌آید و همراه با کد FreeBSD به عنوان هستهٔ Mac OS X (macOS پس از آخرین تغییر نام) استفاده می‌شود.

پروژهٔ GNU توسط ریچارد استالمن فعال و برنامه‌نویس با هدف ایجاد جایگزینی کامل نرم‌افزار رایگان در سیستم‌عامل اختصاصی UNIX آغاز شد. در حالی‌که این پروژه در کپی کردن قابلیت‌های بخش‌های مختلف UNIX بسیار موفق بود، توسعهٔ هستهٔ GNU Hurd بی‌ثمر بود. در سال ۱۹۹۱، لینوس توروالدز، دانشجوی علوم کامپیوتر رایانه، با همکاری داوطلبانی که از طریق اینترنت همکاری می‌کنند، نخستین نسخه از هستهٔ لینوکس را منتشر کرد. به زودی با مؤلفه‌های فضای کاربر کاربر و نرم‌افزار سیستم ادغام شد تا یک سیستم‌عامل کامل ایجاد شود. از آن زمان به بعد، ترکیب دو مؤلفهٔ اصلی معمولاً توسط صنعت نرم‌افزار به سادگی به «لینوکس» گفته می‌شود، یک کنوانسیون نامگذاری که استالمن و بنیاد نرم‌افزار آزاد با آن مخالف هستند و ترجیح می‌دهند نام GNU / Linux را ترجیح دهند. هستهٔ سیستم‌عامل توزیع نرم‌افزار برکلی، معروف به BSD، مشتق‌شده از هستهٔ سیستم‌عامل UNIX، که از دههٔ ۱۹۷۰ توسط دانشگاه کالیفرنیا، برکلی توزیع شده‌است. آخرین نسخهٔ آن BSD ۴٫۴ در سال ۱۹۹۵ بود که بعد از آن دیگر نسخه‌ای نداد و بنابرین این یک پروژه متوقف شده می اشد. اما توزیع‌هایی مانند FreeBSD, OpenBSD, NetBSD همچنان پایدار هستند.

اجزاء
-----

اجزای سیستم‌عامل همه به منظور ایجاد بخش‌های مختلف یک کامپیوتر در کنار هم وجود دارند. تمام نرم‌افزارهای کاربر برای استفاده از هر کدام از سخت‌افزارها، چه از طریق ماوس و کیبورد و چه به عنوان یک کامپوننت اینترنت، باید از طریق سیستم‌عامل عبور کنند.

### هسته (Kernel)

مقالهٔ اصلی: هسته (رایانش)
مراحل خاموش شدن سیستم از طریق سیستم‌عامل در سیستم‌عامل‌های شبه‌یونیکس
هسته در اصل مغز سیستم‌عامل است. هسته وظیفهٔ مدیریت سخت‌افزار و نرم‌افزار را دارد. در واقع هسته یک سیستم‌عامل باید پروسه‌ها را ترتیب‌دهی کند، به هر پروسه شناسه‌ای دهد و اجرا کند و تا اتمام پروسه آن را مدیریت کند (منابع و حافظه‌اش)، توابعی برای فراخوانی برای دسترسی با حالت هسته داشته باشد و به‌طور کلی باید مانند مغز سیستم‌عامل عمل کند. هسته باید میزان استفاده از واحد پردازندهٔ مرکزی یا CPU برای هر پروسه را کنترل کند، هر پروسه‌ای که اولویت بیشتری داشته باشد، میزان استفاده از پردازنده را بر آن پروسه بالا می‌برد، همین‌طور وظیفهٔ نوشتن یا خواندن فایل‌ها را دارد و وظیفهٔ اجرای دستورها را دارد. در اکثر سیستم‌عامل‌های شبه‌یونیکس، کرنل در بوت لودر با یک سری پارامترها اجرا می‌شود و پروسهٔ init را اجرا می‌کند. کرنل باید تمامی ورودی‌ها و خروجی‌ها را بخواند. بخش مهمی از کرنل در بخش محافظت‌شده از رم لود می‌شود. به‌طور کلی‌تر هسته وظیفهٔ مدیریت سخت‌افزار و نرم‌افزار را دارد.

مراحل اجرای محیط کاربری در سیستم‌عامل‌های شبه‌یونیکس
### اجرای برنامه

مقالهٔ اصلی: پردازش
سیستم‌عامل واسط بین یک برنامهٔ کاربردی و سخت‌افزار رایانه را فراهم می‌کند، به گونه‌ای که یک برنامهٔ کاربردی می‌تواند تنها با رعایت قوانین و رویه‌های برنامه‌ریزی شده در سیستم‌عامل با سخت‌افزار ارتباط برقرار کند. سیستم‌عامل همچنین مجموعه‌ای از خدمات است که توسعه و اجرای برنامه‌های کاربردی را ساده می‌کند. اجرای یک برنامهٔ کاربردی شامل ایجاد یک فرایند توسط هستهٔ سیستم‌عامل است که فضای حافظه و منابع دیگر را اختصاص می‌دهد، اولویت این فرایند را در سیستم‌های چندکاره ایجاد می‌کند، کدهای باینری برنامه را در حافظه بارگذاری می‌کند و اجرای برنامهٔ کاربردی را آغاز می‌کند. سپس با کاربر و دستگاه‌های سخت‌افزاری ارتباط برقرار می‌کند.

### وقفه‌ها

مقالهٔ اصلی: وقفه
وقفه‌ها برای سیستم‌عامل‌ها از اهمیت ویژه‌ای برخوردار است، زیرا آن‌ها یک روش کارآمد برای سیستم‌عامل برای تعامل و واکنش به محیط آن فراهم می‌کنند. گزینهٔ جایگزین، داشتن سیستم‌عامل منابع مختلف ورودی برای رویدادها (نظرسنجی) که نیاز به اقدام دارند را «تماشا می‌کند» را می‌توان در سیستم‌های قدیمی با پشته‌های بسیار کوچک (۵۰ یا ۶۰ بایت) یافت اما در سیستم‌های مدرن با پشته‌های بزرگ غیرمعمول است. برنامه‌نویسی مبتنی بر قطع به‌طور مستقیم توسط اکثر CPUهای مدرن پشتیبانی می‌شود. وقفه‌ها راهی را برای صرفه‌جویی در خودکار ثبت زمینه‌های ثبت محلی و اجرای کد ویژه در پاسخ به وقایع، به رایانه می‌دهد. حتی رایانه‌های بسیار اساسی از قطع سخت‌افزار پشتیبانی می‌کنند و به برنامه‌نویس اجازه می‌دهند کدی را که ممکن است هنگام وقوع آن اجرا شود، مشخص کند.

هنگامی که یک وقفه دریافت شد، سخت‌افزار رایانه به‌طور خودکار هر برنامه‌ای را که در حال اجراست، به حالت تعلیق درمی‌آورد، وضعیت خود را ذخیره می‌کند، و کد رایانه‌ای را که پیش‌تر با وقفه در ارتباط بود اجرا می‌کند. این مشابه با قرار دادن یک نشانک در یک کتاب در پاسخ به تماس تلفنی است. در سیستم‌عامل‌های مدرن، وقفه‌ها توسط هستهٔ سیستم‌عامل انجام می‌شود. وقفه‌ها ممکن است از سخت‌افزار رایانه یا برنامه در حال اجرا باشد.

هنگامی که یک دستگاه سخت‌افزاری باعث ایجاد وقفه می‌شود، هستهٔ سیستم‌عامل تصمیم می‌گیرد که چگونه با این رویداد معمولاً با اجرای کد پردازشی مقابله کند. میزان کد در حال اجرا بستگی به اولویت وقفه دارد (برای مثال: شخص معمولاً پیش از پاسخ دادن به تلفن به زنگ آشکارساز دود پاسخ می‌دهد). پردازش قطع سخت‌افزار کاری است که معمولاً به نرم‌افزاری به نام درایور دستگاه منتقل می‌شود که ممکن است بخشی از هستهٔ سیستم‌عامل، بخشی از برنامهٔ دیگر یا هر دو باشد. ممکن است درایورهای دستگاه با استفاده از روش‌های مختلف، اطلاعات را به یک برنامه در حال اجرا منتقل کنند.

یک برنامه همچنین ممکن است باعث ایجاد وقفه در سیستم‌عامل شود. برای مثال اگر یک برنامه بخواهد به سخت‌افزار دسترسی داشته باشد، ممکن است هستهٔ سیستم‌عامل را قطع کند و این باعث می‌شود کنترل به هسته منتقل شود. سپس هسته درخواست را پردازش می‌کند. اگر برنامه‌ای بخواهد منابع اضافی (یا مایل به ریختن منابع) مانند حافظه باشد، باعث جلب توجه هسته می‌شود.

### حالت فقط-خواندنی (Read-Only)

در این حالت کاربر کنونی تنها اجازهٔ خواندن فایل(ها) را دارد. معمولاً در سیستم‌های نجات از اطلاعات از سامانهٔ فایل‌بندی فقط خواندنی استفاده می‌شود.

### کاربر ریشه (Root)

کاربر ریشه یا ابرکاربر، کاربری‌ست که بدون محدودیت دسترسی به تمامی فایل‌های سیستم‌عامل را دارد، در این حالت امنیت داخلی سیستم‌عامل به حداقل می‌رسد زیرا دیگر هیچ چیزی جلودار کاربر ریشه نیست و ممکن است بدافزاری، آسیب جدی‌ای وارد کند، یا اینکه ممکن است به اشتباه یک فایل مهم سیستمی پاک شود. شناسه کاربری کاربر ریشه در سیستم‌عامل‌های شبه‌یونیکس معمولاً ۰ است.

### مدیریت پروسه‌ها و حافظه (مموری)

هر برنامه در حال اجرا یک پروسه است، چه در پیش‌زمینه چه در پس‌زمینه، هستهٔ سیستم‌عامل وظیفهٔ مدیریت پروسه‌ها را دارد. هستهٔ سیستم‌عامل به هر پروسه یک شناسهٔ پروسه یا PID می‌دهد، منابع و حافظهٔ پروسه را کنترل می‌کند و آن‌ها را به ترتیب خاصی اجرا می‌کند تا زمانی که پروسه به پایان برسد و پروسهٔ والد (پروسه‌ای که پروسهٔ کنونی از آن نشأت گرفته (دارای یک PPID هست هر پروسهٔ والد) به پایان رسیدن آن را تأیید کند یا مطلع شود. هر پروسه یک برنامه است، هر برنامه به مقداری حافظه و منابعی نیاز دارد، هسته وظیفهٔ این را دارد تا همهٔ این‌ها را تهیه کند، و در انتهای پروسه حافظه و منابع گرفته یا اشغال شده را خالی یا آزاد کند. در سیستم‌عامل‌های شبه‌یونیکس پروسهٔ مادر یا init که در هنگام راه‌اندازی سیستم‌عامل اجرا می‌شود نیز مادر همهٔ پروسه‌هاست؛ یعنی اگر پروسهٔ مادر از بین برود همهٔ پروسه‌های دیگر نیز از بین می‌روند.

رویهٔ یک پروسه
### حافظهٔ مجازی

هستهٔ سیستم‌عامل با قابلیت حافظهٔ مجازی وظیفهٔ تأمین امنیت پروسه‌های اشغال‌شده در مموری را دارد، یعنی باید از دسترسی برنامه‌ها یا پروسه‌ها به منابع و حافظهٔ اشغال‌شده توسط پروسه‌های دیگر جلوگیری کند. به‌طور کلی اگر سیستم‌عامل قابلیت حافظهٔ مجازی داشته باشد، فضایی برای آدرس‌های پروسه‌ها و برنامه‌های در حال اجرا که آدرس مجازی نامیده می‌شود تا برنامهٔ دیگری نتواند به آن بخش از حافظه دسترسی یابد. هستهٔ سیستم‌عامل وظیفهٔ مدیریت و گرفتن آدرس‌های مجازی را دارد.

### چند وظیفه‌ای

مقاله‌های اصلی: چندوظیفگی انسانی، اطلاعات، و عاطفه
### دسترسی به دیسک

هستهٔ سیستم‌عامل از هرگونه دسترسی به نوشتن یا خواندن در دیسک جلوگیری می‌کند، بنابرین برای نوشتن فایلی (یا خواندن) تنها راه موجود استفاده از فراخوانی سیستم یا فراخوانی توابع سیستم هست، این به این معنی است تنها با فراخواندن توابعی که در هستهٔ سیستم‌عامل تعریف شده‌اند می‌توان روی دیسک نوشت یا فایلی را خواند. هرگونه خواندن یا نوشتن فایلی در حلقهٔ ۳ یا فضای کاربری توسط هستهٔ سیستم‌عامل جلوگیری می‌شود، دسترسی به دیسک تنها در حالت کرنل یا هسته ممکن است.

### سامانهٔ فایل‌بندی

هر سیستم‌عامل سامانه (های) فایل‌بندی پیش‌فرضی دارد، مثلاً ویندوز از سامانهٔ فایل‌بندی NTFS و لینوکس از EXT4 به‌طور پیش‌فرض استفاده می‌کنند.

### راه‌انداز سیستم (init)

در سیستم‌عامل‌های شبه‌یونیکس init یا اولیه‌ساز، پروسه‌ها و سرویس‌هایی که سیستم‌عامل برای راه‌اندازی به آن‌ها نیاز دارد را اجرا می‌کند مثلاً در لینوکس، برای بالا آمدن دسکتاپ گنوم نیازمند اجرای سرویس gdm است، بنابرین در انتها سرویس gdm را اجرا می‌کند. این پروسه به عنوان پروسهٔ مادر یا مادر همهٔ پروسه‌های سیستم نیز شناخته می‌شود که معمولاً شناسهٔ پروسهٔ ۱ را به همراه دارد. همچنین این پروسه تا خاموش‌شدن سیستم همچنان فعال است. در سیستم‌عامل‌های لینوکس معمولاً از سیستم راه‌انداز SystemD استفاده می‌شود.

### شبکه

مقالهٔ اصلی: شبکه رایانه‌ای
### امنیت

هستهٔ سیستم‌عامل وظیفهٔ جلوگیری از دسترسی هرگونه برنامه‌ای به سخت‌افزار را دارد. برای همین اصطلاحاً می‌گویند هستهٔ سیستم‌عامل در حلقهٔ ۰ وجود دارد، این امنیت سیستم را تا جایی فراهم می‌کند که برنامهٔ مخربی نتواند به سخت‌افزار صدمه‌ای بزند. تنها راه استفاده از برخی دسترسی‌ها به سخت‌افزار نظیر نوشتن فایل بر هارد دیسک، نیازمند فراخوانی سیستمی یا فراخوانی توابع سیستمی است.

### رابط کاربری

رابط کاربری یک سیستم‌عامل می‌تواند به دو صورت رابط کاربری گرافیکی (به انگلیسی: Graphical User Interface) یا رابط خط فرمان (به انگلیسی: Command-line interface) باشد.
سیستم‌عامل‌های مدرن از قابلیت رابط کاربری گرافیکی در کنار رابط خط فرمانی پشتیبانی می‌کنند، مانند ویندوز لینوکس، مک او.اس. سیستم‌عامل‌هایی با پشتیبانی GUI یا رابط کاربری گرافیکی یک دسکتاپ یا میزکار دارند، اما سیستم‌عامل‌هایی که تنها رابط خط فرمانی یا CLI دارند، در یک ترمینال با یک پوسته اجرا می‌شوند. رابط کاربری در واقع شیوهٔ ارتباط فضای کاربری با سیستم‌عامل است. در سیستم‌عامل‌هایی که تنها CLI دارند، شیوهٔ ارتباط با سیستم، تنها به صورت دستورهایی خاص به صورت متنی (تنها راه ورودی کیبورد هست) است و در سیستم‌عامل‌هایی با قابلیت GUI به صورت گرافیکی و راحت‌تر است.

وظایف سیستم‌عامل
----------------

سیستم‌عامل دو کار عمده انجام می‌دهد:

1. در نگرش پایین به بالا، منابع منطقی (مانند فایل‌ها) و منابع فیزیکی (مانند دستگاه‌های سخت‌افزاری) رایانه را مدیریت و کنترل می‌کند.
2. در نگرش بالا به پایین، وظیفهٔ سیستم‌عامل این است که یک ماشین توسعه‌یافته یا ماشین مجازی را به کاربران ارائه کند تا آن‌ها بتوانند آسان‌تر برنامه‌نویسی نمایند و درگیر پیچیدگی‌های سخت‌افزاری رایانه نشوند.[]

به‌طور کلی، وظایف سیستم‌عامل شامل موارد زیر است:

* استفادهٔ بهینه‌تر از منابع و جلوگیری از به هدر رفتن آن‌ها
* تخصیص و آزادسازی منابع
* ادارهٔ صف‌ها و زمان‌بندی استفاده از منابع
* حسابداری میزان استفاده از منابع
* ایجاد امنیت
* ایجاد، حذف و ادارهٔ فرایندها
* ایجاد مکانیسم‌های ارتباط بین فرایندها و همگام‌سازی آن‌ها
* مدیریت فایل‌ها و پوشه‌ها
* مدیریت حافظه‌های اصلی و جانبی
* برقراری امکان دسترسی چندتایی و اجرای هم روند فرایندها
* به اشتراک‌گذاری منابع
* تعیین راهکارهایی برای ادارهٔ بن‌بست
* جلوگیری از وضعیت رقابتی و تداخل یا در هم قفل شدن فرایندها
* جلوگیری از تداخل

سیستم‌عامل‌های کنونی
--------------------

مقالهٔ اصلی: فهرست سیستم‌عامل‌هابیشترین استفاده از سیستم‌عامل‌ها در کشورهای جهان  ویندوز  اندروید  آی او اس  اطلاعاتی موجود نیست
بین رایانه‌های شخصی در سال‌های اخیر رقابت بیشتر بین سیستم‌عامل‌های اندروید، مایکروسافت ویندوز، آی اواس، مک اواس و لینوکس جریان دارد که آماری که در ماه سپتامبر ۲۰۱۹ توسط وبگاه W3Counter به ثبت رسیده حاکی از آن است که هم‌اکنون بیش از ۱۵ درصد کاربران اینترنت از سیستم‌عامل ویندوز ۱۰ استفاده می‌کنند.

آمار موجود که مربوط به فوریهٔ ۲۰۲۰ می‌باشد به شرح زیر است:

* ویندوز ۱۰: ۱۳٫۳۹٪
* اندروید ۹: ۱۴٫۲۰٪
* ویندوز ۷: ۱۸٫۷۷٪
* آی او اس ۱۳: ۸٫۳۰٪
* اندروید 14 ۷٫۷۶٪
* اندروید ۶: ۴٫۸۴٪
* اندروید ۷: ۴٫۵۶٪
* اندروید 13: ۸٫۳۵٪
* مک اواس: ۴٫۳۱٪
* لینوکس: ۳٫۳۴٪

از سیستم‌عامل‌های مشهور رایانه‌های شخصی می‌توان به اسامی زیر اشاره کرد:

* مک او اس
* ویندوز
* لینوکس

### سیستم‌عامل‌های شرکت مایکروسافت

* مایکروسافت داس
* ویندوز ۱
* ویندوز ۲
* ویندوز ۳
* ویندوز NT 4
* ویندوز ۹۵
* ویندوز ۹۸
* ویندوز ملنیوم
* ویندوز ۲۰۰۰
* ویندوز XP
* ویندوز ویستا
* ویندوز ۷
* ویندوز ۸
* ویندوز ۱۰
* ویندوز ۱۱

### سیستم‌عامل‌های شرکت اپل

* اپل ProDOS
* مک او اس (MacOS)
* مک او اس ایکس (MacOS X/OS X)

### توزیع‌های لینوکس

* **Debian**
	+ Debian
	+ Ubuntu
	+ Kali
	+ Knoppix
* **Slackware**
	+ Slackware
	+ SuSE
* **Red hat**
	+ Fedora Core
	+ CentOS
	+ RHEL(red hat enterprise linux)
* **Enoch**
	+ Gentoo
	+ Ututo
* **Arch**
	+ Arch
	+ Manjaro
* **Tiny Core**
* **Android**

### توزیع‌های بی.اس. دی

* FuryBSD
* FreeBSD
* OpenBSD
* FreeNAS
* BSDRP

### مینیکس

* مینیکس ۳

### دیگر

* پلن ۹ از آزمایشگاه‌های بل
* هایکو
* سولاریس
* z/OS
* AmigaOS

همچنین از سیستم‌عامل‌های موجود روی گوشی‌های تلفن همراه نسل جدید می‌توان به نام‌های زیر اشاره کرد:

* انری
* اندروید
* iOS
* ویندوز موبایل
* ویندوز فون
* سیمبین
* یوآی‌کیو
* بادا
* بلک بری
* می‌گو
* پالم
* تایزن
* هارمونی اواس

جستارهای وابسته
---------------

* اختراع‌ها در ایالات متحده (۱۹۴۶–۱۹۹۱)
* فهرست سیستم‌عامل‌ها
* سیستم‌عامل شبکه
* سیستم اشتراک زمانی سازگار

یادداشت
-------

1. ↑  Application User Interface-APIs
2. ↑  Extended Machine
3. ↑  Multiaccess
4. ↑  Concurrent
5. ↑  Resource Sharing
6. ↑  Deadlock
7. ↑  Race Condition
8. ↑  Interlock
9. ↑  Starvation

منابع
-----

1. ↑  فرهنگ واژه‌های مصوّب فرهنگستان: ۱۳۷۶ تا ۱۳۸۵، بخش دوم فارسی، صفحهٔ ۳۹۸. (دانلود از فرهنگستان بایگانی‌شده در ۳ اوت ۲۰۰۹ توسط Wayback Machine)
2. ↑
3. ↑  «W3Counter: Global Web Stats - February 2020». *www.w3counter.com*. دریافت‌شده در ۲۰۲۰-۰۳-۰۸.

* آندرواس تننباوم و وودهال، *طراحی و پیاده‌سازی سیستم‌های عامل*. چاپ چهارم ویرایش دوم ۱۳۸۱.

پیوند به بیرون
--------------

|  |  |
| --- | --- |
|  | معنای ***سیستم‌عامل*** را در ویکی‌واژه، واژه‌نامهٔ آزاد، ببینید. |

|  |  |
| --- | --- |
|  | در ویکی‌انبار پرونده‌هایی دربارهٔ سیستم‌عامل موجود است. |

|  |  |
| --- | --- |
|  | Wikiversity has learning materials about ***Operating Systems*** |

* Operating Systems در کرلی
* Multics History and the history of operating systems

| * ن
* ب
* و
سیستم‌عامل |
| --- |
| اطلاعات کلی | 
* Advocacy
* Comparison
* Forensic engineering
* History
* Hobbyist development
* فهرست سیستم‌عامل‌ها
* Timeline
* Usage share

 |
| هسته (رایانش) | 

|  |  |
| --- | --- |
| معماری رایانه | 
* Exokernel
* هسته پیوندی
* ریزهسته
* هسته یکپارچه
* vkernel
* Rump kernel
* Unikernel

 |
| مولفه‌ها | 
* گرداننده دستگاه
* Loadable kernel module
* ریزهسته
* فضای کاربری

 |

 |
| مدیریت فرایند (رایانه) | 

|  |  |
| --- | --- |
| مفاهیم | 
* تعویض زمینه
* وقفه
* ارتباط بین پردازشی
* فرایند (رایانه)
* بلاک کنترل فرایند
* سیستم‌عامل بی‌درنگ
* ریسه (رایانه)
* اشتراک زمانی

 |
| زمان‌بندی (رایانه) | 
* چندکارگی (رایانه)
* Fixed-priority preemptive
* صف چندسطحی فیدبک
* قبضه‌کردن (رایانش)
* زمان‌بندی نوبت گردشی
* نخست کوتاه‌ترین کار

 |

 |
| مدیریت حافظه،محافظت از منابع | 
* Bus error
* General protection fault
* حفاظت از حافظه
* صفحه‌بندی (رایانه)
* حلقه حفاظتی
* Segmentation fault
* حافظه مجازی

 |
| دسترسی به حافظه غیرفرار،سیستم‌های فایل‌بندی | 
* راه‌اندازی (رایانه)
* یکپارچه‌سازی دیسک سخت
* فایل دستگاهی
* صفت پرونده
* آی‌نود
* فایل سیستم ژورنالی
* پارتیشن‌بندی
* سامانه پرونده مجازی
* Virtual tape library

 |
| فهرست سیستم‌عامل‌ها | 
* Acorn
	+ Arthur
	+ ARX
	+ MOS
	+ RISC iX
	+ RISC OS
* Amiga Inc.
	+ آمیگااواس
	+ AmigaOS 1.0-3.9 (Motorola 68000)
	+ AmigaOS 4 (PowerPC)
	+ Amiga Unix, a.k.a. Amix
* Amstrad
	+ AMSDOS
	+ کانتیکی
	+ SymbOS
* اندروید
* Apple Inc.
	+ اپل ۲ family
	+ اپل III
	+ Apple DOS
	+ اپل لیسا
	+ Apple SOS
	+ Apple Pascal
	+ ProDOS
	+ GS/OS
	+ GNO/ME
	+ کانتیکی
	+ مکینتاش
		- Classic Mac OS
		- اپل یونیکس
		- Copland
		- MkLinux
		- Pink
		- Rhapsody
		- مک‌اواس (formerly Mac OS X and OS X)
		- macOS Server (formerly Mac OS X Server and OS X Server)
		- سرور شبکه اپل
	+ Apple MessagePad
		- Newton OS
	+ آیفون and آی‌پاد تاچ
		- آی‌اواس (formerly iPhone OS)
	+ آی‌پد
		- آی‌پداواس
	+ اپل واچ
		- واچ اواس
	+ اپل تی‌وی
		- تی‌وی او اس
	+ داروین (سیستم‌عامل)
	+ آی‌پاد
		- آی‌پاد (unnamed embedded OS)
* A/ROSE
* Apollo Computer
	+ Domain/OS
* Atari
	+ Atari DOS
	+ Atari TOS
	+ Atari MultiTOS
* BAE Systems XTS-400
* Be Inc.
	+ بی اواس
	+ BeIA
	+ BeOS r5.1d0
* Bell Labs Non-Unix
	+ BESYS
	+ پلان ۹ از آزمایشگاه‌های بل
	+ اینفرنو)
* Burroughs Corporation
	+ Burroughs MCP
* بی‌اس‌دی
* Control Data Corporation
	+ Chippewa Operating System
	+ Kronos
	+ NOS (Network Operating System)
	+ SCOPE)
* Convergent Technologies Operating System
* Cosmos (سیستم‌عامل)
* Cromemco
	+ Cromemco DOS
	+ Cromix
* Data General
	+ AOS (for 16-bit)
	+ DG/UX
	+ RDOS (Real-time DOS)
* Datapoint (CTOS for Z-80)
* DDC-I Inc.
	+ HeartOS
* Digital Research, Inc.
	+ CP/M
	+ CP/M Plus
	+ CP/M-68K
	+ CP/M-8000
	+ CP/M-86
	+ CP/M-86 Plus
	+ Concurrent CP/M
	+ Concurrent CP/M-86
	+ Concurrent CP/M 8-16
	+ Concurrent CP/M-68K
	+ Concurrent DOS
		- Concurrent PC DOS
		- Concurrent DOS 8-16
		- Concurrent DOS 286
		- Concurrent DOS XM
		- Concurrent DOS 386
		- Concurrent DOS 386/MGE
		- Concurrent DOS 68K
	+ DR-DOS
	+ FlexOS
		- FlexOS 186
		- FlexOS 286
		- FlexOS 68K
	+ Multiuser DOS
	+ Datapac Multiuser DOS
	+ Datapac System Manager, a derivative of Datapac Multiuser DOS
	+ IMS Multiuser DOS
	+ MP/M
		- MP/M II
		- MP/M-86
		- MP/M 8-16
	+ PalmDOS 1.0
	+ Personal CP/M
* Digital Equipment Corporation
	+ Batch-11/DOS-11
	+ OS/8
	+ RSTS/E
	+ RSX-11
	+ RT-11
	+ TOPS-10
	+ TOPS-20
	+ TENEX
	+ ترو۶۴ یونیکس
	+ Ultrix
	+ OpenVMS
	+ WAITS
* داس (سیستم‌عامل)
* ENEA AB OSE
* Fujitsu Towns OS
* General Electric, Honeywell, Bull
	+ Real-Time Multiprogramming Operating System
	+ GCOS
	+ مولتیکس
* Genode
* گنو
* Google
	+ اندروید
	+ سیستم‌عامل کرومیوم
	+ کروم اواس
	+ گوبونتو
	+ گوگل فیوشا)
* Green Hills Software
	+ اینتگریتی
	+ اینتگریتی
	+ *µ-velOSity*
* هایکو (سیستم‌عامل)
* Harmony
* Heathkit, Zenith Data Systems
	+ HDOS
	+ HT-11
* Hewlett-Packard
	+ اچ‌پی-یواکس
	+ Multi-Programming Executive
* Honeywell CP-6
* Huawei Harmony OS
* Intel Corporation
	+ ISIS
* IBM
	+ Pre-360
		- BESYS
		- سیستم اشتراک زمانی سازگار
		- GM OS & GM-NAA I/O
		- IBSYS
		- SHARE Operating System
		- University of Michigan Executive System (UMES)
	+ OS/360 and successors
		- OS/360 and successors
		- ذخیره مجازی چندگانه
		- OS/390
		- Phoenix/MVS
		- زد/اواس)
	+ DOS
		- DOS/360 and successors on IBM S/360, S/370, and successor mainframes
		- BOS/360
		- TOS/360
		- DOS/VS
		- DOS/VSE
		- VSE/SP
		- VSE/ESA
		- z/VSE)
	+ VM/CMS
		- CP/CMS
		- CP-40
		- CP-67
		- VM/370
		- VM/XA
		- VM/ESA ماشین مجازی
		- z/VM)
	+ TPF line
		- Airline Control Program *ACP*
		- Transaction Processing Facility)
	+ Unix-like
		- آی‌بی‌ام ای‌آی‌اکس
		- UTS (Mainframe UNIX)
		- Linux on IBM Z
	+ Others on IBM S/360, S/370, and successor mainframes
		- TSS/360
		- MUSIC/SP
		- ORVYL and WYLBUR
	+ IBM PC
		- آی‌بی‌ام داس
		- اواس/۲
		- اواس/۲
		- eComStation)
	+ Other hardware
		- IBM Series 1
			* EDX
			* RPS
			* CPS
	+ IBM 1130 DM2
	+ IBM 1800 MPX & TSX
	+ IBM 8100
		- DPCX
		- DPPX)
	+ System 3 DMS
	+ IBM System 34, 36, 38
	+ OS/400
* illumos
* IncludeOS
* آی‌اواس
	+ هوم‌پاد
	+ آی‌پداواس
	+ تی‌وی او اس
* لینوکس
* مینیکس
* مورف اواس
* MUSIC/SP
* Nemesis
* نکست‌استپ
* NOS
* ORVYL
* اواس/۲
* OS-9
* OSv
* Pick
* QNX
* ری اکت او اس
* RISC OS
* سولاریس (سیستم‌عامل)
* Tandem
	+ NonStop
* TPF
* TRIPOS
* یونیکس
* Visi On
* VS/9
* وب او اس
* مایکروسافت ویندوز
* Xerox 500 series (530 RTB, 560)
* Xinu
* زد/اواس

 |
| مفاهیم جانبی | 
* رابط برنامه‌نویسی کاربردی
* شبکه رایانه‌ای
* لایه انتزاعی سخت‌افزاری
* لوح زنده
* یواس‌بی زنده
* پوسته (رایانه)
	+ واسط خط فرمان
	+ رابط کاربر گرافیکی
	+ واسط طبیعی کاربر
	+ واسط کاربر متن بنیان
	+ رابط کاربری صوتی
	+ ZUI
* PXE

 |

| * ن
* ب
* و
سامانه‌ها و علوم سامانه‌ها |
| --- |
| رده‌های سامانه‌ها | 
* نظریه سامانه‌ها
* علوم سامانه‌ها (مفهومی
* فیزیکی
* اجتماعی)

 |
| سامانه‌ها | 
* زیستی
* پیچیده
* انطباقی پیچیده
* مفهومی
* مدیریت پایگاه داده
* پویا
* بوم‌سازگان
* صوری
* سامانه موقعیت‌یاب جهانی
* کالبدشناسی انسان
* سامانه‌های اطلاعاتی
* سامانه‌های حقوقی جهان
* سامانه‌های اندازه‌گیری
* سامانه متریک
* سامانه چندعامله
* سامانه عصبی
* سامانه خطی
* سامانه غیرخطی
* سامانه عامل
* سامانه فیزیکی
* سامانه اقتصادی
* سامانه سیاسی
* سامانه حسی
* سامانه اجتماعی
* سامانه خورشیدی
* هنر سامانه‌ها

 |
| زمینه‌های نظری | 
* نظریه آشوب
* سامانه‌های پیچیده
* نظریه کنترل
* رایانیک
* سامانه‌های زنده
* نظریه سامانه‌های اجتماعی‌اخلاقی
* زیست‌شناسی سامانه‌ها
* پویایی‌های سامانه
* بوم‌سازگان سامانه‌ها
* مهندسی سامانه‌ها
* علم اعصاب سامانه‌ها
* روانشناسی سامانه‌ها
* علوم سامانه‌ها
* نظریه سامانه‌ها

 |
| دانشمندان سامانه‌ها | 
* راسل لینکلن اکاف
* William Ross Ashby
* بلا باناتی
* گرگوری بیتسون
* Anthony Stafford Beer
* ریچارد بلمن
* لودویگ ون برتلنفی
* Kenneth E. Boulding
* Murray Bowen
* C. West Churchman
* جرج دانتزیگ
* ادسخر دیکسترا
* Heinz von Foerster
* جی فارستر
* Charles A S Hall
* James J. Kay
* جرج کلر
* ادوارد لورنتس
* نیکلاس لومان
* Humberto Maturana
* مارگارت مید
* Donella Meadows
* Mihajlo D. Mesarovic
* James Grier Miller
* هوارد تی. اودم
* تالکوت پارسونز
* ایلیا پریگوژین
* Qian Xuesen
* Anatol Rapoport
* پیتر سنجی
* کلود شانون
* Francisco Varela
* Kevin Warwick
* نوربرت وینر
* Anthony Wilden

 |
|  رده‌ها | 
* سامانه‌ها
	+ مفهومی
	+ فیزیکی
	+ اجتماعی
* دانش سامانه

 |

| * ن
* ب
* و
علوم رایانه |
| --- |
| Note: This template roughly follows the 2012 ACM Computing Classification System. |
| سخت‌افزار | 
* برد مدار چاپی
* دستگاه جانبی
* مدار مجتمع
* یکپارچه‌سازی کلان‌مقیاس
* سامانه روی یک تراشه
* رایانش سبز
* خودکارسازی طراحی الکترونیکی
* شتاب‌دهنده سخت‌افزاری

 |
| سازمانسامانه‌های رایانه | 
* معماری رایانه
* سامانه نهفته
* رایانش بی‌درنگ
* اطمینان‌پذیری

 |
| شبکه رایانه‌ای | 
* معماری شبکه
* پروتکل ارتباطات
* سخت‌افزار شبکه
* برنامه‌ریز شبکه
* کارایی شبکه رایانه‌ای
* سرویس شبکه‌ای

 |
| سازمان نرم‌افزار | 
* مفسر
* میان‌افزار
* ماشین مجازی
* سیستم‌عامل
* کیفیت نرم‌افزار

 |
| نظریه زبان‌های برنامه‌نویسیو ابزار توسعه نرم‌افزار | 
* الگو برنامه‌نویسی
* زبان برنامه‌نویسی
* کامپایلر
* زبان خاص دامنه
* زبان مدل‌سازی
* چارچوب نرم‌افزاری
* محیط یکپارچه توسعه نرم‌افزار
* مدیریت پیکربندی نرم‌افزار
* کتابخانه (رایانه)
* مخزن نرم‌افزاری

 |
| توسعه نرم‌افزار | 
* فرایند توسعه نرم‌افزار
* تحلیل نیازمندی‌ها
* طراحی نرم‌افزار
* ساخت نرم‌افزار
* استقرار نرم‌افزار
* تعمیر و نگهداری نرم‌افزار
* تیم برنامه‌نویسی
* نرم‌افزار متن‌باز
* برنامه‌نویسی
* آزمون نرم‌افزار

 |
| نظریه محاسبات | 
* مدل محاسبه
* زبان صوری
* نظریه اتوماتا
* نظریه رایانش‌پذیری
* نظریه پیچیدگی محاسباتی
* منطق در علوم کامپیوتر
* معنی‌شناسی (علوم رایانه)

 |
| الگوریتمها | 
* الگوریتم
* تحلیل الگوریتم‌ها
* کارایی الگوریتمی
* الگوریتم‌های تصادفی
* هندسه محاسباتی

 |
| ریاضیاترایانه | 
* ریاضیات گسسته
* احتمالات
* آمار
* نرم‌افزار ریاضی
* نظریه اطلاعات
* آنالیز ریاضی
* آنالیز عددی

 |
| سامانه اطلاعاتی | 
* پایگاه داده
* ذخیره‌سازی داده رایانه
* سامانه اطلاعات سازمانی
* نرم‌افزار اجتماعی
* سامانه اطلاعات جغرافیایی
* سامانه پشتیبانی تصمیم
* کنترل فرایند
* پایگاه داده چند رسانه‌ای
* داده‌کاوی
* کتابخانه دیجیتال
* سکوی رایانش
* بازاریابی اینترنتی
* وب جهان‌گستر
* بازیابی اطلاعات
* مستندسازی فنی

 |
| امنیت رایانه | 
* رمزنگاری
* روش‌های صوری
* خدمات امنیتی
* سامانه تشخیص نفوذ
* خرابی سخت‌افزار
* امنیت شبکه
* امنیت اطلاعات
* امنیت برنامه

 |
| تعامل انسان و رایانه | 
* طراحی تعاملی
* رایانش اجتماعی
* رایانش فراگیر
* مصورسازی
* دسترس‌پذیری رایانه
* واسط‌های کاربر
* رایانش پوشیدنی

 |
| همروندی | 
* رایانش همزمان
* رایانش موازی
* رایانش توزیع‌شده
* چندریسمانی
* چندپردازشی

 |
| هوش مصنوعی | 
* پردازش زبان‌های طبیعی
* بازنمود دانش
* بینایی رایانه‌ای
* برنامه‌ریزی خودکار
* بهینه‌سازی
* نظریه کنترل
* فلسفه هوش مصنوعی
* هوش مصنوعی توزیع شده
* استدلال خودکار
* زبان‌شناسی رایانشی
* یادگیری ماشین

 |
| یادگیری ماشین | 
* یادگیری با نظارت
* یادگیری بی‌نظارت
* یادگیری تقویتی
* یادگیری چند-وظیفه‌ای
* روش اعتبارسنجی متقابل

 |
| گرافیک رایانه‌ای | 
* پویانمایی رایانه‌ای
* رندرینگ (گرافیک رایانه‌ای)
* روتوش
* واحد پردازش گرافیکی
* واقعیت ترکیبی
* واقعیت مجازی
* فشرده‌سازی تصویر
* مدلسازی جامد

 |
| رایانشکاربردی | 
* تجارت الکترونیک
* نرم‌افزار سازمانی
* ریاضیات محاسباتی
* فیزیک محاسباتی
* شیمی محاسباتی
* زیست‌شناسی محاسباتی
* علوم اجتماعی محاسباتی
* مهندسی و علم محاسبه
* انفورماتیک پزشکی
* هنر دیجیتال
* نشر الکترونیک
* جنگ مجازی
* رأی‌گیری الکترونیکی
* بازی ویدئویی
* واژه‌پرداز
* تحقیق در عملیات
* فناوری آموزشی
* سامانه مدیریت اسناد

 |
| توجه: بنا بر سامانه رده‌بندی رایانش ای‌سی‌ام علم رایانه همچنین می‌تواند به موضوع‌ها یا زمینه‌های گوناگون تقسیم شود.
* **کتاب:علوم رایانه**
* **رده:علوم رایانه**
* **طرح کلی علوم رایانه**
* **ویکی‌پدیا:ویکی‌پروژه علوم رایانه**
* **ویکی‌انبار**
 |

| داده‌های کتابخانه‌ای ویرایش در ویکی‌داده |
| --- |
| کتابخانه‌های ملی | 
* فرانسه (داده‌ها)
* آلمان
* اسرائیل
* ایالات متحده آمریکا
* ژاپن
* جمهوری چک

 |
| سایر | 
* کاربرد چندوجهی اصطلاحات موضوعی

 |

[[ر
ده:سیستم‌عامل‌ها]]