شاید از آن دسته باشید، که هیچ آشنایی قبلی با لینوکس ندارید، امابه احتمال زیاد، ناخواسته از این سیستم عامل استفاده نمودهاید. در صورتی که موبایل شما دارای سیستم عامل اندروید باشد، شما در حال استفاده از یکی از توزیع های لینوکس میباشید. سیستم عامل لینوکس در زمینههای مختلفی از شبکههای کامپیوتری گرفته تا کنترل یک ماشین لباسشویی و خودرو، کاربرد پیدا نموده است. در این مقدمه و تاریخچه ، به بررسی کاربردهای لینوکس در سرورها، سیستم های توکار و دسکتاپ میپردازیم. در ادامه تاریخچه لینوکس و نحوهی پیدایش این سیستم عامل و جنبش نرمافزارهای آزاد و همچنین مفاهیم و اصطلاحات مقدماتی را مورد بررسی قرار میدهیم.
سرور
سیستم عامل لینوکس به طور گسترده ای در سرورهای شبکه بهکار میرود. سرویسهای مختلفی در اینترنت از لینوکس به عنوان پلتفرم استفاده مینمایند. بعنوان مثال از سرویسدهندههای ایمیل، وب سرورها، سرویسدهندگان وب میتوان نام برد. در کامپیوترهای مینفریم، استفادهی گسترده از سیستم عامل لینوکس، آن را به حاکم بلامنازع، در دنیای کامپیوترهای بزرگ، تبدیل نموده است.
سیستمهای توکار
در سیستم های درونساخت (embedded) یا توکار، از این سیستم عامل استفاده میشود. سیستمهای توکار، به دستگاههایی گفتهمیشود که برای کنترل آنها مانند کامپیوترها از یک سیستمعامل استفادهمیگردد، با این تفاوت که سیستم عامل تعبیه شده در آنها بصورت تک منظوره و برای کاربرد خاص ایجاد گردیده است. بعنوان مثال خودروهایی که با یک سیستم کامپیوتری کنترل میشوند.
دسکتاپ
در دنیای دسکتاپ، اگر چه هنوز سیستم عامل ویندوز، درصد قابل توجهی را به خود اختصاص داده است، اما با بهتر شدن رابطهای گرافیکی لینوکس، درصد استفاده از سیستم های مبتنی بر لینوکس رشد داشته است.
تاریخچه لینوکس
برای ورود به تاریخچه لینوکس در ابتدا مطالبی را در ارتباط با دو سیستم عامل UNIX و MINIX و نقش آنها در پیدایش سیستم عامل لینوکس، توضیح میدهیم.
UNIX و استاندارد POSIX
برای شروع مطالعهی تاریخچه سیستم عامل لینوکس ، در ابتدا به نقش سیستم عامل یونیکس، میپردازیم. سیستم عامل یونیکس را، میتوان نقطهی عطفی در تکامل سیستم عاملهای کامپیوتری دانست. یونیکس در سال 1969 توسط کن تامسون، دنیس ریچی، برایان کرینیگان و همکاران در آزمایشگاه بل از شرکت A&T، با زبان اسمبلی کدنویسی شد. در سال 1972 به با زبان C، بازنویسی گردید. AT&T، کد سورس یونیکس را تحت مجوزهایی به دانشگاهها و برخی مراکز تجاری و دولتی داد. با واگذاری یونیکس به دانشگاهها و موسسات، نسخههای مختلفی از یونیکس، همچون BSD از دانشگاه برکلی، SunOS، از سان میکروسیستمز منتشر شدند. ویژگی این نسخهها، رعایت استاندارد POSIX، برای سازگار بودن با سیستم عامل یونیکس بودند.
Minix
برای اهداف آموزش و دانشگاهی، اندرو تننباوم سیستم عاملی به نام Minix عرضه نمود. مینیکس از ردهی سیستم عاملهای شبیه یونیکس، میباشد را عرضه نمود. این سیستم عامل دارای مجوزهای محدود کننده برای استفاده بود و اجازه تغییر و دستکاری در کد را نمیداد.
بنیاد نرمافزارهای آزاد (FSF)
مطالعهی تاریخچه لینوکس به دهه هشتاد میلادی برمیگردد. در دههی هشتاد میلادی، شرکتهای مایکروسافت و اپل، به رشدی چشمگیر رسیده بودند و محصولات مایکروسافت، به حاکم بلامنازع سیستم عامل دسکتاپها، مبدل گشته بود. همچنین، سیستم عامل یونیکس نیز، بصورت تجاری بفروش میرسید. ریچارد استالمن، برای مقابله با نگاه مالکیت تجاری و انحصاری به نرمافزارهای کامپیوتری، در سال 1983 پروژهی بزرگی به نام گنو (GNU) را، آغاز نمود. او برای حمایت از این پروژه، در سال 1985 بنیاد نرمافزارهای آزاد Free Software Foundation یا FSF را، بنا نهاد. Gnu یک سیستم عامل آزاد و شبیه سیستم عامل یونیکس میباشد، بدین معنی که، از استاندارد یونیکس به نام POSIX پیروی مینماید. GNU در اصل مخفف عبارت GNU not Unix میباشد، که اشاره به این دارد که کدهای برنامههای این پروژه از سیستم عامل یونیکس کپی برداری نشده است.
ریچارد استالمن و تیم همراهش شروع به توسعه نرمافزارهای لازم برای یک سیستم عامل آزاد را نمودند. کامپایلرها، ویرایشگرها و دیگر نرمافزارها کدنویسی شدند، اما هنوز هستهای که در این سیستم عامل به کار برود آماده نشده بود. در آگوست سال ۱۹۹۱، یک دانشجوی فنلاندی بنام لینوس توروالدز، یک هسته سیستم عامل را کدنویسی و منتشر نمود. متن ایمیل ارسالی لینوس توروالدز بدین شرح بود:
متن ایمیل لینوس توروالدز
(From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID:
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki
Hello everybody out there using minix –
I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I’d like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).
I’ve currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I’ll get something practical within a few months, and I’d like to know what features most people would want. Any suggestions are welcome, but I won’t promise I’ll implement them : -)
Linus (torvalds@kruuna.helsinki.fi)
PS. Yes – it’s free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that’s all I have :-(.
Judging from the post, 0.01 wasn’t actually out yet, but it’s close. I’d guess the first version went out in the middle of September -91. I got some responses to this (most by mail, which I haven’t saved), and I even got a few mails asking to be beta-testers for linux. After that just a few general answers to quesions on the net:
ترجمهی قسمتی از ایمیل
سلام به همه کسانی که از مینیکس استفاده میکنند.
من در حال نوشتن یک سیستم عامل (آزاد) (فقط برای سرگرمی و نه خیلی بزرگ و حرفهای شبیه گنو)، برای مدلهای 386(486) AT هستم. …
من از هر بازخوردی، چه کسانی که مینیکس، که سیستم عامل من قدری به آن شباهت دارد را دوست دارند یا دوست ندارند، استقبال میکنم. ….
الهام از Minix
لینوس توروالدز، با الهام از سیستم عامل مینیکس، اقدام به کدنویسی هستهی لینوکس نمود. در این کدنویسی مانند تمام سیستمعاملهای شبیه یونیکس(UNIX like)، از استاندارد POSIX در این سیستم عامل پیروی شده است.
انتشار کرنل
لینوس توروالدز این هسته را با مجوز آزاد GPL، منتشر کرد. ترکیب هسته لینوس توروالدز و پروژهی گنو، موجب پیدایش سیستم عاملی به نام گنو/لینوکس گردید که به نام سیستم عامل لینوکس شناخته می شود. ریچارد استالمن، بنیانگذار بنیاد نرمافزارهای آزاد اصرار دارد که، این سیستم عامل، به صورت گنو/لینوکس، نامیده شود.
مجوز GPL
بسیاری از نرمافزارهای تولید شده در سیستم عامل لینوکس، تحت مجوز GPL انتشار مییابند. طبق تعریف FSF، نرمافزار آزاد، به معنای توجه بر معنای آزادی در اجرا، کپی، توزیع، مطالعه و توسعه نرمافزار است نه بر رایگان بودن نرمافزار. نرمافزار آزاد، دارای چهار اصل میباشد:
- آزادی صفرم: آزادی اجرای نرمافزار برای هر مقصود و هدفی
- آزادی یکم: آزادی مطالعه و کنکاش در نرمافزار و همچنین هرگونه تغییر دلخواه (سورس کد، به عنوان پیشنیاز)
- آزادی دوم: آزادی کپیکردن و توزیع مجدد نرمافزار
- آزادی سوم: آزادی توزیع نرمافزار تغییریافته به دیگران (سورس کد، به عنوان پیشنیاز)
وقتی که ما از نرمافزارهای آزاد استفاده کرده و نرمافزاری را توسعه داده و منتشر میسازیم ، نباید دیگران را از این آزادیها محروم سازیم.
مجوز GPL یا (GNU General Public License)، تضمینی است برای آزادی هرگونه استفاده از قبیل مطالعه، اجرا، تغییر، کپی و انتشار نرمافزارهای آزاد.
دمت گرم خدایی داداش، بهتر از این نمیشد نوشت.
یه پروژه کامل و اوکی کردی واسم 😂❤