The ultimate of Security, Freedom and Personalization

We call it GNU/Linux Operating System, Not Linux !

The ultimate of Security, Freedom and Personalization

We call it GNU/Linux Operating System, Not Linux !

اگر یک‌بار و برای همیشه بخواهم توصیفی از نهایت “امنیت، آزادی و لذت شخصی‌سازی “ را از زبان خودم(در حد خودم) و به عنوان یک مهندس آی‌تی که در گرایش نرم‌افزار تحصیل می‌کند و طرفدار نرم‌افزارهای آزاد و متن‌باز است،بیان کنم. باید شما را با واژه گنولینوکس آشنا کنم.
اما باید گفت که گنولینوکس به تنهایی نمونه‌ای است از آزادی و امنیت در جهان 01 باینری پیرامون ما، نه کل آن❗️


We call it GNU/Linux Operating System, Not Linux !

عنوان فرعی مقاله را با جمله بالا “ما آن را سیستم عامل گنولینوکس صدا میزنیم، نه لینوکس!”
تکمیل کردم اما دلیلش چه بود ؟

GNU Project

A Free & Open-Source Software

img

لازمه برگردیم به عقب‌تر تا جایی که پروژه ای آزاد با نام گنو توسط شخصی به نام ریچارد مَتیو اِستالمن تاسیس شد.پروژه گنو یک پروژه نرم افزاری متن‌باز و آزاد بود که در سال 1984 میلادی در موسسه MIT آغاز شد و همکاری دسته جمعی را می‌طلبید.

بیانیهٔ گنو توسط ریچارد استالمن برای بدست آوردن حمایت افراد بیشتر از پروژهٔ گنو نوشته‌ شد. او بیان کرد که چرا پروژهٔ گنو را آغاز کرده‌است و در مورد سؤال‌هایی که امکان داشت حمایت‌کنندگان در ذهنشان درباره پروژه ایجاد کنند، پاسخ میداد.
این پروژه به برنامه‌نویسان اجازهٔ ساخت و مشارکت در نرم‌افزارهای آزاد را براساس ‍تعریف بنیاد برنامه‌های آزاد می‌دهد که در چهارچوب اصول زیر است :

1. آزادی استفاده از برنامه برای هر هدفی.
2. آزادی یادگیری برنامه و چگونگی کار کردن آن و استفاده از آن برای برنامه‌ی دیگری با توجه به این که برای این آزادی در دسترس بودن کد منبع برنامه نیاز است.
3. آزادی انتشار برنامه به صورت دوباره.
4. آزادی تغییردادن برنامه و امکان انتشار دادن آن با همگان، با توجه به اینکه آزادی دسترسی به کد منبع برنامه نیاز است.

تا اینجا حرفی از لینوکس و یا خالق آن زده نشد اما عجله نکنید این مقاله هنوز ادامه دارد.
اولین هدف پروژهٔ گنو ساخت یک سیستم‌عامل آزاد بود. در سال ۱۹۹۲ تمام قسمت‌های سیستم‌عامل گنو به غیر از هسته آن که وظیفه مدیریت منابع مثل (پردازنده، رم، گرافیک و بقیه سخت‌افزار) را برعهده داشت و آن را هرد می‌نامیدند، کامل شده‌ بود.
البته به نقل قول از آقای استالمن در مستنداتی که هنوز هم جای بیان آن است نوشته شده، سیستم عامل گنوهرد GNU/Hurd هنوز هم جای پیشرفت و توسعه دارد تا بتواند برای مصرف عموم یک سیستم‌عامل جامع باشد.

Linux

A Portable Operating System

درست در همین هیاهو، دانشجویی از دانشگاه هلسینکی که برای اولین بار یونیکس یک سیستم‌عامل با قابلیت انجام چندکار و استفاده چند کاربر بصورت همزمان است که در سال ۱۹۶۹ به دست گروهی از کارمندان آزمایشگاه‌های متعلق به شرکت تلفن و تلگراف آمریکا (.AT&T Corp) شروع به توسعه شد.را در قالب یک میکرو ویکس که الترا ایکس را اجرا می‌کرد و در واقع سیستم‌عاملی مبتنی بر یونیکس بود را منتشر کرد. عنوان مقالهٔ فوق لیسانس او
(Linux: A Portable Operating System) لینوکس یک سیستم‌عامل قابل حمل Portable بود.

img

این دانشجوی خوش ذوق فنلاندی که لینوس بندیکت توروالدز نام داشت فرصت را غنیمت شمرد و هسته‌ای که خود آن را لینوکس (Linus’s MINIX) نامیده بود(اما بعد ها فکر می‌کرد که انتخاب نام لینوکس خیلی خودپسندانه است و می‌خواست آن را به Freax که برگرفته از واژگان Free, Freak & MINIX بود تغییر ده، اما دوستش LemMarke قبلاً یک دایرکتوری به نام لینوکس در سرور FTP خود ایجاد کرده بود، بنابراین این اسم همان‌طور باقی ماند.) را به موسسه MIT و در اصل به جامعه پروژه گنو معرفی کرد و خواستار همکاری آنها بر روی این هسته شد.اما سرانجام طولی نکشید که با مخالفت‌ها و نقدهای بسیاری از طرف این پروژه و مخصوصا آقای استالمن بنیانگذار پروژه گنو روبرو شد …

اما کمی صبر کنید تمام داستان این نبود،
آقای لینوس توروالدز با این شرایط باز هم روحیه و پشتکار خود را تقویت کرد و با قرار دادن هسته لینوکس برروی اینترنت و معرفی آن به نام پروژه‌ای متن‌باز از سرتاسر جهان دعوت به همکاری برای توسعه این کرنل کرد (در واقع، لینوس توروالدز -دولوپر اصلی کِرنِل لینوکس- در کنفرانسی در TED در شهر ونکوور بیان کرد که او در ابتدا قصد نداشته است که لینوکس اپن‌سورس باشد و برنامه‌اش این بوده که لینوکس پروژه‌ای انفرادی باشد! اما او در گذر زمان این واقعیت را پذیرفته است که همکاری افراد مختلف در پروژه‌ها، اهمیت خیلی زیادی دارد.“)

درحال حاضر این سیستم‌عامل را گنولینوکس می‌نامند چرا که لینوکس به تنهایی یک هسته (جدا از نرم‌افزار) تعریف می شود و در کنار نرم‌افزارهای آزاد پروژه گنو یک سیستم‌عامل، با نام گنولینوکس است و از این جهت و با اضافه شدن نرم‌افزار های آزاد به آن می توان در موارد بسیار زیادی اعم از سرویس دهنده‌ها، ایستگاه‌های کاری، رایانه‌های رومیزی، ابر رایانه‌ها و مواردی بیشتری که در ادامه به ان می‌پردازیم استفاده کرد.

img

لوگوی لینوکس
Tux (همان پنگوئن در لوگوی لینوکس) با استقبال گستردهٔ جامعهٔ لینوکس به‌عنوان علامت رسمی هستهٔ لینوکس انتخاب شده است.
اطلاعات بیشتر در مورد کدهای هسته لینوکس
حدود 2% کدهای لینوکس توسط لینوس توروالدز نوشته شده است و لینوکسی که امروزه در دسترس همگان قرار گرفته، سهمی از هزاران دولوپر در سراسر دنیا دارد. آقای توروالدز کدهای جدید هستهٔ استاندارد لینوکس را در وب‌سایت kernel.org قرار می‌دهد، سپس توزیع‌های دیگر لینوکس باتوجه به نیاز کاربرانشان، هسته اصلی را دستخوش تغییر می‌سازند.
هستهٔ لینوکس قابل اجرا برروی انواع سخت‌افزارها از جمله تلفن‌های همراه، کامپیوترهای قابل‌حمل، سرورهای پردازنده مرکزی، ابرکامپیوترها، کامپیوترهای دسکتاپ و بسیاری از دیگر دیوایس‌های کوچک است.
در سال 2015، نسخهٔ 3.18 کِرنل لینوکس دارای سورس‌کدی با بیش از 18 میلیون خط کد بوده که الان به مرز ۲۲ میلیون کد رسیده است. سرعت پیشرفت و توسعهٔ لینوکس به قدری بالا است که هیچ سیستم‌ عامل دیگری را نمی‌توان با آن مقایسه نمود. تعداد تغییرات و به‌روزرسانی‌هایی که در هر ساعت در کِرنل لینوکس ایجاد می‌شود، به‌طور میانگین 7.76 تغییر است که بدین ترتیب درعرض تنها ۱ هفته، کِرنل لینوکس 1300 بار آپدیت می‌شود.

Linux Distribution

Most operating system distributions based on Linux.

در حال حاضر لینوکس بیش از ۲۵ سال سن دارد و این در حالی است که در این مدت توانسته پیشرفت‌های چشم‌گیری داشته باشد. دنیای #لینوکس مملو از توزیع‌های مختلفی است که به اصطلاح به آن Linux Distro می‌گویند.

img


به دلیل متن‌باز بودن کرنل لینوکس هر موسسه،دولت و یا کشوری یک توزیع از ان را منتشر کرده است.اما هریک معمولا برای یک یا چند امر خاص و سیاست‌های مختلفی بوجود آمده‌اند.این توزیع‌های مختلف، همگی لینوکس هستند اما!نه گنولینوکس!‌، دلیلش هم می‌تواند استفاده از نرم‌افزارهای انحصاری در توزیع مورد نظر باشد. گذشته از این‌ها کاربران با وجود تعداد زیادی از توزیع های مختلف، توزیع‌ای را انتخاب می‌کنند که تا حد بسیار زیادی نیازشان را مرتفع می‌کند.

از معروف ترین توزیع ها میتوان به :
1. RedHat Linux
2. Debian Linux
3. Arch Linux
4. Fedora Linux
5. Ubuntu Linux
6. Mint Linux
اشاره کرد.



سیستم‌عامل گنو/لینوکس در‌حال‌ حاضر یکی از گسترده‌ترین سیستم‌عامل‌های به کارگرفته شده در سراسر دنیا است.

استفادهٔ بازار بورس نیویورک از لینوکس
یکی از مهمترین بازارهای بورس جهانی یعنی بازار بورس نیویورک از سیستم‌های لینوکسی استفاده می‌کند. لینوکس به کمک قدرت پردازش سریع خود، توانسته از مرزهای پیشین یونیکس نیز فراتر برود.

استفادهٔ وزارت دفاع ایالات متحده از لینوکس
وزارت دفاع ایالات متحده به‌طور گسترده از لینوکس و توزیع‌های مختلف آن در تشکیلات نظامی خود استفاده می‌کند. اکثر زیردریایی‌های هسته‌ای آمریکا از توزیع RedHat لینوکس استفاده می‌کنند.

استفادهٔ گوگل، آمازون، فیسبوک و … از لینوکس
غول‌های تکنولوژی هم به وفور از لینوکس در سیستم‌های خود بهره می‌گیرند. گوگل، آمازونو فیسبوک و دیگر بزرگان سیلیکون‌ولی برای ارائهٔسرویس‌های اینترنتی و کلود خود، لینوکس را به‌عنوان اولین و البته برترینانتخاب خود درنظر می‌گیرند.

استفاده از لینوکس در لابراتورهایCERN
شتاب‌دهندهٔ ذره‌ای در CERN، از توزیع خاصی از لینوکس به‌نام Scientific Linuxاستفاده می‌کند که برپایهٔ توزیع RedHatبوده و همچون خود گنو/لینوکس، یک سیستم‌عامل کاملاً آزاد و اپن‌سورس است (سرن یا سازمان اروپایی پژوهش‌های هسته‌ای)، بزرگ‌ترین آزمایشگاه فیزیک هسته‌ای دنیا است که در سال ۱۹۵۴ در شهر ژنو در کشور سوئیس تأسیس شد.

کنترل قطارهای فوق پرسرعت در ژاپن
علاوه‌بر سیستم‌های امنیتی و علمی، لینوکس در مدیریت و کنترل قطارهای فوق پرسرعت ژاپن نیز مورد استفاده قرار می‌گیرد. در ضمن، کمپانی‌های خودروسازی همچون تویوتا و‍ BMW نیز برای سیستم‌های سرگرمی و مالتی‌مدیا درون خودروها (IVI) نیز از لینوکس بهره می‌گیرند.

تکیهٔ ابرکامپیوترها بر لینوکس
از میان500 اَبَرکامپیوتر برتر جهان، 498عدد از آن‌ها از لینوکس و یا توزیع‌های مختلف آن و 2 سرور باقی مانده از یونیکس استفاده می‌کنند. تعجبی ندارد که لینوکس را به‌نام پادشاه اَبَر پردازشی می‌نامند.

اندروید هم مبتنی بر لینوکس است
حتی بهترین سیستم‌عامل‌های اسمارتفون‌های دنیا اندروید، میمو هم برپایهٔ کِرنل لینوکس طراحی شده‌اند. لینوکس به‌قدری انعطاف‌پذیر است که شما حتی می‌توانید سیستم‌عامل موبایل اوبونتو را در حالت پنجره‌ای و با اندازهٔ تغییرپذیر اجرا کنید؛ کاری که در سیستم‌عامل‌های موبایل دیگر تقریباً ناممکن است.

جایگاه لینوکس در هالیوود
اگر تصور می‌کنید که کاربردهای لینوکس تنها به برنامه‌نویسی و سرور محدود می‌شود، کاملاً در اشتباه هستید. لینوکس در دنیایهالیوود نیز جایگاه ویژه‌ای دارد؛ افکت‌های گرافیکی فیلم‌هایی مانند Titanic و Avatar بر روی نرم‌افزارهای سه‌بعدی بر روی پلتفرم لینوکس ایجاد شده‌اند.

حقایقی که در بالا بدان‌ها اشاره شد، تنها بخشی از توانایی‌های پایان‌ناپذیر لینوکس هستند. تعجبی ندارد که این سیستم‌عامل توانسته طرفداران و توسعه‌دهندگان بی‌شماری را به خود جذب کند چراکه با در اختیار داشتن لینوکس، تنها سد روبه‌روی شما، مرزهای خلاقیت‌تان خواهد بود.

اما چرا ؟
چرا باید توسعه یک سیستم عامل اینقدر سریع و محبوبت آن چند برابر باشد ؟
گنولینوکس مزیت های بسیاری نسبت به سایر سیستم‌عامل‌ها دارد.به‌طور خلاصه می‌توان نقاط قوت گنولینوکس را در امنیت بالا به دلیل وجود دیواره‌آتش در هسته سیستم‌عامل و همچنین وجود لایه‌های امنیتی مختلف درآن، تعداد کم ویروس‌های رایانه‌ای شناخته شده برای‌آن، پایداری بسیار بالای‌آن به دلیل طراحی ظریف و دقیق هسته،سرعت بالای سیستم‌عامل، به دلیل در دسترس بودن کد متن برنامه و در نتیجه امکان کامپایل نمودن برنامه برای یک سخت‌افزار خاص خلاصه کرد.

ویژگی های سیستم عامل لینوکس

۱. ویژگی Multi Programming :
چند برنامه در‌آن واحد برروی حافظه اصلی Resident شده‌اند و پردازنده ها بین آنها سوییچ می‌کنند.
۲. ویژگی Time Sharing :
در این روش پرازنده مرکزی جسمی است که توسط تمام کاربران و پروسه‌ها استفاده می‌شود، به این ترتیب که زمان CPU بین پروسس‌های مختلف سیستم و کاربران تقسیم می‌شود وبه هریک کسری از زمان CPU تعلق می‌گیرد.
۳. ویژگی Multi User :
چند کاربره بودن.
۴. ویژگی Multi Tasking :
امکان اجرای برنامه بصورت Background & Foreground .
۵. ویژگی File System :
دارا بودن سیستم فایل بصورت سلسله مراتبی و تامین امنیت برای داده‌های سیستم.
۶. ویژگی Generality :
بدین معنی است که یک روش واحد بتواند اهداف چند گانه ای را برآورده کند، این امر از دو طریق امکان پذیر است ;
۱. وجود System Call های یکسان برای خواندن و نوشتن روی فایل‌ها و دیوایس‌ها و بافرهای موجود بین پروسس‌ها.
۲. نامگذاری و امنیت یکسان برای فایل‌های داده‌ای، دایرکتوری‌ها و دیوایس‌ها.
۷. ویژگی Transportability :
قابلیت حمل :‌سیستم عامل لینوکس همان‌طور که در اول مقاله گفته شد به‌آسانی قابل حمل است. برای یک سیستم جدید با دستکاری اندک برروی کد‌های سیستم عامل لینوکس می‌توان آن‌را جهت نصب آماده نمود.
توانایی حمل سیستم عامل لینوکس از یک نوع کامپیوتر به نوع دیگر دلیل اصلی موفقیت آن می‌باشد :)‌))))

منابع :
https://sokanacademy.com/
https://www.gnu.org/
https://en.wikipedia.org/