چند ماه پس از انتشار نخستین نسخهٔ لینوکس به دست لینوس توروالدس، او آشکارا با فردی درگیر شد که کارش به شکلگیری اولیهٔ این پروژه کمک کرده بود. اگر با اصطلاحات آشنا نیستید، عملکرد هستهٔ لینوکس محور اصلی این بحث بود؛ زیرا توروالدس و اندرو تاننبام بر سر شیوهٔ طراحی این بخش بنیادی سیستمعامل اختلافی اساسی داشتند.
تاننبام استاد برجستهٔ علوم رایانه، خالق مینیکس و نویسندهٔ کتاب درسی پرکاربردی دربارهٔ طراحی سیستمعامل بود. توروالدس خود از مینیکس استفاده کرده بود و داستان خلق لینوکس و تبدیل آن به نرمافزار آزاد، پیوندی نزدیک با سیستمهای شبهیونیکس و ابزارهای توسعهٔ آن دوران دارد. گروه خبری مینیکس نیز یکی از محلهایی بود که توسعهٔ اولیهٔ لینوکس در آن پیش میرفت.
سپس، در ۲۹ ژانویهٔ ۱۹۹۲، تاننبام پیامی با موضوعی که دیدگاهش را بهروشنی نشان میداد، در گروه comp.os.minix منتشر کرد.
پیامی که لینوکس را منسوخ خواند
«نوشتن هستهٔ یکپارچه در ۱۹۹۱، گامی عظیم به عقب، به دههٔ هفتاد بود»

این پیام با عنوانی صریح و بیپرده، «LINUX منسوخ است» منتشر شد.
استدلال تاننبام عمدتاً بر ساختار لینوکس متمرکز بود. لینوکس هستهای یکپارچه داشت که در آن، بخشهای اصلی مانند مدیریت حافظه، سیستمهای فایل، شبکه و درایورهای دستگاه، تقریباً همگی درون هسته اجرا میشدند. مینیکس از رویکرد میکروهستهای پیروی میکرد؛ هستهٔ خود را بسیار کوچک نگه میداشت و بیشتر سرویسها را به پردازشهای جداگانه میسپرد که با یکدیگر ارتباط داشتند.
تاننبام بهوضوح این طراحی را ترجیح میداد. او میکروهستهها را پایهای پاکتر و قابلاعتمادتر برای سیستمعاملهایی میدید که باید در برابر سختافزار متغیر و پیچیدگی روزافزون دوام بیاورند. آنقدر به این رویکرد اطمینان داشت که میگفت «بحث اساساً تمام شده است» و «میکروهستهها پیروز شدهاند».

نگرانی او فقط به معماری هسته محدود نبود. لینوکس ویژهٔ پردازندهٔ اینتل ۳۸۶ نوشته شده بود و توروالدس با رغبت از هر قابلیت سختافزاری مفیدی بهره میگرفت. تاننبام این کار را شرطبندی پرخطری میدانست؛ زیرا پردازندههای RISC در حال گسترش بودند و سیستمعاملی که کاملاً به یک خانوادهٔ پردازنده وابسته باشد، ممکن است با پیشرفت دنیای سختافزار به دردسر بیفتد.
در سال ۱۹۹۲، این نگرانی بهراحتی جدی گرفته میشد. لینوکس هنوز تازهکار بود، از دامنهٔ محدودی از سختافزار پشتیبانی میکرد و هنوز قابلیت انتقالی را نداشت که بعدها به یکی از نقاط قوتش بدل شد. تاننبام استدلال میکرد هرکس بهدنبال سیستمعامل آزادی شبیه یونیکس و مدرن است، بهتر است به پروژهای میکروهستهای و قابلانتقال امید ببندد؛ مسیری که در آن زمان گنو یکی از گزینههای امیدبخش آن بود.
توروالدس یک برتری داشت که تاننبام نمیتوانست انکار کند
لینوکس از پیش کار میکرد

توروالدس حدود یازده ساعت بعد پاسخ داد و تلاش نکرد لینوکس را پیروزی بزرگی برای نظریهٔ سیستمعامل جلوه دهد.
خب، با چنین موضوعی، مجبورم پاسخ دهم. از کاربران مینیکس که بهاندازهٔ کافی دربارهٔ لینوکس شنیدهاند، عذر میخواهم. دلم میخواست «طعمه را نادیده بگیرم»، اما … زمان یک جنگ شعلهای جدی فرا رسیده است!
پروژهٔ سیستمعامل گنو هنوز هستهای قابلاستفاده نداشت، در حالی که لینوکس را هرکس میتوانست دانلود، کامپایل، تغییر، خراب، اصلاح و بهتر کند. تاریخچهٔ ابزارهای گنو که پیرامون هستهٔ توروالدس شکل گرفت، دلیل آن است که گاهی لینوکس را گنو/لینوکس مینامند؛ هرچند امروزه بیشتر مردم آن را صرفاً لینوکس میخوانند.
توروالدس این برتری را در جملهای خلاصه کرد که بهطرز شگفتآوری خوشخیم از آزمون زمان بیرون آمد: لینوکس «در دسترس بودن کنونی را با اختلاف میبَرد». همین دسترسپذیری به لینوکس اجازه داد، در حالی که بحثهای معماری همچنان داغ بود، کاربر و مشارکتکننده جذب کند. مردم آن را روی سختافزار واقعی اجرا میکردند، باگ گزارش میدادند، وصله میفرستادند، نرمافزارها را منتقل میکردند و بهتدریج دامنهٔ توانمندیهای هسته را گسترش میدادند.
اگر هستهٔ گنو در بهار گذشته آماده بود، حتی پروژهام را آغاز نمیکردم؛ اما حقیقت این است که نه آن زمان آماده بود و نه امروز. لینوکس در دسترس بودن کنونی را با اختلاف میبَرد.
بحث در comp.os.minix روزها ادامه یافت. برنامهنویسان دربارهٔ کارایی، قابلیت انتقال، قابلیت اطمینان و بدهبستان میان هستههای یکپارچه و میکروهستهها گفتوگو میکردند. تاننبام چند نسل سختافزاری جلوتر را در نظر داشت و میپرسید سیستمعامل چگونه باید در برابر تغییر ماشینها و افزایش انتظارها از قابلیت اطمینان دوام بیاورد. در همان حال، توروالدس هستهای داشت که مردم میتوانستند همان هفته نصبش کنند و به بهبودش بپردازند.
کد قابلاجرا به لینوکس فرصت رشد داد، در حالی که همه همچنان دربارهٔ شکل ایدهآل یک سیستمعامل بحث میکردند.
مشکل ۳۸۶ دیگر مشکل نماند
هستهٔ وابسته به سختافزار، سفر کردن را آموخت





نقد تاننبام دربارهٔ قابلیت انتقال، شاید بخشی از بحث ۱۹۹۲ باشد که از آن زمان بیش از همه تغییر کرده است؛ زیرا لینوکس چند دهه فرصت تکامل داشت.
لینوکس در آغاز واقعاً به ۳۸۶ گره خورده بود و اگر همانگونه میماند، هشدار تاننبام بهشدت پیشگویانه به نظر میرسید. اما توسعهدهندگان سالها کوشیدند هسته را از فرضهایی که پیرامون ماشین اصلی توروالدس شکل گرفته بود جدا کنند و آن را به سختافزارهایی ببرند که تصورشان در آغاز پروژه دشوار بود.
لینوکس اکنون از معماریهایی مانند ARM، ARM64، PowerPC، RISC-V، s390 شرکت IBM، LoongArch و x86 پشتیبانی میکند. شماری از این معماریها شباهت اندکی با ۳۸۶ دارند که در مرکز نقد تاننبام قرار گرفته بود.
اندروید روشنترین نمونهٔ کاربرد هستهٔ لینوکس فراتر از رایانههای رومیزی است. اندروید از هستهٔ لینوکس بهره میبرد و عمدتاً روی سختافزار مبتنی بر ARM اجرا میشود؛ بنابراین لینوکس را به میلیاردها گوشی و تبلت برده است. هسته همچنین به سرورها، تجهیزات شبکه، سیستمهای نهفته، لوازم خانگی و انبوهی از سختافزارهای تخصصی راه یافت؛ سختافزارهایی که با رایانهٔ رومیزی پیش روی توروالدس در آغاز کار، فاصلهٔ زیادی داشتند.
لینوکس سرانجام به سوی دیگر طیف رایانش نیز رسید و از ۲۰۱۷، همهٔ ماشینهای فهرست TOP500 سریعترین ابررایانههای جهان را به کار انداخت.
قابلیت انتقال بیتردید اهمیت داشت و موفقیت لینوکس تا حدی به این وابسته بود که توسعهدهندگان سالها از عهدهٔ همان مشکلاتی برآیند که تاننبام دربارهشان هشدار داده بود. وابستگی اولیهٔ هسته به ۳۸۶ به یکی از محدودیتهایی بدل شد که پروژه با مهندسی پیوسته از آن رها شد؛ تا جایی که ایراد اصلی، دیگر شباهت چندانی به لینوکس امروزی نداشت.
بحث قدیمی در ۲۰۰۶ بازگشت
یک جنگ شعلهای ظاهراً کافی نبود

مکاتبات ۱۹۹۲ تا حد زیادی از آن رو ماندگار شد که یوزنت ردپای بسیار خوبی از خود به جا گذاشت. پستها بایگانی، نقلقول و سرانجام بازنشر شدند؛ از جمله در کتاب «منابع باز» در ۱۹۹۹، که بازگشت به کل بحث را بهطرزی غیرمعمول آسان کرد.
در ۲۰۰۶، تاننبام مقالهای با عنوان «آیا میتوانیم سیستمعاملها را قابلاعتماد و امن بسازیم؟» در مجلهٔ Computer منتشر کرد. این بار تمرکز او بر قابلیت اطمینان و امنیت بود و استدلال میکرد که جداسازی اجزای سیستمعامل میتواند مانع از آن شود که یک درایور یا سرویس معیوب، کل سیستم را از کار بیندازد. این نوع مهار خطا همواره یکی از نیرومندترین استدلالها برای طراحیهای مبتنی بر میکروهسته بوده است.
مقاله فوراً به بحث قدیمی لینوکس پیوند خورد. اسلشدات مبادلات ۱۹۹۲ را دوباره مطرح کرد، توروالدس بار دیگر وارد بحث شد و تاننبام نیز بعدها پاسخی مستقل منتشر کرد.
تا ۲۰۰۶، لینوکس به موفقیتی عظیم تبدیل شده بود، اما نگرانیهای فنی پشت موضع تاننبام از میان نرفته بودند. میکروهستهها و طراحیهای مرتبط، همچنان در سیستمهایی که جداسازی، قابلیت اطمینان و مهار خطا اهمیت زیادی دارند، مزیتهای واقعی دارند.
ظهور لینوکس بخشی از بحث را قاطعانه حل کرد. معماری آن بهروشنی فضای فراوانی برای رشد باقی گذاشته بود. اما بحث بزرگتر دربارهٔ چگونگی طراحی سیستمعاملها هرگز واقعاً از میان نرفت.
هستهٔ «منسوخ» تقریباً همهجا را گرفت
بنبست شلوغ شد

رایانهٔ رومیزی سنتی همچنان استثنای آشکار است. ویندوز و macOS، طبق Statcounter، هنوز در آن تسلط دارند؛ هرچند سهم بازار رایانهٔ رومیزی لینوکس رو به افزایش است. همین نکته به کل داستان پیچشی اندکی طنزآمیز میدهد، زیرا رایانهٔ رومیزی همان محیطی بود که لینوکس نخست از آن برخاست.
پروژهٔ هستهٔ گنو خود از مسیری پیروی کرد که تاننبام آن را امیدبخشتر میدانست. هرد طراحی مبتنی بر میکروهسته را برگزید و به یکی از عجیبترین نمونههای پروژههای متنباز بدل شد؛ پروژهای که پس از دههها توسعه، همچنان ناتمام مانده است. این پروژه هرگز نتوانست به آن سیستمعامل آزاد و شبهیونیکسیِ پرکاربردی تبدیل شود که لینوکس سرانجام به آن بدل شد.
تاننبام ضعفهای فنی لینوکس را شناسایی کرده بود، از جمله برخی ضعفها که توسعهدهندگان سالها برای رفعشان وقت گذاشتند. اما او آن ضعفهای اولیه را پیشبینی دقیقتری برای آیندهٔ پروژه میدانست تا آنچه در نهایت رخ داد.
دسترسپذیری، برتری قدرتمندی از آب درآمد
استدلال تاننبام در سال ۱۹۹۲ همچنان بهعنوان تحلیلی فنی و جدی اعتبار دارد. آنچه بهسرعت کهنه شد، این تصور بود که مصالحههای اولیهٔ لینوکس میتوانند پیشبینی مفیدی از میزان پیشرفت نهایی پروژه باشند.
توروالدس کدی داشت که کار میکرد و افرادی که آماده بودند آن را بهتر کنند. با تغییر سختافزار، لینوکس نیز تغییر کرد.
و همین کافی بود.
منبع: این مطلب ترجمه و بومیسازی مقالهای از MakeUseOf به قلم Oluwademilade Afolabi است. مشاهده مقاله اصلی