لینوکس چیست؟ هر آنچه که باید در مورد سیستم عامل متن باز بدانید!!!
1397/12/18 17:27 , میلاد صاحب نظر

لینوکس چیست؟ هر آنچه که باید در مورد سیستم عامل متن باز بدانید!!!

لینوکس یک سیستم عامل ساخته شده به صورت آزمون و خطا و متن باز است که در سال ۱۹۹۱ برای رایانه‌ها منتشر شد، اما کاربرد آن برای استفاده در سیستم خودروها، گوشی‌های همراه، وب سرورها و اخیرا برای دستگاه‌های شبکه گسترش یافته است.

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

همین امر باعث شده که افراد دارای مهارت کار با لینوکس به شدت مورد توجه مدیران IT قرار گیرند. برای مثال، بسیاری از فنّاوری‌های جدید مرتبط با DevOps، مانند کانتینر‌ها، زیرساختار و کنترلرهای SDN، روی لینوکس ساخته شده‌اند.

لینوکس چیست؟

لینوکس یک سیستم عامل مشابه با Unix است(البته خواهیم دید که دقیقا هم شبیه Unix نیست). همانند اکثر سیستم عامل‌های مشابه Unix، لینوکس نیز از چندین جزء ساخته شده است.

کرنل

کرنل هسته سیستم است و دستورالعمل‌ها را به CPU، لوازم جانبی و حافظه ارسال می‌کند.

Bootloader

فرآیند‌هایی که بوت شدن سیستم را مدیریت می‌کنند. روی رایانه، کاربر این فرآیندها را با بالا آمدن صفحه تشخیص می‌دهد. در یک دستگاه شبکه، یک پنجره وضعیت وجود دارد که فرآیند بوت شدن را نمایش می‌دهد.

Daemons

خدمات پشت‌زمینه‌ای که در هنگام بوت شدن یا پس از اینکه سیستم کاملا بالا آمد آغاز می‌شوند. برای مثال، network daemon همه واسط‌های شبکه را در هنگام بوت شدن فعال می‌کند. Daemon‌های دیگر برای چیزهایی مانند زمان و DNS هستند.

Shell

Shell خط دستور لینوکس است. Shell برای افرادی که به کار در محیط‌های گرافیکی عادت کرده‌اند ممکن است ترسناک باشد، اما اکثر حرفه‌ای های شبکه به کار در Shell عادت کرده‌اند.

دستورات لینوکس

واسط خط فرمان(CLI) در Shell دارای چند قابلیت قدرتمند(به خصوص قابلیت‌های حیاتی برای کار با شبکه و مدیریت سیستم) برای کاربران متخصص و حرفه‌ای که با واسط متنی آشنا هستند، می‌باشد.

محیط دسکتاپ لینوکس

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

Package managerها و اپلیکیشن‌های لینوکس

اگرچه برنامه‌های زیادی(به خصوص آن‌هایی که از خط فرمان استفاده می‌کنند)در هنگام نصب سیستم عامل لینوکس نصب می‌شوند، اما مسلما لازم است که برای به دست آوردن کارایی لازم برنامه‌های بیشتری نصب شود.

بسیاری از این برنامه‌های مورد نیاز گرافیکی و اپلیکیشن‌های GUI دار مشابه با برنامه‌های CLI می‌باشند.

در لینوکس شما از یک package manager(برنامه‌ای که پکیج‌های نرم‌افزاری را از کتابخانه‌های نرم‌افزار رایگان موجود دانلود می‌کند) برای این منظور استفاده می‌کنید.

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

توروالدز و تاریخچه لینوکس

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

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

کدهای MINIX برای اهداف آموزشی در دسترس همگان بود، اما نتوانست از کاربردهای تجاری در امان بماند.

در سال ۱۹۹۱، یک  دانشجوی علوم رایانه ۲۱ ساله به نام لینوکس توروالدز اعلام کرد که قصد دارد یک سیستم عامل جدید بسازد که از MINIX الهام گرفته شده است، اما کاملا از اول نوشته می‌شود تا بتوان کد آن را به صورت متن باز تحت GNU GPL منتشر کرد. او نام MINIX را با نام خودش ترکیب کرد و نام جدید سیستم عامل لینوکس را ارائه داد.

کرنل لینوکس

کرنل لینوکس هسته سیستم عامل است. کرنل لینوکس همچنین بخش متفاوت لینوکس نسبت به MINIX را به نمایش می‌گذارد(که به نوعی طعنه آمیز است، چون توروالدز به دزدیدن کد از MINIX برای ساخت سیستم عامل خودش متهم شد).

 MINIX بر اساس یک میکرو کرنل نوشته شده است، که شامل حداقل میزان کد لازم برای اجرای یک سیستم عامل می‌باشد.

اما لینوکس دارای یک کرنل یکپارچه است، که بدین معناست که کاربردهایی مانند file system، حافظه مجازی و فراخوانی‌های مختلف سیستم همه در یک فضای بهبود یافته کرنل اتفاق می‌افتند .

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

این بدان معناست که به روز رسانی لینوکس شما را مجبور به به روز رسانی برنامه‌هایتان نمی‌کند.

جامعه لینوکس

همانطور که گفته شد، کد لینوکس متن باز است. مخصوصا اینکه، کد لینوکس تحت گواهی قابل قبول عمومی GNU منتشر شده است. این بدان معناست که:

  • می‌توان سیستم عامل لینوکس را به صورت رایگان دانلود و نصب کرد.
  • مدیران می‌توانند سیستم عامل را مطالعه کرده و آن را سفارشی‌سازی کنند.
  • مزایای نامحدودی از ورژن‌های اورجینال یا اصلاح شده سیستم عامل وجود دارند که مجددا منتشر شده‌اند.

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

همه می‌توانند با همکاری در توسعه و گسترش لیست ایمیل، به این جامعه بپیوندند.

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

اینکه لینوکس یک پروژه اجتماعی است بدان معنا نیست که یک پلتفرم لینوکس محور باعث می‌شود دستگاه ضعیف‌تر باشد. لینوکس دارای یک اکوسیستم عالی با APIهای تکامل یافته و ویژگی‌های شبکه پر سرعت بهینه سازی شده برای مرکز داده‌های مدرنیزه می‌باشد.

برای مثال، لینوکس با سطوح کنترل و ارسال داده مجزایی طراحی شده که باعث می‌شود پیاده سازی معماری‌های شبکه نرم‌افزاری آسان‌تر شود، چون مجزا سازی این سطوح بر اساس SDN است.

توزیع و پخش لینوکس

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

در عمل، این اجزای سیستم عامل در کنار یکدیگر درون چیزی که به آن distribution(توزیع)گفته می‌شود دسته‌بندی شده‌اند – به زبان ساده، سیستم عامل لینوکس به صورت کاملا مجزا و رایگان قابل دانلود، نصب و استفاده است.

دوباره می‌گوییم، از نظر تئوری هر کسی می‌تواند یک distribution‌ لینوکس را گردآوری کند، اما اکثرا توسط شرکت‌ها و سازمان‌های غیر انتفاعی ارائه می‌شوند. توزیع‌کنندگان تجاری ممکن است برای distribution خود هزینه‌ای طلب کنند، یا خدمات پشتیبانی هزینه‌دار اختیاری ارائه دهند.

برخی از توزیع‌کنندگان مشهور لینوکس عبارتند از:

  • Ubuntu
  • SuSE
  • Debian
  • Red Hat
  • Fedora
  • Oracle Linux
  • CentOS
  • Arch Linux
  • Mandriva

لیست همیشه در حال تغییر است؛ سایت DistroWatch همیشه افراد و بازیکنان اصلی این عرصه را پیگیری کرده و نکات مثبت و منفی هر کدام را ارزیابی می‌کند.

لینوکس در برابر ویندوز

Linux vs Windows

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

بسیاری از طرفداران دو آتیشه لینوکس ادعا می‌کنند که دوران فرمانروایی و سلطه لینوکس بر تمام سیستم عامل‌ها بسیار نزدیک است.

مسلما هیچوقت این روز فرا نرسید. لینوکس به عنوان یک سیستم عامل end – user تجاری هیچوقت فراتر از یک رشته فعالیت کوچک نرفت و روزهای داغ آن نبردها پایان یافته‌اند(البته هنوز افرادی را می‌یابید که دوست دارند آتش این جنگ‌ها را دوباره روشن کنند).

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

و در اکثر بازارهای فناوری سودآوری که در این قرن به وجود آمدند، لینوکس عملا یکی از بهترین‌ها به حساب می‌آید.

سیستم عامل موبایل اندروید در ریشه‌ای ترین و عمقی‌ترین کدهای خود اثراتی از لینوکس دارد و اندروید اکنون از جمله فعالان و بازیکنان اصلی بازار موبایل است، در حالی که مایکروسافت علی‌رغم تلاش‌های مداوم خود هنوز نتوانسته است به جایگاه خوبی در این بازار دست یابد.

لینوکس چه استفاده‌ای دارد؟

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

در طول دهه گذشته، انقلابی در تعداد محصولات لینوکس محور به وجود آمده، که تاثیر به سزایی بر فضای IT داشته اند. برخی از آن‌ها عبارتند از:

  • Kubernates: مدیر جمعی کانتینر‌ها از گوگل
  • OpenStack: پلتفرم نرم‌افزاری برای زیرساختار به شکل یک پلتفرم خدمات ابری
  • OpenDaylight: پروژه جاوا محور پایه و اساس لینوکس برای سرعت بخشیدن به تطبیق SDNها و مجازی‌سازی کارکردهای شبکه(NFV)
  • Docker: برنامه کانتینر نرم‌افزار
  • Open vSwitch(OVS): سوییچ چند لایه مجازی توزیعی برای فراهم کردن یک پشته سوییچی درون محیط‌های مجازی‌سازی. OVS بسیار جالب است چون مجموعه غنی‌تری از ویژگی‌های شبکه را نسبت به لینوکس کرنل ارائه می‌دهد.
    اگر OVS به موفقیت نسبی هم دست یابد، می‌تواند یک پیشگام عالی برای شکل‌دهی چیزهایی که در آینده در علم شبکه به وجود می‌آیند قلمداد شود.

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

برای مهندسان شبکه، اینکه بتوانند به shell محلی لینوکس دسترسی داشته باشند بسیار ارزشمند است چون این ویژگی، آن‌ها را قادر می‌سازد تا از ابزارها و نرم‌افزارهایی که زمانی فقط برای سرورها در دسترس بوده‌اند، استفاده کنند.

این امر سبب می‌شود که هماهنگی خدمات شبکه با تغییرات اعمال شده در سرورها و اپلیکیشن‌ها آسان‌تر شود.

چرا لینوکس در تجارت و کسب وکار اینقدر موفق است؟

بر اساس آمارها و گزارش‌های ارائه شده، موفقیت لینوکس به دو عامل مربوط می‌شود.

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

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

و شاید عامل مهم‌تر این بود که لینوکس می‌توانست روی سخت‌افزارهای ضعیف هم نصب شود(یعنی سیستم‌های ۳۲ بیتی ضعیفی که در آن زمان اکثر سازمان‌ها در اختیار داشتند).

این عوامل باعث می‌شوند که لینوکس در آینده نیز دوام بیاورد. بنابراین، شما خواه یک مدیر سیستم باید یا یک مدیر شبکه، به هر حال بهتر است که با این سیستم عامل آشنا شوید.

منبع: itnews

مطالب مرتبط

 مقدمه ای بر زبان برنامه نویسی #C و پلتفرم NET Framework.
۷ دلیل برای استفاده از لینوکس در برنامه‌نویسی
 طبقه بندی زبان های برنامه نویسی
نحوه نوشتن برنامه C در اوبونتو/لینوکس
 LINQ(زبان جستجوی یکپارچه)
برنامه نویسی شیءگرا چیست؟

از آخرین دوره های آموزشی و تخفیف ها مطلع شوید

با تکمیل فرم زیر ، از اخبار و اطلاعات به روز برنامه نویسی و تکنولوژی عقب نمانید

آخرین مطالب

آموزش جامع SQL Server (جلسه ۱۲)
آموزش جامع SQL Server (جلسه ۱۲)

دستور UPDATE در SQL Server برای تغییر داده‌های موجود در یک جدول، از دستور UPDATE به شکل زیر استفاده ...

آموزش جامع SQL Server (جلسه ۱۵)
آموزش جامع SQL Server (جلسه ۱۵)

دستور DROP TABLE در SQL Server گاهی، لازم است یک جدول که دیگر استفاده‌ای ندارد را حذف کنید. برای ...

آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)
آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)

بخش اول از آخرین مبحث دوره جامع آموزش SQL Server در جلسه قبلی بررسی شد. این مبحث که ...

آخرین دیدگاه ها

دیدگاه خود را درباره این پست بنویسید

فرم ارسال نظرات