Otwarte systemy operacyjne

Profile picture
Michał Rzeszutek

System operacyjny to oprogramowanie zarządzające zasobami sprzętowymi komputera oraz pośredniczące w komunikacji człowieka z maszyną. Podstawowym zadaniem systemu operacyjnego jest planowanie pracy procesora, kontrola pamięci operacyjnej, synchronizacja powierzonych zadań, obsługa pamięci masowych oraz wypełnianie innych funkcji przydzielonych w zależności od wykorzystywanego oprogramowania. Termin „system operacyjny” wykorzystywany jest potocznie jako określenie całości oprogramowania dostarczanego wraz z komputerem. W przypadku zestawu programów składającego się z jądra systemu, środowiska graficznego oraz aplikacji użytkowych, trafniejszym określeniem jest „dystrybucja systemu operacyjnego”.

Różnorodność projektów programistycznych cechująca środowisko wolnego i otwartego oprogramowania zauważalna jest także w sektorze systemów operacyjnych. Podstawą dla szerokiej gamy platform FLOSS jest stworzony przez laboratorium Bell Labs system UNIX. Oprogramowanie rozwijane od 1969 roku stanowi fundamentalną część systemów Linux, BSD oraz OpenSolaris. Większość programów należących do grupy WiOO jest także zgodna z modelem standaryzacji POSIX (ang. Portable Operating System Interface for Unix, pol. Przenośny interfejs dla systemu operacyjnego Unix). Podstawową platformą open source jest uniksopodobny system GNU/Linux. Połączenie jądra opracowanego przez fińskiego studenta Linusa Torvaldsa oraz narzędzi i bibliotek pochodzących z projektu GNU w szybkim czasie stało się najchętniej wykorzystywanym systemem operacyjnym środowiska. Oprogramowaniem szeroko wykorzystywanym w zastosowaniach serwerowych jest także platforma BSD.

Rozwój Berkeley Software Distribution związanego ściśle z systemem UNIX, rozpoczął się wraz z uwolnieniem kodu platformy w 1986 roku. Pierwsze pełnowartościowe aplikacje oparte na architekturze opracowanej przez Uniwersytet Kalifornijski w Berkley pojawiły się po publikacji finalnej wersji systemu 4.3BSD. Najważniejszymi projektami OSS należącymi do grupy BSD są wydane w 1993 roku FreeBSD oraz NetBSD. Dalszy rozwój otwartoźródłowych odmian systemu UNIX doprowadził do wyodrębnienia się kolejnych projektów. Należy tu wymienić przede wszystkim dystrybucję OpenBSD, DragonFly BDS oraz dostosowany do potrzeb użytkowników komputerów osobistych PC-BSD. Odrębnym projektem wolnego systemu operacyjnego niemającego bezpośrednich powiązań z systemem UNIX jest platforma OpenSolaris. Oprogramowanie wykorzystywane głównie w zastosowaniach serwerowych stanowi darmową alternatywę dla komercyjnego produktu firmy SUN Microsystem – systemu Solaris. Rozwijany na zasadzie podwójnego licencjonowania program gwarantował stabilną rozbudowę płatnej wersji platformy oraz uzupełniał oparty o rozwiązania open source model biznesowy przedsiębiorstwa. Wraz z przejęciem firmy SUN Microsystem przez Oracle Corporation prace nad systemem zostały wstrzymane. Przewiduje się także zakończenie projektu, podobnie jak miało to miejsce w przypadku pakietu biurowego OpenOffice. Zaniechanie dalszego rozwoju oprogramowania nie oznacza jednocześnie całkowitego uśmiercenia platformy. OpenSolaris, jak i pozostałe systemy OS, posiada wiele odrębnych dystrybucji. Najważniejszymi projektami tego typu są Nexenta, BeleniX oraz SchilliX.

Ciekawym przedsięwzięciem społeczności wolnego i otwartego oprogramowania jest także próba stworzenia systemu operacyjnego kompatybilnego z aplikacjami i sterownikami dostosowanymi do produktów z rodziny Microsoft Windows NT. Pomimo wieloletnich prac nad projektem (rozwijany od 1998 roku) oraz udziału w Google Summer of Code 2011 system ReactOS znajduje się nadal w wersji alpha.

Otwarte systemy operacyjne odnaleźć można w każdym typie rozbudowanych funkcjonalnie urządzeń elektronicznych. Bez względu na charakterystykę środowiska sprzętowego, najpopularniejszą platformą open source jest GNU/Linux. Podstawowym celem ruchu wolnego i otwartego oprogramowania, zainicjowanym w 1985 roku przez amerykańskiego hakera Richarda Stallmana, było stworzenie pełnowartościowego systemu operacyjnego. Nieudane próby wykorzystania mikrojądra Mach, a także niepowodzenia związane z komercyjnym wydaniem platformy UNIX, zmusiły społeczność do poszukiwania alternatywnych rozwiązań. Wyjściem z problemu było opublikowane w 1991 roku jądro Linux. Pierwsza oficjalna wersja oprogramowania opartego na systemie Minix została wydana przez Linusa Torvaldsa 5 października 1991 roku. Stworzona przez fińskiego studenta aplikacja w szybkim tempie zyskała ogólnoświatową popularność. Powodzenie projektu możliwe było dzięki komunikacji tysięcy deweloperów odbywającej się poprzez sieć Internet. W 1994 roku upubliczniona została wersja 1.0. Dała ona początek wielu projektom stosowanym w sektorze IT do dnia dzisiejszego. Pojęcie „system Linux” stosowane jest najczęściej jako określenie pełnego zestawu aplikacji umożliwiających pracę z komputerem. Precyzyjniejszym terminem obejmującym swym zakresem zarówno jądro Linux, jak i towarzyszące mu aplikacje jest „dystrybucja systemu Linux”. Produkt Linusa Torvaldsa pomimo swojej złożoności oraz szerokiego wsparcia społeczności WiOO nie mógłby istnieć bez narzędzi GNU. Aplikacje wytworzone w ramach projektu zapoczątkowanego przez Richarda Stallmana umożliwiły rozbudowę oprogramowania o niezbędne funkcjonalności. Zależność przedsięwzięć była na tyle mocna, iż nowo powstałą platformę postanowiono nazwać systemem GNU/Linux. Monolityczne jądro Linux oraz towarzyszące mu narzędzia projektu GNU nie są jedynymi elementami dystrybucji systemu. Należy wymienić tu także zróżnicowane środowiska graficzne oraz oprogramowanie użytkowe. Pierwszą platformą wykorzystująca w pełni możliwości systemu była opublikowana w 1993 roku dystrybucja Slackware. Kolejnym oprogramowaniem tego typu był wydany miesiąc później Debian.

Obecnie dostępnych jest kilkadziesiąt zróżnicowanych funkcjonalnie dystrybucji systemu GNU/Linux. Do najpopularniejszych produktów środowiska zaliczyć można projekty Debian, Ubuntu, Fedora, Slackware, OpenSuse, Red Hat, Arch Linux, Gentoo, Mint, Mandriva oraz MEPIS. Wśród wspomnianych przedsięwzięć znajdziemy rozwiązania dostosowane do specjalistycznych zastosowań, systemy desktopowe, oprogramowanie dla rozwiązań mobilnych, jak i platformy uniwersalne. Często spotykaną działalnością wśród deweloperów jest także publikowanie kilku wersji programu przystosowanych do różnych funkcji. Przykładem jest opracowywana przez firmę Canonical dystrybucja Ubuntu. System ten dostępny jest zarówno w wersji przeznaczonej dla systemów biurkowych, jak i w wydaniu serwerowym. Oprogramowanie oparte na systemie GNU/Linux implementowane jest także w urządzaniach przenośnych. Szczególnie popularnym rozwiązaniem tego typu jest obecnie system Android. Stworzona z myślą o przenośnych aparatach telefonicznych platforma Google Android należy do najchętniej wykorzystywanych aplikacji na rynku. Znaleźć ją można zarówno w smartfonach, tabletach, notebookach, jak i standardowych komputerach osobistych. Alternatywnymi aplikacjami są także opracowywany przez firmę Intel - system MeeGo, Symbian, JoliOS, Linpus Quick OS oraz xPud.

Niewielki rozmiar w pełni funkcjonalnego jądra systemu Linux, mieszczącego się na jednej dyskietce 1,44MB oraz wysoki poziom przenośności, umożliwił zastosowanie oprogramowania także w przypadku systemów wbudowanych. Aktualnie system GNU/Linux wykorzystywany jest do obsługi takich urządzeń jak telewizory, tunery satelitarne, wysokiej klasy urządzenia AGD, odtwarzacze multimedialne, czytniki ebooków oraz routery. Przewagą najpopularniejszej platformy WiOO nad innymi architekturami programistycznymi jest także różnorodność obsługiwanych systemów plików. Szeroki wachlarz rozwiązań tego typu umożliwia dostosowanie oprogramowania zarówno do zastosowań w komputerach osobistych, jak i zróżnicowanych funkcjonalnie zadań profesjonalnych. Cechą dystrybucji systemu GNU/Linux szczególnie chwaloną przez odbiorców domowych jest możliwość nieograniczonej modyfikacji oprogramowania. Dotyczy to zarówno funkcjonalności aplikacji, jak i efektów wizualnych. Dostępność kilku środowisk graficznych pozawala na dostosowanie sposobu pracy z systemem do potrzeb indywidualnego użytkownika.

Najważniejszymi projektami WiOO są w tym przypadku środowiska KDE, Gnome, LXDE oraz Xfce. W ramach danego interfejsu istnieje ponadto możliwość zastosowania odmiennych managerów okien oraz kompozycji. Instalacja pakietu Compiz wprowadza do systemu dodatkowe funkcjonalności jak pulpit 3D, efekty animacyjne, a także narzędzia ulatniające dostosowanie skrótów klawiszowych. Platforma Linux dzięki opracowanym przez społeczność wolnego i otwartego oprogramowania aplikacjom rozruchowym (ang. boot loader) może współpracować z innymi systemu operacyjnymi na jednym komputerze. Uruchamiany podczas startu urządzenia program pozwala na wybranie oraz wczytanie dowolnego systemu zainstalowanego na komputerze. Aktywnie rozwijanymi rozwiązaniami tego rodzaju są Grub oraz Lilo.

Przeważająca liczba dystrybucji systemu GNU/Linux dostępna jest za darmo wraz z kodem źródłowym. Rozpowszechnianie kopii oprogramowania realizowane jest na wiele różnych sposobów. Podstawowym medium dystrybucji programów jest sieć Internet. Aplikacje udostępniane są zarówno poprzez oficjalne witryny projektów, jak i systemy P2P (ang. peer to peer). Popularną metodą w latach 90-tych XX wieku było także organizowanie społecznych akcji kopiowania i przekazywania oprogramowania zainteresowanym użytkownikom. Odbiorca ponosił wyłącznie koszty związane z zakupem nośnika danych oraz jego wysyłką. Przedsięwzięcia realizowane najczęściej poprzez internetowe grupy dyskusyjne lub fora internetowe spotykane są do dnia dzisiejszego. Działaniem o zbliżonej formie było rozprowadzanie bezpłatnych kopii dystrybucji Ubuntu przez zarządzającą projektem firmę Cannonical, jednak rosnąca liczba zamówień na darmowe oprogramowanie zmusiła firmę do zakończenia akcji oraz modyfikacji form rozpowszechniania. Otwarta platforma GNU/Linux rozprowadzana jest także drogą komercyjną. Oprogramowanie oferowane za opłatą dostępne jest poprzez sieć sklepów internetowych, serwisy aukcyjne oraz autoryzowanych dystrybutorów aplikacji. Możliwość zarobku wykorzystywana jest również przez producentów i organizacje zajmujące się wspieraniem danego systemu operacyjnego. Środki finansowe pozyskane ze sprzedaży kopii systemu pożytkowane są głównie na realizację działań związanych z rozwojem projektu.

Zgodnie z zasadami ruchu wolnego i otwartego oprogramowania umożliwiającymi komercyjne wykorzystanie rozwiązań open source napotkamy także na wydania systemu GNU/Linux rozprowadzanego wraz z oferowanym odpłatnie wsparciem technicznym. Rozwiązaniami najczęściej wybieranymi przez odbiorów są Red Hat Enterprise Linux oraz SUSE Linux Enterprise opracowywany przez firmę Novell. W obu wymienionych przypadkach przedsiębiorstwa oferujące komercyjne wersje oprogramowania udostępniają także ich darmowe, pozbawione usług dodatkowych dystrybucje. Bezpłatnym odpowiednikiem platformy Red Hat Enterprise Linux jest popularny system Fedora. Architekturą wykorzystywaną równie chętnie jest darmowa alternatywa komercyjnego oprogramowania firmy Novell – openSUSE Linux.

Pomimo wielu zalet systemu GNU/Linux, rozwiązania oparte o tę platformę stanowią zaledwie 1% wszystkich systemów zainstalowanych na komputerach osobistych. Słaby wynik tłumaczy się najczęściej brakiem komercyjnego wsparcia technicznego oraz niewystarczającą ilością profesjonalnego oprogramowania kompatybilnego z FLOSS. Wspomniana zależność nie występuje w sektorze zastosowań serwerowych. Oprogramowanie open source jest wysoko cenione zarówno przez organizacje budżetowe, jak i instytucje naukowe. Rozwiązania środowiska WiOO wykorzystywane są w profesjonalnych centrach danych oraz urządzeniach należących do indywidualnych użytkowników. Szerzej o wykorzystywaniu otwartych systemów operacyjnych w zastosowaniach profesjonalnych postaram się napisać w kolejnym wpisie.