جزییات بازدید : 6751
تاریخ انتشار : 31 / اردیبهشت / 1397
در این مقاله سعی شده موضوعات به صورت جامع (نه کامل) بیان شود تا خواننده به سرعت هرچه بیشتر با تاریخچه پیدایش و روحیات لینوکس آشنا شود.
مقدمه
حتی کسانی که با دنیای وسیع کامپیوتری آشنایی کمی هم دارند نیز حتما بارها نام سیستم عامل راشنیده اند. به نوعی باید گفت هیچ کامپیوتری بدون سیستم عامل نمی تواند درگاهی را برای ورود کاربران بگشاید. در تعریف ساده سیستم عامل باید گفت جامع ترین و کامل ترین سیستمی است که وظیفه مدیریت سخت افزار را بر عهده دارد و این سیستم عامل است که رابط بین سخت افزار و سایر برنامه ها را شکل می دهد. امروزه وجود یک سیستم عامل امن و پایدار، از ارکان اصلی و پایه ای یک بستر و شبکه کامپیوتری محسوب می شود که هر گونه اختلال در آن حتی جزیی، ممکن است موجب تخریب و سرقت داده ها و یا از بین رفتن تمامی اطلاعات موجود بر روی سیستم مذکور گردد. از این رو استفاده از یک سیستم عامل پایدار، مطمئن و امن می تواند در بسترهای مختلف کامپیوتری به کاربران، مدیران و متخصصان فناوری اطلاعات کمک به سزایی نماید و آنها را در مسیر سرویس دهی و نگهداری از اطلاعات حساس سازمان ها یاری کند. لینوکس یکی از همین سیستم عامل ها می باشد که هر مدیر فناوری اطلاعاتی می بایست از نوع و نحوه عملکرد و مدیریت آن آگاه باشد.
از Time Sharing تا UNICS
طراحی و توسعه سیستم های اشتراک زمان (Time Sharing) به اوایل دهه 60 میلادی باز میگردد. نخستین سیستمعامل چند کاربره طراحی شده که به عنوان Server میتوانست با نصب شدن بر روی یک کامپیوتر به چند کامپیوتر دیگر سرویس دهد CTSS نام داشت که میتوانست ۲۰ کاربر را با یک کامپیوتر IBM 7090 به خوبی اداره کند که به شدت نیز مورد توجه قرار گرفته بود و همه دریافتند که بخش عظیمی از رایانههای آینده از این فناوری بهره خواهند گرفت.
چند سالی بود که سه شرکت از برجستهترین نقش آفرینان کامپیوتر در جهان یعنی مؤسسه فناوری ماساچوست، آزمایشگاه های بل و جنرال الکتریک، طرحی آزمایشی از یک سیستمعامل اشتراک زمان را برای مینفریم GI-645 در ذهن خود می پروراندند که در سال 1964برای عملی نمودن طرح های خود، پروژه ای را با نام MULTICS یا همان multiplexed information and computing system با در اختیار گرفتن کن تامپسون ، دنیس ریچی ، داگلاس مکیروی و جوزف اوسانا در آزمایشگاه های شروع کردند. پس از چندین سال کار بی وقفه بر روی پروژه ی MULTICS، هزینه و مشکلات پروژه بیش از حد پیش بینی شده برامد به طوری که در سال 1968 سرمایه گذاری برای آن قطع گردید و باعث شد MULTICS به خاطره ها بپیوندد تا اینکه در سال 1969 محققان پروژه شکست خورده MULTICS تصمیم گرفتند تغییراتی را در آن به وجود آورند تا بتوانند شکست خود را جبران کنند، پس شروع به تغییرات کردند؛ در سال 1970 پس از وارد کردن شکهای پیاپی به MULITICS و بازگشتش به زندگی، پیتر نیومن نام سیستم عامل جدید و تغییر یافته MULTICS را به UNICS که مخفف Uniplexed Information and Computing Service است تغییر داد؛ نام UNICS یک جور بازی با نام پروژه قبلی است که معنی یونیکس عقیم شده را می دهد. اولین نسخه از UNICS با زبان اسمبلر سطح پایین PDP-7 نوشته شد، بعد ها زبان برنامه نویسی به نام TMG برای PDP-7 توسط فردی به نام مک کلر نوشته شد که با استفاده از TMG کن تامپسون یک کامپایلر FORTRAN ای ساخت و در نهایت این پروژه باعث ارائه شدن یک زبان سطح بالاتر به نام زبان B گردید، زبان B بر اساس زبان برنامه نویسی BCPL که توسط مارتین ریچارد نوشته شده بود طراحی گردید و زمانیکه کامپیوترهای PDP-11 سر از آزمایشگاه های بل در آوردند، دنیس ریچی با استفاده از زبان برنامه نویسی B، زبان برنامه نویسی سطح بالاتری را به نام زبان C طراحی نمود که باعث به وجود آمدن تحولی اساسی در صنعت نرم افزار های کامپیوتر گردید، در واقع متوان گفت ویندوز ، مک او اس، لینوکس و بسیاری دیگر از سیستم عامل ها و نرم افزارهای امروزی وجودشان را مدیون زبان C هستند و از دنیس ریچی می توان به عنوان پدر برنامه نویسی نوین دنیا یاد کرد؛ در نهایت در سال 1973 تمامی اجزای اصلی سیستم عامل UNICS نیز به زبان C باز نویسی گردیدند که این برخلاف پندار همگانی آن زمان بود که میگفت: "هر چیز پیچیدهای مثل یک سیستمعامل که باید با رویدادهای حساس به زمان سر و کار داشته باشد، منحصراً باید به زبان اسمبلی نوشته شود" و یکی از واضح ترین نتایج مهاجرت از زبان اسمبلی به زبان سطح بالاتر C این بود که UNICS قابل حملتر گردید بود و اجرای آن برروی ماشین های دیگر آسانتر شده بود. UNICS را می توان امنترین، پایندارتری و قدرتمندترین سیستم عامل جهان از زمان تولد تاکنون دانست همینطور میتوان آن را پدر خیل عظیمی از سیستم عامل های 45 سال اخیر نامید.
UNIX بچه دار می شود
از کد منبع UNIX به خوبی محافظت نمی شد به طوری که اولین نسخههای یونیکس که در دهه 70 میلادی توسط آزمایشگاههای بل توزیع میشدند، حاوی کدهای منبع این سیستمعامل بودند که به محققین اجازه میداد تا بتوانند یونیکس را تغییر داده و گسترش دهند، حتی در زمانی که حدوداً UNIX سر و شکلی گرفته بود نیز در قبال مبالغی کد منبع آن به شخص خریدار داده می شد. پس در نتیجه هر کجا که کد منبع این سیستم عامل قدرتمند بود سرمایه گذاران و محققین توقع تغییراتی هرچند کوچک در آن می کردند تا بتوانند آن را به صورت انحصاری و با نام خود به فروش برسانند. به سیستم عامل هایی که از کد منبع UNIX استفاده نموده اند و نسبت به اهداف خود (چه تجاری و چه تحقیاتی و ...) تغییراتی را در آن به وجود آوردند یا به زبان ساده تر سیستم عامل هایی که پدرشان UNIX بوده را "شبه یونیکس" یا "UNIX LIKE"می گویند. در این میان می توان چندی از مطرح ترین سیستم عامل هایی که پدرشان UNIX بوده را مثال زد؛ به تصویر ذیل دقت نمائید.
آزادی
شبه یونیکس های زیادی هستند که واقعاً قدرتمند و امن و ... هسنتد اماً در این مقاله روی صحبت ما با سیستم عامل GNU/LINUX است.
در دههٔ ۱۹۷۰ و اوایل دههٔ ۱۹۸۰، برنامهنویسان رایانه تمامی کدهایی را که مینوشتند را با دیگران به اشتراک میگذاشتند تا هر شخصی که توانایی برنامه نویسی را دارد بتواند برنامه اصلی را بهبود بخشد و یا برای خود آن را شخصی سازی نماید. اما در اوایل دههٔ ۱۹۸۰ همه چیز دگرگون شد. شرکتهای نرمافزاری برای سود مالی بیشتر دیگر متن برنامههای خود را در اختیار دیگران قرار نمیدادند به طوری که اشتراک گذاریِ نرمافزار جرم محسوب میشد. در همین سالها بود که شخصی به نام ریچارد استالمن که در آزمایشگاه هوش مصنوعیِ مؤسسه ی تکنولوژیِ ماساچوست (MIT) مشغول به کار بود معتقد بود که نرمافزار باید همواره آزاد باشد و همگان باید بتوانند آن را ویرایش کنند و نرمافزار باید آزاد باشد. بدیهی بود که نخستین گام برای داشتن یک نرم افزار آزاد، وجود یک سیستمعامل آزاد بود؛ بنابراین ریچارد استالمن دست به کار شد و پروژه ای را با نام GNU یا همان GNU's Not Unix که یک سیستم عامل شبیه به UNIX بود را آغاز کرد؛ پروژه گنو یک سیستم عامل شبیه به یونیکس است که تمامی اجزاء آن آزاد و رایگان می باشد پس برای شروع او در طی سالهای ۱۹۸۴ تا ۱۹۸۵ کامپایلر GCC و ویرایشگر متن Emacs را نوشت و منتشر کرد، به این ترتیب ابزارهای نخستین مورد نیاز برای طراحی و ساخت یک سیستمعامل فراهم گردیدند، در سال ۱۹۸۵ بنیاد نرمافزارهای آزاد توسط استالمن پایهگذاری گردید و مفهوم copyleft که مقابل copyright بود بوجود آمد و اجازهنامهٔ جامع و عمومی گنو با نام GPL برای حمایت نرمافزارهای آزاد و تضمین آزادی کابران نوشته شد، به واقع می توان بیشترین درصد پیشرفت نرم افزار های امروزی را مدیون بنیاد نرم افزارهای آزاد دانست؛ از آن زمان تا کنون افراد بسیاری به صورت داوطلبانه برای توسعه بخشهای مختلف این پروژه عظیم کامپیوتری همکاری کرده و بخشهای مختلف آن را توسعه می دهند.
فرزند خلف UNIX پسری به نام GNU/LINUX
برنامه نویسان پروژه GNU توانستند تا سال ۱۹۹۰ تمامی اجزای یک سیستمعامل به غیر از هسته آن را آماده نمایند؛ در سال ۱۹۹۱ شخصی فنلاندی به نام لینوس توروالدز هستهای با نام LINUX که رفتار هایی به ارث برده از سیستم عامل MINIX که یک شبه یونیکس بود را پدید آورد و پس از ارتباطاتی که بین آقای استالمن و توروالدز بوجود آمد، ترکیبی از نرمافزارهای GNU با هسته LINUX یک سیستمعامل کامل که تمام ویژگی های پدر خود یعنی UNIX را به همراه انعطاف پذیری بیشتر را دارا بود بوجود آمد.