Systemy operacyjne 0800-SOPER
Celem wykładu jest przedstawienie podstawowych pojęć i zagadnień związanych z budową oraz działaniem współczesnych systemów komputerowych z punktu widzenia zaawansowanego użytkownika oraz administratora system komputerowego. Dlatego zawartość wykładu i ujęcie tematu mają charakter bardziej praktyczny niż teoretyczny. Jest to próba dostarczenia i objaśnienia aparatu pojęciowego w takim zakresie, aby ułatwić administrowanie i strojenie systemu komputerowego, a także pomóc w tworzeniu wydajnych aplikacji.
W ramach wykładu zostaną poruszone następujące zagadnienia:
1. Historia komputerów i systemów operacyjnych
2. Architektura i działanie procesora. Architektura współczesnych komputerów
3. Jak system komputerowy wykonuje programy?
- Monitor prosty, buforowanie, spooling,
- Wieloprogramowość
- Podział czasu
4. Struktura systemu komputerowego.
- Systemy z obsługą przerwań
- Struktura wejścia-wyjścia
- Dualny tryb pracy
5. Procesy
- Model procesu i jego implementacja
- Proces z poziomu powłoki
- Zarządzanie procesami
- Komunikacja międzyprocesowa
- Synchronizowanie procesów. Zakleszczenia.
6. Zarządzanie pamięcią
- Zarządzanie pamięcią bez wymiany i stronicowania
- Wymiana
- Pamięć wirtualna
- Segmentacja
7. Zarządzanie przestrzenią dyskową
- Rodzaje plików
- Partycje i systemy plików, systemy plików z kroniką
- Zarządzanie logicznymi wolumenami
- Macierze dyskowe
8. Struktura systemów operacyjnych
- Systemy monolityczne
- Systemy warstwowe
- Maszyny wirtualne
- Model klient-serwer
9. Przykłady systemów operacyjnych
Celem ćwiczeń jest zapoznanie się z mechanizmami funkcjonowania systemu operacyjnego, jego konfiguracji i badanie aktualnego stanu systemu z użyciem komend systemowych i narzędzi diagnostycznych. W czasie zajęć będzie wykorzystywany język Bash do tworzenia skryptów systemowych oraz język C do demonstracji funkcji systemowych oraz mechanizmów synchronizacji procesów w systemie GNU/Linux.
Ćwiczenia wymagają dostępu do powłoki serwerów Unix/Linux za pomocą SSH lub VNC. Rozwiązania zadań uczestnicy umieszczają w repozytorium Git. Do edycji skryptów wykorzystywane są edytory vim/emacs.
Całkowity nakład pracy studenta
Efekty uczenia się - wiedza
Efekty uczenia się - umiejętności
Efekty uczenia się - kompetencje społeczne
Metody dydaktyczne podające
Metody dydaktyczne poszukujące
Rodzaj przedmiotu
Wymagania wstępne
Koordynatorzy przedmiotu
W cyklu 2022/23Z: | W cyklu 2025/26Z: | W cyklu 2023/24Z: | W cyklu 2024/25Z: |
Kryteria oceniania
Przedmiot obejmuje 30 godzin wykładu oraz 30 godzin laboratorium komputerowego.
Metody oceniania:
Wykład: egzamin pisemny weryfikujący efekty kształcenia W1-5, U1-2,K1.
Do egzaminu są dopuszczone osoby, które zaliczyły zajęcia laboratoryjne.
Laboratorium: ocena na podstawie kolokwium oraz zadań realizowanych na zajęciach weryfikujących efekty kształcenia W5-6, U3-4,K1
Kryteria oceniania:
Wykład: zaliczenie na podstawie egzaminu, oceny wyznaczone według przelicznika:
51-60% - ocena: 3
61-70% - ocena: 3+
71-80% - ocena: 4
81-90% - ocena: 4+
91-100% - ocena 5
Laboratorium: zaliczenie na podstawie kolokwium, zadań realizowanych na laboratoriach oraz oceny projektów zaliczeniowych wg. przelicznika:
51-60% - ocena: 3
61-70% - ocena: 3+
71-80% - ocena: 4
81-90% - ocena: 4+
91-100% - ocena 5
Literatura
Literatura obowiązkowa:
Jeden z poniższych podręczników (mogą być starsze lub nowsze wydania)
- A. S. Tanenbaum, H. Bos. Systemy operacyjne. Wydawnictwo Helion, 2015.
- W. Stallings. Systemy operacyjne. Architektura, funkcjonowanie i projektowanie. Wydanie IX. Wydawnictwo Helion, 2018.
- A. Silberschatz, P.B. Galvin, Gr. Gagne. Podstawy systemów operacyjnych. Tom 1-2. Wydawnictwo Naukowe PWN, Warszawa, 2021.
Literatura dodatkowa:
- M. J. Bach. Budowa systemu operacyjnego UNIX. Wydawnictwo Naukowo-Techniczne, Warszawa,1995.
- D. P. Bovet i M. Cesati. Linux Kernel. Wydawnictwo RM, Warszawa, 2001.
- A. M. Lister i R. D. Eager. Wprowadzenie do systemów operacyjnych. Wydawnictwo Naukowo-Techniczne, Warszawa, 1994.
- R. Love. Linux kernel. Przewodnik programisty. Wydawnictwo Helion, Gliwice, 2004.
- U. Vahalia. Jądro systemu UNIX, nowe horyzonty. Wydawnictwo Naukowo-Techniczne, Warszawa, 2001.
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: