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

تاریخچه
-------

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

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

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

عیب صفحه
--------

زمانی که یک برنامه سعی می‌کند تا به صفحه‌ای دسترسی پیدا کند که در حافظه اصلی موجود نیست پردازنده این ارجاع نامعتبر به حافظه را یک عیب صفحه می‌شمارد و کنترل از دست برنامه خارج شده و به پردازنده داده می‌شود. پردازنده باید:

1. محل داده را روی دیسک مشخص کند.
2. یک قاب خالی برای جای دادن صفحه در حافظه اصلی بدست آورد تا به عنوان محفظه برای داده عمل کند.
3. داده مدنظر را داخل قاب موجود بارگذاری کند.
4. جدول صفحه‌بندی را به‌روز کند تا ارجاع درست به قاب جدید در آن قرار بگیرد.
5. کنترل را به برنامه‌ای که قبلاً از آن کنترل را گرفته بود برگرداند و دستوری را که باعث ایجاد عیب صفحه شده بود را مجدد اجرا کند.

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

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

روش‌های جایگزینی صفحه
---------------------

### صفحه‌بندی بر حسب نیاز

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

### صفحه‌بندی رضایت بخش

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

### صف صفحات آزاد، دزدی و بازپس‌گیری

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

### پیش تمیزکاری

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

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

اشتراک‌گذاری
------------

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

### پیاده‌سازی در یونیکس و شبه یونیکس

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

### پیاده‌سازی در لینوکس

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

عملکرد
------

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

* لینوکس پارامترهایی را در /proc/sys/vm/swappiness ارائه می‌کند که زمان مبادله به خارج و آزادسازی صفحات را تعیین می‌کنند.
* حافظه‌های فلش نیز به عنوان دستگاهی برای مبادله استفاده می‌شوند. این نوع حافظه سرعت بیشتری از دیسک فیزیکی دارد و نسبت به حافظه اصلی ثبات بیشتری دارد اما محدودیت چرخه نوشتن و خواندن دارد یعنی اگر تحت فشار زیاد مبادلات باشند زود از از بین می‌روند.

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

### فضای مبادله

سازندگان سیستم‌های عامل معمولاً فضای مورد نیاز برای مبادله را پیشنهاد می‌کنند.

محدودیت آدرس دهی در سخت‌افزار ۳۲بیتی
------------------------------------

صفحه‌بندی این اجازه را به یک پردازه می‌دهد که بتواند فضای موجود برای آدرس مجازی و منطقی را به شکلی آدرس دهی و استفاده کند که وابسته به محدودیت آدرس فیزیکی که همان حافظه اصلیست نباشد.

### حافظه اصلی از مجازی کوچکتر باشد

در اکثر سیستم‌ها حافظه مجازی بیشتر از حافظه اصلیست. در بعضی سیستم‌ها مانند اکثر کامپیوترهای کاربری عادی مانند کامپیوترهایی که قطعه پردازنده آن‌ها فقط ۲۴ پایه آدرس دهی متصل دارد و محدودیت آدرس دهی برای حافظه اصلی وجود دارد و نمی‌توان بیش از ۱۶ مگابایت را آدرس دهی کرد.

بعضی اوقات بیشینه مقدار حافظه اصلی را نمی‌توان نصب کرد به دلیل هزینه بالا یا اینکه مفید نخواهد بود.

بعضی اوقات آدرس‌های داخلی برای ورودی/خروجی استفاده می‌شود و نمی‌توان تمام آن را به حافظه اصلی اختصاص داد.

### حافظه اصلی هم اندازه حافظه مجازی

کامپیوتری با آدرس دهی n بیت می‌تواند ۲ به توان n بیت را آدرس دهی کند. مثلاً پردازنده‌هایی با معماری‌های ۳۲ بیتی می‌توانند تمامی ۴ گیگ از حافظه را آدرس بدهند.

در این موارد صفحه‌بندی می‌تواند برای آدرس دهی بیش از ۴ گیگ استفاده شود. مثلاً وقتی چندین برنامه هم‌زمان استفاده می‌شوند که ممکن است با هم بیش از ۴ گیگ را مصرف کنند که لزومی ندارد تمامی این مقدار در حافظه اصلی باشد. یک سیستم صفحه‌بندی مشخص می‌کند که کدام صفحات به دیسک مبادله شوند. با وجود این که در سیستم مذکور آدرس دهی محدود به ۴ گیگ هست سیستم عامل می‌تواند با استفاده از سیستم صفحه‌بندی و فایل مبادله بیش از ۴ گیگ را آدرس بدهد که این اندازه این فایل‌ها بنا به نیاز تغییر می‌کند.

### حافظه اصلی بزرگتر از حافظه مجازی

در این موارد سیستم نمی‌تواند بیش از حد آدرس مجازی قابل دسترسی از حافظه استفاده کند. صفحه‌بندی در این سیستم‌ها به دلایل زیر انجام می‌شود:

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

ابعاد حافظه مجازی تجمعی هنوز توسط حافظه ثانویه قابل دسترسی محدود می‌شود.

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

* الگوریتم‌های جایگزینی صفحه

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

1. ↑  secondary memory
2. ↑  main memory
3. ↑  virtual memory
4. ↑  physical memory
5. ↑  swiping
6. ↑  swap out
7. ↑  swap in
8. ↑  overlay
9. ↑  fragmentation
10. ↑  Ferranti
11. ↑  Atlas
12. ↑  contiguous
13. ↑  page fault
14. ↑  frame
15. ↑  page replacement algorithm
16. ↑  performance
17. ↑  Last Recently Used(LRU)
18. ↑  working set
19. ↑  demand paging
20. ↑  Anticipatory paging
21. ↑  locality of reference
22. ↑  Free page queue, stealing, and reclamation
23. ↑  Pre-cleaning
24. ↑  responsiveness
25. ↑  multi-user
26. ↑  partition
27. ↑  swap partition
28. ↑  cache
29. ↑  Red Hat
30. ↑  seek
31. ↑  mounted
32. ↑  swap backends
33. ↑  Round Robin
34. ↑  cumulative virtual address space

منابع
-----

* مشارکت‌کنندگان ویکی‌پدیا. «Paging». در *دانشنامهٔ ویکی‌پدیای انگلیسی*.

| * ن
* ب
* و
مدیریت حافظه |
| --- |
| تنظیم دستی حافظه | delete (سی++)  •  اختصاص حافظه پویا در سی  •  new (سی++) •  اختصاص حافظه ایستا |
| حافظه مجازی | صفحه  •  صفحه‌بندی نیازی  •  جدول حافظه  •  صفحه‌بندی |
| سخت‌افزار | واحد مدیریت حافظه  •  تی‌ال‌بی |
| بازیافت حافظه | زباله‌روب بوهم  •  خاتمه‌گر  •  زباله  •  Mark-compact algorithm  •  مرجع شماری  •  ارجاع قوی  •  ارجاع ضعیف |
| تقسیم حافظه | قطعه‌بندی حافظه در ایکس۸۶ •  مد ۸۰۸۶ مجازی •  مد حقیقی •  مد حفاظت شده •  مد غیر حقیقی •  مد مدیریت سامانه •  مد طویل |
| ایمنی حافظه | سرریز حوضچه ورودی  •  اشاره‌گر آویزان  •  سرریز پشته |
| مشکلات | تکه‌تکه شدن •  کمبود حافظه •  حافظه غیر قابل دسترس |
| موارد دیگر | متغیر اتوماتیک •  International Symposium on Memory Management •  مدیریت حافظه مبتنی بر ناحیه |

| * ن
* ب
* و
سیستم‌عامل |
| --- |
| اطلاعات کلی | 
* 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

 |