دومین نسخه آلفای (آزمایشی) از openSUSE 11.0 منتشر شده است. این نسخه به صورت پیشگزیده از میزکار KDE 4.0.1 استفاده میکند و همچنین GNOME 2.21.90 نیز به عنوان میزکار جایگزین ارائه شده است. هسته مورد استفاده نیز نسخه 2.6.24 و مجموعه اداری OpenOffice.org نیز به نسخه 2.4beta ارتقاء داده شده است. برای اطلاعات دقیقتر اینجا را ببینید. دریافت:
openSUSE-11.0-Alpha2-DVD-i386.iso (3,576MB), openSUSE-11.0-Alpha2-DVD-x86_64.iso (3,592MB)
در علم کامپیوتر، هسته (kernel) اساسیترین بخش یک سیستم عامل است. هسته سیستم عامل برنامهای است که دسترسی ایمن به سختافزار را برای برنامههای گوناگون فراهم میکند. به علت تعدد برنامههای کامپیوتری، همچنین از آنجایی که دسترسی به سختافزار محدود است، هسته از طریق تکنیکی که Multiplexing نامیده میشود، تصمیم میگیرد که یک برنامه چه وقت و به چه مدت میتواند بخشی از سختافزار را در اختیار بگیرد. از آنجایی که دسترسی مستقیم به سختافزار میتواند بسیار پیچیده باشد، معمولا هسته سیستمهای عامل مجموعهای از سختافزارهای مجرد را پیادهسازی میکنند. این مجردسازی پیچیدگیهای سختافزاری را پنهان میکند و رابطی (Interface) ساده و یکنواخت برای سختافزار فراهم میکند که استفاده از آن را برای برنامهنویسان آسانتر میکند.
برای اجرای یک برنامه بر روی کامپیوتر وجود هسته در سیستم عامل ضروری نیست. برنامهها میتوانند مستقیما بر روی کامپیوتر بارگذاری و اجرا شوند، به شرط آنکه نویسنده برنامه توانایی نوشتن چنین برنامههایی را، بدون پشتیبانی سیستم عامل و انتزاع سختافزاری داشته باشد. اجرای برنامهها بدون استفاده از سیستم عامل، در بسیاری از کامپیوترهای اولیه روش معمولی بوده است. البته، در این روش برای اجرای برنامههای مختلف لازم بود که مجددا کامپیوتر راهاندازی (Reset) و برنامه بارگذاری شود. سرانجام برای رفع این مشکل برنامههای کمکی کوچکی مثل loaderها و debuggerها ایجاد شدند، که حین اجرای برنامههای مختلف در حافظه باقیمیماندند یا از حافظه ROM بارگذاری میشدند. با تولید این برنامههای کمکی پایه و اساس چیزی که ما آن را هسته سیستم عامل میخوانیم شکل گرفت.
چهار نوع دسته بندی کلی برای هسته سیستمهای عامل وجود دارد:
1. هسته یکپارچه (Monolithic)، که انتزاع (abstraction) [1] سختافزاری نیرومندی را فراهم میآورد.
2. ریزهسته (Microkernel)، که مجموعهای کوچک از انتزاع ساده سختافزاری را به وجود میآورد و از نرمافزارهایی با نام سرویسدهنده (Server) استفاده میکنند تا قابلیت بیشتری را ارایه دهند.
3. هسته دورگه (Hybrid) یا "ریزهسته اصلاح شده"، که شباهت زیادی به ریزهسته دارد، با این تفاوت که به منظور اجرای سریعتر، شامل کدهایی اضافی در فضای هسته میباشد.
4. برونهسته (Exokernel)، که هیچ گونه انتزاعی را فراهم نمیکنند، ولی با استفاده از کتابخانهای از توابع (libraries) برای افزایش کارایی، دسترسی مستقیم یا نیمهمستقیم به سختافزار را فراهم میکنند.
هسته یکپارچه (Monolithic)
هسته یکپارچه (Monolithic)، یک رابط مجازی سطح بالا بر روی سختافزار تعریف میکند. همچنین مجموعهای از توابع برای پیادهسازی سرویسدهندههای سیستم عامل، مانند مدیریت پردازشها (Process Management)، همزمانی (Concurrency) و مدیریت حافظه را فراهم میآورد.
حتی اگر تمام اجزایی که به این عملیات سرویس میدهند از کل مجموعه هسته جدا باشند، از لحاظ همبستگی کد در تنگنا سختی خواهیم بود و با توجه به اینکه تمام اجزا در یک فضا اجرا میشوند، بروز خطایی در یکی از آنها میتواند کل سیستم را مختل کند. از طرفی دیگر، وقتی که پیادهسازی تکمیل و قابل اطمینان شد، شرایط همبستگی تنگاتنگ بین اجزای داخلی باعث میشود که امکانات سطح پایین سیستم به طور موثری در دسترس قرار گیرد و منجر به یک هسته یکپارچه، با کارآیی بسیار بالا شود.
طرفداران هستههای یکپارچه عقیده دارند که اگر کدی خطا دارد نبایستی در هسته قرار داشته باشد (متعلق به هسته باشد). چرا که در غیر این صورت، برتری اندکی نسب به ریزهستهها خواهند داشت. سیستمهای عامل Linux و Unix را میتوان جزو پیشرفتهترین هستههای یکپارچه دانست.
[1] ویراستار: منظور از انتزاع سختافزاری، امکان عمل نمودن مستقل یک برنامه بدون توجه به سختافزاری است که بر روی آن اجرا میشود. در زمان پیش از کامپیوترهای شخصی (PC)، برنامههای کامپیوتری تنها بر روی یک سختافزار مشخص اجرا میشدند و امکان اجرای آنها بر روی سیستم دیگری نبود. از جمله دلایل آن میتوان به تفاوت ساختار و عملکرد CPU های مختلف (مانند CPU های اینتل و موتورولا) با یکدیگر اشاره کرد. در این میان، سیستم عامل، از این نظر که به برنامهها امکان اجرا بر روی سختافزارهای متفاوتی را بدهد، نقشی بسیار حیاتی را بر عهده دارد.
هسته سیستم عامل (Operating System's Kernel) یا به اختصار «هسته» مهمترین قسمت هر سیستم عامل است.
هسته سیستم عامل، عبارت است از یک مجموعه نرمافزار، که وظیفه مدیریت منابع سیستم، و ارتباطات بین نرم افزارها و سخت افزار سیتم را بر عهده دارد.
هسته به مولفه هایی تقسیم شده است که هر کدام، وظیفه خاصی بر عهده دارد. مولفه های اصلی هر هسته سیستم عامل، در شکل زیر نشان داده شده است.
در شکل بالا، قسمتی که با رنگ قرمز نشان داده شده، هسته سیستم عامل است. همانطور که ملاحظه میشود، تمام عملکرد اصلی سیستم عامل (یعنی مدیریت منابع سخت افزار، مدیریت پردازش ها، مدیریت حافظه و...) را هسته آن انجام میدهد.