لینوس بندیکت توروالدز یک مهندس نرم افزار فنلاندی-آمریکایی است که برای شروع و حفظ توسعه هسته لینوکس شهرت دارد.
چند روز پیش لینوس توروالدز نظر خود را در مورد پایان دادن به پشتیبانی اعلام کرد برای معماری پردازنده i486 در هسته لینوکس. معماری قدیمی چند روز پیش در موضوعی مورد بحث قرار گرفت که نشان میداد چگونه هسته میتواند لیستهای کمترین استفاده اخیر (LRU) را بهتر مدیریت کند، راهی برای پیگیری صفحات حافظه.
در حین توروالدز کد را بررسی کرد از همکاران، به نظر می رسد از نیاز به گنجاندن راه حل ها ناامید شده است کافی است برای CPU های قدیمی بنابراین، او پایان دادن به پشتیبانی از کیت قدیمی را پیشنهاد کرد، که ممکن است راه سادهتری برای رفع مشکلات حافظه باشد.
ما در سال 386 از شر پشتیبانی i2012 خلاص شدیم. شاید زمان آن رسیده است که پشتیبانی از i486 را در سال 2022 کنار بگذاریم؟ لینوس توروالدز می گوید
ما قبلاً این کار را انجام میدهیم (البته اشتباه میکنیم: SMP-safe نیست، یعنی حتی در صورت مواجهه با دسترسی همزمان از چندین رشته اجرا، به خوبی کار میکند، اما ماشینهای SMP کلاس 486 هرگز پشتیبانی نمیشوند، حتی اگر از نظر فنی وجود داشته باشند)
لازم به یادآوری است که سری i486 CPU در سال 1989 منتشر شد و در حال حاضر تعداد بسیار کمی از توزیع های لینوکس مانند Gentoo، Slackware و KNOPPIX به پشتیبانی از این معماری ادامه می دهند.
به گفته توروالدز، مشکلات ناشی از پشتیبانی از معماری های قدیمی که افراد کمی از آنها استفاده می کنند ممکن است با حذف پشتیبانی آنها راحت تر حل شوند. مدیریت حافظه LRU پردازنده های قدیمی تر نیز چنین موردی است.
راستش را بخواهید، من بدم نمیآید حداقل نیازمندیها را به حداقل M586TSC ارتقا دهم و برخی از آن کلونهای اولیه «پنتیوم جعلی» را نیز پشت سر بگذارم. زیرا 'rdtsc' احتمالاً مشکلی حتی بدتر از CMPXCHG8B است.
و آن همه چیز به cmpxchg8b خلاصه می شود، دستورالعملی که هشت بایت را مقایسه می کند و سپس جابجا می کند. (یا 64 بیت) اطلاعات در حافظه کامپیوتر. عضو لیست پستی پیتر زیجلسترا پیشنهاد کرد که لینوکس فقط باید از پردازندههایی پشتیبانی کند که قادر به انجام این کار هستند و i486 32 بیتی را پشت سر بگذارد و به این معنی است که هستههای لینوکس جدیدتر روی سختافزار کلاس P5 یا جدیدتر اجرا میشوند.
دستور cmpxchg8b مقصر خطای 'F00F' است از پنتیوم اصلی، که در آن یک CPU آسیبدیده بدون کاهش سیستمعامل کار نمیکند تا زمانی که هنگام اجرای دستورالعمل، دوباره راهاندازی شود.
در واقع، من اصلاً نمیدانم چرا هستههای فعلی روی i486 اجرا میشوند، زیرا به نظر میرسد exit_to_user_mode_prepare -> arch_exit_to_user_mode_prepare، و در نهایت یک عبارت «rdtsc» بدون قید و شرط دارد.
من فرض می کنم شما آن را فعال نکرده اید.RANDOMIZE_KSTACK_OFFSET*؟ به عبارت دیگر، رسانه غیر پنتیوم ما در حال حاضر به طور فعال معیوب و شکسته است.
با توجه به او، بسیار مشکوک است که سخت افزار i486 هنوز مرتبط باشد. شکی نیست که هنوز هم چنین افرادی مصمم در جهان وجود دارند، که معتقدند می توان به راحتی بر مشکلات ناشی از آن غلبه کرد، اما از نقطه نظر توسعه هسته، این موقعیت واقعاً مرتبط نیست.
بنابراین من واقعاً فکر نمیکنم که سختافزار کلاس i486 دیگر مرتبط باشد. بله، مطمئن هستم که وجود دارند (Maciej یک مثال است)، اما از منظر توسعه هسته، فکر نمیکنم واقعاً مرتبط باشند. در برخی موارد، مردم آنها را به عنوان آثار موزه ای دارند. آنها همچنین می توانند هسته های موزه ها را مدیریت کنند.
باید گفت که معماری i486 در سال 1989 معرفی شد و در سال 1993 با پنتیوم اینتل جایگزین شد. اینتل در سال 486 از شر i2007 خلاص شد و امروز پایگاه داده جزئیات محصول معروف Ark آن هیچ اشاره ای به خانواده پردازنده ندارد.
کسانی که هنوز از این دستگاهها استفاده میکنند مدتها پیش از انجام این کار بدون پشتیبانی، بدون امکان دستیابی به کیت جدید یا اینکه توسعهدهندگان نرمافزار به این پلتفرم فکر میکردند، صرف نظر کردند.
برای جزئیات بیشتر، Intel 80486 (i486, 486) یک ریزپردازنده از خانواده x86 است که توسط اینتل ساخته شده است. این در سال 1989 منتشر شد. از نظر معماری پردازنده، 80486 بسیار شبیه به نسل قبلی خود، Intel 80386، با اضافه شدن چند دستورالعمل اضافی است. بنابراین، این یک معماری CISC است.
از نقطه نظر ریزمعماری، در آن زمان یک پیشرفت بزرگ وجود داشت: یک دستورالعمل یکپارچه یکپارچه و حافظه پنهان داده، یک واحد پردازش نقطه شناور یکپارچه اختیاری (FPU)، و یک رابط باس بهبودیافته.
در نهایت او برای کاربرانی که سیستم هایی با پردازنده i486 دارند می توانند از نسخه های LTS هسته استفاده کنندکه برای سالهای طولانی ادامه خواهد داشت.
نظر بدهید ، نظر خود را بگذارید
پشتیبانی از مدلهای قدیمیتر پردازندهها و دستگاهها ممکن است به دلایل مختلفی از جمله سادهسازی و بهینهسازی کد، کاهش پیچیدگی و نگهداری هسته، یا تمرکز بر دستگاههای مدرن و محبوبتر از هسته لینوکس حذف شود. چند نمونه از مدل های قدیمی که می توانند از پشتیبانی هسته لینوکس حذف شوند عبارتند از:
پردازنده های قدیمی: مانند Intel i386، i486 یا برخی از پردازنده های قدیمی AMD. این پردازنده ها بسیار قدیمی هستند و از آخرین ویژگی های هسته لینوکس پشتیبانی نمی کنند.
دستگاه های جانبی قدیمی: مانند درایوهای نوار، درایوهای فلاپی یا برخی از کارت های صوتی یا تصویری قدیمی. این دستگاهها امروزه کمتر رایج هستند و بنابراین ممکن است برای کاهش پیچیدگی هسته، پشتیبانی از آنها لغو شود.
فناوری های منسوخ شده: مانند پشتیبانی از پروتکل شبکه IPX که دهه ها پیش معمولاً در شبکه های کامپیوتری استفاده می شد. با پیشرفت و تغییر فناوریها، پشتیبانی از فناوریهای قدیمی ممکن است از هسته حذف شود.