**پلان ۹ از آزمایشگاه‌های بل** (به انگلیسی: Plan 9 from Bell Labs) یا به اختصار **Plan 9**، یک سیستم‌عامل توزیع شده است که به صورت نرم‌افزار آزاد منتشر می‌شود. این سیستم‌عامل از اواسط دهه ۱۹۸۰ میلادی تا ۲۰۰۲ در مرکز تحقیقات علوم رایانه در آزمایشگاه‌های بل و برای اهداف پژوهشی و تحقیقاتی و به عنوان جانشینی برای یونیکس توسعه داده شد. پلان ۹ برای حل و فصل کردن ناتوانی‌های یونیکس و هسته آن در انجام برخی کارها نظیر رایانش توزیع‌شده، فضای نام‌های توزیع‌شده و فایل‌سیستم‌های توزیع‌شده، طراحی شد. توسعه و استفاده از این سیستم‌عامل همچنان توسط محققین سیستم‌عامل و همینطور علاقه‌مندان ادامه دارد. پلان ۹ ویژگی‌های جدیدی دارد که از جمله آن‌ها می‌توان به پروتکل 9p که برای دسترسی به فایل‌های موجود بر روی رایانهٔ محلی و همینطور فایل‌های موجود بر روی رایانه‌های راه دور مورد استفاده قرار می‌گیرد، مونت‌های یونیونی، یک سیستم فایل proc بهینه شده و همینطور پشتیبانی بومی از یونیکد در سرتاسر سیستم اشاره کرد. در پلان ۹، همه رابط‌های سیستمی، از جمله رابط‌های مرتبط با شبکه و همینطور رابط‌های کاربری، به جای داشتن یک رابط مخصوص و ویژه، از طریق سیستم فایل در دسترس هستند. نام سیستم‌عامل پلان ۹ از آزمایشگاه‌های بل، از فیلمی به نام طرح شماره ۹ بیرون از فضا به کارگردانی اد وود گرفته شده‌است. همینطور، احتمالاً نام گلندا، خرگوش پلان ۹ هم از فیلم دیگر وود به نام گلن یا گلندا گرفته شده‌است.

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

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

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

یک جامعه کاربری و توسعه‌دهندگان که شامل اعضای قبلی و فعلی آزمایشگاه‌های بل و همینطور کارکنان مؤسسه فناوری ماساچوست می‌شود، همچنین این سیستم‌عامل را توسعه می‌دهند و انتشارهای جزئی را به صورت روزانه و در قالب فایل‌های iso منتشر می‌کنند. آزمایشگاه‌های بل همچنان میزبان توسعه‌دهندگان است. درخت کدهای منبع این سیستم‌عامل از طریق پروتکل‌های 9P و HTTP در دسترس است و از آن برای بروزرسانی کردن نسخه‌های در حال حاضر نصب شده استفاده می‌شود. علاوه بر عناصری که به صورت رسمی در فایل‌های iso گنجانده شده‌اند، آزمایش‌گاه‌های بل هم مخزنی از نرم‌افزارها و ابزارهایی که به صورت خارجی برای این سیستم‌عامل توسعه داده شده‌اند را هم میزبانی می‌کند.

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

مفاهیم طراحی
------------

پلان ۹ مفاهیم طراحی یونیکس را تکامل بخشیده است:

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

پروتکل 9P
---------

برخلاف یونیکس، پلان ۹ برای انجام ارتباطات بین-فرایندی و بین-رایانه‌ای، از سوکت‌های برکلی استفاده نمی‌کند. به منظور کاهش دادن تعداد فراخوان‌های سیستمی و رابط‌های سفارشی‌شده، در پلان ۹ به‌طور گسترده‌ای از پروتکل 9P استفاده شده‌است. 9P یک پروتکل بایت‌گرا مستقل از رسانه که به منظور رد و بدل کردن پیغام‌ها بین یک سرویس‌دهنده و یک سرویس‌گیرنده طراحی شده‌است. این برنامه برای مراجعه کردن و برقرار کردن ارتباط با فرایندها، برنامه‌ها و داده‌ها، هم در رابط کاربری و هم در شبکه مورد استفاده قرار می‌گیرد. با منتشر شدن ویرایش چهارم، نام این پروتکل به 9P2000 تغییر یافت.

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

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

ساختار یونیون دایرکتوری پلان ۹ الهام‌بخش فایل سیستم یونیونی در لینوکس و بی‌اس‌دی بوده‌است.

فضای نام‌ها و مونت‌ها یونیونی
-----------------------------

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

با استفاده از دستور bind می‌توان یک دایرکتوری یونیونی ایجاد کرد:

```
; bind /arm/bin /bin
; bind -a /usr/inferno/Plan9/arm/bin /bin
; bind -b /usr/alice/bin /bin

```

در مثال بالا، ‎/arm/bin در مسیر ‎/bin مونت شده است، محتوای ‎/arm/bin جانشین محتوای قبلی ‎/bin می‌شوند. دایرکتوری bin اینفرنو پس از ‎/bin به صورت یونیونی مونت شده‌است و دایرکتوری bin شخصی آلیس هم قبل از آن. وقتی که از ‎/bin فایلی درخواست می‌شود، ابتدا در ‎/usr/alice/bin برای پیدا کردن آن جستجو می‌شود، سپس در ‎/arm/bin و در نهایت در ‎/usr/inferno/Plan9/arm/bin.

### فایل سیستم‌های مجازی خاص‌منظوره

/proc
پلان ۹ به جای فراهم کردن تعدادی فراخوان سیستمی مختص مدیریت فرایندها، فایل سیستم ‎/proc را فراهم کرده‌است. هر فرایند یک دایرکتوری مخصوص به خود در فایل سیستم /proc دارد که این دایرکتوری حاوی اطلاعات و فایل‌های کنترلی مرتبط با آن فرایند است که می‌توان آن‌ها را از طریق فراخوان‌های سیستمی معمول مرتبط با ورودی/خروجی فایل‌ها تغییر داد و کنترل کرد.

این رویکرد فایل‌سیستمی به فرایندهای پلان ۹ اجازه می‌دهد تا با ابزارهای ساده مدیریت فایل همانند ls و cat، مدیریت شوند، با این حال فرایندها را نمی‌توان همانند فایل‌ها جابجا کرد.

/net
پلان ۹ فاقد فراخوان‌های سیستمی خاص‌منظوره برای دسترسی به پشته شبکه یا سخت‌افزارهای مرتبط با شبکه است. به جای این فراخوان‌های سیستمی، از فایل سیستم ‎/net استفاده می‌شود. ارتباطات شبکه با خواندن و نوشتن پیام‌های کنترلی در فایل‌های موجود در این دایرکتوری، کنترل می‌شوند. این دایرکتوری حاوی تعدادی زیردایکتوری از جمله ‎/net/tcp و ‎/net/udp است که به ترتیب رابط‌هایی برای پروتکل‌های TCP و UDP هستند. پلان ۹ فاقد یک پیاده‌سازی قدرمتند از TCP/IP است و همینطور پروتکل IPv6 هم در آن پیاده‌سازی نشده.

یونیکد
برای کاهش دادن پیچیدگی مدیریت کردن کدبندی‌های نویسه، در سرتاسر سیستم پلان ۹ از یونیکد استفاده شده‌است. پیاده‌سازی اولیه یونیکد ISO 10646 بود، کن تامسون UTF-8 را ابداع کرد که تبدیل به کدبندی بومی در پلان ۹ شده‌است.

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

مفاهیم مربوط به طراحی و ترکیب کردن اجزا
---------------------------------------

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

برنامه‌های پلان ۹
-----------------

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

از مزایای طراحی پلان ۹ این است که بیشتر کارها با استفاده از ابزارهای ls, cat, grep, cp و rm به همراه پوسته آرسی (پوسته پیشفرض در پلان ۹) قابل انجام است.

### برنامه‌های گرافیکی

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

سیستم ذخیره‌سازی
----------------

پلان ۹ از فایل‌سیستم‌های FOSSIL و FAT پشتیبانی می‌کند. سیستم‌فایل FOSSIL در آزمایشگاه‌های بل به صورت اختصاصی برای پلان ۹ نوشته شده‌است و از قابلیت تصاویر لحظه‌ای پشتیبانی می‌کند.

سازگاری با یونیکس
-----------------

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

تأثیر
-----

پلان ۹ ثابت کرده‌است که این اصل یونیکس که هر رابط سیستمی می‌تواند با استفاده از مجموعه‌ای از فایل‌ها نمایش یابد را می‌توان در یک سیستم‌عامل توزیع‌شده مدرن با موفقیت پیاده‌سازی کرد. برخی از قابلیت‌های پلان ۹ از جمله کدبندی UTF-8 یونیکد، در دیگر سیستم‌عامل‌ها هم پیاده‌سازی شده‌اند. برخی از سیستم‌عامل‌های شبه یونیکسی نظیر لینوکس، پورتکل 9P، سیستم فایل پلان ۹، و شکل‌های محدودی از فراخوان‌های سیستمی مشابه rfork را پیاده‌سازی کرده‌اند. بعلاوه، در پلان ۹ از فضای کاربری، تعدادی از نرم‌افزارها و ابزارهای پلان ۹ از جمله ویرایشگرها سام و اکمه به یونیکس و سیستم‌های لینوکسی پورت شده‌اند و تا حدی محبوبیت کسب کرده‌اند. چندین پروژه بدنبال این هستند که برنامه‌های سیستم‌عامل گنو که به همراه هسته لینوکس استفاده می‌شوند را با برنامه‌های پلان ۹ جایگزین کنند. مدیر پنجره 9wm از ۸½ الهام‌گرفته شده‌است که سیستم پنجره‌ای قدیمی پلان ۹ بود. wmii هم به شکل گسترده‌ای متاثر از پلان ۹ است. با این حال محبوبیت پلان ۹ هیچگاه به اندازه محبوبیت یونیکس نرسید و عمدتاً به صورت یک سیستم‌عامل تحقیقاتی باقی ماند.

با این حال، پلان ۹ هیچگاه نتوانست محبوبت لینوکس را بدست آورد و بیشتر به صورت یک ابزار تحقیقاتی باقی ماند:

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

-- اریک ریموند
از جمله دیگر فاکتورهایی که بر استقبال کم از پلان ۹ مؤثر بوده‌اند، می‌توان به نداشتن پشتیبانی تجاری، تعداد کم برنامه‌های کاربردی برای استفاده توسط کاربر نهایی، و عدم وجود گرداننده‌های دستگاه اشاره کرد.

طرفداران و توسعه‌دهندگان پلان ۹ ادعا می‌کنند که مشکلاتی که مانع محبوبیت پلان ۹ می‌شد، حل شده‌اند، اهداف اصلی آن به عنوان یک سیستم توزیع‌شده، محیط توسعه، و سکوی تحقیقاتی، همگی برآورده شده‌اند و همینطور این سیستم از محبوبیت میانه، اما رو به رشدی برخوردار است. چندین پروژه وجود دارند که به صورت فعالانه‌ای در تلاش هستند تا پلان ۹ را گسترش دهند که از جمله آن‌ها می‌توان به 9atom و 9front اشاره کرد. این انشعاب‌های نرم‌افزاری، با نرم‌افزارها و درایورهای سخت‌افزاری بیشتر از جمله nupas، کامپایلر go، پشتیبانی از سیستم کنترل نسخه مرکوریال و برنامه‌های دیگر، پلان ۹ را گسترش و بهبود داده‌اند. همچنین پلان ۹ به رایانه تک‌بردی رزبری پای هم پورت شده‌است.

پروانه
------

از ویرایش چهارم که در آوریل ۲۰۰۲ منتشر شد، تمام کدهای منبع پلان ۹ تحت پروانه همگانی لوسنت نسخه ۱٫۰۲ در دسترس هستند. این پروانه توسط موسسه پیشگامان متن‌باز به عنوان یک نرم‌افزار متن‌باز و همچنین توسط بنیاد نرم‌افزارهای آزاد به عنوان یک نرم‌افزار آزاد شناخته شده‌است و همچنین با رهنمودهای نرم‌افزار آزاد دبیان سازگار است.

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

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

* درگاه نرم‌افزار آزاد

* مقایسه سیستم‌عامل‌های متن‌باز
* گلندا، خرگوش پلان ۹

منابع
-----

مشارکت‌کنندگان ویکی‌پدیا. «Plan 9 from Bell Labs». در *دانشنامهٔ ویکی‌پدیای انگلیسی*، بازبینی‌شده در ۱۰ ژوئیه ۲۰۱۳.

| * ن
* ب
* و
کن تامسون |
| --- |
| سیستم‌عامل‌ها | 
* یونیکس
* پلان ۹ از آزمایشگاه‌های بل

 |
| زبان‌های برنامه‌نویسی | 
* بی
* زبان برنامه‌نویسی بون
* گو

 |
| نرم‌افزار | 
* بل (ماشین شطرنج)
* اد
* سام (ویرایشگر متن)
* سفر فضایی
* تامسون شل

 |
| دیگر | 
* یوتی‌اف-۸

 |

| * ن
* ب
* و
نرم‌افزار آزاد و متن‌باز |
| --- |
| عمومی | کپی‌لفت ·  رویدادها ·  نرم‌افزار آزاد ·  تعریف نرم‌افزار آزاد ·  مجانی در مقابل آزاد ·  فهرست بسته‌های نرم‌افزاری آزاد و متن باز ·  نرم‌افزار متن‌باز |
| خانواده‌هایسیستم‌عامل | AROS ·  بی‌اس‌دی ·  کانتیکی ·  داروین ·  eCos ·  فری‌داس ·  گنو ·  هایکو ·  اینفرنو ·  لینوکس ·  ماک ·  مینیکس ·  اپن‌سولاریس ·  پلان ۹ از آزمایشگاه‌های بل ·  ری‌اکت‌اواس ·  TUD:OS |
| توسعه | اکلیپس ·  فری بیسیک ·  پاسکال آزاد ·  جی‌سی‌سی ·  جاوا ·  ال‌ال‌وی‌ام ·  لوا ·  نت‌بینز ·  ۶۴ باز ·  پرل ·  پی‌اج‌پی ·  پایتون ·  رز ·  روبی ·  تی‌سی‌ال |
| تاریخچه | گنو · هایکو · تاریخچه لینوکس ·  موزیلا (تاریخچه مجموعه کاربردی موزیلا ·  فایرفاکس ·  تاندربیرد) |
| سازمان‌ها | بنیاد نرم‌افزار آپاچی ·  اندروید ·  بنیاد بلندر ·  بنیاد اکلیپس ·  بنیاد فری‌بی‌اس‌دی ·  بنیاد اپن‌بی‌اس‌دی ·  بنیاد نت‌بی‌اس‌دی ·  میزکار آزاد. اوارجی ·  بنیاد نرم‌افزار آزاد (اروپا ·  هند · آمریکای لاتین) ·  جنبش نرم‌افزار آزاد هند · بنیاد گنوم ·  پروژه گنو ·  گوگل کد · کی‌دی‌ئی ئی. وی. ·  بنیاد لینوکس ·  بنیاد موزیلا ·  بنیاد فضا زمین متن‌باز ·  پیشگامان متن‌باز · سورس‌فرج ·  بنیاد سیمبیان ·  بنیاد اکس‌ای‌پی‌اف. اوارجی ·  بنیاد استانداردهای اکس‌ام‌پی‌پی ·  بنیاد اکس. اوارجی ·  بنیاد نرم‌افزار پایتون |
| پروانه‌ها | آپاچی ·  بوست ·  اجازه‌نامه هنری ·  بی‌اس‌دی ·  گنو جی‌پی‌ال ·  گنو ال‌جی‌پی‌ال ·  آی‌اس‌سی ·  ام‌آی‌تی ·  پروانه همگانی موزیلا ·  اجازه‌نامه‌های اشتراکی ·  زدلیب ·  پروانه همگانی اکلیپس ·  فهرست نرم‌افزارهای آزاد تأیید شده ·  مالکیت عمومی |
| استانداردهای اجازه‌نامه | تعریف نرم‌افزار آزاد ·  رهنمودهای نرم‌افزار آزاد دبیان |
| چالش‌ها | لکه دودویی ·  مدیریت حقوق دیجیتال ·  سخت‌افزار گرافیکی و اف‌اواس ·  License proliferation ·  Mozilla software rebranding ·  نرم‌افزار مالکیتی ·  اختلافات اس‌سی‌او لینوکس ·  امنیت ·  ثبت نرم‌افزار ·  محدودیت‌های سخت‌افزاری ·  محاسبات موتمن ·  اجازه‌نامهٔ ویروسی |
| موضوع‌های دیگر | عبارت‌های جایگزین ·  انجمن ·  توزیع لینوکس ·  انشعاب ·  جنبش نرم‌افزار آزاد ·  پیمان متن‌باز نمودن مشخصات مایکروسافت ·  *انقلاب اواس* ·  مقایسه با متن‌بسته |

| * ن
* ب
* و
یونیکس و سیستم‌عامل‌های شبه یونیکس |
| --- |
| 
* اچ‌پی-یواکس
* A/UX
* IBM AIX
* بی‌اس‌دی (۳۸۶بی‌اس‌دی
* دراگون‌فلای بی‌اس‌دی
* فری‌بی‌اس‌دی
* اوپن‌بی‌اس‌دی
* نت‌بی‌اس‌دی
* بیشتر)
* مینیکس
* گنو
* لینوکس
* LynxOS
* نکسنتا اواس
* نکست‌استپ
* داروین (سیستم‌عامل)
* اواس ده
* پلان ۹ از آزمایشگاه‌های بل
* اینفرنو
* QNX
* ریسرچ یونیکس
* SCO OpenServer
* سان‌اواس
* سولاریس (سیستم‌عامل)
* illumos
* سیلابل دسکتاپ
* سیستم پنج یونیکس
* ایریکس
* ترو۶۴ یونیکس
* Ultrix
* UnixWare
* زنیکس
* xv6
* *بیشتر...*

 |
| بدون واسط خط فرمان | 
* اندروید (سیستم عامل)
* بلک‌بری ۱۰
* آی‌اواس

 |
| 
* **رده:یونیکس**
* **انبار**
* **کتاب**

 |

| * ن
* ب
* و
نرم‌افزار آزاد و متن‌باز |
| --- |
| عمومی | کپی‌لفت ·  رویدادها ·  نرم‌افزار آزاد ·  تعریف نرم‌افزار آزاد ·  مجانی در مقابل آزاد ·  فهرست بسته‌های نرم‌افزاری آزاد و متن باز ·  نرم‌افزار متن‌باز |
| خانواده‌هایسیستم‌عامل | AROS ·  بی‌اس‌دی ·  کانتیکی ·  داروین ·  eCos ·  فری‌داس ·  گنو ·  هایکو ·  اینفرنو ·  لینوکس ·  ماک ·  مینیکس ·  اپن‌سولاریس ·  پلان ۹ از آزمایشگاه‌های بل ·  ری‌اکت‌اواس ·  TUD:OS |
| توسعه | اکلیپس ·  فری بیسیک ·  پاسکال آزاد ·  جی‌سی‌سی ·  جاوا ·  ال‌ال‌وی‌ام ·  لوا ·  نت‌بینز ·  ۶۴ باز ·  پرل ·  پی‌اج‌پی ·  پایتون ·  رز ·  روبی ·  تی‌سی‌ال |
| تاریخچه | گنو · هایکو · تاریخچه لینوکس ·  موزیلا (تاریخچه مجموعه کاربردی موزیلا ·  فایرفاکس ·  تاندربیرد) |
| سازمان‌ها | بنیاد نرم‌افزار آپاچی ·  اندروید ·  بنیاد بلندر ·  بنیاد اکلیپس ·  بنیاد فری‌بی‌اس‌دی ·  بنیاد اپن‌بی‌اس‌دی ·  بنیاد نت‌بی‌اس‌دی ·  میزکار آزاد. اوارجی ·  بنیاد نرم‌افزار آزاد (اروپا ·  هند · آمریکای لاتین) ·  جنبش نرم‌افزار آزاد هند · بنیاد گنوم ·  پروژه گنو ·  گوگل کد · کی‌دی‌ئی ئی. وی. ·  بنیاد لینوکس ·  بنیاد موزیلا ·  بنیاد فضا زمین متن‌باز ·  پیشگامان متن‌باز · سورس‌فرج ·  بنیاد سیمبیان ·  بنیاد اکس‌ای‌پی‌اف. اوارجی ·  بنیاد استانداردهای اکس‌ام‌پی‌پی ·  بنیاد اکس. اوارجی ·  بنیاد نرم‌افزار پایتون |
| پروانه‌ها | آپاچی ·  بوست ·  اجازه‌نامه هنری ·  بی‌اس‌دی ·  گنو جی‌پی‌ال ·  گنو ال‌جی‌پی‌ال ·  آی‌اس‌سی ·  ام‌آی‌تی ·  پروانه همگانی موزیلا ·  اجازه‌نامه‌های اشتراکی ·  زدلیب ·  پروانه همگانی اکلیپس ·  فهرست نرم‌افزارهای آزاد تأیید شده ·  مالکیت عمومی |
| استانداردهای اجازه‌نامه | تعریف نرم‌افزار آزاد ·  رهنمودهای نرم‌افزار آزاد دبیان |
| چالش‌ها | لکه دودویی ·  مدیریت حقوق دیجیتال ·  سخت‌افزار گرافیکی و اف‌اواس ·  License proliferation ·  Mozilla software rebranding ·  نرم‌افزار مالکیتی ·  اختلافات اس‌سی‌او لینوکس ·  امنیت ·  ثبت نرم‌افزار ·  محدودیت‌های سخت‌افزاری ·  محاسبات موتمن ·  اجازه‌نامهٔ ویروسی |
| موضوع‌های دیگر | عبارت‌های جایگزین ·  انجمن ·  توزیع لینوکس ·  انشعاب ·  جنبش نرم‌افزار آزاد ·  پیمان متن‌باز نمودن مشخصات مایکروسافت ·  *انقلاب اواس* ·  مقایسه با متن‌بسته |

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

 |