هسته لینوکس
هسته لینوکس ۲.۶.۲۵.۱۷ در حال بالاآمدن (بوت شدن) |
|
| طراح(ها) | لینوس توروالدز |
|---|---|
| شرکت سازنده | لینوس توروالدز و هزاران توسعهدهندهٔ دیگر |
| اولین نسخه | ۱۹۹۱ |
| آخرین نسخهٔ پایدار | ۳.۱.۶ / ۲۱ دسامبر ۲۰۱۱ |
| آخرین نسخهٔ آزمایشی | ۳.۲ آرسی ۷ / ۲۴ دسامبر ۲۰۱۱ |
| زبانهای برنامهنویسی | سی و اسمبلی |
| سیستمعامل | شبه-یونیکس |
| گونه | هسته |
| پروانه | جیپیال نسخه ۲ |
| وبگاه | www.kernel.org |
هستهٔ لینوکس یک هسته سیستمعامل آزاد شبیه یونیکس است که توسط لینوس توروالدز در سال ۱۹۹۱ ساخته شد و سپس با کمک توسعهدهندگان در سراسر جهان پیشرفت داده شد.
این نرمافزار در اصل بر روی پردازندهٔ اینتل مدل 80386 و تقریباً بطور کامل با استفاده از زبان برنامهنویسی سی نوشته شدهاست. این هستهٔ سیستمعامل تحت مجوز عمومی گنو بصورت نرمافزار آزاد توزیع میشود.
هستهٔ لینوکس بهترین هستهٔ شناخته شده برای هسته سیستمعامل گنو/لینوکس است. توزیع نرمافزار براساس این هسته «توزیع گنو/لینوکس» نامیده میشود.
محتویات |
پیشینه [ویرایش]
در سال ۱۹۹۱ توروالدز بوجود آمدن این هسته را با یک رایانامهٔ تاریخی و مشهور بر روی یوزنِت در گروه خبری comp.os.minix اعلام کرد :
-
- «من یک سیستمعامل آزاد و فقط یک سرگرمی که مثل گنو بزرگ و حرفهای نخواهد شد، برای اجرا روی پردازشگرهای اینتل 80386 و 80486 نوشتهام...»
در این زمان پروژه گنو تعداد زیادی از اجزاء مورد نیاز یک سیستمعامل آزاد را ساخته بود اما هستهٔ آن ناقص و خارج از دسترس بود. بنابراین هستهٔ نوشته شده توسط توروالدز برای این سیستمعامل آزاد استفاده شد.
در سال ۱۹۹۱، سیستمعامل بی.اس.دی هنوز نتوانسته بود خود را از قید و بندهای عرفی رها کند با این وجود، شرکت یک فضا برای هستهٔ لینوکس باز کرد و با وجود عاملیت محدود، نسخههای اولیه آن به سرعت توسعهدهندگان و کاربرهای خود را جمع کرد. به زودی هکرها در بهینهسازی دستورالعملها و ایدههای هسته لینوکس شرکت کردند و امروزه تعداد افرادی که در این موارد همکاری میکنند به صدها برنامهنویس رسیده است.
ویژگیها [ویرایش]
«لینوکس» فقط نام هستهٔ سیستمعامل گنو/لینوکس است. واژهٔ «هسته»، به سامانهٔ نرمافزاری سطح پایینی (به معنی نزدیکتر به سختافزار در ردهبندی معماری سیستمعامل) اشاره میکند که لایهای در معماری سیستمعامل به نام لایه انتزاع سختافزار را تأمین میکند و دیسکها و سامانهٔ پروندهگردانی را بررسی مینماید و تراز کردن (Balancing) ذخیرهسازی دادهها و شبکهبندی و برقراری امنیت را برعهده دارد.
باید توجه کرد که هسته یک سامانهٔ کامل نیست، ساخت یک سامانهٔ کامل براساس هستهٔ لینوکس به نام سیستمعامل لینوکس شهرت یافت (اگرچه بعضیها ترجیح میدهند آن را سیستمعامل گنو/لینوکس بنامند و بر سر این نکته مجادله بسیاری وجود دارد. مردم عموماً هسته و سیستمعامل را با هم اشتباه میگیرند و این مساله که سیستمعامل به عنوان «گنو/لینوکس» نامیده شود، تصورات اشتباه را به سمت صحیح هدایت میکند.)
تاریخهای مهم [ویرایش]
- ۲۱ آوریل ۱۹۹۱: در این زمان «لینوس تروالدز» فعالیت خود را بر روی تعدادی ایده برای یک سیستمعامل جدید آغاز کرد. او کار خود را با زبان برنامهنویسی اسمبلی روی یک رایانه مبتنی بر پردازندهٔ اینتل 80386 آغاز کرد. اولین تلاش او در این راستا طراحی و پیادهسازی یک درایور بود.
مدل بهکاررفته در طراحی هسته [ویرایش]
هستههای متنوعی برای سیستمهای عامل وجود دارد که از این بین میتوان به مهمترین آنها اشاره کرد:
مدل هسته لینوکس یکپارچه است.[۱] لینوکس طراحی ساخت یافته(modular) دارد و چون ملحقات هسته در فضای کرنل اجرا میشوند، از سرعت بالایی برخوردار میباشد.
مزایا [ویرایش]
- با اینکه هسته لینوکس یکپارچه است ولی قابلیت بار کردن (Load) کردن پویای (Dynamic) پیمانههای هسته (kernel modules) را دارد.
- هسته لینوکس از چند پردازندگی موازی (Symmetric Multi Processing) حمایت میکند.
- هسته لینوکس غیر انحصاری است. (Preemptive)
- از نخهای هسته (Kernel Threads) برای ایجاد ساختار ریز هسته هر چه کوچکتر استفاده میکند.
حالات فرآیندها در لینوکس [ویرایش]
- اجرا (Running): در حال اجرا یا در وضعیت انتظار برای دریافت CPU
- انتظار (Waiting): در حال انتظار برای یک وقفه یا رخداد که خود دوحالت دارد:
- وقفه پذیر (Interruptible): فرآیندهای منتظر میتوانند توسط signalها وقفه پذیرند.
- وقفه ناپذیر (Uninterruptible): در این حالت فرآیند مستقیما با سختافزار درگیر است و وقفه نمیپذیرد.
- توقف (Stopped): فرآیند متوقف شده است. حالت دیباگ هم جزو این وضعیت است.
- زامبی (Zombie): فرآیند به هر دلیلی halt شده ولی هنوز اشاره گری در بردار فرآیند دارد.
- Swapping: در ارتباط با حافظه مجازی است.
منابع [ویرایش]
- مشارکتکنندگان ویکیپدیا، «Linux kernel»، ویکیپدیای انگلیسی، دانشنامهٔ آزاد (بازیابی در ۲۵ مارس، ۲۰۱۰).
- Rusling, David. The Linux Kernel
- Bovet, Daniel و Cesati, Macro. Understanding the Linux Kernel, 3rd edition November 2005. O'Reilly publications
پیوند به بیرون [ویرایش]
- kernel.org - آرشیو رسمی هستههای لینوکس
| این یک نوشتار خُرد پیرامون نرمافزار است. با گسترش آن به ویکیپدیا کمک کنید. |
|
||||||||||||||||||||||||||||||||||||||||