هسته لینوکس

تاریخ

در اوریل ۱۹۹۱، لینوس توروالدز، یک دانشجوی ۲۱ ساله در دانشگاه هلسینکی(Helsinki)، در فنلاند بر روی بعضی از ایده‌های سادهٔ یک سیستم عامل شروع به کار کرد. وی با یک task switcher (=رفتن از یک برنامه به برنامه دیگر بدون خروج از برنامهٔ نخست) در زبان اسمبلی اینتل ۸۰۳۸۶ و یک راه انداز ترمینال شروع کرد. در ۲۵ اوت ۱۹۹۱، توروالدز اطلاعاتی رابر روی “comp.os.minix”، یک گروه خبری در Usenet قرار داد:من در حال انجام یک سیستم عامل رایگان (فقط برای سرگرمی و از روی علاقه، و بزرگ و حرفه‌ای مانند گنو نخواهد شد) برای هم نوع‌های 386(486)AT هستم. این از اوریل در حال ساخته شدن هست، و در حال آماده شدن می‌باشد. من هر بازخوردی در Minix بر روی چیزهایی که مردم می‌پسندند یا نمی‌پسندند را می‌خواهم، با این وجود سیستم عامل من هم تا حدی به این شباهت دارد (بعضی از ارایش‌های فیزیکی فابل‌های سیستم در میان اشیا دیگر).
در حال حاضر من بش(bash) 1.08و gcc(1.40) را انتقال داده‌ام، و هم‌چنین بخش‌هایی که بنظر می‌رسند که کار کنند. این نشان می‌دهد که در این چندین ماه، به کجا رسیده‌ام. [...] بله، هیچ کد مینیکسی در آن نیست و یک سامانه پروندهٔ چند رشته‌ای دارد. قابل انتقال نیست (از task switching 386 استفاده می‌کند)، و به درستی از سوی دیسک‌های سخت AT پشتیبانی نمی‌شود، این تمام چیزیست که من دارم .
[…] این را به طور معمول با زبان C نوشته شده، اما بیشتر مردم نخواهند گفت که من چه چیزی را باC نوشتم. این از هر ویژگی امکان پذیر۳۸۶ که من می‌توانم پیدا کنم استفاده می‌کند، همچنان که این یک پروژه ست به من درباره ۳۸۶ یاد داد. همان طور که اشاره شد، آن از MMU، برای صفحه بندی و همچنین برای قطعه سازی استفاده می‌کند.
آن تقسیم بندی که باعث می‌شود آن را واقعاً به ۳۸۶ وابسته سازد (هر کاری دارای یک بخش 64 Mb برای کد و اطلاعات می‌باشد- بیشترین حد ۶۴ کار در 4Gb. هر شخصی که بیشتر از 64 Mb نیاز داشته باشد – کوکی‌های سخت).[…] برخی تز فایل‌های C من (بویژه mm.c) تقریباً به اندازهٔ اسمبلرها هستند. […]
بعد از آن، بیشتر مردم کد به پروژه کمک کردند. در اوایل، انجمن MINIX کدهایی و ایده‌هایی به لینوکس کمک کرد.
در سپتامبر ۱۹۹۱، نسخه لینوکس ۰٫۰۱ بر روی سرور FTP(ftp.funet.fi) دانشگاه فنلاند و Research Network(FUNET) منتشر شد. آن دارای ۱۰۲۳۹ کد خط می‌باشد. در نهایت در اکتبر ۱۹۹۱، نسخه لینوکس ۰٫۰۲ منتشر شد.
در دسامبر۱۹۹۱، لینوکس ۰٫۱۱ منتشر شد. این نسخه اولین نسخهٔ خود میزبان(self-hosted) لینوکس ۰٫۱۱ می‌توانست توسط یک کامپیوتر در حال اجرای لینوکس ۰٫۱۱ کامپایل شود.
وقتی او نسخهٔ ۰٫۱۲ ر در فوریه ۱۹۹۲ منتشر کرد، توروالدزGPL را بر روی گواهی نامهٔ پیش نویس قبلی خود، که اجازهٔ توزیع مجدد تجاری نداشت، پذیرفت.
یک گروه خبری به اسم alt.os.linux شروع به کار کرد، و در ۱۹ ژانویه ۱۹۹۲، اواین اطلاعیه ساخته شد. در ۳۱ مارچ1992 alt.os.linux به comp.os.linux تبدیل شد.
سیستم XWindow به زودی به لینوکس منتقل شد. این پرش بزرگ اعداد نسخه (از ۰٫۱ تا ۰٫۹) این احساس را به وجود آورد که که یک نسخه با شماره ۱٫۰ بدون هیچگونه ضعفی نزدیک است و در حال آماده شدن است.
به هر حال، این مقدار کمی خوش بینی را اثبات می‌کند، و از ۱۹۹۳ تا اوایل ۱۹۹۴ ،۱۵ نسخه توسعه یافتهٔ ورژن ۰٫۹۹ ظاهر شد. در ۱۴ مارچ ۱۹۹۴، لینوکس ۱٫۰٫۰ منتشر شد، با ۱۷۶۲۵۰ خط کد. در مارچ ۱۹۹۵، لینوکس ۱٫۲٫۰ منتشر شد.(۳۱۰۹۵۰).
ورژن ۲ لینوکس، در ۹ ژوئن ۱۹۹۶، توسط نسخه‌های اصلی تحت عنوان نسخه ۲ در جریان افتاد.

ویژگی‌ها

«لینوکس» فقط نام کرنل سیستم‌عامل گنو/لینوکس است. واژهٔ «کرنل»، به سامانهٔ نرم‌افزاری سطح پایینی (به معنی نزدیک‌تر به سخت‌افزار در رده‌بندی معماری سیستم‌عامل) اشاره می‌کند که لایه‌ای در معماری سیستم‌عامل به نام لایه انتزاع سخت‌افزار را تأمین می‌کند و دیسک‌ها و سامانهٔ پرونده‌گردانی را بررسی می‌نماید و تراز کردن (Balancing) ذخیره‌سازی داده‌ها و شبکه‌بندی و برقراری امنیت را برعهده دارد.
باید توجه کرد که کرنل یک سامانهٔ کامل نیست، ساخت یک سامانهٔ کامل با کرنل لینوکس به نام سیستم‌عامل لینوکس شهرت یافت (اگرچه بعضی‌ها ترجیح می‌دهند آن را سیستم‌عامل گنو/لینوکس بنامند و بر سر این نکته مجادله بسیاری وجود دارد. مردم عموماً کرنل و سیستم‌عامل را با هم اشتباه می‌گیرند و این مساله که سیستم‌عامل به عنوان «گنو/لینوکس» نامیده شود، تصورات اشتباه را به سمت صحیح هدایت می‌کند)

لینوکس-لیبره

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

موسی‌لینوکس

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