سیستم عامل یونیکس و لینوکس چه تفاوتهایی دارند؟
یونیکس
از این زمان شمار فراوانی از شرکت‌های بازرگانی نیز از یونیکس برای کارهای بازرگانی خود بهره می‌جویند و نسخه‌های بازرگانی یونیکس هم به بازار می‌آیند که از این گروه می‌توان پخش‌های زیر را نام برد. گذشته از سیستم عامل‌هایی که موسسهٔ اپن گروپ، آن‌ها را کاملاً سازگار با مشخصات یونیکس یکتا دانسته، سیستم عامل‌های فراوانی عرضه شده‌اند که اگرچه استانداردهای لازم را فراهم آورده‌اند اما با نام شبه یونیکس آوازه دارند. ویرایش‌های پرشمار سیستم عامل متن باز لینوکس از این دسته‌اند. همچنین سیستم عامل نکست‌ستپ (NextStep) که بر مبنای بی‌اس‌دی دانشگاه برکلی پدید آمد، خود پایهٔ سیستم عامل مک اُ. اس (Mac OS X) شرکت اپل شد. اپل آی. اُ. اس (iOS) را نیز بر پایهٔ مک اُ. اس گسترش داد. بسیاری از سیستم‌عامل‌های دیگر مانند اُربیت (Orbis) که بر روی پلی استیشن چهار ارائه می‌شود نیز بر مبنای یکی از انواع سیستم عامل بی‌اس‌دی گسترش یافته‌اند. ECos
طراحی این سیستم عامل برای سیستم‌هایی بوده که حافظه در سطح چند ده یا چند صد کیلوبایت دارند. این سیستم عامل می‌تواند با حافظه تصادفی کمتر از دو مگابایت نیز کار کند، در حالی که هسته لینوکس در فضای کمتر از این قادر به کار نیست.
یونیکس
یونیکس (با علامت تجاری UNIX) یک سیستم‌عامل چند کاربره با قابلیت چندکارگی است که توسعه آن در سال ۱۹۶۹ به دست گروهی از کارمندان آزمایشگاه‌های بل متعلق به شرکت تلفن و تلگراف آمریکا (.AT&T Corp) آغاز شد. اعضای این گروه کن تامسون، دنیس ریچی، برایان کرنیگان، داگلاس مکیلروی مایکل لسک و جو اوسانا بودند. یونیکس در آغاز به زبان اسمبلی نوشته شد اما در سال ۱۹۷۳ به‌طور کلی به زبان سی بازنویسی شد، که این کار توسعه یونیکس و پورت کردن آن به دیگر platform (سکو)ها را ساده‌تر می‌کرد. یونیکس در ابتدا برای استفاده در بل سیستم در نظر گرفته شد ولی از اواخر دهه ۷۰ .AT&T Corp مجوز یونیکس را به طرف‌های بیرونی مختلفی داد که منجر به گونه‌های آکادمیک و تجاری از یونیکس شد، مانند BSD از دانشگاه کالیفرنیا، برکلی، AIX از آی‌بی‌ام، SunOS/سولاریس از سان مایکروسیستمز و زنیکس از مایکروسافت. شرکت تلفن و تلگراف آمریکا در ابتدای دهه ۹۰ حقوق خود در یونیکس را به شرکت نوول فروخت که نوول هم تجارت یونیکس را به شرکت سانتا کروز اوپریشن در سال ۱۹۹۵ فروخت؛ ولی نشان تجاری یونیکس در اختیار اوپن گروپ که یک کنسرسیوم استانداردهای تجاری است قرار گرفت و این گروه این نشان را به نام خود ثبت کرده‌است. تنها سیستم‌هایی که به صورت کامل با مشخصات یونیکس یکتا سازگار باشند و مبلغی پول به کنسرسیوم اوپن گروپ بپردازند، واجد شرایط استفاده از نام یونیکس هستند. دیگر سیستم‌ها می‌توانند شبه یونیکس نامیده شوند، هرچند که مؤسسه اوپن گروپ این نام را رد کرده‌است. معماری یونیکس
سیستم عامل یونیکس از ویژگی‌ها و قابلیت‌های زیر پشتیبانی می‌کند: هسته لینوکس
انواع خاصی از هسته لینوکس وجود دارد که قابلیت‌های اضافی را ارائه می‌دهند اما به خط اصلی هسته لینوکس تعلق ندارند. چنین انواع هسته لینوکس شامل Linux-libre , Compute Node Linux , Cooperative Linux , Longene , grsecurance , INK , L4Linux , MkLinux, RTLinux و User-Mode Linux (UML) است. برخی از این انواع تا حدی در خط اصلی ادغام شده‌اند. برخی از سیستم عامل‌های توسعه یافته برای تلفن‌های همراه در ابتدا از نسخه‌های بسیار تغییر یافته هسته لینوکس استفاده می‌کردند، از جمله Google Android , Firefox OS , HP webOS , Nokia Maemo و Jolla Sailfish OS. در سال ۲۰۱۰، جامعه هسته لینوکس از Google به دلیل شروع مؤثر درخت هسته خود انتقاد کرد:این بدان معنی است که هر درایوری که برای سیستم عامل‌های سخت‌افزاری اندرویدی نوشته شده‌است، نمی‌تواند در درخت اصلی هسته ادغام شود، زیرا آنها به کدی وابسته هستند که فقط در درخت هسته گوگل زندگی می‌کند، و باعث عدم موفقیت آن در ساخت درخت kernel.org می‌شود. به همین دلیل، گوگل اکنون مانع از ادغام تعداد زیادی از درایورهای سخت‌افزاری و کد پلتفرم در درخت اصلی هسته شده‌است. به‌طور مؤثر ایجاد یک شاخه هسته که تعدادی از فروشندگان مختلف اکنون به آن اعتماد دارند. Toor (یونیکس)
در یونیکس، رسم است که فایل‌سیستم ریشه، (/) تا حد امکان کوچک نگه داشته شود و برنامه‌های بزرگ و داده‌هایی که به سرعت در حال تغییر هستند، به دیگر قسمت‌های سیستم مانند /sur منتقل شوند. به این ترتیب، در صورت به وجود آمدن یک اشکال برای سیستم، احتمال اینکه کل سیستم غیرقابل استفاده شود، پایین می‌آید. همینطور وقتی که سیستمی دچار مشکل می‌شود، در حداقل‌ترین حالت کاربر ریشه باید قادر باشد به سیستم وارد شده و اشکالات آن را حل کند. حساب کاربری ریشه نباید به چیزهایی که در بیرون از فایل‌سیستم ریشه قرار دارند، وابسته باشد. چرا که در صورتی که برای مثال، پوسته این حساب کاربری در سیستم‌فایل /usr قرار داشته باشد و این سیستم‌فایل هم بر اثر ایجاد یک اشکال غیرقابل دسترس باشد، کاربر ریشه نمی‌تواند به سیستم وارد شود، چرا که پوسته آن در سیستم‌فایلی قرار گرفته که هم‌اکنون غیرقابل دسترس است. برای حل این مشکل، معمولاً یک پوسته کوچک، کارا و قابل اطمینان به این حساب کاربری اختصاص داده می‌شود که در همان سیستم‌فایل ریشه (/) قرار دارد. اما این پوسته ساده، برای انجام کارهای عادی و روزمره خیلی مناسب نیست، چرا که اکثر قابلیت‌ها در آن گنجانده نشده‌است و کاربران در هنگام کار با آن احساس راحتی نمی‌کنند. داکر
داکر تا حدی شبیه به ماشین مجازی (Virtual Machine) است با این تفاوت که در ماشین مجازی، قسمتی از سخت‌افزار سیستم به ماشین مجازی اختصاص داده می‌شود و روی آن یک سیستم‌عامل کامل نظیر ویندوز یا لینوکس نصب می‌شود. در واقع می‌توان گفت در ماشین مجازی امکانات سخت‌افزاری سیستم تقسیم می‌شود و بر روی هر قسمت، سیستم‌عامل بخصوصی بالا می‌آید اما در داکر این طور نیست. در داکر امکانات سخت‌افزاری به تناسب نیاز هر کانتینر به صورت موقت اختصاص داده می‌شود و داکر این امکان را فراهم می‌آورد که اپلیکیشن‌ها برای مثال روی کرنل لینوکس اجرا شوند. در این حالت دیگر نیازی به نصب پیش‌نیازها و نیازمندی‌هایی که اپلیکیشن ما می‌خواهد و به طور پیش‌فرض روی سیستم وجود ندارد، نیست. مینیکس
مینیکس یک سیستم‌عامل از ردهٔ سیستم‌عامل‌های شبه‌یونیکس است که معماری نرم‌افزار آن بر پایهٔ طراحی به‌صورت ریزهسته می‌باشد. اندرو تننبام این سیستم‌عامل را برای اهداف آموزشی برنامه‌نویسی کرد که بعدها هسته لینوکس با الهام از مینیکس به‌وجود آمد. کلمه مینیکس از ترکیب دو کلمه «مینی» و «یونیکس» گرفته شده‌است. Dd (یونیکس)
ساختار کلی این فرمان با بیشتر فرمان‌های یونیکس متفاوت است. این تفاوت از این نظراست که معمولاً در یونیکس شما پارامترها یا سوئیچ‌های دستور را مستقیماً وارد می‌کنید و برنامه مرتبط با آن دستور، خود متوجه می‌شود که سوئیچ مربوطه باید چه تغییری را در روند اجرای عادی برنامه اعمال کند. در حالیکه فرمان dd سوئیچ‌ها و پارامترهایش را به صورت ترکیب «متغیر = مقدار» دریافت می‌نماید. به صورت پیش فرض، درگاه ورودی این فرمان STDIN و درگاه خروجی آن، STDOUT است، اما توسط سوئیچ‌های if و of می‌توان آن‌ها را تغییر داد. dd if=FILE of=FILE ibs=BYTES obs=BYTES bs=BYTES cbs=BYTES skip=BLOCKS seek=BLOCKS count=BLOCKS status=noxfer توضیحات: شبکه محلی
در همین دوران ایستگاه‌های کاری (Workstation) (رایانه‌های) مبتنی بر سیستم‌عامل یونیکس (Unix) از فروشندگانی مانند شرکت‌های سان مایکروسیستمز (Sun Microsystems)، هیولت پکارد (Hewlett Packard)، سیلیکن گرافیکز (Silicon Graphics)، اینترگراف (Intergraph)، نکست (NeXT) و آپلو (Apollo) از شبکه‌سازی مبتنی بر قرارداد مجموعه پروتکل اینترنت استفاده می‌کردند. اگرچه اعضای این گروه از شرکت‌های تجاری که به تولید چنین محصولی می‌پرداختند کمتر شده‌اند، ولی ادامه یافتن توسعه فناوری در این زمینه، بر روی اینترنت و همچنین دو سیستم‌عامل لینوکس (Linux) و اواس ده محصول شرکت اپل (Apple) تأثیر گذاشت و امروزه قرارداد TCP/IP تقریباً به‌طور کامل جایگزین قراردادهای تبادل بسته بین‌شبکه‌ای، AppleTalk، NBF و دیگر قراردادهایی که در شبکه‌های محلی اولیه رایانه‌های شخصی به کار می‌رفت شده‌است. جنگ یونیکس‌ها
طی سال‌های ۱۹۹۲ تا ۱۹۹۴ که بی‌اس‌دی درگیر یک دادگاه با AT&T بر سر مالکیت کدهای موجود در بی‌اس‌دی بود، سیستم‌عامل تقریباً کامل گنو با گنجاندن هسته لینوکس به یک سیستم‌عامل قابل استفاده تبدیل شد که به کل آن عمدتاً «سیستم‌عامل لینوکس» گفته می‌شد. این سیستم برای پرهیز از مشکلات قانونی، تماماً از ابتدا نوشته شده بود. سیستم‌های لینوکس سعی در سازگاری با استاندارد پازیکس را دارند. Init
init کوتاه‌شدهٔ "Initialization"، نام برنامه یا پروسه‌ای در سیستم عامل‌های کامپیوتری مبتنی بر یونیکس است که تمام پروسه‌های دیگر را ایجاد می‌کند و بالا می‌آورد. این برنامه به صورت یک دیمن (سرویس) و معمولاً با PID 1 اجرا می‌شود. بارگذار بوت، هسته را شروع می‌کند و هسته init را شروع می‌کند. اگر init را بدون جایگزین کردنش حذف کنید، سیستم در ریبوت بعدی با «هشدار هسته» مواجه می‌شود. init است که تعیین می‌کند کامپیوتر چگونه کار می‌کند و آن را هدایت می‌کند، پس بدون چنین برنامه‌ریزی‌ای توسط init، سیستم نمی‌داند چه‌کار کند. یونیکس
علاوه بر یونیکس‌های تأیید شده که اسامی بعضی از آن‌ها ذکر شد، سیستم‌عامل‌هایی هم وجود دارند که شبه یونیکس نامیده می‌شوند مانند مینیکس، نوادگان بی‌اس‌دی مانند فری‌بی‌اس‌دی, نت‌بی‌اس‌دی، اپن‌بی‌اس‌دی، دراگون‌فلی‌بی‌اس‌دی و لینوکس. این سیستم‌ها با آن که با استانداردهای یونیکس کاملاً یا کمابیش سازگار هستند، اما توسط مؤسسه اپن گروپ تأیید نشده‌اند و حق استفاده از نام Unix را ندارند. اصطلاح "یونیکس سنتی" ممکن است برای توصیف سیستم‌عامل‌هایی که مشخصات و ویژگی‌های نسخه ۷ یونیکس یا نسخه ۵ یونیکس را دارند، استفاده شود. هنگامی که کن تامسون هنوز به مولتیکس دسترسی داشت، شبیه‌سازهایی برای سیستم صفحه‌بندی و فایل سیستم نوشت. او همچنین یک بازی رایانه‌ای به نام سفر فضایی نوشت، اما این بازی برای اجرا شدن به یک ماشین کارامدتر و ارزان‌تر احتیاج داشت و سرانجام او یک پی‌دی‌پی-۷ کم‌استفاده در آزمایشگاه‌های بل پیدا کرد. در سال ۱۹۶۹ تیمی به رهبری تامسون و ریچی، بر روی این ماشین پی‌دی‌پی-۷ یک سیستم فایل سلسله مراتبی، مفاهیم فرایند و فایل دستگاه، یک مفسر خط فرمان و تعدادی برنامه کوچک دیگر نوشتند. مقایسه لینوکس و ویندوز
این مقاله به مقایسه گنو/لینوکس و مایکروسافت ویندوز می‌پردازد. گنو/لینوکس آزاد و متن‌باز است و مایکروسافت ویندوز سیستم‌عاملی تجاری و متن بسته محصول شرکت مایکروسافت است. ایکس‌باکس لینوکس
ایکس باکس لینوکس پروژه ای بود که سیستم عامل لینوکس را به کنسول بازی ویدئویی ایکس باکس منتقل کرد. از آنجایی که ایکس باکس از یک سیستم امضای دیجیتال برای جلوگیری از اجرای کدهای بدون امضا توسط عموم استفاده می کند، باید از یک مودچیپ یا یک نرم افزار استفاده کرد . در اصل، modchips تنها گزینه بود. با این حال، بعداً نشان داده شد که تراشه TSOP که بایوس Xbox روی آن قرار دارد ممکن است دوباره فلش شود. به این ترتیب، می توانید روی بایوس "کرامول " که به طور قانونی توسط پروژه لینوکس ایکس باکس توسعه یافته است، فلش بزنید. با یک جایزه نقدی بزرگ برای اولین تیمی که امکان راه‌اندازی لینوکس را در ایکس‌باکس بدون نیاز به هک سخت‌افزاری فراهم می‌کرد، هک‌های فقط نرم‌افزاری متعددی نیز پیدا شد. به عنوان مثال، یک سرریز بافر در بازی "" که اجازه بوت شدن یک لودر لینوکس ("xbeboot") را مستقیماً از یک بازی ذخیره می کرد. Toor (یونیکس)
به این ترتیب، دو حساب ریشه یکسان در سیستم وجود دارد. یکی کاربر root که دارای یک پوسته ساده است و برای مواقع اورژانسی کنار گذاشته شده و کاربران نباید پوسته آن را تغییر دهند، و دیگری کاربر toor که مدیران سیستم مجاز هستند تا پوسته آن را تغییر دهند و به این ترتیب راحت‌تر از سیستم استفاده کنند. همچنین برعکس این کار هم امکان‌پذیر است؛ به کاربر toor یک پوسته ساده که در (/) قرار دارد اختصاص داده شود و به کاربر root هم یک پوسته پیشرفته‌تر که در /usr قرار دارد اختصاص داده شود. دنیل رابینز
چیز دیگری که دانیل را به لینوکس متمایل می‌کرد سیستم‌فایل یواف‌اس فری‌بی‌اس‌دی بود که هرچند از ext2 لینوکس قابل اعتمادتر بود اما بسیار کند عمل می‌کرد و حتی با برخی به‌روزرسانی‌های نرم‌افزاری هم به سختی به ext2 می‌رسید. اما با آمدن لینوکس ۲٫۴ و سیستم‌فایل ReiserFS, ext3، JFS و XFS لینوکس کاملاً پیشی گرفت. مقایسه لینوکس و ویندوز
تشخیص تعداد کاربران این دو سیستم‌عامل روی رایانه‌های شخصی میسّر نیست؛ چراکه کاربر گنو/لینوکس پس از نصب نیازی به رجیسترکردن ندارد واطلاعاتی از سیستم آن‌ها ثبت نمی‌شود به همین علت آمار رسمی از تعداد کاربران گنو/لینوکس موجود نیست. از طرفی بسیاری از کاربران ویندوز به صورت غیرقانونی از ویندوز استفاده می‌کنند و با این که اطلاعاتی ازها ثبت می‌شود در درست بودن آن یقین نیست و تعداد آن‌ها هم قابل اندازه‌گیری نیست؛ بنابراین آمار تعداد کاربران این دو سیستم‌عامل از روش‌های غیردقیق دیگر تخمین زده می‌شود که البته بسیاری آن‌ها را غیر معتبر می‌دانند. هسته لینوکس
لینوکس به سرعت بعنوان هسته سیستم عامل GNU پذیرفته شد، که به عنوان یک نرم‌افزار متن باز و نرم‌افزار آزاد ایجاد شده بود، و براساس UNIX بعنوان محصول فرعی از جنگ یونیکس‌ها استفاده شد. از آن زمان، تعداد گسترده‌ای از توزیع سیستم عامل، که معمولاً به آن لینوکس نیز گفته می‌شود، ایجاد شده‌است، اگرچه، به‌طور رسمی، اصطلاح «لینوکس» فقط به هسته اشاره دارد. لینوکس لایت
هدف این سیستم‌عامل گسترش توسعه سیستم عاملی کاربر دوستانه و با گرافیک و قابلیت های بالا و البته کم حجم است.این سیستم عامل معمولاً برای کسانی که از ویندوز، می خواهند لینوکس را تجربه کنند ساخته شده. مقایسه لینوکس و ویندوز
این دو سیستم‌عامل در اهداف، هزینه، سهم بازار، امنیت و تنوع، به‌کل متفاوت هستند و هریک نقاط ضعف و قوت خاص خود را دارند و با هم در رقابت‌اند. برای نمونه در سال ۲۰۰۲ اظهار داشت بیل گیتس صرفاً برای مبارزه با لینوکس ۴۲۱٬۰۰۰٬۰۰۰ دلار هزینه کرد. از معدود بررسی‌های آکادمیک از دیدگاه علم مدیریت دربارهٔ اینکه کدام یک نهایتاً بر دیگری غلبه پیدا خواهد کرد توسط و رامون کاسادسوس-ماسانل در سال ۲۰۰۵ انجام شد. ایشان مزیت اصلی گنو/لینوکس — و اساساً هر نرم‌افزار آزادی — را در این می‌دانند که چون کد منبع در اختیار جامعهٔ کاربری‌است و می‌توانند مستیقماً آن را مطابق میل و نیاز جامعهٔ کاربری این سیستم‌عامل تغییر دهند، چرخهٔ توسعهٔ گنو/لینوکس به‌مراتب کوتاه‌تر است. آن‌ها این ویژگی پروژه‌های نرم‌افزاری آزاد را «» نام‌گذاری می‌کنند و طرفداران نرم‌افزارهای آزاد مدعی‌اند که همین، برای کنار زدن ویندوز کافی‌است. به علاوه مهندسان نرم‌افزار هم می‌گویند معماری نسبتاً بهتر اغلب پروژه‌های نرم‌افزاری آزاد احتمال موفقیت آن‌ها را افزایش می‌دهد. گماوات و کاسادسوس-ماسانل عیب اصلی گنو/لینوکس نسبت به ویندوز را در سهم بازار می‌دانند و می‌گویند ارزش یک سیستم‌عامل تا اندازهٔ زیادی به تعداد کاربران آن نیز بستگی دارد و نتیجهٔ نهایی بالابودن تعداد کاربران یک سیستم‌عامل، بالارفتن ارزش آن است و افزون بر این، هرچه تعداد کاربران بیشتر باشد بازخوردها پیرامون باگ‌ها و قابلیت‌های جدید بیشتر خواهد بود. آن‌ها این دو مزیت را (demand-side learning گنو/لینوکس، و سهم بازار بیشتر ویندوز) عوامل اصلی رقابت در نظر می‌گیرند و با مدل‌سازی اقتصادی، نتایجی می‌گیرند: نتیجهٔ اصلی این که بدون درنظرگیری اختلاف بسیار زیاد در هزینه‌ها، تا زمانی که سهم بازار ویندوز در این حد است، گنو/لینوکس نخواهد توانست آن را کنار بزند و داشتن demand-side learning کافی نخواهد بود؛ (البته تا تاریخ سال ۲۰۱۸ میلادی این اختلاف سهم باعث نگرانی زیادی برای ویندوز شده به گونیی که سعیی بسیار در آزاد و متن باز کردن محصولات خود نموده) اما در حالت‌هایی گنو/لینوکس می‌تواند مایکروسافت را از بازار خارج کند: دولت‌هایی هستند که از گنو/لینوکس حمایت می‌کنند و برای گسترش آن در سازمان‌هایشان متعهد شده‌اند. شرکت‌های بزرگی مانند IBM نیز با هدف کاستن از قدرت مایکروسافت، از گنو/لینوکس حمایت می‌کنند. گماوات و کاسادسوس-ماسانل این‌ها را «خریداران استراتژیک» می‌نامند و می‌گویند در صورت حضور «خریداران استراتژیک» و با داشتن demand-side learning، گنو/لینوکس خواهد توانست ویندوز را شکست دهد بزرگترین ضعف لینوکس نداشتن شریک تجاری در ساختن رایانه با سیستم عامل لینوکس و کمک مالی است که به همین دلیل بعضی افراد با استفاده از ماشین مجازی یا VMسیستم عامل لینوکس را تجربه کردند در بخش بازی نیز با اینکه بازی های مشهور معمول برای ویندوز می ایند اما به نظر میاد لینوکس بتواند خود را به سرعت به ویندوز برساند به دلیل متن باز بودن هسته لینوکس
نسخه ۱٫۰ هسته لینوکس در ۱۴ مارس ۱۹۹۴ منتشر شد. این نسخه از هسته لینوکس تنها از سیستم‌های رایانه ای مبتنی بر تک پردازنده i386 پشتیبانی می‌کند. قابلیت حمل و نقل دغدغه ای شد و به همین ترتیب نسخه ۱٫۲ (منتشر شده در ۷ مارس ۱۹۹۵) پشتیبانی از سیستم‌های رایانه ای با استفاده از پردازنده‌های مبتنی بر معماری Alpha , SPARC و MIPS را بدست آورد. هسته لینوکس
لینوکس یکی از پراستفاده‌ترین کرنل‌های سیستم‌عامل در جهان است، که سیستم عامل گنو/لینوکس مبتنی بر آن بوده و با تعدادی میان افزار (Firmware) تحت پروانه‌های غیر آزاد گوناگون منتشر می‌شود. هسته لینوکس
در ۱۹ ژانویه ۱۹۹۲، اولین پست به گروه جدید اخبار alt.os.linux ارسال شد. در تاریخ ۳۱ مارس ۱۹۹۲، گروه خبری به comp.os.linux تغییر نام داد. این واقعیت که لینوکس یک هسته یکپارچه است و نه یک ریزگرد، موضوع بحث و گفتگو بین اندرو S. Tanenbaum، خالق MINIX و Torvalds بود. این بحث به عنوان بحث Tanenbaum-Torvalds شناخته می‌شود و در سال ۱۹۹۲ در گروه بحث Usenet comp.os.minix به عنوان یک بحث کلی در مورد لینوکس و معماری هسته آغاز شد. مقایسه لینوکس و ویندوز
علاقه مندان سیستم عامل‌های لینوکس ادعا میکنند که لینوکس امن تر از ویندوز است. این ادعا تا حدودی درست است، امااین به خاطر که هسته لینوکس امن تر از ویندوز نیست . بلکه ویندوز بیشتر مستعد حمله است. هکرها دوست دارند به نرم‌افزارهایی که بیشتر مورد استفاده است، حمله کنند. زیرا کاربران کامپیوترهای شخصی، بیشتر از ویندوز استفاده می‌کنند. اما لینوکس به علت اوپن سورس بودن و مشارکت تعداد افراد زیاد رفع برای رفع اسیب پذیری ها قابلیت های امنیت قابل قبولی دارد حتی بعضی سیستم عامل های بر پایه لینوکس برای امنیت کاربران سیستم عامل مخصوص امنیت میسازند پس لینوکس برتری متوسط تا زیاد دارد که حتی طرفدار سرسخت ویندوز نیز تا حدی نباید با این ضعف ویندوز چشم پوشی کند اما استفاده کنندگان لینوکس تقریبا نیاز به انتی ویروس نداشت اما در سال2020 -2021 به علت هجوم بدافزار های نیاز به انتی ویروس داره و تقویت امنیت کرنل لینوکس در کرنل 5.12 و 5.13 و احتمالن 5.14 احساس نیاز میشود اما هنوز به خوبی توانسته امنیت را به خوبی حفظ کند مهم ترین ترین فاکتور برای امنیت، زمانی خودش را نشان می‍دهد که نوبت به میزبانی وب شما می‌رسد. مطمئن شوید که شرکت میزبانی شما قابلیت‌های امنیتی بالایی دارد. یک شرکت هاستینگ خوب، تمام تلاشش را می‌کند تا از وب سایت شما در مقابل حمله هکرها محافظت کند. دایرکتوری ریشه
در سیستم‌عامل‌های یونیکس و شبه یونیکس، یک دایرکتوری به نام /root وجود دارد که نباید آن را با دایرکتوری ریشه اشتباه گرفت. در یونیکس، دایرکتوری ریشه با نماد / مشخص می‌شود و شاخه /root در حقیقت یکی از زیرشاخه‌های دایرکتوری ریشه است و دایرکتوری خانگی کاربر ریشه محسوب می‌شود. Systemd
systemd یک سیستم init است که توسط برخی توزیع‌های لینوکس برای خودآماده‌سازی فضای کاربر و همچنین مدیریت همه پروسه‌ها بعد از خود است. این سیستم جایگزین یونیکس سیستم‌وی یا سیستم BSD init است. حرف d در systemd از کلمه daemon در سیستم‌های یونیکس گرفته شده. این نرم‌افزار تحت پروانه عمومی همگانی گنو انتشار یافته. یکی از هدف‌های systemd، متحد کردن تنظیمات پایه‌ای لینوکس و رفتار سرویس‌ها در میان همه توزیع‌ها است. توزیع لینوکس
در آغاز کاربران به‌عنوان معادلی برای ام‌اس‌داس و سیستم‌عامل ویندوز مایکروسافت، به سمت توزیع‌های لینوکس جذب شدند. اکثر استفاده‌کنندگان اولیه، در سر کارشان یا در مدرسه با یونیکس آشنا بودند. آن‌ها لینوکس را به دلیل پایدار بودنش، هزینهٔ پایین و موجود بودن کد سورس اکثر نرم‌افزارهای آن پذیرفتند. توزیع‌ها در آغاز به‌طور ساده برای کمک بودند، اما امروزه تبدیل به انتخاب معمول شده‌اند. حتی برای کاربران حرفه‌ای یونیکس و لینوکس. تا این تاریخ، لینوکس محبوبیت خودش را بیشتر در بازار سرورها ثابت کرده، به‌طور اصولی برای سرورهای وب و پایگاه داده (هم‌چنین نگاهی بیندازید به LAMP)، تا در بازار دسکتاپ. هسته لینوکس
اولاً به دلیل تعامل هسته با فضای کاربری و سخت‌افزار و در مرحله دوم کشف و رفع اشکالات لینوکس بسیار دشوار است، و دوم اینکه به دلیل دلایل گسترده‌تری از دلایلی است که می‌تواند بر برنامه‌های کاربر تأثیر بگذارد. چند نمونه از دلایل اساسی عبارتند از: خطاهای معنایی در کد، استفاده نادرست از ابتدای همگام سازی و مدیریت نادرست سخت‌افزار. سیستم‌عامل ابررایانه
در اوایل دهه ۱۹۹۰، تغییرات عمده ای در نرم‌افزار سیستم ابر رایانه در حال رخ دادن بود.در این زمان، استفاده روزافزون از یونیکس تغییراتی در نحوه مشاهده نرم‌افزار سیستم ایجاد کرده بود. استفاده از یک زبان سطح بالا (C) برای پیاده‌سازی سیستم عامل، و اتکا به رابط‌های استاندارد در تضاد با رویکردهای زبان اسمبلی گذشته بود.همان‌طور که فروشندگان سخت‌افزار یونیکس را با سیستم‌های خود تطبیق می‌دادند، ویژگی‌های جدید و مفیدی نیز به یونیکس اضافه می‌شد، به عنوان مثال سیستم‌های فایلی سریع و برنامه‌ریزهای فرایند قابل تنظیم. با این حال، تمام شرکت‌هایی که یونیکس را اقتباس کردند، به جای همکاری در یک استاندارد صنعتی برای ایجاد «یونیکس برای ابر رایانه ها»، تغییرات منحصر به فردی در آن ایجاد کردند. این امر تا حدی به این دلیل بود که تفاوت در معماری آنها این تغییرات را برای بهینه‌سازی یونیکس برای هر معماری ایجاب می‌کرد. هسته لینوکس
استانداردهای مربوط با هدف دستیابی به قابلیت تغییر کد منبع برنامه‌های کاربر، که توسعه هسته لینوکس، کتابخانه GNU C و برنامه‌های مرتبط با آن سعی در رعایت آن دارند، مشخصات POSIX و Single UNIX هستند. لینوکس
آن زمان بیشتر ابزارهای پروژه گنو که با زبان برنامه‌نویسی سی و اسمبلی نوشته شده بود آماده کار بود و تنها یک هسته سیستم‌عامل مناسب و آزاد، کم بود. حتی سیستم‌عامل مینیکس نیز با وجود در دسترس بودن کد منبع آن، آزاد نبود و حق نشر مخصوص داشت. کار در پروژه گنو به سمت طراحی یک هسته مناسب متمرکز می‌شد اما به نظر می‌رسید که برای ایجاد این هسته حداقل چند سال دیگر زمان نیاز است. این تأخیر برای لینوس توروالدز قابل تحمل نبود. بنابراین خودش دست به کار شد و با الهام از کد مینیکس کار را آغاز کرد. سرانجام در ۲۵ اوت سال ۱۹۹۱ در ساعت ۲۰:۵۷ (به وقت گرینویچ) پیامی تاریخی به گروه خبری comp.os.minix از طرف لینوس توروالدز ارسال شد. او یک دانشجوی فنلاندی بود که آن زمان در دانشگاه هلسینکی درس می‌خواند. لینوکس
لینوکس می‌تواند سخت‌افزارهای مختلفی از جمله انواع مختلف تلفن همراه، تبلت، مسیریاب، و کنسول بازی تا رایانه‌های رومیزی، رایانه‌های بزرگ و ابررایانه‌ها و رایانه‌های تک‌ بردی (SBC) را پشتیبانی ‌کند. لینوکس از ابتدا
لینوکس از پایه یا LFS یک گونه برپایی لینوکس و نام یک کتاب است که به وسیلهٔ Gerard Beekmans و دیگران نوشته شده‌است. این کتاب به خوانندگان دستورالعمل‌های روش ساخت یک سیستم لینوکس از منبع را آموزش می‌دهند. کتاب به صورت رایگان از سایت لینوکس از پایه در دسترس است و در حال حاضر نسخه ۷٫۷ کتاب منتشر شده‌است. لینوکس از پایه راهی برای برپایی سیستم لینوکس به وسیلهٔ ساخت همه اجزای آن به صورت دستی است. طبیعی است این یک فرایند طولانی‌تر از نصب یک توزیع لینوکس از پیش کامپایل شده‌است. به گفته سایت لینوکس از پایه مزایای این روش یک لینوکس جمع‌وجور و انعطاف‌پذیر و امن است و درک بیشتری از فعالیت‌های داخلی یک سیستم‌عامل مبتنی بر لینوکس به دست می‌آید. برای اینکه لینوکس از پایه را کوچک و متمرکز نگه دارند کتاب فراتر از لینوکس از پایه یا BLFS ایجاد شد که دستور العمل چگونگی توسعه بیشتر سیستم پایه لینوکسی که به وسیلهٔ لینوکس از پایه ایجاد شده را آموزش می‌دهد. این کتاب خواننده را به وسیلهٔ افزودن پشتیبانی شبکه، سیستم پنجره ایکس، صدا، چاپگر، و اسکنر معرفی و هدایت می‌کند. از نسخه ۵٫۰ کتاب فراتر از لینوکس از پایه با نسخه کتاب لینوکس از پایه هماهنگ شد. فهرست سیستم‌عامل‌ها
سیستم عامل یونیکس در طول سال شاخه‌های زیادی داشته‌است. این بخش شامل سیستم عامل‌هایی است که از نظر حقوقی و برنامه‌نویسی می‌توانند یک Unix خوانده شوند. (با Unix-Like اشتباه نشود.) لینوکس
در اصل، لینوکس پایین ‌ترین سطح اجزای نرم‌ افزاری یک سیستم به‌شمار می‌رود و اگر این بخش آسیب ببیند بقیه نرم‌افزارها هم قادر به استفاده نخواهند بود. از وظایف هسته، آن است که منابع سیستم را به برنامه‌های دیگر موجود در سیستم متصل می‌کند. لینوکس بیشتر برای کارهای امنیتی و نفوذ استفاده می شود. اچ‌پی-یواکس
اچ‌پی-یواکس (برگرفته از عبارت Hewlett-Packard UniX) یک سیستم‌عامل انحصاری است که توسط شرکت هیولت-پکرد توسعه می‌یابد. این سیستم‌عامل مبتنی بر سیستم پنج یونیکس است و از جمله چهار سیستم‌عامل انحصاری است که از اوپن‌گروپ گواهی سازگاری با استاندارد UNIX 03 دریافت کرده‌است و قانوناً می‌تواند یک «یونیکس» نامیده شود. اولین نسخه این سیستم‌عامل در سال ۱۹۸۴ منتشر شد و توسعه آن همچنان ادامه دارد. نسخه‌های اخیر این سیستم‌عامل از سری سیستم‌های رایانه‌ای HP 9000 که مبتنی بر معماری PA-RISC و همینطور از سیستم‌های HP Integrity که مبتنی بر معماری ایتانیوم شرکت اینتل هستند پشتیبانی می‌کند. HP-UX اولین سیستم‌عاملی بوده که از لیست‌های کنترل دسترسی برای کنترل دسترسی به فایل‌ها و دایرکتوری‌ها در عوض مجوزهای سنتی یونیکس پشتیبانی می‌کرد. همچنین در بین سیستم‌عامل‌های یونیکسی و شبه یونیکسی، HP-UX اولین سیستم‌عاملی بود که یک logical volume manager توکار داشت. HP شراکت طولانی‌مدتی با وریتاس سافتور داشت و سیستم‌فایل VxFS را به عنوان سیستم‌فایل اصلی در HP-UX گنجانده است. نسخه ۸ یونیکس
ویرایش ۸ یونیکس یا نسخه ۸ یونیکس یکی از نسخه‌های سیستم‌عامل یونیکس تحقیقاتی بود که در آزمایشگاه‌های بل و چند دانشگاه دیگر به صورت داخلی توسعه داده شده و استفاده می‌شد. این نسخه در فوریه ۱۹۸۵ منتشر شد و بر روی سخت‌افزار وکس اجرا می‌شد. این نسخه در اصل یکی از گونه‌های ۴٫۱سی‌بی‌اس‌دی بود و همچنین برخی از ویژگی‌های خود (بویژه پوسته) را هم از سیستم ۵ گرفته بود. از این نسخه بیشتر به خاطر کتابخانه عبارات باقاعده‌اش یاد می‌شود که بعدها توسط هنری اسپنسر بازنویسی شد و از طریق یوزنت توزیع شد. تا قبل از توسعه استاندارد پازیکس، نسخه ۸ به صورت استاندارد دوفاکتو برای سینتکس عبارات باقاعده و همچنین رابط‌های برنامه‌نویسی سی درآمده بود. همچنین مکانیسم ورودی/خروجی مبتنی بر جریان، سیستم فایل /proc، پشتیبانی از دایرکتیوهای مفسر در هسته و چند ویژگی دیگر هم در این نسخه معرفی شد. واسط کاربری پیشفرض در نسخه‌های قبل از ۸ ترمینال‌های متنی ساده بودند، اما واسط کاربری اصلی در نسخه ۸ ترمینال گرافیکی بلیت بود. از این نسخه همچنین یک سیستم فایل شبکه داشت که دسترسی به کل فایل سیستم‌های ماشین‌های راه دور را ممکن می‌ساخت و امکان اشتراک گذاری فایل‌ها در شبکه فراهم شد. کتاب محیط برنامه‌نویسی یونیکس بر روی یک ماشین VAX-11/750 تهیه شد که نسخه ۸ بر روی آن اجرا می‌شد. تاریخچه لینوکس
متن پیام او چنین بود: لینوکس برخلاف مینیکس (یک سیستم‌عامل ساده نوشته شده توسط پروفسور اندرو تننبام که برای آموزش طراحی سیستم‌عامل به کار می‌رفت) که از معماری ریزهسته استفاده می‌کرد، با ایده هسته‌های یکپارچه طراحی شده بود. اولین نسخهٔ لینوکس در سپتامبر ۱۹۹۱ در اینترنت منتشر شد. دومین نسخهٔ آن به فاصلهٔ کمی در اکتبر همان سال منتشر شد. از آن پس هزاران برنامه‌نویس و هکر در سراسر دنیا در این پروژه شرکت کردند. مقالهٔ «کلیسای جامع و بازار» اثر اریک ریموند مدل گسترش هسته لینوکس و نرم‌افزارهای مشابه را تشریح می‌کند. انتقاد از دسکتاپ لینوکس
در حالی که تلفنهای هوشمند که سیستم عامل Android مبتنی بر لینوکس را اجرا می‌کنند، بر بازار تلفن‌های هوشمند تسلط دارند، و لینوکس در اکثر سرورها استفاده می‌شود، تقریباً به‌طور انحصاری روی ۵۰۰ سریعترین ابر رایانه جهان اجرا می‌شود و حتی در بورس نیویورک نیز مورد استفاده قرار می‌گیرد، سیستم عامل‌های مبتنی بر لینوکس نتوانسته‌اند در رایانه‌های شخصی به تصویب گسترده دست پیدا کنند. تاریخچه لینوکس
دیگر سیستم‌عامل رایگان در ۱۹۷۷ با نام بی‌اس‌دی (Berkeley Software Distribution) برای اولین بار منتشر شد. این سیستم‌عامل توسط دانشگاه برکلی بر اساس نسخهٔ ششم یونیکس AT&T توسعه داده شد. چون BSD شامل کدهایی از یونیکس بود که تحت مالکیت AT&T بود، AT&T طرح دعوی در دادگاه در مقابل دانشگاه برکلی کرد. این شکایت بشدت توسعه و پذیرش BSD را محدود کرد. یونیکس
در سال ۱۹۷۴ دانشجویان دانشگاه برکلی آغاز به برنامه‌نویسی برای یونیکس می‌کردند و آن را برای دانشگاه‌های دیگر و ای‌تی‌اندتی فرستادند وبا ادامهٔ این کار یونیکس در سال ۱۹۷۷ به یک سیستم‌عامل کامل تبدیل می‌شود. در می ۱۹۷۵، دارپا مزایای سیستم اشتراک زمانی یونیکس که «چند قابلیت جالب ارائه کرده بود» را در RFC 681 مستند کرد. در ۱۹۷۸، یونیکس/۳۲وی برای وی‌ای‌اکس، سیستم جدید DEC عرضه شد. در آن هنگام، یونیکس به اَشکال مختلفی بر روی ۶۰۰ ماشین اجرا می‌شد. آخرین نسخه تحقیقاتی از یونیکس، یعنی نسخه ۷ یونیکس، در سال ۱۹۷۹ منشتر شد. نسخه‌های ۸، ۹ و ۱۰ هم در دهه ۱۹۸۰ نوشته شدند اما فقط در بین چند دانشگاه منتشر شدند. دانشگاه‌های دیگر نیز مانند ام‌آی‌تی، Purdue، استنفورد و... کارهای بسیاری برای یونیکس کردند. با نوشتن برنامه‌های اینترنتی برای یونیکس در سال ۱۹۸۰ به وسیلهٔ دانشگاه برکلی یونیکس در سازمان‌های دولتی و شرکت‌های شبکه و کارگزارها(Servers) به گستردگی به کار گرفته شد. پاپی لینوکس
پاپی یکی از معدود توزیع‌هایی است که از پسورد ریشه استفاده نمی‌کند، آن هیچ فرقی بین یک کاربر عادی و یک کاربر ریشه نمی‌گذارد، این ویژگی استفاده از سیستم را راحت‌تر می‌کند و کنترل کامل دیسک‌های سخت را به کاربر می‌دهد، اما نگرانی‌های امنیتی نیز وجود دارد به خاطر این که کاربر می‌تواند واحد خود را فرمت کند یا آزادانه سیستم فایل‌ها را پاک‌کند که این منجر به از بین رفتن پاپی یا بقیهٔ سیستم‌عامل‌ها می‌شود. اما این ویژگی همچنین می‌تواند برای گرفتن یک تصویر کامل از سیستم‌عاملی یا پاک‌کردن آن از دیسک سخت برای بازگردانی مجدد در آینده بدون فرمت کردن آن استفاده شود. از طرفی آن می‌تواند برای ذخیره کردن فایل‌های یک سیستم‌عامل متلاشی شده مناسب باشد. به علاوه از آن‌جایی که این سیستم بر روی حافظه اجرا می‌شود هیچ محدودیتی برای تغییر واحدهای دیسک سخت دیگر وجود ندارد و ایجاد یا پاک کردن پارتیشن‌های مختلف در سیستم‌های مختلف بسیار آسان است. هسته لینوکس
در آوریل ۱۹۹۱، لینوس توروالدز، در آن زمان دانشجوی ۲۱ ساله علوم کامپیوتر در دانشگاه هلسینکی فنلاند، شروع به کار بر روی برخی از ایده‌های ساده برای یک سیستم عامل کرد. وی با ساخت یک task switcher (رفتن از یک برنامه به برنامه دیگر بدون خروج از برنامهٔ نخست) در زبان اسمبلی اینتل ۸۰۳۸۶ و یک راه انداز ترمینال شروع کرد. در ۲۵ اوت ۱۹۹۱، توروالدز موارد زیر را به “comp.os.minix”، یک گروه خبری در Usenet ارسال کرد:من در حال انجام ساخت یک سیستم عامل رایگان (فقط برای سرگرمی و از روی علاقه، و بزرگ و حرفه‌ای مانند گنو نخواهد شد) برای هم نوع‌های 386(486)AT هستم. این از آوریل در حال ساخته شدن هست، و در حال آماده شدن می‌باشد. من هر بازخوردی در Minix بر روی چیزهایی که مردم می‌پسندند یا نمی‌پسندند را می‌خواهم، با این وجود سیستم عامل من هم تا حدی به این شباهت دارد (بعضی از آرایش‌های فیزیکی فایل‌های سیستم در میان اشیا دیگر) من در حال حاضر (bash (1.08 و (۱٫۴۰) gcc را انتقال داده‌ام، و هم‌چنین بخش‌هایی که بنظر می‌رسند که کار کنند. این نشان می‌دهد که در این چندین ماه، به کجا رسیده‌ام. بله، هیچ کد مینیکسی در آن نیست و یک سامانه پروندهٔ چند رشته‌ای دارد. قابل انتقال نیست (از task switching 386 استفاده می‌کند)، و به درستی از سوی دیسک‌های سخت AT پشتیبانی می‌شود، این تمام چیزیست که من دارم.در ۱۷ سپتامبر ۱۹۹۱ لینوس توروالدز نسخه ۰٫۰۱ هسته لینوکس را آماده کرد و "ftp.funet.fi" - سرور FTP دانشگاه و شبکه تحقیقاتی فنلاند (FUNET) قرار داد. حتی از آنجایی که کد آن هنوز به Minix برای تدوین و بازی نیاز داشت حتی قابل اجرا نبود. تین کلاینت
تین کلاینت می‌تواند دارای سیستم عامل یا فاقد سیستم عامل باشد. به این معنی که می‌تواند یک سیستم عامل محلی داشته باشد یا اینکه برای بوت شدن کاملاً وابسته به سرور باشد. انواع سیستم‌عامل‌های ویندوز مایکروسافت، توزیع‌های لینوکس و یونیکس را می‌توان بر روی تین کلاینت‌ها نصب و اجرا نمود. توزیع لینوکس
چون اکثراً هسته و بسته‌های مورد پشتیبانی، از مجموعه‌ای از نرم‌افزارهای آزاد و متن باز تشکیل شده‌اند، توزیع‌های لینوکس شکل‌های زیادی گرفته‌اند، از یک سیستم کاربر خانگی کامل و سیستم‌عامل سرور، تا محیط‌های کوچک (به‌طور معمول برای استفاده در سیستم‌های توکار، یا برای راه‌اندازی از دیسک فلاپی). جدا از نرم‌افزارهای دلخواه معین (همانند نصب کننده‌های بسته و ابزارهای تنظیمات) یک توزیع به‌طور ساده اشاره به یک مجموعهٔ مشخصی از برنامه‌های کاربردی دارد که بر روی یک سری کتابخانه، که با یکی از نسخه‌های هسته هماهنگ شده، نصب شده‌است، طوری‌که قابلیت‌های خارج از جعبه‌اش، اکثر نیازهای مجموعه کاربران نهاییش را تأمین می‌کند. معماری یونیکس
کتاب راهنمای یونیکس‌بیزاران بعضی از امکانات گفته شده فوق را تحت عنوان شکست از نقطه نظر کاربر معرفی می‌کند. با این حال، اگرچه برخی از اطلاعات کاملاً قدیمی هستند و نمی‌توان آنها را برای یونیکس‌های مدرن یا سیستم عامل‌های مشابه یونیکس مانند لینوکس اعمال کرد. اریک ریموند کشف کرده‌است که بسیاری از مسائل همچنان وجود دارند، در حالی که برخی دیگر حل شده‌اند. ریموند نتیجه می‌گیرد که همه مفاهیم پشت یونیکس را نمی‌توان غیرکاربردی تلقی کرد، حتی اگر قصد کتاب ممکن است این باشد که یونیکس را ضعیف نشان دهد بدون اینکه بحث با توسعه دهندگان را تشویق کند تا در واقع مشکلات را برطرف کنند. تاریخچه یونیکس
شرکت AT&T یونیکس را تحت گواهی‌نامه‌هایی، برای دانشگاه‌ها، شرکت‌های بازرگانی و همین‌طور دولت ایالات متحده در دسترس ساخت. این گواهینامه‌ها شامل کل کد منبع یونیکس از جمله بخش‌هایی از هسته سیستم‌عامل که وابسته به ماشین بودند و با زبان اسمبلی PDP-11 نوشته شده بودند، می‌شدند. در اواخر دهه ۱۹۷۰ میلادی، کپی‌هایی از کدهای منبع یونیکس به صورت زیرنویس‌شده و به همراه توضیحات، در قالب کتابی از جان لیونز به نام تفسیری بر ویرایش ۶ یونیکس توسط لیونز، به همراه کد منبع دست به دست می‌چرخید. این کتاب نقش قابل توجهی در استفاده از یونیکس به عنوان یک منبع آموزشی شد. مقایسه لینوکس و ویندوز
امروز. مقایسه در این شرایط بسیار سخت شده‌است. حجم بازی‌ها بسیار نزدیک به هم شده و دیگر تفاوتی که قبلاً دیده می‌شد به چشم نمی‌خورد و این مقایسه را باید از روی پلتفرم و API‌های این دو سیستم عامل انجام داد. همان‌طور که می‌دانید OpenGL 3.5 و درگنو/لینوکس و در ویندوز استقاده می‌شود؛ که در تست‌ها سیستم رنگ در OpenGL بهترین عمل کرد را داشته و با ورود پلتفرم این شرایط بهتر هم شده‌است. در بهینه‌سازی و پردازش این دو سیستم عامل نیز، گنو/لینوکس روز به روز در حال بهینه شدن است تاجای که تا چند سال گذشته حجم بازی Dota 2 تا ۲٫۵ برابر امروز بود، اما FPS پاینتری نسبت به حال داشت ولی این شرایط برای تمام بازی‌ها قابل اندازه‌گیری نیست همان‌طور مسیر (رایانه)
سیستم‌عامل‌های مختلف روش‌های متفاوتی برای نمایش مسیرها دارند. در یونیکس «/» به عنوان نویسهٔ حائل استفاده می‌شود و در ابتدای مسیر نام درایو ذکر نمی‌گردد (همهٔ مسیرها نسبت به پوشهٔ ریشه که تنها با یک «/» مشخص می‌شود محاسبه می‌شوند). در این سیستم‌عامل با درایوهایی مانند فلاپی، به صورت یک پوشه برخورد می‌شود که در یک نقطهٔ مشخص (مثلاً پوشهٔ «/drives/») سوار می‌شوند. اما در ویندوز، نویسهٔ حائل «\» است و هر درایو به صورت یک حرف انگلیسی به همراه «:» مشخص می‌شود. در ویندوز مسیرهای مطلق به دو روش قابل بیان هستند، یکی مسیری که با نام درایو مشخص می‌شود (مانند: )،‌ و دیگری با کمک "سنت نام‌گذاری یکنواخت" که به صورت بیان می‌شود. به آدرس دهی نوع اول ، آدرس دهی محلی (Local Addressing) و به نوع دوم ، آدرس دهی تحت شبکه (Network Addressing) گفته می شود. به آدرس دهی تحت شبکه UNC نیز نامیده می‌شود که مخفف عبارت Universal Naming Convention می باشد. توزیع لینوکس
بسیاری از توزیعهای لینوکس نسخه لایو را علاوه بر نسخه موجود فراهم می‌کنند که خود یک تصویر مبتنی شبکه یا قابل حمل رسانه‌ای است که فقط برای نصب و راه اندازی مورد استفاده قرار می‌گیرد. مانند توزیع شامل SUSE، اوبونتو، لینوکس مینت، MEPIS و فدورا. برخی از توزیع‌ها، از جمله ناپیکس، لینوکس، شیطان-لینوکس، SuperGamer, SliTaz گنو / لینوکس و دین: متابولیک، در درجه اول برای نسخه لایو طراحی شده‌اند. علاوه بر این، برخی از توزیع‌های مینیمال می‌توانند به‌طور مستقیم از فضای کمتر یک فلاپی دیسک بدون نیاز به تغییر محتویات هارد درایو، قابلیت اجرا را فراهم کنند. یو وین
بیشتر پیاده‌سازی Unix API توسط POSIX.DLL به صورت پویا در کتابخانه مشترک بارگذاری شده‌است. برنامه‌های مرتبط با POSIX.DLL به جای سیستم POSIX، توسط سیستم Win32 اجرا می‌شوند، بنابراین برنامه‌ها می‌توانند صدا زدن کتابخانه Unix و Win32 را آزادانه با یکدیگر مخلوط کنند. یک دستور (cc(1 برای کامپایل و پیوند برنامه‌ها برای UWIN روی ویندوز با استفاده از ابزارهای سنتی ساخت یونیکس مانند (make(1 ارائه شده‌است. دستور (cc(1 یک قسمت جلویی کامپایلر اصلی است که کامپایل و پیوند واقعی را انجام می‌دهد؛ که توسط کامپایلر Digital Mars C/C++ , Visual C/C++ 7.X , Visual C/C++ 6.X ,Microsoft Visual C/C++ 5.X Borland C/C++ و MinGW قایل استفاده است. کامپایلر GNU و ابزارهای توسعه هم برای دانلود برای UWIN در دسترس اند. لینوکس ام اکس
لینوکس ام اکس (به انگلیسی: MX Linux) یک سیستم عامل لینوکس میان وزن است که مبتنی بر نسخه پایدار دبیان و با استفاده از اجزای هسته antiX است، همراه با نرم‌افزار اضافی ایجاد شده یا بسته‌بندی شده توسط جامعه MX. این کار به عنوان یک همکاری مشترک بین antiX و انجمن‌های MEPIS سابق برای استفاده از بهترین ابزارها و استعدادها از هر یک از این توزیع‌ها توسعه یافته‌است. هدف اعلام شده جامعه تولید "خانواده ای از سیستم عامل‌ها است که برای ترکیب دسک تاپ‌های زیبا و کارآمد با پایداری بالا و عملکرد خوب" طراحی شده‌اند. MX Linux از محیط دسکتاپ Xfce به عنوان پرچم دار خود استفاده می‌کند و نسخه مستقل KDE Plasma و Fluxbox را نیز ارایه می‌کند. MX Linux در دسامبر ۲۰۱۳ در بحث دربارهٔ گزینه‌های آینده در میان اعضای جامعه MEPIS آغاز شد. سپس توسعه دهندگان antiX به آنها پیوستند و سیستم ساخت ISO و همچنین فناوری Live-USB / DVD را به ارمغان آوردند. ابتدا MX Linux به عنوان نسخه ای از antiX ارائه شد تا در لیست وب سایت DistroWatch نمایش داده شود. سپس صفحه DistroWatch اختصاصی خود را با انتشار اولین بتا عمومی MX-16 در ۲ نوامبر ۲۰۱۶ دریافت کرد. سیستم‌عامل
پروژهٔ GNU توسط ریچارد استالمن فعال و برنامه‌نویس با هدف ایجاد جایگزینی کامل نرم‌افزار رایگان در سیستم عامل اختصاصی UNIX آغاز شد. در حالی‌که این پروژه در کپی کردن قابلیت‌های بخش‌های مختلف UNIX بسیار موفق بود، توسعهٔ هستهٔ GNU Hurd بی‌ثمر بود. در سال ۱۹۹۱، لینوس توروالدز، دانشجوی علوم کامپیوتر رایانه، با همکاری داوطلبانی که از طریق اینترنت همکاری می‌کنند، نخستین نسخه از هستهٔ لینوکس را منتشر کرد. به زودی با مؤلفه‌های فضای کاربر کاربر و نرم‌افزار سیستم ادغام شد تا یک سیستم عامل کامل ایجاد شود. از آن زمان به بعد، ترکیب دو مؤلفهٔ اصلی معمولاً توسط صنعت نرم‌افزار به سادگی به «لینوکس» گفته می‌شود، یک کنوانسیون نامگذاری که استالمن و بنیاد نرم‌افزار آزاد با آن مخالف هستند و ترجیح می‌دهند نام GNU / Linux را ترجیح دهند. هستهٔ سیستم عامل توزیع نرم‌افزار برکلی، معروف به BSD، مشتق‌شده از هستهٔ سیستم عامل UNIX، که از دههٔ ۱۹۷۰ توسط دانشگاه کالیفرنیا، برکلی توزیع شده‌است. آخرین نسخهٔ آن BSD ۴٫۴ در سال ۱۹۹۵ بود که بعد از آن دیگر نسخه‌ای نداد و بنابرین این یک پروژه متوقف شده می اشد. اما توزیع‌هایی مانند FreeBSD, OpenBSD, NetBSD همچنان پایدار هستند. هسته لینوکس
هسته لینوکس (به انگلیسی: Linux kernel) یک هسته سیستم‌عامل است که با کمک توسعه‌دهندگان در سراسر جهان پیشرفت داده شد است هسته لینوکس، آزاد و متن باز یکپارچه، ماژولار (modular) و شبه یونیکس و بسیار قابل تنظیم است. هسته لینوکس بر روی طیف گسترده‌ای از سیستم‌های محاسباتی، مانند سیستم‌های توکار، دستگاه‌های تلفن همراه (از جمله استفاده از آن در سیستم عامل اندروید)، رایانه‌های شخصی، سرورها، حافظه‌های اصلی و ابر رایانه‌ها مستقر شده‌است. هسته لینوکس در سال ۱۹۹۱ توسط لینوس توروالدز برای رایانه شخصی خود طراحی و ساخته شد، اما از آن زمان به طیف گسترده‌ای از معماری‌های رایانه منتقل شده‌است. با وجود این، هسته لینوکس با استفاده از دستورالعمل‌های خاص معماری (ISA) بسیار بهینه شده‌است، بنابراین قابلیت حمل آن به آسانی مانند سایر هسته‌ها آسان نیست (به عنوان مثال، با NetBSD، که از سال ۲۰۱۹ از ۵۹ پلتفرم سخت‌افزاری پشتیبانی می‌کند). فری‌بی‌اس‌دی
فری‌بی‌اس‌دی دارای چند لایه سازگاری است که قابلیت اجرای فایل‌های باینری دیگر سیستم‌عامل‌ها را ارائه می‌دهد. به کمک لایهٔ سازگاری می‌توان برنامه‌ها و نرم‌افزارهایی که رسماً برای سیستم عاملی منتشر نشده‌اند را بر روی سیستم‌عامل دیگر اجرا کرد. سیستم‌عامل‌هایی که فری‌بی‌اس‌دی لایه سازگاری با آن‌ها را ارائه می‌دهد شامل لینوکس، بی‌اس‌دی/اواس و یونیکس SVR4 هستند. در سپتامبر ۲۰۱۱، وب‌سایت فورونیکس یک بنچ‌مارک بر اساس Phoronix Test Suite منتشر کرد که نشان می‌داد فری‌بی‌اس‌دی نسخه ۸٫۲ توانست تعدادی از بازی‌های رایانه‌ای ویژهٔ لینوکس را، به‌طور میانگین ۸ الی ۱۴ درصد، سریع‌تر از توزیع لینوکس اوبونتو نسخه ۱۱٫۰۴، بر روی یک سیستم با کارت گرافیک nVidia و درایور یکسان اجرا کند. البته هم‌اکنون این لایه تنها می‌تواند باینری‌های ۳۲بیتی لینوکس را اجرا کند. اما از سال ۲۰۱۳، برنامه‌هایی برای پشتیبانی کردن از باینری‌های ۶۴بیتی لینوکس در نسخه ۱۰ و نسخه‌های آینده فری‌بی‌اس‌دی بوده‌است. این لایهٔ سازگاری، گونه‌ای از شبیه‌سازی نیست، بلکه فراخوان‌های سیستمی هستهٔ لینوکس، در هستهٔ فری‌بی‌اس‌دی نیز پیاده‌سازی شده‌اند و بنابراین، کتابخانه‌های اشتراکی و فایل‌های باینری لینوکس، همانند فایل‌های باینری بومی خود فری‌بی‌اس‌دی شناخته می‌شوند. بحث نام‌گذاری گنو/لینوکس
درک عادی یک «سیستم‌عامل» شامل هسته − یک زیرسیستم خاص که واسطی مستقیم برای تعامل با سخت‌افزار است − و نرم‌افزارهای سطح کاربر است که به وسیلهٔ کاربر و نرم‌افزارهای کاربردی به کار گرفته می‌شوند تا رایانه را کنترل کنند. علاوه بر این، هم نام «گنو» و هم نام «لینوکس» با نام «یونیکس» مرتبط هستند و یونیکس همیشه به صورت مفهومی شامل کتابخانه‌های سی، ابزار سطح کاربر و همچنین هسته بوده‌است. در یادداشت‌های انتشار سال ۱۹۹۱ نسخه‌های ۰٫۰۱ تا ۰٫۱۱ هستهٔ لینوکس (که تا نسخهٔ ۰٫۱۲ براساس اجازه‌نامهٔ جی‌پی‌ال منتشر نشده‌بود) تروالدز نوشت: «متأسفانه، یک هسته به خودی خود شما را به هیچ‌جایی نمی‌برد [...] اکثر ابزارهایی که در لینوکس استفاده شده‌است نرم‌افزارهای گنو هستند.» همچنین تروالدز در جریان بحث تننبام-تروالدز سال ۱۹۹۲ نوشت: «از آن‌جایی که نوشته شده‌است (نه فقط به وسیلهٔ من)، هستهٔ لینوکس یک قسمت خیلی کوچک از یک سیستم کامل است.» تاریخچه لینوکس
پس از اینکه ای‌تی اند تی (AT&T) پروژهٔ مولتیکس ر ا رها کرد سیستم‌عامل یونیکس توسط کن تامسون و دنیس ریچی (هر دو از آزمایشگاه‌های بل)در ۱۹۶۹ اجرا و در ۱۹۷۰ منتشر شد. بعداً آن را با زبان برنامه‌نویسی جدیدی، سی، نوشتند تا آن را قابل حمل کنند. دسترسی پذیری و قابل حمل بودن از دلایلی بود که یونیکس توسط مراکز آموزشی و شرکت‌ها پذیرفته و کپی شد و ویرایش یافت. سیستم‌عامل
سیستم عامل‌های یک‌کاربره امکان تمایز کاربران را ندارند، اما ممکن است چندین برنامه را به صورت همزمان اجرا کنند. یک سیستم عامل چند کاربره مفهوم اصلی کار چند منظوره را با امکاناتی فراهم می‌کند که فرایندها و منابع را شناسایی می‌کنند، از جمله فضای دیسک، متعلق به چندین کاربر، و سیستم به چندین کاربر اجازه می‌دهد تا همزمان با سیستم ارتباط برقرار کنند. برنامه‌های زمانبندی سیستم عامل برای استفاده کارآمد از سیستم برنامه‌ریزی کرده و ممکن است شامل نرم‌افزار حسابداری برای اختصاص هزینهٔ زمان پردازنده، ذخیرهٔ انبوه، چاپ و سایر منابع برای چندین کاربر نیز باشد. در سیستم عامل‌های شبه‌یونیکس یک حالت تک‌کاربره در هستهٔ پشتیبان وجود دارد که برای وقتی است که دیگر هسته‌ها با مشکل مواجه می‌شوند و نیاز به تعمیر دارند یا رمز کاربر ریشه را بدون دانستن آن بخواهیم تغییر دهیم. یونیکس
نسخه‌های سیستم‌عامل یونیکس، توسط ویرایش‌های کتاب راهنمای کاربرانش مشخص می‌شدند. برای مثال «پنجمین ویرایش یونیکس» و «نسخه ۵ یونیکس» هر دو برای اشاره به یک نسخه استفاده می‌شدند. توسعه یونیکس با انتشار نسخه‌های ۴، ۵ و ۶ که در سال ۱۹۷۵ ادامه یافت. در این نسخه‌ها مفهوم تازهٔ لوله‌ها اضافه شده بود که به طراحی ماژولار یونیکس و چرخه توسعه سریع‌تر آن کمک کرد. نسخهٔ ۵ و به ویژه نسخهٔ ۶، به پیدایش نسخه‌های مختلفی از یونیکس، چه در داخل آزمایشگاه‌های بل و چه در خارج از آن انجامید. مانند پی‌دبلیوبی/یونیکس و همچنین اولین نسخه تجاری یونیکس یعنی آی‌اس/۱. همان‌طور که قسمت‌های بیش‌تری از یونیکس به زبان سی بازنویسی می‌شد، پرتابل بودن آن هم افزایش می‌یافت و آسان‌تر می‌شد آن را به دیگر سکوها انتقال داد. یونیکس توسط گروهی در دانشگاه ولونگوگ به اینتردیتا ۷/۳۲ پورت شد. آزمایشگاه‌های بل هم چند نسخه مختلف برای اهداف تحقیقاتی و استفاده داخلی در همان جا توسعه داد. هسته لینوکس
برخی از APIهای هسته لینوکس در چندین نسخه ثابت نگه داشته شده‌اند، برخی دیگر اینگونه نیستند. هیچ تضمینی در مورد APIهای هسته وجود ندارد. نگهبانان و مشارکت کنندگان می‌توانند هر زمان که بخواهند تقویت کنند یا آنها را تغییر دهند. با این وجود، APIهای درون هسته وجود دارند که ساختار داده‌ها را دستکاری می‌کنند (به عنوان مثال، لیست‌ها، درختان، صف‌ها) یا کارهای روزمره را انجام می‌دهند (به عنوان مثال کپی کردن داده‌ها از و به فضای کاربر، اختصاص حافظه، خطوط چاپی به سیستم سیستم و غیره) که حداقل از نسخه ۲٫۶ لینوکس پایدار مانده‌اند. نمونه‌هایی از APIهای درون هسته شامل کتابخانه‌های خدمات مشترک سطح پایین است که توسط درایور دستگاه‌ها استفاده می‌شود: Systemd
از سال ۲۰۱۵، بسیاری توزیع‌های لینوکس سیستم‌دی را به عنوان سیستم init پیش‌فرض قرار دادند. افزایش استفاده از سیستم‌دی، با مشاجرات منتقدان بحث‌برانگیز شد. منتقدان معتقد بودند که این نرم‌افزار، فلسفه یونیکس را با افزایش پیچیدگی و فشار بر سازگاری بسیاری نرم‌افزارها همچون گنوم۳ نقض کرده‌اند. اسلکور
با در نظر گرفتن اصل KISS، تنظیمات و ادارهٔ اسلکور به دور از فضایی گرافیکی صورت می‌پذیرد. چه آنکه کاربر در تقابل با نصاب‌های بر پایه ان‌کرسز قرار می‌گیرد (مانند اسکریپت‌های تنظیمات codice_3، codice_4، codice_5 و codice_6) یا محدود به استفاده از دستورهای متنی ساده و کارای یونیکس و لینوکس می‌شود. بسیاری از تغییرات دیگر در اسلکور نیز با ویرایش فایل‌های سادهٔ متنی تنظیمات صورت می‌یابد، که شاید دلیل کمبود واسطه‌های گرافیکی در اسلکور را بیش از پیش مبرهن می‌کند. روش ساده و محبوبی که در سال‌های اول عرضهٔ لینوکس توسط پَتریک برای تعیین درایورها یک سیستم لینوکس ارائه شده بود و با خودکار شدن این فرایند منسوخ شده و تنها برای تنظیمات برنامه‌های ذیل لینوکس مورد استفاده باقی مانده است. اسلکور همچنان از بارگذار اولیه لیلو بهره‌مند است. این درحالیست که قریب دیگر توزیعهای لینوکس از بارگذار اولیه مشتق شده از گنو، گراب استفاده می‌کنند.پس از اصرار فراوان کاربران، آقای وولکردینگ قبول کرد طراحی همراه با لگوی اسلکور را جایگزین منوی اصلی لیلو کند، این تنها جایی است که کاربر با نام اسلکور در استفاده از لینوکس اسلکور مواجه می‌شود. هرچند این تنظیم در هنگام نصب اسلکور یا تنظیم لیلو به راحتی قابل تغییر است. با توجه به پشتیبانی اسلکور از فایل سیستم btrfs و عدم پشتیبانی لیلو از این فایل سیستم، قابل تذکر است که امکان بوت از پارتیشنی با این فایل سیستم میسر نمی‌باشد. نقد لینوکس
در LinuxCon 2009، لینوس توروالدز، خالق لینوکس گفت که هسته لینوکس «متورم و بزرگ» شده‌است:بوتوملی با استناد به یک مطالعه داخلی اینتل که رهاسازی هسته‌ها را ردیابی می‌کند، گفت که عملکرد لینوکس در هر نسخه حدود دو درصد کاهش یافته‌است، که نسبت به ده نسخه گذشته حدود ۱۲ درصد افت داشته‌است. "آیا این مشکلی است؟" او پرسید. -ما دچار نفخ و عظمت می‌شویم. بله، این یک مشکل است … اوه، من دوست دارم بگویم که ما یک برنامه داریم … منظورم این است که، گاهی اوقات کمی ناراحت‌کننده است که ما قطعاً هسته ساده، کوچک و بسیار کارآمد نیستیم که من ۱۵ سال تصور کردم پیش از این … هسته آن بزرگ و متورم است و رد پای icache ما ترسناک است. منظورم این است که هیچ سؤالی در این مورد وجود ندارد؛ و هر زمان که ویژگی جدیدی اضافه کنیم، فقط بدتر می‌شود.در LinuxCon 2014، لینوس توروالدز، خالق لینوکس اظهار داشت که فکر می‌کند وضعیت نفخ بهتر است زیرا رایانه‌های شخصی مدرن بسیار سریعتر هستند:توروالدز گفت که دوست دارد لینوکس از نظر اندازه کوچک شود «ما در ۲۰ سال گذشته هسته را نفخ کرده‌ایم، اما سخت‌افزار سریعتر رشد کرده‌است.» فایل دستگاهی
۲ نوع عمومی فایل دستگاه در سیستم عامل‌های unix وجود دارد. یکی character special file و دیگری Block special file. تفاوت بین آنها در چگونگی نوشتن داده در آنها و خواندن از آنها است که توسط سیستم عامل و سخت‌افزار پردازش می‌شود. برخی از سیستم‌عامل‌ها مثل فری‌بی‌اس‌دی تنها فایل‌های character special file دارند و فاقد Block special file هستند. چرا که دسترسی مستقیم به فایل‌های Block special ممکن است به علت کش شدن اطلاعات در هسته، خطرناک باشد. ویتکس (سیستم عامل)
نرم‌افزار فضای کاربر سفارشی‌سازی شده برای Whitix شامل طیف وسیعی از برنامه‌های شخص ثالث، Burn (یک پوسته غیر POSIX)، Fruity (یک ویرایشگر متن ساده) و چندین ابزار کاربردی فایل سیستمی است. نرم افزار پورت شده به Whitix شامل محیط اجرای مونو و کامپایلر سی شارپ، پایتون ، مجموعه کامپایلر گنو ، لوا ، mplayer و پورت های دیگر است. این سیستم عامل از اکتبر 2008، زمانی که با زنجیره ساخت گنو ساخته شد، میزبان خود بوده است. برای 0.3، یک پورت GTK و چندین برنامه لینوکس در نظر گرفته شده است. پلان ۹ از آزمایشگاه‌های بل
هر چند که پلان ۹ قرار بود ادامه توسعه مفاهیم یونیکس باشد، اما سازگاری با نرم‌افزارهای یونیکس که از قبل موجود بودند، هیچگاه هدف پروژه نبوده است. هنوز بسیاری از ابزارهای خط فرمانی در پلان ۹ اسامی مستعاری برای دستورهای همتای خود در یونیکس هستند. پلان ۹ می‌تواند از برنامه‌های سازگار با استاندارد پازیکس پشتیبانی کند و همچنین از طریق رابط محیط آنسی/پازیکس می‌تواند سوکت‌های برکلی را شبیه‌سازی کند. برخی از باینری‌های سیستم‌عامل لینوکس را می‌توان به کمک linuxemu اجرا کرد، اما این برنامه هنوز در حال توسعه است. سیستم‌عامل ابررایانه
اگرچه اکثر ابر رایانه‌های مدرن از سیستم عامل لینوکس استفاده می‌کنند، هر سازنده تغییرات خاص خود را در مشتقات لینوکس مورد استفاده خود ایجاد کرده‌است و هیچ استاندارد صنعتی وجود ندارد، بخشی به این دلیل است که تفاوت در ساختارهای سخت‌افزاری مستلزم تغییراتی برای بهینه‌سازی سیستم عامل به هر طراحی سخت‌افزاری می‌باشد. Init
جدای از سطوح اجرایی ۰ و ۱ و ۶ هر سیستم یونیکس و مبتنی بر یونیکسی با سطوح اجرایی اندکی متفاوت برخورد می‌کند. حداقل مشترک در همهٔ این سیستم‌ها فایل /etc/inittab است؛ که تعیین می‌کند هر سطح اجرایی چه کاری انجام می‌دهد (اگر اصلاً آن سطح اجرایی کاری انجام دهد). لینوکس حالت کاربر
لینوکس حالت کاربر ( UML ) چندین سیستم عامل مبتنی بر هسته لینوکس مجازی (مهمان) را فعالسازی می کند تا به عنوان یک برنامه کاربردی در یک سیستم لینوکس معمولی (میزبان) اجرا شوند. از آنجایی که هر مهمان فقط یک برنامه معمولی است که به عنوان یک فرآیند در فضای کاربر اجرا می‌شود، این رویکرد راهی برای اجرای چندین ماشین لینوکس مجازی بر روی یک قطعه سخت‌افزاری به کاربر ارائه می‌دهد، و ایزوله می کند، به طور کلی بدون اینکه بر پیکربندی یا پایداری محیط میزبان تأثیر بگذارد. لایه انتزاعی
در سیستم عامل یونیکس، بیشتر عملیات ورودی و خروجی به عنوان جریان بایت‌ها یی در نظر گرفته می‌شوند که از یک دستگاه خوانده می‌شوند یا روی یک دستگاه نوشته می‌شوند. این مدل جریان بایت برای I/O فایل، سوکت I/O و ترمینال I/O برای ایجاد استقلال در دستگاه استفاده می‌شود. برای خواندن و نوشتن در سطح برنامه یک دستگاه، برنامه یک تابع را برای باز کردن دستگاه فراخوانی می‌کند که این دستگاه ممکن است یک دستگاه واقعی مانند یک ترمینال یا یک دستگاه مجازی مانند یک پورت شبکه یا یک فایل در یک سیستم فایل باشد. ویژگی‌های فیزیکی دستگاه توسط سیستم عامل مشخص می‌شود که یک رابط انتزاعی را که به برنامه‌نویس اجازه می‌دهد تا بایت‌ها را از دستگاه بخواند و در دستگاه بنویسد ارائه می‌دهد. سپس سیستم عامل تبدیل نهایی مورد نیاز برای خواندن و نوشتن جریان بایت‌ها در دستگاه را انجام می‌دهد. لیب‌یواس‌بی
لیب‌یواس‌بی کتابخانه‌ای برای سیستم‌عامل‌های شبه یونیکس است که دسترسی به دستگاه‌های یواس‌بی را ممکن می‌سازد و به کمک این کتابخانه، برنامه‌های کاربردی می‌توانند اطلاعات را از دستگاه‌های یواس‌بی بخوانند یا در آنها اطلاعاتی را بنویسند. این کتابخانه بدون نیاز به گرداننده‌های هسته این قابلیت‌ها را در اختیار برنامه‌نویس قرار می‌دهد. این کتابخانه به زبان برنامه‌نویسی سی نوشته شده است و هم‌اکنون برای سیستم‌عامل‌های لینوکس، خانواده بی‌اس‌دی و مک اواس ده در دسترس است. همچنین پورتی از این کتابخانه برای سیستم‌عامل مایکروسافت ویندوز هم موجود است. از جمله برنامه‌هایی که از این کتابخانه استفاده می‌کنند، می‌توان به SANE، پروژه اسکنر لینوکس اشاره کرد که استفاده از لیب‌یواس‌بی را نسبت به ماژول هسته codice_1 ترجیح داده است، چرا که این ماژول، محدود به هسته ۲٫۴ لینوکس است. این کتابخانه یک نرم‌افزار آزاد است و تحت پروانه جی‌پی‌ال منتشر می‌شود. معماری یونیکس
هسته یونیکس - اجزاء کلیدی یا هسته سیستم عامل - شامل بسیاری از زیرسیستم‌ها مانند مدیریت فرایند، زمان‌بندی، مدیریت فایل، مدیریت دستگاه، مدیریت شبکه، مدیریت حافظه، مدیریت وقفه و مدیریت سخت‌افزارها می‌باشد. شبه‌یونیکس
شبه‌یونیکس یک سیستم عامل شبیه به یونیکس (که گاهی اوقات به آن UN * X یا nix * گفته می‌شود) یک سیستم عامل است که به روشی شبیه به سیستم یونیکس رفتار می‌کند، در حالی که لزوماً مطابق با آن نیست یا به هر نسخه‌ای از مشخصات UNIX منفرد می‌باشد. برنامهٔ یونیکس‌مانند برنامه‌ای است که مانند فرمان یا پوستهٔ مربوطه رفتار می‌کند. هیچ استانداردی برای تعریف اصطلاح وجود ندارد و اختلاف نظر ممکن است در مورد میزان اجرای سیستم عامل یا برنامه خاص «یونیکس‌مانند» امکان‌پذیر باشد. وید لینوکس
وُید لینوکس(به انگلیسی Void Linux) یک توزیع مستقل لینوکسی بر پایهٔ XBPS یا X Binary Package System است، که از پایه طراحی و پیاده‌سازی شده‌ است. با جدا کردن حباب‌های دودویی هسته، یک نصب پایه آن کاملاٌ از نرم‌افزارهای آزاد تشکیل شده‌است. البته کاربران می‌توانند به یک مخزن غیر آزاد (non-free) رسمی برای نصب نرم‌افزارهای انحصاری دسترسی داشته باشند. وُید یک استثناء قابل توجه بین اکثر توزیع‌های لینوکس است زیرا از runit به عنوان شیوهٔ init استفاده می‌کند، و نه از systemd متداول‌تر که بقیهٔ توزیع‌ها از جمله اوبونتو، فدورا و آرچ لینوکس استفاده می‌کنند. وید اولین توزیعی است که LibreSSL را به عنوان کتابخانهٔ رمزنگاری سیستم به‌طور پیش فرض استفاده می‌کند. یوسی‌لینوکس
علیرغم اینکه یو سی لینوکس در ابتدا نسخه ۲٫۰ از هسته لبنوکس را برای خود برگزید، هم‌اکنون با نسخه‌های ۲٫۴ و ۲٫۶ هسته لینوکس کار می‌کند. در تاریخچه این توزیع، هرگز تلاشی برای استفاده از هسته لینوکس نسخه ۲٫۲ نشده‌است. پلان ۹ از آزمایشگاه‌های بل
پلان ۹ از آزمایشگاه‌های بل یا به اختصار Plan 9، یک سیستم‌عامل توزیع شده است که به صورت نرم‌افزار آزاد منتشر می‌شود. این سیستم‌عامل از اواسط دهه ۱۹۸۰ میلادی تا ۲۰۰۲ در مرکز تحقیقات علوم رایانه در آزمایشگاه‌های بل و برای اهداف پژوهشی و تحقیقاتی و به عنوان جانشینی برای یونیکس توسعه داده شد. پلان ۹ برای حل و فصل کردن ناتوانی‌های یونیکس و هسته آن در انجام برخی کارها نظیر رایانش توزیع‌شده، فضای نام‌های توزیع‌شده و فایل‌سیستم‌های توزیع‌شده، طراحی شد. توسعه و استفاده از این سیستم‌عامل همچنان توسط محققین سیستم‌عامل و همینطور علاقه‌مندان ادامه دارد. پلان ۹ ویژگی‌های جدیدی دارد که از جمله آن‌ها می‌توان به پروتکل 9p که برای دسترسی به فایل‌های موجود بر روی رایانهٔ محلی و همینطور فایل‌های موجود بر روی رایانه‌های راه دور مورد استفاده قرار می‌گیرد، مونت‌های یونیونی، یک سیستم فایل proc بهینه شده و همینطور پشتیبانی بومی از یونیکد در سرتاسر سیستم اشاره کرد. در پلان ۹، همه رابط‌های سیستمی، از جمله رابط‌های مرتبط با شبکه و همینطور رابط‌های کاربری، به جای داشتن یک رابط مخصوص و ویژه، از طریق سیستم فایل در دسترس هستند. نام سیستم‌عامل پلان ۹ از آزمایشگاه‌های بل، از فیلمی به نام طرح شماره ۹ بیرون از فضا به کارگردانی اد وود گرفته شده‌است. همینطور، احتمالاً نام گلندا، خرگوش پلان ۹ هم از فیلم دیگر وود به نام گلن یا گلندا گرفته شده‌است. فرایند راه‌اندازی لینوکس
فرایند راه‌اندازی لینوکس فرایند راه‌اندازی اولیه سیستم عامل گنو/لینوکس است و از بسیاری جهات شبیه بی‌اس‌دی و سیستم‌عاملهای شبه یونیکس است. هسته لینوکس
برنامه‌ریز لینوکس کلاس‌ها و خط مشی‌های مختلف را قادر می‌سازد. به‌طور پیش فرض هسته از یک مکانیزم زمانبندی به نام برنامه زمانبندی کاملاً عادلانه استفاده می‌کند که در نسخه ۲٫۶٫۲۳ از هسته معرفی شده‌است. در داخل این کلاس زمانبندی پیش فرض همچنین به عنوان SCHED_OTHER شناخته می‌شود، اما هسته نیز شامل دو کلاس زمانبندی سازگار با POSIX با نام برنامه زمان واقعی به نام‌های SCHED_FIFO (در زمان واقعی اول-اول-اول) و SCHED_RR (بیدرنگ رابین) است، هر دو مورد نسبت به کلاس پیش فرض اولویت دارند. یک برنامه زمان‌بندی اضافی معروف به SCHED_DEADLINE، اجرای اولین الگوریتم مهلت اول (EDF)، در هسته نسخه ۳٫۱۴ اضافه شده‌است، که در تاریخ ۳۰ مارس ۲۰۱۴ منتشر شد. SCHED_DEADLINE نسبت به سایر کلاس‌های برنامه‌ریزی دیگر برتری دارد. نقد لینوکس
در حالی که سیستم عامل اندروید مبتنی بر لینوکس در بسیاری از کشورها بازار گوشی‌های هوشمند را در اختیار دارد، و از لینوکس در بورس اوراق بهادار نیویورک و اکثر ابر رایانه‌ها استفاده می‌شود، در چند رایانه رومیزی و لپ تاپ مورد استفاده قرار می‌گیرد. بیشتر انتقادها از لینوکس مربوط به عدم استفاده از رایانه رومیزی و لپ تاپ است، اگرچه از سال ۲۰۱۵ با نگرش پروژه در مورد امنیت ناخوشایند شده و استفاده از systemd آن بحث‌برانگیز بوده‌است. هسته لینوکس
لینوکس به‌طور معمول از حافظه و حافظه مجازی استفاده می‌کند و همچنین می‌تواند به حافظه غیر یکنواخت دسترسی داشته باشد، با این حال این پروژه μClinux را جذب کرده‌است که باعث می‌شود لینوکس را بر روی میکروکنترلرها بدون حافظه مجازی نیز اجرا کنید. هسته لینوکس
از طرف دیگر، توروالدز همچنین گفته‌است که: "یک قسمت خاکستری مخصوصاً چیزی شبیه به درایور است که در ابتدا برای سیستم عامل دیگری نوشته شده‌است (یعنی به‌طور واضح یک اثر مشتق از لینوکس نیست). این یک منطقه خاکستری است، و _that_ منطقه ای است که من شخصاً معتقدم ممکن است برخی از ماژول‌ها به دلیل اینکه برای لینوکس طراحی نشده‌اند و به هیچ رفتار ویژه لینوکس وابسته نیستند، به نظر نمی‌رسد که تولید نشوند. به ویژه، درایورهای گرافیکی اختصاصی به شدت مورد بحث قرار می‌گیرند. در نهایت، این احتمال وجود دارد که چنین سؤالاتی فقط توسط یک دادگاه حل شود. وکس مجموعه دستور
دیگر سیستم‌عامل‌های وکس شامل نسخه‌های مختلف از BSD UNIX تا ورژن‌های بالاتر 4.3BSD ,Ultrix-32, VAXELN و Xinu می‌باشند؛ اخیراً NetBSD و OpenBSD از مدل‌های مختلف وکس پشتیبانی می‌نمایند و برخی از کارها بر روی پورت GNU/Linux توسط معماری وکس انجام می‌شود. وصله (یونیکس)
در اصل برای سیستم های یونیکس و یونیکس مانند نوشته شده است ، همچنین به ویندوز و بسیاری از سیستم عامل های دیگر نیز منتقل شده است. درگاه های وصله ویندوز توسط GnuWin32 و UnxUtils ارائه می شوند . جایزه فناوری هزاره
توروالدز هسته سیستم عامل لینوکس را در سال ۱۹۹۱ ابداع کرد. پس از آن این فناوری به سرعت همه‌گیر شد و هزاران توسعه‌دهنده و صدها شرکت در کشورهای مختلف جهان به کار بر روی آن و توسعه هسته لینوکس پرداختند. سرورهای وب و ابررایانه‌های سراسر جهان و نیز سیستم عامل اندروید مورد استفاده در گوشی‌های هوشمند، تبلت‌ها، تلویزیون‌های دیجیتال و… همگی از هسته لینوکس استفاده می‌کنند. امروزه میلیون‌ها نفر از این فناوری در زندگی روزمره و شغلی خود بهره می‌برند. مهم‌ترین ویژگی لینوکس این است که یک نرم‌افزار متن‌باز است و کار کردن با آن برای عموم آزاد است. ویروس رایانه‌ای
در حالی که لینوکس و یونیکس به‌طور کلی همیشه بومی به‌طور طبیعی از ایجاد تغییرات در محیط سیستم عامل بدون اجازه جلوگیری کرده‌اند، اما از کاربران ویندوز به‌طور کلی جلوگیری از ایجاد این تغییرات جلوگیری می‌شود، به این معنی که ویروس‌ها به راحتی می‌توانند کنترل کل سیستم را روی میزبان‌های ویندوز به دست آورند. این تفاوت تا حدی به دلیل استفاده گسترده از حسابهای سرپرست در نسخه‌های معاصر مانند Windows XP ادامه یافته‌است. در سال ۱۹۹۷، محققان ویروس را برای لینوکس ایجاد و آزاد کردند - معروف به «سعادت». با این وجود سعادت نیاز دارد که کاربر آن را به صراحت اجرا کند، و فقط می‌تواند برنامه‌هایی را که کاربر امکان تغییر آن را دارد آلوده کند. بر خلاف کاربران ویندوز، بیشتر کاربران یونیکس به عنوان یک مدیر یا «کاربر اصلی» وارد نمی‌شوند، جز نصب یا پیکربندی نرم‌افزار. در نتیجه، حتی اگر کاربر ویروس را اجرا کند، نمی‌تواند به سیستم عامل آنها آسیب برساند. ویروس Bliss هرگز رواج گسترده‌ای پیدا نکرد، و اساساً یک کنجکاوی تحقیقاتی است. خالق آن بعداً کد منبع را به Usenet ارسال کرد و به محققان این امکان را داد تا ببینند که چگونه کار می‌کند. توزیع لینوکس
به‌طور معمول توزیع‌ها از بسته‌ها تشکیل شده‌اند. هر بسته حاوی یک سرویس یا برنامه خاص است. به‌طور مثال بسته‌ای برای مدیریت عکس‌های PNG، بستهٔ شامل فونت یا یک مرورگر وب. به‌طور معمول کدهای کامپایل شده و آماده در بسته‌ها قرار می‌گیرد، بسته‌ها بیشتر توسط سیستم‌ها مدیریت بسته (PMS) نصب و حذف می‌شوند و کمتر به‌صورت یک فایل آرشیوی منتشر می‌گردند. هر بسته برای یک سیستم مدیریت بستهٔ خاص آماده می‌شود و حاوی اطلاعاتی مانند دیگر بسته‌های وابسته، توضیحات بسته، و نسخه می‌باشد. سیستم مدیریت بسته از این اطلاعات برای انجام بروزرسانی خودکار به نسخهٔ جدیدتر، کنترل و نصب خودکار بسته‌های وابسته به یک بستهٔ خاص استفاده می‌کند. تعداد نرم‌افزارهای موجود برای توزیع‌های لینوکس بسیار بیش از تعدادیست که به‌صورت پیش‌فرض در توزیع‌ها پشتیبانی می‌شود، بسیار معمول است که افراد خواستار نصب یک نرم‌افزار که به‌صورت پیش‌فرض در توزیع وجود ندارد را نصب کند، به‌طور مثال نسخهٔ جدیدتر نرم‌افزاری که به‌صورت پیش‌فرض در توزیع شما می‌باشد، یک محیط‌گرافیکی جدید (بصور مثال KDE به‌جای Gnome)، اگر نرم‌افزار اضافی مورد نظر تنها به‌صورت سورس کد موجود باشد شما باید آن را بر روی سیستم خود کامپایل نمایید و نصب و کنترل موجود بودن دیگر بسته‌های مورد نیاز آن نیز به عهدهٔ شما خواهد بود، اما اگر نسخهٔ قدیمی نرم‌افزار در سیستم نصب و پشتیبانی شده باشد، نصب شدن نسخهٔ جدید می‌تواند همسان‌سازی‌های انجام شده با سیستم مدیریت بسته را بهم زده در این صورت سیستم مدیریت بسته دیگر قادر به بروزرسانی آن نرم‌افزار نخواهد بود و شما باید این کار را به‌صورت دستی انجام دهید. اکنون اغلب توزیع‌ها برای نصب بسته‌های حیاتی و اصلی سیستم مانند هسته‌سیستم‌عامل از یک پیکربندی خاص و از پیش تعیین شده پیروی می‌کنند، تنها تعداد اندکی از توزیع‌ها نیاز به پیکربندی و تنظیمات در زمان نصب اولیهٔ سیستم‌عامل را دارند. این کار نصب لینوکس را برای کاربران ساده‌تر و روان‌تر کرده‌است، ولی این سادگی همیشه قابل قبول نیست، اگر شما نیاز به کاربردهای خاص دارید باید زمانی را برای پیکربندی دستی و کنترل کارکرد صحیح نرم‌افزارهایی که نیاز دارید اختصاص دهید. در برخی از توزیع‌ها نیاز به زمان زیادی برای تنظیم و پیکربندی نرم‌افزارهای موجود در همان توزیع دارید ولی در برخی دیگر ابزارهایی برای این کار به شما کمک می‌کنند تا بسیار ساده‌تر انجام شود. معماری آرم
یونیکس: یونیکس و برخی از سیستم‌عامل‌های مبتنی بر یونیکس مانند: Inferno, Plan 9, QNX و Solaris از ARM پشتیبانی می‌کنند. نقد لینوکس
ساختار دایرکتوری سنتی، که میراثی از ریشه‌های یونیکس لینوکس در دهه ۱۹۷۰ است، به دلیل نامناسب بودن کاربران نهایی دسک تاپ مورد انتقاد قرار گرفته‌است. برخی از توزیع‌های لینوکس مانند GoboLinux و MoonOS سلسله مراتب جایگزینی را ارائه داده‌اند که گفته می‌شود برای کاربران نهایی ساده‌تر است، اگرچه آنها پذیرش کمی داشتند. مقایسه لینوکس و ویندوز
از نظر کارایی گنو/لینوکس با اختلاف زیاد برتر است. معمولاً همهٔ کاربران ویندوز می‌دانند که پس از یک سال یا چندین ماه، ویندوز کند می‌شود و بهترین راه تعویض ویندوز است. در حالی که برخی از گنو/لینوکس‌ها به «لینوکس‌های همیشگی» معروف شدند زیرا کاربرانی که از آنها استفاده کردند، تا زمانی که مششکل سخت‌افزاری برایشان پیش نیامده بود فقط از یک گنو/لینوکس استفاده کرده و آن را عوض نکرده‌اند. سرعت گنو/لینوکس بعد از یک سال با روز اول یکسان است که در بعضی مواقع حتی طرفدار سر سخت ویندوز هم نمیتواند از آن چشم پوشی کند هسته لینوکس
اگرچه در اصل برای قابل حمل طراحی نشده بود، اکنون لینوکس یکی از هسته‌های بسیار گسترده سیستم عامل است که در سیستم‌های متنوعی از معماری ARM گرفته تا رایانه‌های اصلی IBM z / Architecture اجرا می‌شود. اولین درگاه فراتر از معماری اصلی ۳۸۶ لینوکس بر روی پلت فرم موتورولا ۶۸۰۰۰ توسط کاربران آمیگا انجام شد که این کار را با جایگزینی بخش‌های اصلی هسته انجام داد. تغییرات در هسته آنقدر اساسی بود که توروالدز نسخه موتورولا را به عنوان یک چنگال و یک سیستم عامل شبیه به لینوکس مشاهده کرد و نه به عنوان یک درگاه واقعی. با این وجود انگیزه ای بود که Torvalds برای بازگرداندن عمده کد هسته به منظور تسهیل در انتقال به معماری‌های محاسباتی رقیب، نیاز به بازسازی عمده ای از هسته داشت. اولین درگاه مورد تأیید لینوکس به پلتفرم ۶۴ بیتی DEC Alpha AXP بود که در ماه مه ۱۹۹۵ در DECUS نشان داده شد، از ۳۸۶ و Alpha در یک درخت منفرد پشتیبانی کرد. DEC مسئول تأمین سخت‌افزار لازم برای Torvalds بود تا در همان سال بتواند درگاه لینوکس را به ۶۴ بیت برساند. Init
کارکرد init در سیستم‌های یونیکس مثل System III و System V از کارکرد. کاربرد init در بیشتر توزیع‌های گنو، لینوکس با سیستم V سازگار است، ولی بعضی توزیع‌ها، مثل Arch از سبک BSD استفاده می‌کنند و بعضی دیگر مانند جنتو، کارکرد آغازش سفارشی‌سازی‌شدهٔ خودشان را دارند. محیط برنامه‌نویسی یونیکس
محیط برنامه‌نویسی یونیکس کتابی است نوشته برایان کرنیگان و راب پایک (هر دو از آزمایشگاه‌های بل) که اولین بار در سال ۱۹۸۴ توسط انتشارات پرنتیس هال منتشر شد. این کتاب همواره به عنوان یکی از مهم‌ترین و اولین کتاب‌ها دربارهٔ سیستم‌عامل یونیکس در نظر گرفته می‌شود. کتاب با مقدمه‌ای دربارهٔ یونیکس برای مبتدیان آغاز می‌شود و سپس به مفاهیم اساسی مربوط به سیستم فایل و پوسته می‌پردازد. در ادامه کتاب، مباحثی نظیر استفاده از فیلترها، چگونگی استفاده از زبان برنامه‌نویسی سی به منظور نوشتن برنامه‌های کاربردی قدرتمند در یونیکس، مفاهیم اساسی برنامه‌های grep, awk, sed, make و ... تشریح می‌شود. کتاب با خودآموزی دربارهٔ نحوه نوشتن یک تجزیه‌گر زبان برنامه‌نویسی با استفاده از yacc، استفاده از troff به منظور قالب‌بندی کردن مستندات، پیش‌پردازنده‌های tbl, eqn و pic و ایجاد کردن صفحات راهنما با استفاده از مجموعه ماکروهای man خاتمه می‌یابد. پیوست‌های کتاب (ضمائم) نحوه استفاده از ویرایشگر متن ed و زبان برنامه‌نویسی hoc (برگرفته از high-order calculator) را پوشش می‌دهند. کتاب قبل از به وجود آمدن استاندارد آنسی سی نوشته شده‌است و بنابراین کدهای موجود در آن از شیوه کدنویسی K&R پیروی می‌کنند. با این حال کدهای منبع موجود در وبگاه کتاب، برای سازگاری با استاندارد آنسی سی بروز شده‌اند. انتقاد از دسکتاپ لینوکس
لینوکس به دلایل مختلفی مورد انتقاد قرار گرفته‌است، از جمله عدم وجود کاربرپسندی و داشتن یک منحنی یادگیری شیب دار، ناکافی بودن برای استفاده از رومیزی، عدم پشتیبانی از سخت‌افزارهای عجیب و غریب، داشتن کتابخانه بازیهای نسبتاً کوچک و فاقد بومی بودن. نسخه‌های برنامه‌های کاربردی و استاندارد GUI API موجود نیست. لینوکس
لینوکس یک سیستم‌عامل شبه‌یونیکس است که بخش عمدۀ آن، سازگار با استاندارد پازیکس است. بسیاری از توزیع‌های لینوکس از کلمه «لینوکس» در نام خود استفاده می‌کنند، اما بنیاد نرم‌افزار آزاد از نام «گنو/لینوکس» برای تأکید بر اهمیت سیستم عامل گنو استفاده می‌کند که باعث ایجاد برخی بحث‌ها مثل بحث نام گذاری گنو/لینوکس شده است. استفاده از نام «گنو/لینوکس» برای کل سیستم، به نظر سازنده آن، اشتباه است. Utmp
یوتی‌ام‌پی یا "بی‌تی‌ام‌پی" (btmp) همچنین "دبلیوتی‌ام‌پی" (wtmp) یا در گونه‌های مختلف خود که به صورت utmpx, wtmpx و btmpx هم شناخته می‌شود، فایل‌هایی در سیستم‌عامل‌های یونیکس و شبه یونیکس هستند اطلاعات مربوط به ورود و خروج کاربران به سیستم را در خود نگه می‌دارند. فایل utmp وضعیت ورود فعلی هر کاربر را در خود نگه می‌دارد. فایل wtmp تاریخچه تمامی login و logoutها را در خود ذخیره می‌کند. در نهایت، فایل btmp تمام تلاش‌های ناموفق برای ورود به سیستم را در خود ثبت می‌کند. فایل‌های utmp, wtmp و btmp هرگز جزء هیچ‌کدام از استانداردهای رسمی یونیکس از جمله مشخصه یونیکس واحد نبوده‌اند، در حالی که utmpx و APIهای متناظر جزء این استاندارد هستند. هسته لینوکس
در ۵ اکتبر ۱۹۹۱، لینوس اولین نسخه «رسمی» لینوکس را منتشر کرد، نسخه ۰٫۰۲. در این مرحله، لینوکس توانست Bash , GCC و برخی دیگر از ابزارهای GNU را اجرا کند:[همان‌طور که] یک ماه پیش اشاره کردم، من در حال کار روی نسخه رایگان Minix-lookalike برای رایانه‌های AT-386 هستیم. سرانجام به مرحله ای رسیده‌است که حتی قابل استفاده است (هرچند ممکن است به آنچه می‌خواهید بستگی نداشته باشد) باشد، و من مایلم این منابع را برای توزیع گسترده‌تر ارائه دهم. این فقط نسخه ۰٫۰۲ است … اما من با موفقیت bash, gcc, gnu make, gnu-sed، فشرده سازی و غیره را در زیر آن اجرا کردم. پس از آن، بسیاری از مردم کد را به این پروژه کمک کردند. در اوایل، جامعه MINIX کد و ایده‌های خود را به هسته لینوکس کمک کرد. در آن زمان، پروژه گنو بسیاری از مؤلفه‌های مورد نیاز برای یک سیستم عامل رایگان را ایجاد کرده بود، اما هسته آن، GNU Hurd، ناقص و در دسترس نبود. توزیع نرم‌افزار برکلی هنوز خودش را از شر قانونی رهایی نداده‌است. با وجود عملکرد محدود نسخه‌های اولیه، لینوکس به سرعت توسعه دهندگان و کاربران را به دست آورد. لوله‌کشی (یونیکس)
در سیستم‌عامل‌های شبه یونیکس یک خط لوله معادل همان مفهوم کلی خط لوله نرم‌افزار است. این مفهوم به تعدادی پروسه اشاره دارد که به صورت زنجیر وار به یکدیگر متصل هستند. به این صورت که خروجی استاندارد یک فرآیند به ورودی استاندارد فرآیندی بعدی متصل است و به همین ترتیب. هر اتصال به وسیله یک لوله ناشناس پیاده‌سازی شده‌است. این ایده در ابتدا توسط داگلاس مکیلروی ابداع شد و در حقیقت تمثیلی از یک خط لوله انتقال واقعیست. این ایده به سرعت پذیرفته شد و جزء یکی از ارکان اصلی فلسفه یونیکس درآمد. مفهوم لوله‌کشی فرآیند‌ها در زیر نشان داده شده‌است. خط اول حالت کلی و انتزاعی را نشان می‌دهد و خط دوم هم یک مثال واقعی از اتصال سه برنامه ls, grep و more را نشان می‌دهد. program1 | program2 | program3  ls -l | grep key | more انویدیا
کارت‌های گرافیک سری RTX 20 SUPER: سری NVIDIA GeForce GTX 16 SUPER انویدیا هسته لینوکس را به خوبی پشتیبانی نمی کند و تمایلی به همکاری کردن ندارد چون هسته لینوکس یک نرم افزار آزاد و متن باز است ولی انویدیا یک شرکت انحصاری و سودبر. این موضوع بازخورد های زیادی را دریافت کرد و انویدیا یکی از بدترین کارت های گرافیک برای لینوکس به شمار می رود. گرداننده nouveau توسط مهندسان نرم افزار مستقل برای پشتیبانی از هسته لینوکس ساخته شد و کارکنان انویدیا کمک های خیلی جزئی برای ساخت این گرداننده کردند. این گرداننده یک نرم افزار آزاد و متن باز است که برای هسته لینوکس ساخته شده است. توزیع اوبونتو از انویدیا به خوبی پشتیبانی می کند اما برای توزیع های دیگر باید گرداننده های غیر رسمی انویدیا نصب شوند. تراشه جدید Denver عملکردی مشابه پردازنده کامپیوترهای شخصی دارد.پردازنده دنور در دو نسخه با تعداد پین متفاوت در دسترس خواهد بود که هر دو نمونه مجهز به یک فناوری جدید موسوم به Dynamic Code Optimization هستند. این فناوری با تشخیص نرم‌افزارهایی که بیشتر مورد استفاده قرار می‌گیرند نحوه عملکرد و کارایی آن‌ها را بهبود می‌بخشد. این کارها در یک حافظه کش 128 مگابایتی ذخیره می‌شود. یعنی وقتی که اپلیکیشن‌های مشخصی را اجرا می‌کنید، کد بهینه‌شده آماده بوده و منتظر می‌ماند. Dynamic Code Optimization روی اپلیکیشن‌هایی کار می‌کند که برای پلتفرم ARM نوشته شده‌اند و به همین علت توسعه‌دهندگان نمی‌توانند انتظار بیشتری داشته باشند. سیستم‌عامل ابررایانه
در اواسط دهه ۱۹۹۰، علی‌رغم سرمایه‌گذاری موجود در سیستم عامل‌های قدیمی، روند استفاده از سیستم‌های مبتنی بر یونیکس بود که استفاده از رابط‌های گرافیکی کاربر تعاملی (GUI) را برای محاسبات علمی در چندین سیستم عامل تسهیل کرد. حرکت به سمت سیستم عامل کالایی مخالفانی داشت که سرعت و تمرکز توسعه لینوکس را به عنوان مانع اصلی در برابر پذیرش دانستند. همان‌طور که یکی از نویسندگان نوشت: «به احتمال زیاد سرعت Linux گرفته خواهد شد، اما اکنون سیستم‌های مقیاس بزرگی داریم». با این وجود، این روند همچنان در حال شتاب گرفتن بود و تا سال ۲۰۰۵، تقریباً همه ابر رایانه‌ها از برخی سیستم عامل‌های یونیکس مانند استفاده می‌کردند. این انواع یونیکس شامل IBM AIX، سیستم منبع باز لینوکس و سایر سازگاری‌ها مانند UNICOS از Cray بود. با پایان قرن بیستم، برآورد می‌شد که لینوکس بالاترین سهم از حوزه ابر رایانه را داشته باشد. ابررایانه
سامانه‌عامل ابررایانه‌ها که اغلب امروزه انواعی از لینوکس و یونیکس هستند و اگر پیچیده‌تر از ماشین‌های کوچک‌تر نباشند همان قدر پیچیده هستند. ظاهری که کاربر می‌بیند ساده‌تر است چون سازندگان OSها منابع برنامه‌نویسی کمتری برای سرمایه‌گذاری بر بخش‌های غیرضروری OSها (یعنی بخش‌هایی که مستقیماً به بهترین کاربرد سخت‌افزار نمی‌شود) دارند. دلیل اصلی آن این است که این رایانه‌ها میلیون‌ها دلار قیمت دارند اما بازار خریدشان بسیار کوچک است لذا بودجه‌های R&D شان اغلب محدود است. وجود یونیکس و لینوکس اجازه می‌دهد ظاهر کاربری (user interface) نرم‌افزار دسکتاپ معمولی دوباره مورد استفاده قرار بگیرد. جالب آنجا ست که در تاریخ صنعت ابررایانه‌ها این روند هم چنان ادامه پیدا کرده‌است و رهبران قدیمی این فناوری از جمله Silicon Graphics در برابر امثال nVIDIA عقب نشسته‌اند چرا که این‌ها می‌توانند محصولات ابتکاری ارزان و پرفایده و پرکاربرد را به لطف مشتریان بسیارشان که R&D آن‌ها را تأمین می‌کنند تولید نمایند. از نظر تاریخی تا ابتدا و میانهٔ دههٔ ابررایانه‌ها اغلب سازگاری گروه دستورات و قابلیت جابجایی کدها را فدای عملکرد و سرعت پردازش و دسترسی به حافظهٔ رایانه می‌کردند. اغلب ابررایانه‌ها تا به امروز برخلاف رایانه‌های گران‌قیمت فنی high end main frames سامانه‌های عامل بسیار متفاوتی دارند. Cray-۱ به تنهایی شش OS ویژه خودش را داشت که جامعهٔ رایانه هیچ خبری از آن‌ها نداشت. مشابه آن کامپایلرهای برداری‌کننده و مواز ی‌کنندهٔ بسیاری هم برای فرترن موجود بود. اگر به خاطر سازگاری گروه دستورات اولیه بین Cray-۱ و Cray x-mp و پذیرش انواع OSهای یونیکس مثل CrayUnicos و لینوکس نبود این اتفاق برای ETA-۱۰ هم می‌افتاد. به همین دلیل در آینده سامانه‌هایی با بالاترین کاربرد احتمالاً رنگ و بویی از یونیکس خواهند داشت اما با خاصیت‌های ویژه سامانه ناسازگار به‌ویژه برای سامانه‌های بسیار فنی و گران‌قیمت با امکانات امن مطمئن. لینوکس
هستهٔ لینوکس و بیشتر بخش‌های گنو، تحت اجازه‌نامه عمومی همگانی گنو (جی‌پی‌اِل) منتشر می‌شوند. جی‌پی‌ال لازم می‌داند که تغییرات کد منبع و کارهای مشتق شده نیز، تحت مجوز جی‌پی‌ال منتشر شوند. یکی از نگرانی های همیشگی لینوس توروالدز این بوده است که از لینوکس بدون اجازه و به صورت تجاری و close source استفاده کنند.