System operacyjny jako warstwa między sprzętem a programami: zadania systemu, proces a program, przydział pamięci, sterowniki, systemy plików i Linux.
System operacyjny pośredniczy między sprzętem a programami. Bez niego każda aplikacja musiałaby sama obsługiwać dysk, kartę graficzną i klawiaturę – i to w wersji specyficznej dla konkretnego modelu.
Jego zadania dzielą się na kilka obszarów. Zarządzanie procesami decyduje, który program dostaje czas procesora i na jak długo, dzięki czemu wiele aplikacji działa pozornie jednocześnie. Zarządzanie pamięcią przydziela każdemu programowi obszar RAM i pilnuje, żeby jeden nie wszedł w pamięć drugiego.
Zarządzanie plikami organizuje dane w katalogach i kontroluje uprawnienia dostępu. Obsługa urządzeń realizowana jest przez sterowniki, które tłumaczą ogólne polecenia na język konkretnego sprzętu. Osobnym zadaniem jest interfejs użytkownika – graficzny albo tekstowy.
Cztery zasady wystarczą, żeby odpowiedzieć na większość pytań o system operacyjny:
Sam start komputera – układ BIOS/UEFI, test POST i kolejność rozruchu – należy jeszcze do sprzętu. Rola systemu zaczyna się w chwili, gdy firmware odnajdzie nośnik z systemem i odda mu sterowanie; od tego momentu to system decyduje o wszystkim, co dzieje się w komputerze.
Oprogramowanie dzieli się na dwie grupy, o które często pytają:
Pomiędzy nimi bywa umieszczane oprogramowanie narzędziowe, na przykład archiwizatory czy programy do defragmentacji.
Proces to nie to samo co program. Program jest plikiem na dysku – zbiorem instrukcji, które nic nie robią, dopóki ich ktoś nie uruchomi. Proces to uruchomiona kopia programu: kod wczytany do pamięci operacyjnej, własny obszar danych i wpis na liście zadań systemu. Z jednego pliku może powstać wiele niezależnych procesów, dlatego trzy okna tej samej przeglądarki bywają na liście trzema pozycjami. Zamknięcie okna kończy proces, ale nie usuwa programu z dysku.
Wielozadaniowość polega na przełączaniu, nie na równoczesności. Pojedynczy rdzeń procesora wykonuje w danej chwili instrukcje jednego procesu. System przydziela kolejnym procesom krótkie odcinki czasu i przełącza je tak szybko, że użytkownik widzi płynną pracę wielu programów naraz. Przy każdym przełączeniu zapamiętuje, w którym miejscu proces został przerwany, żeby wznowić go dokładnie stamtąd.
Przydział pamięci działa podobnie. Każdy proces dostaje własny obszar pamięci operacyjnej i widzi go tak, jakby był sam w komputerze. System pilnuje granic: proces, który sięgnie poza swój obszar, zostaje zatrzymany, zamiast uszkodzić dane sąsiada. Gdy wolnej pamięci zaczyna brakować, system przenosi rzadziej używane fragmenty na dysk i zwalnia miejsce w RAM-ie. Ten mechanizm nazywa się pamięcią wirtualną; różnice między RAM-em, ROM-em a dyskiem opisuje hasło o rodzajach pamięci, tutaj ważne jest, kto tym zarządza – robi to system, a nie program i nie użytkownik.
Obsługa urządzeń idzie przez sterowniki. System zna ogólne pojęcia: drukuj, zapisz blok danych, odczytaj klawisz. Szczegółów konkretnego modelu drukarki nie zna, więc korzysta ze sterownika od producenta, który tłumaczy ogólne polecenie na rozkazy tego urządzenia. Dlatego po podłączeniu nowego sprzętu system prosi czasem o sterownik, a każdy program od razu potrafi na nim drukować – korzysta z gotowej obsługi systemu.
Ostatnim obszarem są konta i uprawnienia. System rozpoznaje, kto pracuje, i na tej podstawie rozstrzyga, do których plików i ustawień jest dostęp: administrator zmienia ustawienia całego komputera, zwykły użytkownik – tylko własne pliki.
| Element | Stan w chwili kliknięcia |
|---|---|
| Działanie użytkownika | podwójne kliknięcie ikony edytora tekstu |
| Plik programu | edytor.exe leży na dysku, w katalogu z programami |
| Pamięć operacyjna | część zajęta przez inne programy, część wolna |
| Procesor | wykonuje już instrukcje innych procesów |
| Krok | Co robi system | Czego to dotyczy |
|---|---|---|
| 1 | odnajduje plik edytor.exe po nazwie i ścieżce zapisanej w katalogu | zarządzanie plikami i system plików |
| 2 | sprawdza, czy konto zalogowanego użytkownika ma prawo uruchomić ten plik | konta i uprawnienia |
| 3 | rezerwuje obszar pamięci operacyjnej i wczytuje do niego kod programu z dysku | zarządzanie pamięcią |
| 4 | tworzy proces: nowy wpis na liście działających zadań z własnym obszarem danych | zarządzanie procesami |
| 5 | przydziela procesowi kolejne odcinki czasu procesora na przemian z pozostałymi | wielozadaniowość |
| 6 | rysuje okno programu i przekazuje do niego znaki wpisywane na klawiaturze | interfejs użytkownika |
| 7 | przy zapisie dokumentu przekazuje dane sterownikowi dysku i aktualizuje katalog | obsługa urządzeń przez sterowniki |
| 8 | po zamknięciu okna usuwa proces z listy i oddaje jego pamięć do puli wolnej | zwalnianie zasobów |
| Zadanie systemu | Na czym polega | Objaw, gdy zawodzi |
|---|---|---|
| Uruchamianie programów | odnalezienie pliku, wczytanie go do pamięci i utworzenie procesu | podwójne kliknięcie ikony nie daje żadnego efektu |
| Przełączanie zadań | przydzielanie procesom kolejnych odcinków czasu procesora | jeden program zajmuje komputer, pozostałe przestają odpowiadać |
| Przydział pamięci | rezerwowanie każdemu procesowi własnego obszaru pamięci operacyjnej | program zamyka się z komunikatem o braku pamięci |
| Izolacja procesów | pilnowanie, żeby proces nie sięgnął do pamięci innego procesu | błąd jednego programu wywraca cały komputer |
| Pamięć wirtualna | przenoszenie rzadziej używanych fragmentów pamięci na dysk | przy wielu otwartych oknach komputer wyraźnie zwalnia |
| Zarządzanie plikami | prowadzenie katalogów, nazw, dat i rozmiarów plików | zapisany plik jest nie do odnalezienia |
| Obsługa urządzeń | tłumaczenie poleceń na rozkazy sprzętu za pośrednictwem sterowników | drukarka albo kamera nie działa mimo poprawnego podłączenia |
| Konta i uprawnienia | rozdzielanie dostępu do plików i ustawień między użytkowników | każdy zalogowany widzi i kasuje cudze dokumenty |
| Interfejs użytkownika | udostępnienie pulpitu z oknami albo wiersza poleceń | brak jakiegokolwiek sposobu wydania polecenia |
| Obsługa sieci | pośredniczenie w wysyłaniu i odbieraniu danych przez kartę sieciową | programy nie mają dostępu do sieci mimo działającego łącza |
System plików określa, jak dane są zorganizowane na nośniku – gdzie leży zawartość pliku, gdzie jego nazwa, uprawnienia i data modyfikacji. Bez niego dysk byłby ciągiem bajtów bez struktury. Ten spis prowadzi i aktualizuje system operacyjny.
FAT32 jest stary i prosty. Jego największa zaleta to zgodność – odczyta go praktycznie każde urządzenie, od telewizora po konsolę. Ma jednak twarde ograniczenie: pojedynczy plik nie może przekroczyć 4 GB. To dlatego skopiowanie filmu na pendrive'a czasem kończy się błędem mimo wolnego miejsca.
NTFS to standard Windowsa. Nie ma praktycznych limitów rozmiaru, obsługuje uprawnienia dostępu, szyfrowanie, kompresję i księgowanie operacji, które chroni przed uszkodzeniem struktury po nagłym zaniku zasilania.
exFAT jest kompromisem: nie ma limitu 4 GB, a jednocześnie odczytują go różne systemy. To domyślny wybór dla dużych pendrive'ów i kart pamięci.
Warto znać pojęcie klastra – najmniejszej jednostki miejsca przydzielanej plikowi. Plik o rozmiarze 1 bajta i tak zajmie cały klaster, stąd różnica między „rozmiarem" a „rozmiarem na dysku".
Formatowanie to utworzenie na nośniku struktury wybranego systemu plików. Nie jest tym samym co usuwanie: buduje spis od nowa na całym nośniku, podczas gdy skasowanie pliku tylko wykreśla jedną pozycję z istniejącego spisu.
| Cecha | FAT32 | NTFS | exFAT |
|---|---|---|---|
| Limit pliku | 4 GB | praktycznie brak | praktycznie brak |
| Uprawnienia dostępu | nie | tak | nie |
| Księgowanie | nie | tak | nie |
| Zgodność między systemami | najwyższa | ograniczona | dobra |
| Typowe zastosowanie | starsze nośniki | dysk systemowy | duże pendrive'y i karty |
| Nazwa angielska | File Allocation Table (32-bit) | New Technology File System | Extended File Allocation Table |
Linux to jądro systemu, czyli warstwa obsługująca sprzęt, pamięć i procesy. Samo jądro nie wystarczy do pracy – dopiero połączone z zestawem programów i instalatorem tworzy dystrybucję, na przykład Ubuntu, Debiana czy Fedorę. Linux jest wolnym oprogramowaniem, więc wolno go używać, badać i modyfikować bez opłat licencyjnych.
Struktura katalogów różni się od windowsowej. Nie ma liter dysków – wszystko wyrasta z jednego korzenia oznaczonego ukośnikiem, a kolejne nośniki są montowane jako podkatalogi w tym drzewie. Katalogi domowe użytkowników leżą w /home, pliki konfiguracyjne w /etc, a programy w /bin i /usr.
Każdy plik ma tu prawa odczytu, zapisu i wykonania osobno dla właściciela, grupy i pozostałych użytkowników. Codzienna praca idzie na koncie zwykłego użytkownika, a uprawnienia administratora podnosi się tylko na czas jednego polecenia.
Tekstowy interfejs, czyli terminal, jest w Linuksie pełnoprawnym sposobem wydawania poleceń, a na serwerach bywa jedynym. Wystarczy znać kilka podstawowych:
ls – wyświetla zawartość katalogucd – zmienia katalogpwd – pokazuje bieżący katalogmkdir – tworzy katalogcp – kopiuje plikimv – przenosi plik lub zmienia jego nazwęrm – usuwa plikisudo – wykonuje jedno polecenie z uprawnieniami administratoraSystem pomylony z komputerem albo z pakietem biurowym. To najczęstsza pomyłka i wprost sprawdza ją klucz z 2006 roku: system operacyjny to zbiór programów zarządzających pracą komputera, a nie sam komputer, nie program do obliczeń i nie zestaw edytora z arkuszem. Pakiet biurowy jest oprogramowaniem użytkowym – działa dopiero na systemie i bez niego nie da się go uruchomić.
Przekonanie, że system mieszka w BIOS-ie albo w pamięci ROM. Klucz z 2016 roku odrzuca oba zdania: system nie musi być przechowywany w pamięci ROM ani na twardym dysku. Bywa uruchamiany z pendrive'a, z płyty albo przez sieć, a na jednym dysku mogą stać obok siebie dwa systemy, między którymi wybiera się przy starcie. W ROM-ie siedzi firmware, czyli BIOS lub UEFI – to on startuje komputer i oddaje sterowanie systemowi, ale sam systemem nie jest.
Proces pomylony z programem. Program leży na dysku i nic nie robi; proces to jego uruchomiona kopia w pamięci. Różnica bywa niewidoczna, dopóki nie otworzy się listy zadań – wtedy okazuje się, że jeden program ma na niej kilka pozycji. Zdanie „usunąłem proces, więc program zniknął" jest fałszywe: zakończenie procesu zwalnia pamięć, nie kasuje pliku.
Przekonanie, że program działający w tle nic nie kosztuje. Zminimalizowane okno nadal ma swój proces, a proces nadal trzyma przydzieloną pamięć i co jakiś czas dostaje czas procesora. Dlatego przy kilkunastu otwartych programach komputer zwalnia, mimo że użytkownik „nic nie robi" – system zaczyna wtedy przenosić fragmenty pamięci na dysk. Zamknięcie okna krzyżykiem kończy proces, ale ukrycie go do zasobnika systemowego już nie.
Formatowanie pomylone z usuwaniem plików. Usunięcie wykreśla plik ze spisu prowadzonego przez system plików. Formatowanie buduje ten spis od zera i pozwala przy okazji zmienić system plików, na przykład FAT32 na exFAT. Pierwsza operacja dotyczy jednego pliku, druga całej struktury nośnika.
sudo podnosi uprawnienia dla jednego polecenia.Na liście zadań systemu widać cztery pozycje:
| Nazwa procesu | Rodzaj | Pamięć w MB |
|---|---|---|
| przegladarka | program użytkowy | 1200 |
| edytor tekstu | program użytkowy | 300 |
| obsługa drukarki | program systemowy | 40 |
| kopiowanie plików | program systemowy | 20 |
Uzupełnij:
| Pytanie | Odpowiedź |
|---|---|
| Ile pozycji z listy to programy użytkowe? | |
| Ile megabajtów pamięci zajmują razem wszystkie cztery procesy? | |
| Jak nazywa się uruchomiona w pamięci kopia programu? | |
| Program tłumaczący polecenia systemu na rozkazy konkretnego urządzenia to | |
| Najmniejsza porcja miejsca przydzielana plikowi na nośniku to | |
| Ile gigabajtów ma największy plik, który zapiszesz w systemie FAT32? | |
| Czy system operacyjny musi być przechowywany w pamięci ROM? Wpisz tak albo nie | |
| Jądro Linuksa razem z programami i instalatorem tworzy |
Gdy w pamięci operacyjnej zaczyna brakować miejsca, system przenosi jej rzadziej używane fragmenty na dysk – ten mechanizm to . O tym, który program dostaje w danej chwili czas procesora, decyduje .
Program to plik na dysku, proces to jego uruchomiona kopia w pamięci. Z jednego programu może działać wiele niezależnych procesów naraz, a zakończenie procesu nie usuwa programu z dysku.
Przenosi rzadziej używane fragmenty na dysk do pamięci wirtualnej. Pozwala to pracować dalej, ale wyraźnie spowalnia komputer, bo dysk jest znacznie wolniejszy od pamięci operacyjnej.
Bo system nie zna szczegółów każdego modelu sprzętu. Sterownik dostarcza producent i to on tłumaczy ogólne polecenie systemu na konkretne rozkazy urządzenia.
Nie musi. Można go uruchomić z pendrive'a, z płyty albo przez sieć, a na jednym dysku mogą być zainstalowane dwa systemy, między którymi wybiera się przy starcie komputera. Klucz maturalny z 2016 roku uznaje oba zdania o „musi" za fałszywe.
BIOS lub UEFI to oprogramowanie układowe płyty głównej: uruchamia komputer, sprawdza sprzęt i odnajduje nośnik z systemem. Potem oddaje sterowanie systemowi operacyjnemu, który przejmuje zarządzanie procesami, pamięcią, plikami i urządzeniami na cały czas pracy.
Bo miejsce przydzielane jest całymi klastrami. Reszta ostatniego klastra pozostaje niewykorzystana – zjawisko to nazywa się fragmentacją wewnętrzną.
Nie. Porządkowanie fragmentów pliku skraca ruchy głowicy w dyskach talerzowych, a w dysku półprzewodnikowym nie ma czego przesuwać – dodatkowe zapisy tylko zużywają komórki. Systemy rozpoznają rodzaj nośnika i dla SSD same wyłączają defragmentację.
Sam system tak – to wolne oprogramowanie. Firmy sprzedają natomiast wsparcie techniczne i wersje z gwarancją aktualizacji, i to na tym opiera się model biznesowy dostawców dystrybucji.
Do tego hasła nie mamy jeszcze przypisanych pojedynczych zadań. Cały spis zadań maturalnych z tego działu jest tutaj:
Zagadnienia z tego samego obszaru matury – warto je powtórzyć razem: