Въведение в Linux
Linux е семейство с отворен код Unix-подобна операционна система, базирано на ядрото на Linux, а ядрото на ОС е публикувано за първи път на 17 септември 1991 г. от Линус Торвалдс . Обикновено Linux е пакетиран като Linux дистрибуция, която съдържа поддържащите библиотеки и системния софтуер и ядрото, някои от които се предлагат от проекта GNU. Няколко Linux дистрибуции използват термина „Линукс“ в заглавието, но Фондацията за свободен софтуер използва „GNU/Linux“ заглавие, за да се съсредоточи върху необходимостта от софтуер GNU, предизвиквайки няколко противоречия.
Известни Linux дистрибуции са Ubuntu, Fedora Linux и Debian, последната от които е съставена от няколко различни модификации и дистрибуции, включително Xubuntu и Lubuntu. Търговските дистрибуции са SUSE Linux Enterprise и Red Hat Enterprise Linux. Настолните дистрибуции на Linux са прозоречни системи като Wayland или X11 и десктоп среди като KDE Plasma и GNOME.
- Първоначално Linux е проектиран за персонални компютри, които са базирани на Intel x86 архитектура, но оттогава е преместен в повече среди, отколкото други операционни системи.
- Включително Android, Linux има най-голямата инсталирана база от всяка операционна система с общо предназначение поради контрола на базирания на Linux Android над смартфони от май 2022 г.
- Linux обаче се използва от едва около 2,6% от настолните компютри към ноември 2022 г.
- Освен това Linux се изпълнява на много вградени системи, т.е. устройства, чиято операционна система обикновено е проектирана във фърмуера и е изключително персонализирана за системата.
- Включва космически кораби (Perseverance rover, капсула Dragon crew и ракета Falcon 9), автомобили (Toyota, Hyundai, Mercedes-Benz, Audi и Tesla), телевизори (LG и Samsung Smart TV), конзоли за видеоигри, умни домашни устройства, контроли за автоматизация и рутери.
Linux е един от най-забележителните примери за сътрудничество с отворен код и безплатен софтуер. Изходният код може да се разпространява, модифицира и използва с некомерсиална или търговска цел от всеки при условията на съответните му лицензи, като GNU GPL (Общ публичен лиценз). Например ядрото на Linux е лицензирано по GPLv2.
История на Linux OS
Базираната на Unix операционна система е внедрена и замислена през 1969 г Камбаната на AT&T лаборатории на Джо Осана, Дъглас Макилрой, Денис Ричи и Кен Томпсън в Съединените щати. Публикуван за първи път през 1971 г., Unix беше изцяло написан на асемблер, каквато беше основната практика по това време. Той беше актуализиран на езика C от Денис Ричи по ключов пионерски начин през 1973 г. Наличието на имплементация на Unix език от високо ниво направи пренасянето му към различни компютърни платформи удобно.
Торвалдс се регистрира в курс по Unix, докато посещава университета в Хелзинки през есента на 1990 г. Курсът използваше миникомпютър MicroVAX, изпълняващ Ultrix, и един от необходимите текстове беше Операционни системи: проектиране и внедряване от Andrews S. Tanenbaum. Учебникът съдържаше копие на операционната система MINIX на Таненбаум. Заедно с този курс Торвалдс първоначално стана отворен за Unix. Той започва да се интересува от операционни системи през 1991 г. Разочарован от лицензирането на MINIX, което го ограничава само до образователна употреба по това време, той започва да работи върху ядрото на своята операционна система, което в крайна сметка се превръща в ядрото на Linux.
Торвалдс започна разработването на ядрото на Linux на MINIX, а софтуерът, написан за MINIX, беше използван и на Linux. По-късно Linux беше култивиран и след това развитието на Linux ядрото се появи на Linux системи. Освен това приложенията на GNU замениха всеки компонент на MINIX, тъй като беше полезно да се използва свободният код чрез проекта GNU с новата операционна система; код, лицензиран по GNU GPL, може да бъде приложен отново в други компютърни функции, стига да е публикуван под съвместим или същия лиценз.
Торвалдс започна преминаване от действителния си лиценз, който забраняваше комерсиалното разпространение, към GNU GPL. Разработчиците работиха, за да разработят GNU елементи с ядрото на Linux, правейки безплатна и напълно функционална операционна система.
Водещият поддържащ ядрото на Linux е Грег Кроа-Хартман който ръководи развитието му. Електронният изпълнителен директор на Фондацията за свободен софтуер е Уилям Джон Съливан , което от своя страна поддържаше GNU компонентите. Корпорации и физически лица най-накрая разработват компоненти на трети страни, които не са GNU.
Компонентите на трети страни са съставени от обширна работа и могат да съдържат както потребителски библиотеки и приложения, така и модули на ядрото. Linux общността и доставчиците разпространяват и комбинират ядрото, не-GNU компоненти и GNU компоненти с допълнителен софтуер за управление на пакети по модата на Linux дистрибуциите.
В производствените среди възприемането на Linux започна да се развива първоначално в средата на 90-те години на миналия век в суперкомпютърната общност, вместо да се използва само от любители, където организации като НАСА започнаха все повече да заменят своите скъпи машини с евтини масови компютърни клъстери, работещи с Linux. Търговската употреба започна, когато IBM и Dell, преследвани от Hewlett-Packard, започнаха да предоставят поддръжка на Linux за избягване на монопола на Microsoft на пазара на настолни ОС.
Linux системите се използват изцяло в компютрите днес, от вградени системи до всеки суперкомпютър на практика, и са си осигурили позиция в сървърните инсталации като известния стек от приложения LAMP. Използването на Linux дистрибуции в корпоративни и домашни настолни компютри се развива.
Също така дистрибуциите на Linux станаха известни на пазара на нетбуци, като няколко устройства се движат с инсталирани персонализирани дистрибуции на Linux и Google публикува своята ChromeOS, разработена за нетбуци.
Дизайн на Linux OS
Различни разработчици на отворен код признават, че ядрото на Linux не е разработено, а вместо това се е развило от естествен подбор. Базираната на Linux система е съвместима Unix-подобна операционна система, произлязла голяма част от общия си дизайн от принципите, създадени в Unix през 70-те и 80-те години на миналия век. Такава система прилага ядрото на Linux, монолитно ядро, което управлява файлови системи, периферен достъп, работа в мрежа и контрол на процеси. Драйверите на устройства са или директно интегрирани с ядрото, или включени като модули, заредени, докато устройството е активно.
Инсталираните системни компоненти на Linux включват следното:
- А буутлоудър , например systemd-boot, SYSLINUX, LILO и GNU GRUB. Това е програма, която може да зареди ядрото на Linux в основната памет на компютъра, като се стартира от компютъра, след като е извършено влизане във фърмуера и когато е включено.
- Ан влезте в програмата , като традиционния sysvinit и по-новите Upstart, OpenRC и systemd. Това е първият процес, обявен от ядрото на Linux и корена на дървото на процесите. С други думи, всеки процес се отваря от init. Той инициира процеси като подкани за влизане и системни услуги (независимо дали в терминален или графичен режим).
- C стандартната библиотека е необходима за изпълнение на C програми в система, използваща GNU C библиотеката, която е стандарт. Разработени са алтернативи като uClibc (разработен за uClinux), EGLIBC (glibc fork, използван веднъж от Debian) и musl. Първите две обаче не се поддържат сега. Android използва своята C библиотека, която е известна като Бионичен .
- GUI черупките са най-известните потребителски интерфейси на настолни системи, пакетирани с широки десктоп среди като Xfce, Pantheon, LXDE, Cinnamon, MATE, GNOME и KDE Plasma, въпреки че е наличен набор от няколко потребителски интерфейса.
- Повечето известни потребителски интерфейси работят с концепцията на X Window System, известна като 'Х' .
- Той предлага прозрачност на мрежата и позволява графично приложение, активно в дадена система, да бъде показано в друга, в която потребителят може да си сътрудничи с приложението.
- Въпреки това някои разширения на X Window System не могат да работят в мрежата.
- Много X дисплей сървъри са налични със сървъра X.Org, като референтната реализация е най-известната.
Освен това потребителският интерфейс се нарича обвивка. Това е или GUI (графичен потребителски интерфейс), CLI (интерфейс на командния ред), или контроли, прикрепени към съответния хардуер, което е нормално за вградени системи. Потребителският интерфейс по подразбиране е графичен за настолни системи. Въпреки това, CLI е достъпен от прозорците на терминален емулатор или на изолирана виртуална конзола.
Обвивките на интерфейса на командния ред са текстови потребителски интерфейси, които използват текст както за изход, така и за вход. Доминиращата обвивка е bash (Bourne-Again Shell), използвана в Linux, първоначално проектирана за проекта GNU. Почти всеки компонент от ниско ниво на Linux, включително няколко потребителски части, използват изключително CLI. По-специално, CLI е съвместим със забавена или повтаряща се автоматизация на задачи и осигурява много лесна комуникация между процесите.
Понастоящем Linux има два API на потребителското пространство на ядрото за обработка на входни видео устройства: DVB API за телевизионно приемане и V4L2 API за радио и видео потоци.
Тази инфраструктура трябва да се развива, за да се съчетае по-добре с други устройства поради разнообразието и сложността на различните устройства и поради големия брой стандарти и формати, управлявани от тези API. Една по-добра библиотека с устройства за потребителско пространство също е ключът към успеха на приложенията за потребителско пространство, които могат да работят с всеки формат, поддържан от устройства.
Използване на Linux OS
Няколко количествени проучвания на софтуер с отворен код/свободен софтуер се концентрират върху теми като надеждност и пазарен дял, като много проучвания изследват специално Linux. Пазарът на Linux се развива и размерът на пазара на Linux OS се очаква да отбележи развитие от 19,2% до 2027 г., достигайки 15,64 милиарда долара, в сравнение с 3,89 милиарда през 2019 г. Поддръжниците и анализаторите приписват асоциативния успех на Linux на неговата свобода, ниска цена , надеждност и сигурност от блокиране на доставчика.
W3Cook публикува статистика, която използва най-добрите 1 000 000 домейна на Alexa, според които 96,55% от уеб сървърите използват Linux, 1,73% използват Windows и 1,72% използват FreeBSD към май 2015 г.
Към май 2022 г. прогнозният пазарен дял на Linux е около 2,5% за настолни компютри, според статистиката на уеб сървъра. Microsoft Windows има пазарен дял от приблизително 75,5%, докато macOS има около 14,9%.
Android се превърна във водещата операционна система за смартфони, която е базирана на ядрото на Linux. През юли 2022 г. 71,9% от смартфоните по света, използващи интернет, са използвали Android. Освен това Android е известна операционна система за таблети, която отговаря за повече от 60% от продажбите на маси към 2013 г.
Linux е предпочитаната платформа във филмовата индустрия от години. Първият голям филм, пуснат на Linux сървър, беше Титаник от 1997 г. Оттогава големи студиа, включително Industrial Light & Magic, Weta Digital, Pixar и DreamWorks Animation, се преместиха към Linux.
Дистрибуциите на Linux също придобиха популярност в няколко национални и местни правителства. Керала стигна до задължителната степен, че всяка държавна гимназия използва Linux на своите системи. Китай използва Linux изключително като операционна система за своето семейство процесори Loongson за постигане на технологична независимост.
Няколко региона са интегрирали своята Linux дистрибуция в Испания, която се използва широко в официални и образователни институции. Освен това Германия и Франция предприеха стъпки към приемането на Linux. Операционната система Red Star на Северна Корея е базирана на версия на Fedora Linux, разработена от 2002 г.
Linux OS работи
Операционната система Linux следва стандартен дизайн, който е ключът към нейните няколко дистрибуции и вариации. Всяка дистрибуция на Linux е базирана на ядрото на Linux, но може да се различава в зависимост от фактори като:
- Драйвери на устройства, които използват код, който управлява как работят свързаните устройства.
- Драйвери за файлова система, които използват код, който управлява как ядрото работи с отделни файлови системи.
- Системни извиквания, които използват код, който управлява начина, по който програмите изискват услуги чрез ядрото.
- Стартиране и зареждане на Linux ядрото.
- Ядрото обработва всеки системен изход и вход след зареждане. Системата се зарежда и процесите могат да се инициализират.
- Системата може да се използва за процеси, които съдържат команди, въведени интерактивно от командния ред, функции на мрежовия сървър, настолни приложения или всяка програма или приложение, докато системните процеси се зареждат.
Ядрото е общото нещо, което всяка система има, работеща с Linux. Linux работи чрез:
Потребителското изживяване може да варира в широки граници, разчитайки на това как се използва системата Linux, докато ядрото може да е почти идентично с някои разлики при компилиране и различия при конфигурацията. Например, няколко случая на употреба на Linux с различни потребителски изживявания са:
Linux работи много подобно на всяка GUI-базирана операционна система, когато я използва като GUI с десктоп среда. Приложенията и много други ресурси могат да бъдат стартирани чрез натискане на икони, а файловете могат да бъдат изтрити, копирани или преместени с помощта на тракпад или мишка.
Linux дистрибуции
Linux прие разпоредбите за копилефт на Фондацията за свободен софтуер, която създаде GNU GPL от началото на разработването му. GPL описва, че всичко, взето за модификация и безплатно, трябва да се разпространява свободно.
Налични са стотици версии на Linux, наричани още дистрибуции или дистрибуции. Обикновено дистрибуциите се разграничават чрез пакета, като определят конкретна цел, целеви пазар, функция или философия.
Има много дистрибуции, направени за конкретни целеви функции, като сигурност, игри, настолни компютри, сървъри или вградени устройства, като системи Raspberry Pi. Почти всяка модерна дистрибуция е готова за използване и предварително компилирана, докато други, като Gentoo Linux, са съставени от изходен код, който всеки потребител може локално да компилира по време на стартиране на инсталацията, за да използва своята системна конфигурация.
Плюсове и минуси на Linux OS
Някои предимства от използването на Linux са изброени и обяснени по-долу:
Няколко недостатъка на Linux са: