مقدمه :
Linux یکی از محبوب ترین سیستم عامل هاست. توسعه آن در سال 1991 توسط Linus Torvalds آغاز شد سیستم عامل او از یونیکس الهام گرفته شده است، سیستم عامل دیگری که در سال 2018 توسعه یافته است دهه 1970 توسط آزمایشگاه های AT&T. یونیکس برای کامپیوترهای کوچک طراحی شده بود. در آن زمان، رایانههای «کوچک» ماشینهایی در نظر گرفته میشدند که به کل سالن با تهویه مطبوع نیازی نداشتند و کمتر از یک میلیون دلار قیمت داشتند. بعدها به عنوان ماشین هایی که توسط دو نفر قابل بلند شدن هستند در نظر گرفته شدند. در آن زمان، یک سیستم یونیکس مقرون به صرفه به راحتی بر روی رایانه هایی مانند رایانه های اداری، که تمایل داشتند مبتنی بر پلت فرم x86 باشند، در دسترس نبود. بنابراین لینوس، که در آن زمان دانشجو بود، شروع به پیاده سازی سیستم عامل یونیکس کرد که بود .قرار است روی این پلتفرم اجرا شود.
لینوکس عمدتاً از همان اصول و ایده های اساسی یونیکس استفاده می کند، اما لینوکس خود حاوی کد یونیکس نیست، زیرا یک پروژه مستقل است.
لینوکس توسط یک شرکت خاص پشتیبانی نمی شود، بلکه توسط یک شرکت پشتیبانی می شود یک جامعه بین المللی از برنامه نویسان ،از آنجایی که به صورت رایگان در دسترس است، میتواند توسط هر کسی بدون محدودیت استفاده شود.
توزیع ها (Distributios ) :
توزیع لینوکس بستهای است که از یک هسته لینوکس و مجموعهای از برنامههای کاربردی تشکیل شده است که توسط یک شرکت یا جامعه کاربری نگهداری می شوند. هدف یک توزیع بهینه سازی هسته است و برنامه هایی که برای یک مورد خاص یا گروه کاربری روی سیستم عامل اجرا می شوند. توزیع ها اغلب شامل ابزارهای مخصوص توزیع برای نصب نرم افزار و مدیریت سیستم هستند. به همین دلیل است که برخی از توزیعها عمدتاً برای محیطهای دسکتاپ استفاده میشوند که نیاز به استفاده آسان دارند ، در حالی که برخی دیگر عمدتاً برای اجرا بر روی سرورها استفاده میشوند تا از منابع موجود تا حد امکان بهینه استفاده کنند.
روش دیگر برای طبقه بندی توزیع ها، مراجعه به خانواده توزیعی است که به آن تعلق دارند. توزیع های خانواده توزیع دبیان از مدیر بسته dpkg برای مدیریت استفاده می کنند نرم افزاری که روی سیستم عامل اجرا می شود. بسته هایی که می توانند با مدیر بسته نصب شوند توسط اعضای داوطلب جامعه توزیع نگهداری می شوند. نگهدارنده ها از قالب بسته deb برای تعیین نحوه نصب نرم افزار بر روی سیستم عامل و نحوه پیکربندی آن به طور پیش فرض استفاده می کنند. درست مانند یک توزیع، یک بسته یک بسته نرم افزاری و یک پیکربندی و مستندات مربوطه است که نصب، به روز رسانی و استفاده از نرم افزار را برای کاربر آسان می کند.
توزیع گنو/لینوکس دبیان بزرگترین توزیع از خانواده توزیع دبیان است. پروژه دبیان گنو/لینوکس توسط ایان مرداک در سال 1993 راه اندازی شد. امروز هزاران داوطلب روی این پروژه کار می کنند. هدف دبیان گنو/لینوکس ارائه یک سیستم عامل بسیار قابل اعتماد است. همچنین دیدگاه ریچارد استالمن را از سیستم عاملی که به آزادی های کاربر برای اجرا، مطالعه، احترام می گذارد، ترویج می کند. توزیع و بهبود نرم افزار به همین دلیل است که هیچ نرم افزار اختصاصی را به طور پیش فرض ارائه نمی دهد.
اوبونتو یکی دیگر از توزیعهای مبتنی بر دبیان است که باید به آن اشاره کرد. اوبونتو توسط Mark Shuttleworth ایجاد شد Shuttleworth و تیمش در سال 2004 با ماموریت ارائه یک محیط دسکتاپ لینوکس با استفاده آسان . ماموریت اوبونتو ارائه یک نرم افزار رایگان برای همه در سراسر جهان است برای کاهش هزینه خدمات حرفه ای ، توزیع برنامه ریزی شده هر شش ماه یک بار با انتشار پشتیبانی طولانی مدت هر 2 سال یکبار است.
Red Hat یک توزیع لینوکس است که توسط نرم افزاری با همین نام توسعه یافته و نگهداری می شود شرکتی که در سال 2019 توسط IBM خریداری شد. توزیع لینوکس Red Hat در سال 1994 آغاز شد و در سال 2003 به Red Hat Enterprise Linux تغییر نام داد که اغلب به اختصار RHEL نامیده می شود. ارائه شده است ، شرکت ها به عنوان یک راه حل سازمانی قابل اعتماد که توسط Red Hat پشتیبانی می شود و همراه با نرم افزار است که هدف آن سهولت استفاده از لینوکس در محیط های سرور حرفه ای است. برخی از اجزای آن به اشتراک یا مجوزهای مبتنی بر هزینه نیاز دارند.
پروژه CentOS از منبع آزادانه در دسترس استفاده می کند کد Red Hat Enterprise Linux و کامپایل آن در توزیعی که به طور کامل در دسترس است رایگان است، اما در عوض با پشتیبانی تجاری همراه نیست. هر دو RHEL و CentOS برای استفاده در محیط های سرور بهینه شده اند. پروژه فدورا در سال 2003 تاسیس شد و یک توزیع لینوکس ایجاد کرد که هدف آن رایانه های رومیزی است. Red Hat توزیع فدورا را از آن زمان آغاز کرده و حفظ کرده است. فدورا بسیار مترقی است و فناوریهای جدید را خیلی سریع به کار میگیرد و گاهی به عنوان بستر آزمایشی برای فناوریهای جدید در نظر گرفته میشود که بعداً ممکن است در RHEL گنجانده شود. همه توزیعهای مبتنی بر Red Hat از فرمت بسته rpm استفاده میکنند
شرکت SUSE در سال 1992 در آلمان به عنوان ارائه دهنده خدمات یونیکس تاسیس شد. اولین نسخه SUSE Linux در سال 1994 منتشر شد. با گذشت سالها SUSE Linux بیشتر به دلیل ابزار پیکربندی YaST خود شناخته شد. این ابزار به مدیران اجازه می دهد تا نرم افزار و سخت افزار را نصب و پیکربندی کنند، سرورها و شبکه ها را راه اندازی کنند. مشابه RHEL ، SUSE سرور SUSE Linux Enterprise را منتشر می کند که نسخه تجاری آنها است. این کمتر منتشر می شود و برای استقرار سازمانی و تولیدی مناسب است ، به عنوان یک سرور و همچنین یک محیط دسکتاپ ، با بسته های مناسب برای هدف توزیع می شود. در سال 2004 ، SUSE پروژه openSUSE را منتشر کرد که فرصت هایی را برای توسعه دهندگان و کاربران برای آزمایش و توسعه بیشتر سیستم باز کرد. توزیع openSUSE به صورت رایگان برای دانلود در دسترس است.
توزیع های مستقل در طول سال ها منتشر شده است. برخی از آنها بر اساس Red Hat یا Ubuntu هستند، برخی برای بهبود ویژگی خاص یک سیستم یا سخت افزار طراحی شده اند. توزیعهایی وجود دارند که با عملکردهای خاصی مانند QubesOS، یک محیط دسکتاپ بسیار امن ، یا Kali Linux ساخته شدهاند که محیطی را برای بهرهبرداری از آسیبپذیریهای نرمافزار فراهم میکند که عمدتاً توسط آزمایشکنندگان نفوذ استفاده میشود. اخیراً توزیعهای بسیار کوچک لینوکس برای اجرا در کانتینرهای لینوکس، مانند Docker، طراحی شدهاند. همچنین توزیع هایی وجود دارد که به طور خاص برای اجزای سیستم های تعبیه شده (embedded systems) و حتی دستگاه های هوشمند ساخته شده اند.
سیستم های نهفته (Embedded Systems):
سیستمهای تعبیهشده ترکیبی از سختافزار و نرمافزار رایانهای هستند که برای انجام یک عملکرد خاص در یک سیستم بزرگتر طراحی شدهاند. معمولا آنها بخشی از دستگاه های دیگر هستند و به کنترل این دستگاه ها کمک می کنند .سیستم های تعبیه شده در کاربردهای خودرویی، پزشکی و حتی نظامی یافت می شوند. با توجه به کاربردهای گسترده آن، انواع سیستم عامل های مبتنی بر هسته لینوکس به منظور استفاده در سیستم های تعبیه شده توسعه داده شد. بخش قابل توجهی از دستگاه های هوشمند دارای یک سیستم عامل مبتنی بر هسته لینوکس هستند که بر روی آن اجرا می شود بنابراین ، با سیستم های تعبیه شده، نرم افزارهای تعبیه شده نیز عرضه می شود. هدف این نرم افزار دسترسی به سخت افزار و قابل استفاده کردن آن است. مزایای عمده لینوکس نسبت به هر نرم افزار تعبیه شده اختصاصی شامل سازگاری با پلتفرم متقابل فروشنده، توسعه، پشتیبانی و بدون هزینه مجوز است. دو مورد از محبوبترین پروژههای نرمافزاری تعبیهشده اندروید هستند که عمدتاً در تلفنهای همراه در تولیدکنندگان مختلف استفاده میشود و Raspbian که عمدتاً در Raspberry Pi میباشد.
اندروید(Android):
اندروید عمدتاً یک سیستم عامل موبایلی است که توسط گوگل توسعه یافته است. Android Inc در سال 2003 در پالو آلتو، کالیفرنیا تاسیس شد. این شرکت در ابتدا یک سیستم عامل ایجاد کرد که قرار بود بر روی دوربین های دیجیتال اجرا شود. در سال 2005، گوگل شرکت اندروید را خرید و آن را به عنوان یکی از بزرگترین سیستم عامل های تلفن همراه توسعه داد. پایه اندروید یک نسخه اصلاح شده از هسته لینوکس با نرم افزار منبع باز اضافی است. این سیستم عامل عمدتاً برای دستگاه های صفحه لمسی توسعه یافته است، اما گوگل نسخه هایی را برای تلویزیون و ساعت های مچی توسعه داده است. نسخه های مختلفی از اندروید برای کنسول های بازی، دوربین های دیجیتال و همچنین رایانه های شخصی ساخته شده است.
اندروید به صورت رایگان به صورت متن باز به عنوان پروژه متن باز اندروید (AOSP) در دسترس است. گوگل علاوه بر هسته منبع باز اندروید ، مجموعه ای از اجزای اختصاصی را نیز ارائه می دهد. این مؤلفهها شامل برنامههایی مانند تقویم Google ، Google Maps ، Google Mail، Chrome است مرورگر و همچنین فروشگاه Google Play که نصب آسان برنامه ها را تسهیل می کند. اکثر کاربران این ابزارها را بخشی جدایی ناپذیر از تجربه اندروید خود در نظر بگیرید. بنابراین تقریبا تمام موبایل دستگاه های عرضه شده با اندروید در اروپا و آمریکا شامل نرم افزار اختصاصی گوگل هستند.
اندروید روی دستگاه های تعبیه شده دارای مزایای زیادی است. سیستم عامل بصری و آسان برای استفاده با یک رابط کاربری گرافیکی است و دارای یک جامعه توسعه دهندگان بسیار گسترده است ، بنابراین پیدا کردن کمک برای توسعه آسان است. همچنین توسط اکثر فروشندگان سخت افزار با درایور اندروید پشتیبانی می شود ، بنابراین نمونه سازی کل سیستم آسان و مقرون به صرفه است.
رزبین یا رزبری پای (Raspbian and the Raspberry Pi) :
Raspberry Pi یک رایانه کم هزینه و با اندازه کارت اعتباری است که می تواند به عنوان یک رایانه رومیزی با عملکرد کامل عمل کند، اما می تواند در یک سیستم لینوکس تعبیه شده استفاده شود. این توسط بنیاد Raspberry Pi، که یک موسسه خیریه آموزشی مستقر در بریتانیا است، توسعه یافته است ، هدف اصلی آن آموزش به جوانان برای یادگیری برنامه نویسی و درک عملکرد رایانه است.Raspberry Pi را می توان برای انجام وظایف یا عملیات دلخواه که بخشی از یک سیستم بسیار پیچیده تر هستند، طراحی و برنامه ریزی کرد.
ویژگی های Raspberry Pi شامل مجموعه ای از پین های ورودی-خروجی عمومی (GPIO) است که می تواند برای اتصال دستگاه های الکترونیکی و بردهای توسعه استفاده شود. این اجازه می دهد تا از Raspberry Pi به عنوان یک پلت فرم برای توسعه سخت افزار استفاده کنید. اگرچه برای آموزشی در نظر گرفته شده بود ،امروزه از Raspberry Pis در پروژه های مختلف DIY و همچنین برای نمونه سازی صنعتی هنگام توسعه سیستم های تعبیه شده استفاده می شود.
Raspberry Pi از پردازنده های ARM استفاده می کند. سیستم عامل های مختلف از جمله لینوکس بر روی Raspberry Pi اجرا می شوند. از آنجایی که Raspberry Pi حاوی هارد دیسک نیست، سیستم عامل از کارت حافظه SD راه اندازی میشود. یکی از برجسته ترین توزیع های لینوکس برای Raspberry Pi ، Raspbian است. همانطور که از نام آن پیداست به خانواده توزیع دبیان تعلق دارد که برای نصب بر روی سخت افزار Raspberry Pi سفارشی شده است و بیش از 35000 بسته بهینه شده برای این محیط را ارائه می دهد. علاوه بر Raspbian ، توزیعهای لینوکس متعدد دیگری برای Raspberry Pi وجود دارد.به عنوان مثال، Kodi ، که Raspberry Pi را به یک مرکز رسانه ای تبدیل می کند.
لینوکس و فضای ابری (Linux and the Cloud):
اصطلاح رایانش ابری به یک روش استاندارد شده برای مصرف منابع محاسباتی اشاره دارد با خرید آنها از یک ارائه دهنده عمومی ابر یا با اجرای یک ابر خصوصی. طبق گزارشات سال 2017، لینوکس 90 درصد از حجم کاری ابر عمومی را اجرا می کند. هر ارائه دهنده ابر، از خدمات وب آمازون (AWS) به Google Cloud Platform (GCP) ، اشکال مختلفی از لینوکس را ارائه می دهد. حتی مایکروسافت امروزه ماشین های مجازی مبتنی بر لینوکس را در حتی مایکروسافت امروز ماشین های مجازی مبتنی بر لینوکس را در ابر Azure خود ارائه می دهد. خود ارائه می دهد.
لینوکس معمولاً به عنوان بخشی از ارائه زیرساخت به عنوان سرویس (IaaS) ( Infrastructure as a Service ) ارائه می شود. نمونه های IaaS ماشین های مجازی هستند که در عرض چند دقیقه در فضای ابری ارائه می شوند. هنگام راه اندازی یک نمونه IaaS ، تصویری انتخاب می شود که حاوی داده هایی است که در نمونه جدید مستقر شده است. ارائهدهندگان ابر تصاویر مختلفی را ارائه میدهند که شامل نصبهای آماده برای اجرای هر دو توزیع محبوب لینوکس و همچنین نسخههای خود لینوکس است.
کاربر ابر تصویری را انتخاب میکند که حاوی توزیع ترجیحی خود است و میتواند به یک نمونه ابری که این توزیع را اجرا میکند، کمی بعد دسترسی داشته باشد.اکثر ارائه دهندگان ابر ابزارهایی را به تصاویر خود اضافه می کنند تا نصب را با یک نمونه ابری خاص تنظیم کنند. این ابزارها می توانند، برای مثال، سیستم فایل تصویر را گسترش دهند تا با دیسک سخت واقعی ماشین مجازی سازگار شود .
خلاصه (Summary) :
در این درس یاد گرفتید:
- لینوکس چه توزیع هایی دارد
- سیستم های جاسازی شده لینوکس چیست؟
- سیستم های تعبیه شده لینوکس چگونه استفاده می شوند
- کاربردهای مختلف اندروید
- کاربردهای مختلف رزبری پای
- رایانش ابری چیست
- لینوکس چه نقشی در رایانش ابری دارد
ترجمه از کتاب :
https://learning.lpi.org/en/learning-materials/010-16