Wyobraź sobie, że komputer to blok mieszkalny:
- programy to lokatorzy,
- pamięć RAM to mieszkania,
- dysk to piwnice i archiwa,
- drukarka to wspólna pralnia,
- a system operacyjny (SO) to zarządca budynku: rozdziela zasoby, pilnuje zasad i rachunków.
SO robi trzy kluczowe rzeczy:
- uruchamia programy i daje im „czas na procesorze”,
- przydziela pamięć i pilnuje, by nikt nie podglądał sąsiada,
- organizuje dostęp do plików, urządzeń i sieci.
Bez SO programy kłóciłyby się o każdą myszkę i każdy bajt.
Co to jest system operacyjny?
System operacyjny (ang. Operating System, OS) to oprogramowanie, które:
- pośredniczy między sprzętem a programami,
- przydziela zasoby (czas procesora, pamięć, urządzenia),
- dba o bezpieczeństwo i kolejność zadań.
Bez niego komputer to tylko pudełko z elektroniką.
Historia w skrócie
Pierwsze komputery działały bez systemów operacyjnych – programy ładowało się z taśm perforowanych.
Dopiero później pojawiły się systemy, które automatyzowały zarządzanie sprzętem.
Dziś bez OS nie zrobisz nic – nawet smartfon z Androidem ma jądro Linuxa.
Co robi OS w praktyce
- Uruchamia programy i zarządza ich wykonaniem (procesy, wątki).
- Przydziela pamięć i zasoby (RAM, pliki, urządzenia).
- Dba o komunikację między procesami (IPC).
- Obsługuje urządzenia (drukarki, dyski, mysz).
- Chroni system przed błędami i nieuprawnionym dostępem.
- Pozwala użytkownikowi komunikować się z komputerem (interfejs graficzny lub konsola).
Bez OS: kliknięcie „drukuj” wymagałoby ręcznego sterowania silnikiem drukarki.
Z OS: wystarczy wcisnąć Ctrl + P, a reszta dzieje się sama.
Jak działa system operacyjny od środka
2.1 Architektura warstwowa
[ Aplikacje: przeglądarka, edytor, gry ]
│
[ API i biblioteki systemowe ]
│
[ Jądro (kernel): serce systemu ]
│
[ Sterowniki urządzeń ]
│
[ Sprzęt: CPU, RAM, dysk, GPU ]
Jądro (kernel) to mózg systemu – zarządza wszystkim, co dzieje się „pod spodem”.
2.2 Procesy i wątki
Proces to uruchomiony program – ma własny kod, pamięć i dane.
Wątek to „nitka wykonania” w ramach procesu – kilka wątków może działać równolegle.
Przykład z życia:
Proces to kucharz, a wątki to jego ręce.
Jedna miesza zupę, druga kroi marchewkę – ale wszystko w tej samej kuchni (pamięci).
Stany procesu:
[NEW] → [READY] → [RUNNING] → [WAITING] → [TERMINATED]
- READY – gotowy do startu, czeka na CPU
- RUNNING – aktualnie działa
- WAITING – czeka np. na dysk lub sieć
- TERMINATED – zakończony
2.3 Planowanie zadań (CPU Scheduling)
Procesor nie wykonuje wszystkich programów naraz – system przełącza je co ułamek sekundy.
Najczęstsze algorytmy planowania:
- FCFS (First Come First Served) – kto pierwszy, ten lepszy,
- SJF (Shortest Job First) – krótsze zadania mają priorytet,
- Round Robin (RR) – każdy proces dostaje kawałek czasu (tzw. kwant),
- Priority Scheduling – priorytety decydują o kolejności,
- CFS (Completely Fair Scheduler) – nowoczesny planista Linuksa, dzieli czas proporcjonalnie.
💡 Każde przełączenie kontekstu (ang. context switch) wymaga zapisania stanu programu i przywrócenia innego – to kosztowne operacje, dlatego im mniej ich, tym szybciej działa system.
2.4 Pamięć operacyjna i wirtualna
Każdy proces myśli, że ma własny ciągły blok pamięci,
ale w rzeczywistości OS tłumaczy to na adresy fizyczne.
Mechanizmy:
- Stronicowanie (paging) – pamięć dzielona na strony (np. 4 KB).
- Swap / plik stronicowania – jeśli RAM się kończy, system używa dysku.
- Ochrona pamięci – proces A nie może nadpisać danych procesu B.
Zalety pamięci wirtualnej:
- większe bezpieczeństwo,
- możliwość pracy na dużych danych,
- izolacja błędów (np. awaria jednego programu nie psuje całego systemu).
2.5 Komunikacja między procesami (IPC)
Procesy często muszą wymieniać dane – np. przeglądarka i system audio.
System udostępnia do tego:
- potoki (pipes),
- kolejki komunikatów,
- pamięć współdzieloną,
- gniazda sieciowe (sockets).
2.6 Przykład w Pythonie – symulacja planisty
import time, threading
def zadanie(n):
print(f"Start {n}")
time.sleep(1)
print(f"Koniec {n}")
for i in range(3):
threading.Thread(target=zadanie, args=(i,)).start()
Efekt: zadania „przeplatają się” – wątki działają równolegle.
Tak samo działa procesor, tylko w dużo mniejszej skali czasowej.
System plików, użytkownicy i bezpieczeństwo
3.1 Struktura systemu plików
Dane zapisujemy w strukturze drzewa katalogów.
Linux/macOS:
/
├── home/
│ └── uczen/
│ ├── dokumenty/
│ └── muzyka/
└── etc/
Windows:
C:\
├── Users\
│ └── Uczen\
│ ├── Dokumenty\
│ └── Pulpit\
└── Windows\
Każdy plik ma:
- nazwę,
- ścieżkę,
- rozmiar,
- daty (utworzenia, modyfikacji, dostępu),
- właściciela,
- prawa dostępu.
3.2 Prawa dostępu (rwx)
r = read (czytanie)
w = write (zapis)
x = execute (uruchamianie)
Trzy grupy:
| Użytkownik | Skrót | Znaczenie |
|---|---|---|
| Właściciel | user | twórca pliku |
| Grupa | group | członkowie grupy |
| Inni | others | reszta świata |
Przykład:-rwxr-xr--
→ właściciel: pełne prawa,
→ grupa: odczyt i uruchomienie,
→ inni: tylko odczyt.
chmod 755 skrypt.sh
3.3 Konta i uprawnienia
- root / administrator – pełnia władzy.
- użytkownik zwykły – może działać tylko we własnym katalogu.
- grupy – np.
audio,video,www-data.
Windows ma podobny model (konto administratora + UAC).
Linux – sudo, czyli czasowe podniesienie uprawnień.
3.4 Bezpieczeństwo
Zasada 3-2-1:
- 3 kopie danych,
- 2 różne nośniki,
- 1 poza domem.
Szyfrowanie:
- BitLocker (Windows),
- LUKS (Linux),
- FileVault (macOS).
Antywirus to nie wszystko — najważniejszy jest rozsądek i aktualizacje.
Urządzenia, sterowniki i sieć
4.1 Sterowniki (drivers)
Sterownik to tłumacz między jądrem a sprzętem.
Każda drukarka, kamera, karta graficzna ma swój „język”.
System operacyjny tłumaczy go na wspólny format – dzięki temu program nie musi znać sprzętu.
4.2 Wejście/wyjście (I/O)
Każde urządzenie jest widziane przez system jako plik:
/dev/sda– dysk,/dev/tty– terminal,/dev/null– czarna dziura na dane.
Zasada: wszystko jest plikiem – nawet urządzenia.
4.3 Sieć w systemie operacyjnym
Każdy OS ma stos sieciowy obsługujący:
- IP (adresy),
- TCP/UDP (transport),
- DNS (nazwy domen),
- porty (numery usług).
Przykład:
Adres IP: 192.168.0.10
Maska: 255.255.255.0
Brama: 192.168.0.1
DNS: 8.8.8.8
Praktyczne polecenia:
ping– sprawdzenie łączności,ipconfig/ifconfig/ip a– konfiguracja sieci,netstat/ss– otwarte porty,tracert/traceroute– ścieżka do hosta.
4.4 Wirtualizacja i kontenery
- Maszyna wirtualna (VM) – cały system w systemie (np. Windows na Linuxie).
- Kontener (Docker) – lekki, izolowany proces z własnym środowiskiem, ale współdzielącym kernel.
Wirtualizacja jest wolniejsza, ale bardziej odizolowana.
Kontenery są szybkie, ale „dzielą” jądro.
Nowoczesne systemy operacyjne i praktyka maturalna
5.1 Typy systemów
| Typ | Opis | Przykład |
|---|---|---|
| Jednozadaniowy | wykonuje jeden program | stare DOS-y |
| Wielozadaniowy | wiele naraz (planista) | Linux, Windows |
| Jednodostępny | jeden użytkownik | komputer osobisty |
| Wielodostępny | wielu jednocześnie | serwery, Linux |
| Rozproszony | wiele maszyn = jeden system | chmura, klastry |
| Czasu rzeczywistego | reaguje natychmiast | roboty, sterowniki, RTOS |
5.2 Typowe zadania maturalne
- Wyjaśnij, czym różni się proces od wątku.
Proces – własna pamięć; wątek – współdzielona pamięć w procesie. - Czym jest system plików?
Struktura organizacji danych na nośniku. - Jakie są etapy uruchamiania komputera?
POST → Bootloader → Kernel → Usługi → Pulpit. - Podaj przykładowe polecenia powłoki do zarządzania plikami i procesami.
Linux:ls,cp,mv,ps,kill.
Windows:dir,copy,tasklist,taskkill. - Co to pamięć wirtualna i po co jest potrzebna?
Pozwala uruchamiać więcej programów niż mieści się w RAM, chroni pamięć między procesami. - Na czym polega planowanie procesów?
System przydziela czas CPU różnym programom wg algorytmu.
5.3 Mini-ściąga
- rwx – odczyt, zapis, wykonanie
- sudo / admin – uprawnienia
- ping / traceroute – test sieci
- df -h / free -h – pamięć i dysk
- chmod / chown – prawa dostępu
- top / htop – procesy
5.4 Podsumowanie
System operacyjny to jak orkiestra, gdzie każdy instrument (program) gra swoją partię,
a dyrygent (kernel) dba o harmonię, tempo i to, żeby nikt nie zagłuszał reszty.
Bez niego komputer byłby tylko zbiorem kabli i krzemu.
Dzięki niemu masz biurko, mysz, przeglądarkę i wrażenie, że „to działa”.
System operacyjny to cichy partner. Jeśli go rozumiesz – piszesz lepszy kod, szybciej rozwiązujesz problemy i masz więcej punktów na maturze.

