Wprowadzenie do Linuksa
Linux to rodzina systemów operacyjnych typu open source, podobna do Uniksa, oparta na jądrze Linuksa, a jądro systemu operacyjnego zostało po raz pierwszy opublikowane 17 września 1991 r. Linus Torvalds . Zazwyczaj Linux jest pakowany jako dystrybucja Linuksa, która zawiera pomocnicze biblioteki, oprogramowanie systemowe i jądro, z których kilka jest oferowanych w ramach Projektu GNU. Kilka dystrybucji Linuksa używa tego terminu „Linux” w tytule, ale Free Software Foundation używa rozszerzenia „GNU/Linux” tytuł skupiający się na konieczności oprogramowania GNU, wywołując kilka kontrowersji.
Znane dystrybucje Linuksa to Ubuntu, Fedora Linux i Debian, przy czym ten ostatni składa się z kilku różnych modyfikacji i dystrybucji, w tym Xubuntu i Lubuntu. Dystrybucje komercyjne to SUSE Linux Enterprise i Red Hat Enterprise Linux. Dystrybucje Linuksa na komputery stacjonarne to systemy okienkowe, takie jak Wayland lub X11, oraz środowiska graficzne, takie jak KDE Plasma i GNOME.
- Pierwotnie Linux został zaprojektowany dla komputerów osobistych opartych na architekturze Intel x86, ale od tego czasu został przeniesiony do większej liczby środowisk niż inne systemy operacyjne.
- Włączając Androida, Linux ma największą zainstalowaną bazę ze wszystkich systemów operacyjnych ogólnego przeznaczenia ze względu na kontrolę systemu Android opartego na Linuksie nad smartfonami od maja 2022 r.
- Jednak według stanu na listopad 2022 r. z Linuksa korzysta zaledwie około 2,6% komputerów stacjonarnych.
- Ponadto Linux działa na wielu systemach wbudowanych, tj. urządzeniach, których system operacyjny jest zwykle wbudowany w oprogramowanie sprzętowe i jest niezwykle dostosowany do systemu.
- Obejmuje statki kosmiczne (łazik Perseverance, kapsuła załogi Dragon i rakieta Falcon 9), samochody (Toyota, Hyundai, Mercedes-Benz, Audi i Tesla), telewizory (telewizory LG i Samsung Smart TV), konsole do gier wideo, urządzenia inteligentnego domu, sterowniki automatyki i routery.
Linux jest jednym z najwybitniejszych przykładów współpracy open source i wolnego oprogramowania. Kod źródłowy może być rozpowszechniany, modyfikowany i używany w celach niekomercyjnych lub komercyjnych przez każdego na warunkach odpowiednich licencji, takich jak GNU GPL (General Public License). Na przykład jądro Linuksa jest objęte licencją GPLv2.
Historia systemu operacyjnego Linux
System operacyjny oparty na systemie Unix został wdrożony i wymyślony w 1969 roku w Dzwonek AT&T laboratoriach Joe Ossanny, Douglasa Mcllroya, Dennisa Ritchiego i Kena Thompsona w Stanach Zjednoczonych. Opublikowany po raz pierwszy w 1971 roku Unix został w całości napisany w języku asemblera, co było wówczas podstawową praktyką. Został zaktualizowany do języka C przez Dennisa Ritchiego w kluczowy, pionierski sposób w 1973 roku. Dostępność implementacji języka wysokiego poziomu w Unixie ułatwiła jego przenoszenie na różne platformy komputerowe.
Torvalds zapisał się na kurs Uniksa podczas wizyty na Uniwersytecie Helsińskim jesienią lat 90-tych. W kursie wykorzystano minikomputer MicroVAX z systemem Ultrix, a jednym z potrzebnych tekstów był System operacyjny: projektowanie i wdrażanie autorstwa Andrewsa S. Tanenbauma. Podręcznik zawierał kopię systemu operacyjnego MINIX Tanenbauma. To właśnie dzięki temu kursowi Torvalds początkowo otworzył się na Uniksa. Systemami operacyjnymi zainteresował się w 1991 roku. Sfrustrowany licencją MINIX, która w tamtym czasie ograniczała je wyłącznie do użytku edukacyjnego, zaczął pracować nad jądrem swojego systemu operacyjnego, które ostatecznie stało się jądrem Linuksa.
Torvalds rozpoczął rozwój jądra Linuksa na MINIX, a oprogramowanie napisane dla MINIX było również używane w Linuksie. Później kultywowano Linuksa, a następnie w systemach Linux pojawił się rozwój jądra Linuksa. Ponadto aplikacje GNU zastąpiły każdy komponent MINIX, ponieważ korzystanie z darmowego kodu w ramach Projektu GNU w nowym systemie operacyjnym było korzystne; kod objęty licencją GNU GPL może być ponownie zastosowany w innych funkcjach komputera, pod warunkiem, że zostanie opublikowany na podstawie kompatybilnej lub tej samej licencji.
Torvalds rozpoczął przejście ze swojej aktualnej licencji, która zabraniała komercyjnej dystrybucji, na GNU GPL. Deweloperzy pracowali nad rozwojem elementów GNU za pomocą jądra Linuksa, tworząc darmowy i w pełni funkcjonalny system operacyjny.
Głównym opiekunem jądra Linuksa jest Grega Kroaha-Hartmana kto kieruje jego rozwojem. Dyrektorem wykonawczym Fundacji Wolnego Oprogramowania jest Williama Johna Sullivana , który z kolei obsługiwał komponenty GNU. Korporacje i osoby prywatne w końcu opracowują komponenty innych firm niż GNU.
Komponenty innych firm składają się z szerokiego zakresu prac i mogą zawierać zarówno biblioteki i aplikacje użytkownika, jak i moduły jądra. Społeczność Linuksa i dostawcy rozpowszechniają i łączą jądro, komponenty inne niż GNU i komponenty GNU z dodatkowym oprogramowaniem do zarządzania pakietami na wzór dystrybucji Linuksa.
W środowiskach produkcyjnych Linux zaczął się upowszechniać w połowie lat 90. XX wieku w społeczności zajmującej się superkomputerami, zamiast być używany wyłącznie przez hobbystów, gdzie organizacje takie jak NASA zaczęły coraz częściej zastępować swoje drogie maszyny niedrogimi, towarowymi klastrami komputerowymi z systemem Linux. Komercyjne wykorzystanie rozpoczęło się, gdy IBM i Dell, za którymi podążał Hewlett-Packard, zaczęły zapewniać wsparcie dla Linuksa, aby uciec przed monopolem Microsoftu na rynku systemów operacyjnych dla komputerów stacjonarnych.
Systemy Linux są obecnie w pełni wykorzystywane w informatyce, od systemów wbudowanych po praktycznie każdy superkomputer, i zapewniły sobie pozycję w instalacjach serwerowych, takich jak słynny stos aplikacji LAMP. Rośnie wykorzystanie dystrybucji Linuksa w przedsiębiorstwach i komputerach domowych.
Ponadto dystrybucje Linuksa stały się sławne na rynku netbooków, ponieważ kilka urządzeń zostało przeniesionych z zainstalowanymi dostosowanymi dystrybucjami Linuksa, a Google publikuje swój system operacyjny Chrome opracowany dla netbooków.
Projekt systemu operacyjnego Linux
Różni twórcy oprogramowania open source przyznają, że jądro Linuksa nie zostało opracowane, lecz wyewoluowało w wyniku doboru naturalnego. System oparty na Linuksie to kompatybilny system operacyjny podobny do Uniksa, wywodzący większość swojego wspólnego projektu z zasad opracowanych w systemie Unix w latach 70. i 80. XX wieku. W takim systemie stosuje się jądro Linuksa, monolityczne jądro, które zarządza systemami plików, dostępem do urządzeń peryferyjnych, siecią i kontrolą procesów. Sterowniki urządzeń są albo bezpośrednio zintegrowane z jądrem, albo dołączone jako moduły ładowane, gdy urządzenie jest aktywne.
Zainstalowane komponenty systemu Linux obejmują:
- A program rozruchowy , na przykład systemd-boot, SYSLINUX, LILO i GNU GRUB. Jest to program, który może załadować jądro Linuksa do pamięci głównej komputera, uruchamiany przez komputer po zalogowaniu się oprogramowania sprzętowego i jego włączeniu.
- Jakiś wejść do programu , podobnie jak tradycyjny sysvinit i nowszy Upstart, OpenRC i systemd. Jest to pierwszy proces ogłaszany przez jądro Linuksa i korzeń drzewa procesów. Innymi słowy, każdy proces jest otwierany od początku. Inicjuje procesy, takie jak monity logowania i usługi systemowe (czy to w trybie terminalowym, czy graficznym).
- Do wykonywania programów C w systemie, w którym standardem jest biblioteka GNU C, wymagana jest standardowa biblioteka C. Opracowano alternatywy, takie jak uClibc (opracowany dla uClinux), EGLIBC (fork glibc używany kiedyś przez Debiana) i musl. Jednak pierwsze dwa nie są obecnie utrzymywane. Android korzysta ze swojej biblioteki C, która jest znana jako Bioniczny .
- Powłoki GUI to najbardziej znane interfejsy użytkownika w systemach stacjonarnych, wyposażone w szerokie środowiska graficzne, takie jak Xfce, Pantheon, LXDE, Cinnamon, MATE, GNOME i KDE Plasma, chociaż dostępnych jest szereg kilku interfejsów użytkownika.
- Najbardziej znane interfejsy użytkownika działają w oparciu o koncepcję systemu X Window, tzw 'X' .
- Zapewnia przejrzystość sieci i umożliwia pokazanie aplikacji graficznej działającej w systemie na innym, w którym użytkownik może współpracować z aplikacją.
- Chociaż niektóre rozszerzenia systemu X Window nie mogą działać w sieci.
- Wiele serwerów wyświetlania X jest dostępnych z serwerem X.Org, przy czym najbardziej znana jest implementacja referencyjna.
Interfejs użytkownika nazywany jest także powłoką. Jest to albo GUI (graficzny interfejs użytkownika), CLI (interfejs wiersza poleceń) lub elementy sterujące dołączone do powiązanego sprzętu, co jest normalne w systemach wbudowanych. Domyślny interfejs użytkownika jest graficzny dla systemów stacjonarnych. Jednakże interfejs CLI jest dostępny w oknach emulatora terminala lub na izolowanej konsoli wirtualnej.
Powłoki interfejsu wiersza poleceń to tekstowe interfejsy użytkownika, które wykorzystują tekst zarówno jako dane wyjściowe, jak i wejściowe. Dominującą powłoką jest bash (Bourne-Again Shell) używana w Linuksie, pierwotnie zaprojektowana dla projektu GNU. Prawie każdy niskopoziomowy komponent Linuksa, w tym kilka części użytkownika, korzysta wyłącznie z interfejsu CLI. W szczególności CLI jest kompatybilny z opóźnioną lub powtarzalną automatyzacją zadań i zapewnia bardzo łatwą komunikację między procesami.
Obecnie Linux ma dwa interfejsy API przestrzeni użytkownika jądra do obsługi urządzeń wejściowych wideo: API DVB do odbioru telewizji i API V4L2 do strumieni radiowych i wideo.
Infrastruktura ta wymaga ewolucji, aby lepiej pasować do innych urządzeń ze względu na różnorodność i złożoność różnych urządzeń oraz dużą liczbę standardów i formatów zarządzanych przez te interfejsy API. Lepsza biblioteka urządzeń przestrzeni użytkownika jest także kluczem do sukcesu w posiadaniu aplikacji przestrzeni użytkownika, które mogą współpracować z każdym formatem obsługiwanym przez urządzenia.
Zastosowania systemu operacyjnego Linux
Kilka badań ilościowych dotyczących otwartego/wolnego oprogramowania koncentruje się na tematach takich jak niezawodność i udział w rynku, a wiele badań dotyczy konkretnie Linuksa. Rynek Linuksa rozwija się, a wielkość rynku systemów operacyjnych Linux ma wzrosnąć o 19,2% do 2027 r., osiągając 15,64 miliarda dolarów w porównaniu z 3,89 miliarda w 2019 r. Zwolennicy i analitycy przypisują sukces skojarzeniowego Linuksa jego swobodzie i niskim kosztom , niezawodność i bezpieczeństwo dzięki uzależnieniu od dostawcy.
W3Cook publikuje statystyki wykorzystujące 1 000 000 najpopularniejszych domen Alexa, które szacują, że 96,55% serwerów internetowych korzysta z Linuksa, 1,73% z Windows, a 1,72% z FreeBSD według stanu na maj 2015 r.
Według statystyk serwerów internetowych według stanu na maj 2022 r. szacowany udział Linuksa w rynku komputerów stacjonarnych wynosi około 2,5%. Microsoft Windows ma udział w rynku wynoszący około 75,5%, podczas gdy macOS ma około 14,9%.
Android stał się wiodącym systemem operacyjnym dla smartfonów opartym na jądrze Linuksa. W lipcu 2022 r. 71,9% smartfonów na całym świecie korzystających z Internetu korzystało z systemu Android. Ponadto Android jest znanym systemem operacyjnym dla tabletów, odpowiadającym za ponad 60% sprzedaży tabletów od 2013 roku.
Linux od lat jest preferowaną platformą w branży filmowej. Pierwszym dużym filmem wydanym na serwerze Linux był Titanic z 1997 roku. Od tego czasu duże studia, w tym Industrial Light & Magic, Weta Digital, Pixar i DreamWorks Animation, przeniosły się na Linuksa.
Dystrybucje Linuksa zyskały również popularność w kilku władzach krajowych i lokalnych. Kerala osiągnęła wymagany stopień, w którym każda stanowa szkoła średnia używa Linuksa w swoich systemach. Chiny wykorzystują Linuksa wyłącznie jako system operacyjny dla rodziny procesorów Loongson, aby osiągnąć niezależność technologiczną.
Kilka regionów zintegrowało swoją dystrybucję Linuksa w Hiszpanii, która jest szeroko używana w instytucjach oficjalnych i edukacyjnych. Ponadto Niemcy i Francja podjęły kroki w kierunku przyjęcia Linuksa. Koreański system operacyjny Red Star jest oparty na wersji Fedory Linux rozwijanej od 2002 roku.
Działający system Linux
System operacyjny Linux ma standardową konstrukcję, która jest kluczem do jego kilku dystrybucji i odmian. Każda dystrybucja Linuksa opiera się na jądrze Linuksa, ale może się różnić w zależności od takich czynników, jak:
- Sterowniki urządzeń wykorzystujące kod zarządzający działaniem połączonych urządzeń.
- Sterowniki systemu plików, które wykorzystują kod zarządzający działaniem jądra w różnych systemach plików.
- Wywołania systemowe, które wykorzystują kod zarządzający sposobem, w jaki programy żądają usług za pośrednictwem jądra.
- Uruchamianie i ładowanie jądra Linuksa.
- Jądro obsługuje każde wyjście i wejście systemu po uruchomieniu. System zostanie uruchomiony i można zainicjować procesy.
- System można wykorzystać do procesów zawierających polecenia wprowadzane interaktywnie z wiersza poleceń, funkcji serwera sieciowego, aplikacji komputerowych lub dowolnego programu lub aplikacji podczas uruchamiania procesów systemowych.
Jądro to jedyna rzecz, która jest wspólna każdemu systemowi działającemu pod kontrolą Linuksa. Linux działa poprzez:
Doświadczenia użytkownika mogą się bardzo różnić w zależności od sposobu wykorzystania systemu Linux, podczas gdy jądro może być prawie identyczne, z pewnymi różnicami w kompilacji i rozbieżnościami w konfiguracji. Na przykład kilka przypadków użycia Linuksa z różnymi doświadczeniami użytkownika to:
Linux działa podobnie do dowolnego systemu operacyjnego opartego na GUI, jeśli używa się go jako GUI w środowisku graficznym. Aplikacje i wiele innych zasobów można uruchamiać poprzez naciśnięcie ikon, a pliki można usuwać, kopiować lub przenosić za pomocą gładzika lub myszy.
Dystrybucje Linuksa
Linux zaakceptował postanowienia typu copyleft Fundacji Wolnego Oprogramowania, która stworzyła licencję GNU GPL od chwili jej początkowego rozwoju. GPL opisuje, że wszystko, co zostało poddane modyfikacji i jest bezpłatne, musi być swobodnie rozpowszechniane.
Dostępne są setki wersji Linuksa, zwanych także dystrybucjami. Zwykle dystrybucje wyróżniają się w pakiecie, definiując konkretny cel, rynek docelowy, funkcję lub filozofię.
Istnieje wiele dystrybucji stworzonych dla określonych funkcji docelowych, takich jak bezpieczeństwo, gry, komputery stacjonarne, serwery lub urządzenia wbudowane, takie jak systemy Raspberry Pi. Prawie każda nowoczesna dystrybucja jest gotowa do użycia i prekompilowana, podczas gdy inne, takie jak Gentoo Linux, składają się z kodu źródłowego, który każdy użytkownik może lokalnie skompilować podczas rozpoczynania instalacji, aby wykorzystać konfigurację swojego systemu.
Plusy i minusy systemu operacyjnego Linux
Niektóre korzyści wynikające z używania Linuksa są wymienione i wyjaśnione poniżej:
Oto kilka wad Linuksa: