payamvha/North_RAG huggingface dataset:
خود اختصاص داده‌اند. سایر تغییرات مربوط به توسعه دهندگان نرم‌افزار حرفه ای بود که توسط یک شرکت برای ارسال کد به هسته پرداخت می‌شدند. در سال ۲۰۱۱، توسعه دهندگان رد هت ۱۰ درصد از تغییرات ایجاد شده در هسته را کمک کردند، دومین شرکت بزرگ اینتل Intel و پس از IBM و Novell. در حالی که نوکیا تا آن زمان سیستم عامل هوشمند MeeGo مبتنی بر هسته لینوکس خود را رها کرده بود، در سال ۲۰۱۱ توسعه دهندگان نوکیا هنوز کدهای بیشتری را در مقایسه با توسعه دهندگان شاغل در گوگل، که اندروید در سال ۲۰۰۷ و سیستم عامل Chrome در سال ۲۰۰۹
در سال ۲۰۰۷ و سیستم عامل Chrome در سال ۲۰۰۹ منتشر کرده بودند، به کد بیشتر کمک می‌کردند. به عنوان هفدهمین شرکت کننده پرکارترین شرکت در هسته رتبه‌بندی شد. توسعه دهندگان آن برای اولین بار در سال ۲۰۰۹ برای بهبود عملکرد دستگاه‌های مجازی لینوکس که در راس Hyper-V ویندوز Hyper-V قرار داشتند، به همکاری با هسته پرداختند. هسته‌های پایدار 3.x.y تا فوریه ۲۰۱۵ با انتشار نسخه‌های توسعه از مارس 3.r.y تا ۳٫۱۹ در بازار آزاد شدند. برای حساب کردن نسخه ویژه وصله گاه به گاه، سری نسخه ۳ هسته یک رقم چهارم را به شماره گذاری نسخه
نسخه ۳ هسته یک رقم چهارم را به شماره گذاری نسخه اضافه می‌کند. در آوریل ۲۰۱۵، توروالدز نسخه هسته ۴٫۰ را منتشر کرد. تا فوریه ۲۰۱۵، هسته لینوکس از نزدیک به ۱۲۰۰۰ برنامه‌نویس از بیش از ۱۲۰۰ شرکت، از جمله برخی از بزرگترین فروشندگان نرم‌افزار و سخت‌افزار در جهان، کمک دریافت کرده بود. نسخه ۴٫۱ هسته لینوکس، که در ژوئن سال ۲۰۱۵ منتشر شد، حاوی بیش از ۱۹٫۵ میلیون خط کد است که تقریباً ۱۴٬۰۰۰ برنامه نویسان در آن مشارکت دارند. معماری. لینوکس یک هسته یکپارچه است و از اکثر ویژگیهایی پشتیبانی می‌کند که فقط در هسته‌های منبع
ویژگیهایی پشتیبانی می‌کند که فقط در هسته‌های منبع بسته از سیستم عامل‌های غیر رایگان موجود باشد: درایورهای دستگاه و پسوندهای هسته در فضای هسته (حلقه ۰ در بسیاری از معماری‌های CPU) اجرا می‌شوند، با دسترسی کامل به سخت‌افزار، اگرچه برخی از استثنائات در فضای کاربر وجود دارد، به عنوان مثال، سیستم‌های پرونده ای مبتنی بر FUSE / CUSE و بخش‌هایی از UIO. سیستم گرافیکی که اکثر افراد از لینوکس استفاده می‌کنند در هسته کار نمی‌کند. برخلاف هسته‌های یکپارچه استاندارد، درایورهای دستگاه به راحتی به عنوان ماژول پیکربندی
درایورهای دستگاه به راحتی به عنوان ماژول پیکربندی می‌شوند و در حین کار سیستم بارگیری یا تخلیه می‌شود. همچنین، برخلاف هسته‌های یکپارچه استاندارد، درایورهای دستگاه تحت شرایط خاص می‌توانند از پیش ساخته شوند. این ویژگی برای کنترل صحیح وقفه‌های سخت‌افزاری و پشتیبانی بهتر از پردازش متقارن اضافه شده‌است. به دلخواه، هسته لینوکس هیچ رابط کاربری باینری برنامه پایدار درایور دستگاه ندارد. لینوکس به‌طور معمول از حافظه و حافظه مجازی استفاده می‌کند و همچنین می‌تواند به حافظه غیر یکنواخت دسترسی داشته باشد، با این حال این
غیر یکنواخت دسترسی داشته باشد، با این حال این پروژه μClinux را جذب کرده‌است که باعث می‌شود لینوکس را بر روی میکروکنترلرها بدون حافظه مجازی نیز اجرا کنید. این سخت‌افزار همچنین در سلسله مراتب پرونده گنجانیده شده‌است. درایورهای دستگاه از طریق ورودی در فهرستهای sys/ یا dev/ یا برنامه‌های کاربردی کاربر رابط می‌کند. اطلاعات فرایند نیز از طریق فهرست / proc به سیستم فایل نقشه‌برداری می‌شود. رابط‌ها. لینوکس یک کلون از UNIX است، بنابراین به دنبال انطباق POSIX و Single UNIX (SUSv3) است. به‌علاوه، از آنجا که لینوکس
UNIX (SUSv3) است. به‌علاوه، از آنجا که لینوکس یونیکس نیست، هسته مکالمه‌های اضافی سیستم و رابط‌های دیگر که مخصوص لینوکس هستند فراهم می‌کند. برای درج در هسته رسمی، کد باید با مجموعه ای از قوانین صدور مجوز تعریف شده کاملاً مطابقت داشته باشد. API فضای هسته به کاربر. استانداردهای مربوط با هدف دستیابی به قابلیت تغییر کد منبع برنامه‌های کاربر، که توسعه هسته لینوکس، کتابخانه GNU C و برنامه‌های مرتبط با آن سعی در رعایت آن دارند، مشخصات POSIX و Single UNIX هستند. زیر مجموعه API هسته لینوکس که واسطهای در معرض
زیر مجموعه API هسته لینوکس که واسطهای در معرض برنامه‌های کاربر را در نظر می‌گیرد، اساساً توسط مکالمات سیستمی مخصوص UNIX و لینوکس تشکیل شده‌است. به عنوان مثال، در بین لینوکس خاص خانواده تماس با سیستم کلون وجود دارد. اکثر برنامه‌های افزودنی باید با تعریف ماکرو _GNU_SOURCE در یک پرونده سرصفحه یا هنگام تهیه کد کاربر کاربر فعال شوند. تماس‌های سیستم فقط با استفاده از دستورالعمل‌های مونتاژ امکان‌پذیر است که امکان انتقال از فضای کاربر غیر شخصی به فضای هسته ممتاز در حلقه ۰ را فراهم می‌کند، برای مثال با استفاده از
حلقه ۰ را فراهم می‌کند، برای مثال با استفاده از دستورالعمل "int 0x80" بعد از کپی کردن شناسه تماس سیستم و پارامترهای آن به برخی از ثبات‌های CPU. به همین دلیل، کتابخانه استاندارد C (libC) با در معرض توابع C که تنها در صورت نیاز، می‌تواند به صورت شفاف وارد هسته شود که به نمایندگی از فرایند فراخوانی، به صورت شفاف در بسیاری از تماسهای سیستم لینوکسی عمل می‌کند. برای آن دسته از تماسهای سیستمی که تحت تأثیر libC قرار ندارند، به عنوان مثال mutex به سرعت فضای کاربر (futex)، کتابخانه تابعی به نام syscall ارائه می‌دهد
کتابخانه تابعی به نام syscall ارائه می‌دهد که می‌توان برای استناد به صراحت از آنها استفاده کرد. سیستمهای فایلهای شبه (مانند سیستمهای فایلهای sysfs و procfs) و پرونده‌های ویژه (به عنوان مثال، / dev / تصادفی، / dev / sda , / dev / tty و بسیاری دیگر) لایه دیگری از رابط کاربری ساختارهای داده هسته را تشکیل می‌دهند که سخت‌افزار یا منطقی هستند (نرم‌افزار) دستگاه‌ها. فضای هسته به کاربر ABI. به دلیل اختلافات موجود بین صدها پیاده‌سازی مختلف سیستم عامل لینوکس، اشیاء اجرایی، حتی اگر آنها برای اجرا در یک معماری
اشیاء اجرایی، حتی اگر آنها برای اجرا در یک معماری سخت‌افزاری خاص کامپایل، مونتاژ و پیوند شده باشند (یعنی آنها از ISA سخت‌افزار هدف استفاده می‌کنند)، اغلب نمی‌توانند در توزیع‌های مختلف لینوکس اجرا شوند. این مسئله عمدتاً به دلیل تنظیمات خاص توزیع و مجموعه ای از تکه‌های اعمال شده بر روی کد هسته لینوکس، تفاوت در کتابخانه‌های سیستم، خدمات (Daemons)، سلسله مراتب سیستم فایلها و متغیرهای محیطی است. استاندارد اصلی در مورد کاربرد و سازگاری باینری توزیع‌های لینوکس، پایگاه استاندارد لینوکس (LSB) است. با این حال، LSB
استاندارد لینوکس (LSB) است. با این حال، LSB فراتر از آنچه مربوط به هسته لینوکس است، می‌باشد زیرا همچنین مشخصات دسک تاپ، کتابخانه‌های X و Qt را که ارتباط چندانی با آن ندارند، تعریف می‌کند. نسخه 5 LSB بر اساس چندین استاندارد و پیش نویس ساخته شده‌است (POSIX , SUS , X / Open , File System Hierarchy (FHS) و سایر موارد). قسمت‌های LSB که تا حد زیادی مربوط به هسته لینوکس است عبارتند از General ABI (gABI)، به خصوص System V ABI و فرمت اجرایی و قابل پیوند (ELF)، و پردازنده خاص ABI (psABI)، به عنوان مثال مشخصات اصلی
خاص ABI (psABI)، به عنوان مثال مشخصات اصلی برای X86 -64 درون هسته API. چندین API داخلی هسته وجود دارد که بین زیر سیستم‌های مختلف مورد استفاده قرار می‌گیرد. برخی از آنها فقط در زیر سیستم‌های هسته موجود است، در حالی که مجموعه ای محدود از نمادهای درون هسته (به عنوان مثال متغیرها، ساختار داده‌ها و عملکردها) در معرض ماژول‌های بارگذاری پویا نیز قرار می‌گیرند. با ماکروهای ()EXPORT_SYMBOL و ()EXPORT_SYMBOL_GPL (آخرین مورد مربوط به ماژول‌های منتشر شده تحت مجوز سازگار با GPL است). برخی از APIهای هسته لینوکس در چندین
با GPL است). برخی از APIهای هسته لینوکس در چندین نسخه ثابت نگه داشته شده‌اند، برخی دیگر اینگونه نیستند. هیچ تضمینی در مورد APIهای هسته وجود ندارد. نگهبانان و مشارکت کنندگان می‌توانند هر زمان که بخواهند تقویت کنند یا آنها را تغییر دهند. با این وجود، APIهای درون هسته وجود دارند که ساختار داده‌ها را دستکاری می‌کنند (به عنوان مثال، لیست‌ها، درختان، صف‌ها) یا کارهای روزمره را انجام می‌دهند (به عنوان مثال کپی کردن داده‌ها از و به فضای کاربر، اختصاص حافظه، خطوط چاپی به سیستم سیستم و غیره) که حداقل از نسخه ۲٫۶
چاپی به سیستم سیستم و غیره) که حداقل از نسخه ۲٫۶ لینوکس پایدار مانده‌اند. نمونه‌هایی از APIهای درون هسته شامل کتابخانه‌های خدمات مشترک سطح پایین است که توسط درایور دستگاه‌ها استفاده می‌شود: درون هسته ای ABI. توسعه دهندگان لینوکس تصمیم می‌گیرند که یک ABI در هسته پایدار را حفظ نکنند. مشخصات فنی. برنامه‌ریزی و Preemption. برنامه‌ریز لینوکس کلاس‌ها و خط مشی‌های مختلف را قادر می‌سازد. به‌طور پیش فرض هسته از یک مکانیزم زمانبندی به نام برنامه زمانبندی کاملاً عادلانه استفاده می‌کند که در نسخه ۲٫۶٫۲۳ از هسته معرفی
استفاده می‌کند که در نسخه ۲٫۶٫۲۳ از هسته معرفی شده‌است. در داخل این کلاس زمانبندی پیش فرض همچنین به عنوان SCHED_OTHER شناخته می‌شود، اما هسته نیز شامل دو کلاس زمانبندی سازگار با POSIX با نام برنامه زمان واقعی به نام‌های SCHED_FIFO (در زمان واقعی اول-اول-اول) و SCHED_RR (بیدرنگ رابین) است، هر دو مورد نسبت به کلاس پیش فرض اولویت دارند. یک برنامه زمان‌بندی اضافی معروف به SCHED_DEADLINE، اجرای اولین الگوریتم مهلت اول (EDF)، در هسته نسخه ۳٫۱۴ اضافه شده‌است، که در تاریخ ۳۰ مارس ۲۰۱۴ منتشر شد. SCHED_DEADLINE نسبت
تاریخ ۳۰ مارس ۲۰۱۴ منتشر شد. SCHED_DEADLINE نسبت به سایر کلاس‌های برنامه‌ریزی دیگر برتری دارد. لینوکس امکان پیشگیری کاربر و همچنین preemption کامل هسته را فراهم می‌کند. Preemption تأخیر را کاهش می‌دهد، پاسخگویی را افزایش می‌دهد و Linux را برای برنامه‌های رومیزی و در زمان واقعی مناسب تر می‌کند. با پیش گویی کاربر، برنامه‌ریز هسته می‌تواند فرایند فعلی را با اجرای یک سوئیچ زمینه به جایگزین دیگری تبدیل کند که از این رو منابع محاسباتی را برای اجرا (CPU، حافظه و موارد دیگر) به دست می‌آورد. آن را مطابق الگوریتم
موارد دیگر) به دست می‌آورد. آن را مطابق الگوریتم CFS (به ویژه آنکه از متغیری به نام vruntime برای مرتب‌سازی فرایندها استفاده می‌کند)، به سیاست برنامه زمانبندی فعال و اولویت‌های نسبی پردازش‌ها تبدیل می‌کند. با پیشگیری هسته، هسته می‌تواند خود را در هنگام بازگشت یک دستگیرنده وقفه، وقتی وظایف هسته بسته می‌شود، مقدم کند، و هر زمان که یک سیستم فرعی صریحاً برنامه () را فراخوانی کند. با استفاده از پچ کرنل لینوکس در زمان واقعی PREEMPT_RT، می‌توانید پشتیبانی از preemption کامل بخش‌های مهم، دستگیر کننده‌های قطع و
کامل بخش‌های مهم، دستگیر کننده‌های قطع و دنباله‌های کد «قطع کردن غیرفعال کردن» را پشتیبانی کنید. یکپارچه سازی خط اصلی جزئی از تکه‌های لینوکس در زمان واقعی، برخی عملکردها را به خط اصلی هسته منتقل کرده‌است. قابلیت حمل. اگرچه در اصل برای قابل حمل طراحی نشده بود، اکنون لینوکس یکی از هسته‌های بسیار گسترده سیستم عامل است که در سیستم‌های متنوعی از معماری ARM گرفته تا رایانه‌های اصلی IBM z / Architecture اجرا می‌شود. اولین درگاه فراتر از معماری اصلی ۳۸۶ لینوکس بر روی پلت فرم موتورولا ۶۸۰۰۰ توسط کاربران آمیگا انجام
پلت فرم موتورولا ۶۸۰۰۰ توسط کاربران آمیگا انجام شد که این کار را با جایگزینی بخش‌های اصلی هسته انجام داد. تغییرات در هسته آنقدر اساسی بود که توروالدز نسخه موتورولا را به عنوان یک چنگال و یک سیستم عامل شبیه به لینوکس مشاهده کرد و نه به عنوان یک درگاه واقعی. با این وجود انگیزه ای بود که توروالدز برای بازگرداندن عمده کد هسته به منظور تسهیل در انتقال به معماری‌های محاسباتی رقیب، نیاز به بازسازی عمده ای از هسته داشت. اولین درگاه مورد تأیید لینوکس به پلتفرم ۶۴ بیتی DEC Alpha AXP بود که در ماه مه ۱۹۹۵ در DECUS
بیتی DEC Alpha AXP بود که در ماه مه ۱۹۹۵ در DECUS نشان داده شد، از ۳۸۶ و Alpha در یک درخت منفرد پشتیبانی کرد. DEC مسئول تأمین سخت‌افزار لازم برای توروالدز بود تا در همان سال بتواند درگاه لینوکس را به ۶۴ بیت برساند. لینوکس به عنوان سیستم عامل اصلی در نشست IBM و همه سریعترین رایانه‌های رایانه ای، از جمله Sunway TaihuLight طراحی شده و ساخت چینی، که قبلاً سریعترین آنهاست، اجرا می‌شود. از اکتبر سال ۲۰۱۹، همه ۵۰۰ سریعترین رایانه در جهان انواع مختلفی از لینوکس را اجرا می‌کنند، یک تغییر بزرگ از سال ۱۹۹۸ که اولین
اجرا می‌کنند، یک تغییر بزرگ از سال ۱۹۹۸ که اولین ابر رایانه لینوکس به لیست اضافه شد و سپس به رتبه ۱۱۳ رسید. یونیکس قبلاً در لیست حاکم بود. در حدود ۲۰۰۳ تقریباً بین یونیکس و لینوکس تقسیم شده‌است. لینوکس همچنین به دستگاه‌های دستی مختلفی مانند iPhone 3G و iPod اپل منتقل شده‌است. انواع هسته. انواع خاصی از هسته لینوکس وجود دارد که قابلیت‌های اضافی را ارائه می‌دهند اما به خط اصلی هسته لینوکس تعلق ندارند. چنین انواع هسته لینوکس شامل Linux-libre , Compute Node Linux , Cooperative Linux , Longene , grsecurance ,
, 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 می‌شود. به همین دلیل، گوگل اکنون مانع از ادغام تعداد زیادی از درایورهای سخت‌افزاری و کد پلتفرم در درخت اصلی هسته شده‌است. به‌طور مؤثر ایجاد یک شاخه هسته که تعدادی از فروشندگان مختلف اکنون به آن اعتماد دارند. - گرگ کروه-هارتمن، 2010امروزه اندروید از هسته کمی سفارشی لینوکس
2010امروزه اندروید از هسته کمی سفارشی لینوکس استفاده می‌کند که تغییراتی در درایورهای دستگاه انجام می‌شود به طوری که کمی یا بدون تغییر در کد هسته اصلی لازم است. توسعه دهندگان اندرویدی همچنین تکه‌هایی را به هسته اصلی لینوکس ارسال می‌کنند و هسته اصلی می‌تواند سیستم عامل اندروید را بوت کند. Nexus 7 می‌تواند هسته اصلی لینوکس را بوت و راه اندازی کند. هسته وحشت و اووپس. در لینوکس، «وحشت» یک خطای غیرقابل بازیابی سیستم است که توسط هسته شناسایی می‌شود، برخلاف خطاهای مشابه کشف شده توسط کد فضای کاربر. این امکان وجود
مشابه کشف شده توسط کد فضای کاربر. این امکان وجود دارد که کد هسته بتواند با تماس با عملکرد هراس واقع در فایل هدر sys / system.h چنین شرایطی را نشان دهد. با این حال، بسیاری از وحشتها نتیجه استثناء پردازنده بدون کنترل در کد هسته مانند ارجاع به آدرس‌های حافظه نامعتبر است. اینها معمولاً نشانگر اشکال در جایی در زنجیره تماس منتهی به وحشت است. آنها همچنین می‌توانند از خرابی سخت‌افزار مانند سلول رم خراب یا خطاهای عملکردهای حسگر در پردازنده ناشی از یک اشکال پردازنده، پردازش گرمای بیش از حد / آسیب دیده یا یک خطای نرم
پردازش گرمای بیش از حد / آسیب دیده یا یک خطای نرم نشان دهند. گزارش یک اشکال غیر کشنده در هسته «اوه» نامیده می‌شود. چنین انحراف از رفتار صحیح هسته لینوکس ممکن است امکان ادامه کار را با قابلیت اطمینان به خطر بیندازد. این گزارش‌های خرابی به‌طور خودکار جمع‌آوری شده و توسط نرم‌افزارهای مختلفی مانند هسته‌ها، ABRT (Fedora) و apport (اوبونتو) ارسال می‌شود. KernelOops.org این گزارش‌ها را جمع می‌کند و آماری را در وب سایت خود منتشر می‌کند. پیام وحشت هسته ممکن است در بعضی شرایط، مانند استفاده از یک میز گرافیکی، قابل
بعضی شرایط، مانند استفاده از یک میز گرافیکی، قابل مشاهده نباشد. برای اشکال زدایی در چنین شرایطی می‌توان از روش‌های دیگری مانند اتصال یک کنسول پورت سریال استفاده کرد. وصله زنده. به روزرسانی‌های Rebootless حتی می‌توانند با استفاده از فناوریهای زنده patch مانند Ksplice , kpatch و kGraft بر روی هسته اعمال شوند. پایه‌های حداقلی برای وصله هسته زنده در هسته هسته لینوکس در نسخه هسته ۴٫۰ که در تاریخ ۱۲ آوریل ۲۰۱۵ منتشر شد ادغام شدند. توسط kGraft و kpatch، با ارائه یک رابط برنامه‌نویسی برنامه (API) برای ماژول‌های
یک رابط برنامه‌نویسی برنامه (API) برای ماژول‌های هسته که شامل تکه‌های داغ و یک رابط باینری برنامه (ABI) برای برنامه‌های مدیریت فضای کاربر است. با این حال، هسته مشترک موجود در هسته لینوکس ۴٫۰ تنها از معماری x86 پشتیبانی می‌کند و هیچ مکانیزمی را برای اطمینان از سازگاری سطح عملکرد در حین استفاده از تکه‌های گرم فراهم نمی‌کند. از آوریل ۲۰۱۵، کار در مورد انتقال kpatch و kGraft به هسته مشترک پچینگ ارائه شده توسط خط اصلی هسته لینوکس در حال انجام است. امنیت. امنیت رایانه موضوعی است که بسیار گسترده در رابطه با هسته
موضوعی است که بسیار گسترده در رابطه با هسته لینوکس است زیرا بخش بزرگی از اشکالات هسته دارای نقص امنیتی احتمالی است. به عنوان مثال، آنها ممکن است امکان افزایش امتیاز را داشته باشند یا بردارهای حمله ای برای انکار خدمات ایجاد کنند. با گذشت سالها، بسیاری از این نقص‌ها در هسته لینوکس یافت و حل شد. ویژگی‌های امنیتی جدید اغلب برای بهبود امنیت هسته لینوکس پیاده‌سازی می‌شوند. لینوکس مکانیسم‌های زیادی را برای کاهش سطح حمله هسته و بهبود امنیت که در مجموع به عنوان ماژول‌های امنیتی لینوکس (LSM) شناخته می‌شوند، ارائه
امنیتی لینوکس (LSM) شناخته می‌شوند، ارائه می‌دهد. آنها شامل ماژول Security Enhanced Linux (SELinux) هستند که کد آن ابتدا تهیه شده و توسط NSA، و AppArmor در بین دیگران منتشر شده‌است. اکنون SELinux در GitHub به‌طور فعال توسعه و نگهداری می‌شود. SELinux و AppArmor از سیاستهای امنیتی کنترل دسترسی، از جمله کنترل دسترسی اجباری (MAC)، پشتیبانی می‌کنند، هرچند که از نظر پیچیدگی و دامنه بسیار متفاوت هستند. یکی دیگر از ویژگی‌های امنیتی، Seccomp BPF (Secure Computing با فیلترهای بسته‌بندی Berkeley) است که با فیلتر کردن
فیلترهای بسته‌بندی Berkeley) است که با فیلتر کردن پارامترها و کاهش مجموعه تماس‌های سیستم موجود برای برنامه‌های کاربر کاربر انجام می‌شود. منتقدان توسعه دهندگان هسته را متهم کردند که نقص‌های امنیتی را پوشش می‌دهند یا حداقل آنها را اعلام نمی‌کنند. در سال ۲۰۰۸، لینوس توروالدز به این سؤال پاسخ داد:من شخصاً اشکالات امنیتی را فقط «اشکالات عادی» می‌دانم. من آنها را تحت پوشش قرار نمی‌دهم، اما هیچ دلیلی هم ندارم که تا به حال فکر کنم ایده خوبی برای ردیابی آنها و اعلام آنها به عنوان چیز خاصی است … یک دلیل من حاضر به
آنها به عنوان چیز خاصی است … یک دلیل من حاضر به زحمت کشیدن با تمام امنیت نیستم سیرک این است که من فکر می‌کنم آن را ستایش می‌کند - و به همین ترتیب باعث تشویق رفتار نادرست می‌شود. این باعث می‌شود که «قهرمانان» از افراد امنیتی خارج نشوند، به نظر می‌رسد که افرادی که فقط اشکالات عادی را برطرف نمی‌کنند اهمیتی ندارند. در حقیقت، تمام اشکالات طبیعی خسته کننده از اهمیت بیشتری برخوردار هستند، فقط به این دلیل که تعداد بیشتری از آنها وجود دارد. من فکر نمی‌کنم برخی از سوراخ‌های امنیتی دیدنی و جذاب باید مورد تجلیل و
سوراخ‌های امنیتی دیدنی و جذاب باید مورد تجلیل و مراقبت قرار بگیرند که از این تصادف‌های تماشایی تصادفی به دلیل قفل بد بودن، «ویژه تر» هستند.توزیع‌های لینوکس به‌طور معمول به روزرسانی‌های امنیتی را برای رفع آسیب‌پذیری‌های موجود در هسته لینوکس منتشر می‌کنند. بسیاری از آنها نسخه‌های پشتیبانی طولانی مدت را ارائه می‌دهند که به روزرسانی‌های امنیتی برای نسخه هسته خاص لینوکس را برای مدت زمان طولانی دریافت می‌کنند. تاریخ ویژگی. نسخه ۱٫۰ هسته لینوکس در ۱۴ مارس ۱۹۹۴ منتشر شد. این نسخه از هسته لینوکس تنها از سیستم‌های
شد. این نسخه از هسته لینوکس تنها از سیستم‌های رایانه ای مبتنی بر تک پردازنده i386 پشتیبانی می‌کند. قابلیت حمل و نقل دغدغه ای شد و به همین ترتیب نسخه ۱٫۲ (منتشر شده در ۷ مارس ۱۹۹۵) پشتیبانی از سیستم‌های رایانه ای با استفاده از پردازنده‌های مبتنی بر معماری Alpha , SPARC و MIPS را به‌دست آورد. نسخه ۲٫۰ در ۹ ژوئن ۱۹۹۶ منتشر شد. این سریال شامل ۴۱ نسخه بود. ویژگی اصلی ۲٫۰ پشتیبانی از پردازش متقارن متقارن (SMP) و پشتیبانی از انواع بیشتری از پردازنده‌ها است. نسخه ۲٫۲ که در تاریخ ۲۰ ژانویه ۱۹۹۹ منتشر شد، Spinlock
۲٫۲ که در تاریخ ۲۰ ژانویه ۱۹۹۹ منتشر شد، Spinlock جهانی را حذف کرد و پشتیبانی از SMP را بهبود بخشید، پشتیبانی از معماری m68k و PowerPC را اضافه کرد، و سیستم‌های جدید فایل (از جمله پشتیبانی فقط خواندنی برای NTFS مایکروسافت) اضافه کرد. [۱۵۴] در سال ۱۹۹۹، IBM تکمیل‌های خود را برای پشتیبانی از معماری S / 390 کد لینوکس ۲٫۲٫۱۳ منتشر کرد. نسخه ۲٫۴٫۰، در ۴ ژانویه ۲۰۰۱ منتشر شد، شامل پشتیبانی از کارت‌های ISA Plug and Play , USB و PC است. این برنامه همچنین شامل پشتیبانی از پردازنده PA-RISC از Hewlett-Packard است.
از پردازنده PA-RISC از Hewlett-Packard است. توسعه برای 2.4.x کمی تغییر کرده‌است که ویژگی‌های بیشتری در طول مدت سریال از جمله پشتیبانی از بلوتوث، Logical Volume Manager (LVM) نسخه ۱، پشتیبانی RAID , InterMezzo و سیستم‌های پرونده ext3 در دسترس قرار گرفته‌است. نسخه ۲٫۶٫۰ در ۱۷ دسامبر ۲۰۰۳ منتشر شد. توسعه 2.6.x بیشتر به سمت ویژگی‌های جدید در طول مدت سریال تغییر یافت. از جمله تغییراتی که در سری ۲٫۶ ایجاد شده‌است عبارتند از: ادغام µClinux در منابع هسته اصلی، پشتیبانی PAE، پشتیبانی از چندین خط جدید پردازنده،
پشتیبانی PAE، پشتیبانی از چندین خط جدید پردازنده، ادغام معماری پیشرفته پیشرفته لینوکس (ALSA) در منابع هسته اصلی، پشتیبانی از تا ۲۳۲ کاربر (از ۲۱۶ مورد)، پشتیبانی از ۲۲۹ شناسه پردازش (فقط ۶۴ بیتی، آرکهای ۳۲ بیتی هنوز محدود به ۲۱۵)، به‌طور قابل ملاحظه ای تعداد انواع دستگاه‌ها و تعداد دستگاه‌های هر یک را افزایش داد. نوع، پشتیبانی ۶۴ بیتی بهبود یافته، پشتیبانی از سیستم‌های پرونده ای که اندازه پرونده تا ۱۶ ترابایت را پشتیبانی می‌کنند، پیش پردازش درون هسته، پشتیبانی از کتابخانه موضوع بومی POSIX (NPTL)، ادغام
از کتابخانه موضوع بومی POSIX (NPTL)، ادغام لینوکس در حالت کاربری در منابع هسته اصلی، SELinux ادغام در منابع هسته اصلی، پشتیبانی از InfiniBand و موارد قابل توجهی دیگر. همچنین قابل توجه اضافه شدن چندین سیستم فایل در سراسر نسخه‌های 2.6.x: FUSE , JFS , XFS , ext4 و موارد دیگر. جزئیات مربوط به تاریخچه سری هسته‌های ۲٫۶ را می‌توان در پرونده‌های ChangeLog در منطقه انتشار کد منبع سری ۲٫۶ هسته kernel.org یافت. نسخه ۳٫۰ در ۲۲ ژوئیه ۲۰۱۱ منتشر شد. در تاریخ ۳۰ مه ۲۰۱۱، توروالدز اعلام کرد که تغییر بزرگ «هیچ چیز نیست.
توروالدز اعلام کرد که تغییر بزرگ «هیچ چیز نیست. مطلقاً هیچ چیز» نیست؛ و پرسید، «... مطمئن شوید که ما واقعاً نسخه بعدی را نه فقط یک عدد براق جدید، بلکه یک هسته خوب نیز تولید خواهیم کرد.» پس از هفت– ۶–۷ مورد انتظار از روند توسعه، آن منتشر می‌شود. نزدیک به بیستمین سالگرد لینوکس. در ۱۱ دسامبر ۲۰۱۲، توروالدز تصمیم گرفت با از بین بردن پشتیبانی از پردازنده‌های i386، پیچیدگی هسته را کاهش دهد، و این سری ۳٫۷ هسته را به عنوان آخرین نسخه پردازنده اصلی پشتیبانی کند. همان سری پشتیبانی یکپارچه برای پردازنده ARM. نسخه
همان سری پشتیبانی یکپارچه برای پردازنده ARM. نسخه ۳٫۱۱ ، منتشر شده در ۲ سپتامبر ۲۰۱۳، بسیاری از ویژگی‌های جدید مانند پرچم جدید O_TMPFILE را برای بازکردن (۲) به منظور کاهش آسیب‌پذیری پرونده‌های موقتی، مدیریت توان پویا AMD Radeon، رای‌گیری در شبکه با تأخیر کم و zswap (مبادله فشرده) اضافه می‌کند. حافظه نهان). نسخه ۵٫۰ ، منتشر شده در سال ۲۰۱۹، شامل تکه‌هایی برای آسیب‌پذیری‌های امنیتی Spectre و Meltdown و سایر ویژگی‌های دیگر است. تغییر عددی از ۲٫۶٫۳۹ به ۳٫۰ و از ۳٫۱۹ به ۴٫۰ تغییر فاقد تفاوت فنی معنی دار است.
از ۳٫۱۹ به ۴٫۰ تغییر فاقد تفاوت فنی معنی دار است. برای جلوگیری از اعداد جزئی جزئی، تعداد نسخه اصلی افزایش یافته‌است. توسعه. جامعه توسعه دهنده. به‌طور کلی فرض بر این است که جامعه توسعه دهندگان هسته لینوکس ۵۰۰۰ یا ۶۰۰۰ عضو دارد. با توجه به "وضعیت توسعه هسته لینوکس ۲۰۱۷"، یک مطالعه صادر شده توسط بنیاد لینوکس، که شامل تعهدات نسخه‌های ۴٫۸ تا ۴٫۱۳ است، حدود ۱۵۰۰ توسعه دهنده به‌طور متوسط از حدود ۲۰۰–۲۵۰ شرکت کمک می‌کنند. ۳۰ توسعه دهنده برتر کمی بیشتر از ۱۶٪ کد را تشکیل می‌دهند. از نظر شرکت‌ها، بیشترین مشارکت
را تشکیل می‌دهند. از نظر شرکت‌ها، بیشترین مشارکت کنندگان اینتل (۱۳٫۱٪) و (Red Hat (7.2%، لینارو (۵٫۶٪)، (IBM (4.1% هستند، مکان‌های دوم و پنجم توسط "هیچ کس" (۸٫۲٪) و دسته‌های "ناشناخته" (۴٫۱٪). به جای نقشه راه، دستورالعمل‌های فنی وجود دارد. به جای تخصیص منابع مرکزی، اشخاص و شرکت‌هایی وجود دارند که همگی به‌طور کاملاً مستقل از یکدیگر در توسعه بیشتر هسته لینوکس سهیم هستند: افرادی مانند لینوس توروالدز و من توسعه هسته را برنامه‌ریزی نمی‌کنیم. ما در آنجا فقط نمی‌نشینیم ما فکر برای دو سال آینده نقشه راه را بررسی
ما فکر برای دو سال آینده نقشه راه را بررسی می‌کنیم، سپس منابع را به ویژگی‌های مختلف جدید اختصاص می‌دهیم. این به این دلیل است که ما هیچ منبعی نداریم. این منابع متعلق به شرکت‌های مختلفی است که از لینوکس استفاده می‌کنند و به آن کمک می‌کنند و همچنین مشارکت کنندگان مختلف مستقل خارج از آن. این افراد صاحب منابع هستند که تصمیم می‌گیرند … __اندرو مورتون، ۲۰۰۵ مدیریت کد منبع. انجمن توسعه هسته لینوکس از Git برای مدیریت کد منبع هسته استفاده می‌کند. لینوس توروالدز در ابتدا این سیستم کنترل نسخه را با سرعت در ذهن و به
ابتدا این سیستم کنترل نسخه را با سرعت در ذهن و به عنوان یک سیستم توزیع شده توسعه داد. کاربران Git می‌توانند آخرین نسخه هل شده درخت توروالدز را به‌دست آورند و با استفاده از کشش git، هسته رسمی هسته را به روز کنید. کد منبع هسته با فرمت GNU (gzip) و قالب bzip2 توزیع می‌شود. کمک‌های کد منبع توسط توسعه دهندگان به صورت تکه‌ها ارائه می‌شوند و تغییرات افزایشی در کد منبع هسته به این معنی است که توسعه دهندگان می‌توانند یکپارچه از یک نسخه هسته لینوکس به نسخه بعدی منتقل شوند. ارسال کد به هسته. توسعه دهنده ای که
منتقل شوند. ارسال کد به هسته. توسعه دهنده ای که می‌خواهد هسته لینوکس را تغییر دهد، با توسعه و آزمایش آن تغییر شروع می‌کند. بسته به اینکه چقدر تغییر قابل توجه است و چند سیستم فرعی آن را تغییر می‌دهد، این تغییر یا به صورت یک پچ منفرد یا در تکه‌های مختلف کد منبع ارائه می‌شود. در صورت وجود سیستم فرعی منفرد که توسط یک نگهدارنده منفرد نگهداری می‌شود، این لک‌ها به صورت ایمیل به نگهدارنده زیر سیستم با لیست پستی مناسب در سی سی ارسال می‌شوند. نگهدارنده و خوانندگان لیست پستی، تکه‌ها را مرور کرده و بازخورد را ارائه
لیست پستی، تکه‌ها را مرور کرده و بازخورد را ارائه می‌دهند. پس از اتمام روند بررسی، نگهدارنده سیستم فرعی تکه‌های موجود در درخت هسته Git مربوط را می‌پذیرد. اگر تغییرات در هسته لینوکس رفع اشکال باشد که به اندازه کافی مهم تلقی می‌شوند، درخواست برداشت برای وصله‌ها طی چند روز به توروالدز ارسال می‌شود. در غیر اینصورت، یک درخواست کشش در پنجره ادغام بعدی به توروالدز ارسال می‌شود. پنجره ادغام معمولاً دو هفته طول می‌کشد و بلافاصله پس از انتشار نسخه هسته قبلی شروع می‌شود. درخت منبع هسته Git از همه برنامه نویسان که در
درخت منبع هسته Git از همه برنامه نویسان که در دایرکتوری Credits به هسته لینوکس کمک کرده‌اند نام می‌برد و تمام نگهدارنده‌های سیستم‌های زیر سیستم در Maintainers ذکر شده‌اند. زبان برنامه‌نویسی و سبک برنامه‌نویسی. هسته لینوکس در نسخه زبان برنامه‌نویسی C پشتیبانی شده توسط GCC (که تعدادی پسوند و تغییر در استاندارد C را معرفی کرده‌است)، همراه با تعدادی بخش کوتاه از کد که به زبان اسمبلی نوشته شده‌است (به زبان ATC و GCC) نوشته شده‌است. «نحوی» سبک) از معماری هدف. GCC به دلیل برنامه افزودنی در C که پشتیبانی می‌کند،