Systemy operacyjne I I-NI7O>SO-I
1. Rola i zadania systemu operacyjnego oraz jego umiejscowienie w strukturze oprogramowania systemu komputerowego
2. Przegląd systemów: systemy wsadowe, wieloprogramowe, z podziałem czasu, wieloprocesorowe ściśle i luźno powiązane, systemy czasu rzeczywistego, kieszonkowe
3. Struktury systemów komputerowych: działanie, struktura WE/WY, synchronizacja procesora i urządzeń WE/WY poprzez sygnał przerwania, struktura DMA
4. Ochrona sprzętowa: dualny tryb pracy, ochrona wejścia-wyjścia, ochrona pamięci przez rejestr bazowy i graniczny, ochrona jednostki centralnej
5. Struktury systemów operacyjnych: składowe, usługi, wywołania, programy systemowe
6. Struktura prosta i warstwowa systemu, mikrojądro, maszyna wirtualna
7. Zarządzanie procesami: koncepcja, stan procesu, blok kontrolny procesu
8. Planowanie procesów: kolejki planowania, poziomy planowania, działania na procesach, procesy współpracujące, komunikacja międzyprocesowa
9. Wątki: modele, implementacja w systemach operacyjnych
10. Zarządzanie procesorem: cykl faz procesora i WE/WY, kryteria i algorytmy planowania (metoda FCFS, „najpierw najkrótsze zadanie”, priorytetowe, rotacyjne, kolejki wielopoziomowe, ze sprzężeniem zwrotnym
11. Planowanie wieloprocesorowe, planowanie w czasie rzeczywistym, ocena algorytmów
12. Synchronizowanie procesów: problem sekcji krytycznej, sprzętowe środki synchronizacji, semafory, klasyczne problemy synchronizacji: problem czytelników i pisarzy, problem pięciu filozofów, regiony krytyczne, monitory
13. Zakleszczenia: Model systemu, warunki konieczne, graf przydziału zasobów, charakterystyka zakleszczenia, metody postępowania i zapobiegania, unikanie, wykrywanie, likwidowanie zakleszczeń.
lab
1. Wprowadzenie do systemów operacyjnych z rodziny Unix.
2. Struktura plików i katalogów, drzewo katalogowe, foldery systemowe.
3. Praca z użyciem terminala. Podstawowe polecenia.
4. Zarządzanie obiektami, zmiana praw dostępu do plików i katalogów
5. Przekierowanie strumieni, przetwarzanie potokowe, filtry, wyrażenia regularne
6. Powłoka interpretera. Wprowadzenie
7. Programowanie powłoki. Edytor Vi
8. Programowanie powłoki, podstawowe rozkazy
9. Programowanie powłoki, pętle, instrukcje warunkowe
10. Konfigurowanie systemu z użyciem interfejsu graficznego
11. Narzędzia systemowe, przegląd
12. Instalacja systemu – narzędzia
13. Kolokwium
14. Zaliczenie przedmiotu
W cyklu 2021/2022-Z:
Celem przedmiotu jest przedstawienie roli i zadań systemu operacyjnego w funkcjonowaniu systemu komputerowego oraz omówienie zagadnień realizacji wybranych algorytmów i struktur danych i ich implementacji. Prezentowane są techniki zarządzania podstawowymi zasobami sprzętowymi komputera: procesorem, pamięcią operacyjną oraz wirtualną i urządzeniami wejścia-wyjścia oraz ich wpływ na efektywność funkcjonowania systemu jako całości. W kontekście zarządzania zasobami wprowadzana jest koncepcja procesu oraz wątku. Omawiana jest koncepcja pliku oraz realizacja systemu plików — warstwy logicznej i fizycznej — wraz z przykładami konkretnych implementacji (CP/M, FAT-12/16/32, ISO 9660, Unix, NTFS). Osobnym zagadnieniem, integralnie związanym z realizacją systemu operacyjnego, jest współbieżność i synchronizacja w sensie koordynacji przepływu sterowania. W kontekście podstawowych problemów synchronizacji, takich jak wzajemne wykluczanie oraz ograniczone buforowanie, omawiane są podejścia do synchronizacji procesów bazujące na współdzielonych zmiennych, podejścia wspierane przez system operacyjny - semafory, oraz podejścia wymagające wsparcia w konstrukcjach programowych języków wysokopoziomowych — monitory, regiony krytyczne i spotkania. Omawiany jest problem wynikający z dostępu współbieżnych procesów do zasobów- zakleszczenie oraz podejścia do rozwiązywania tego problemu. |
W cyklu 2022/2023-L:
Celem przedmiotu jest przedstawienie roli i zadań systemu operacyjnego w funkcjonowaniu systemu komputerowego oraz omówienie zagadnień realizacji wybranych algorytmów i struktur danych i ich implementacji. Prezentowane są techniki zarządzania podstawowymi zasobami sprzętowymi komputera: procesorem, pamięcią operacyjną oraz wirtualną i urządzeniami wejścia-wyjścia oraz ich wpływ na efektywność funkcjonowania systemu jako całości. W kontekście zarządzania zasobami wprowadzana jest koncepcja procesu oraz wątku. Omawiana jest koncepcja pliku oraz realizacja systemu plików — warstwy logicznej i fizycznej — wraz z przykładami konkretnych implementacji (CP/M, FAT-12/16/32, ISO 9660, Unix, NTFS). Osobnym zagadnieniem, integralnie związanym z realizacją systemu operacyjnego, jest współbieżność i synchronizacja w sensie koordynacji przepływu sterowania. W kontekście podstawowych problemów synchronizacji, takich jak wzajemne wykluczanie oraz ograniczone buforowanie, omawiane są podejścia do synchronizacji procesów bazujące na współdzielonych zmiennych, podejścia wspierane przez system operacyjny - semafory, oraz podejścia wymagające wsparcia w konstrukcjach programowych języków wysokopoziomowych — monitory, regiony krytyczne i spotkania. Omawiany jest problem wynikający z dostępu współbieżnych procesów do zasobów- zakleszczenie oraz podejścia do rozwiązywania tego problemu. |
W cyklu 2023/2024-L:
Celem przedmiotu jest przedstawienie roli i zadań systemu operacyjnego w funkcjonowaniu systemu komputerowego oraz omówienie zagadnień realizacji wybranych algorytmów i struktur danych i ich implementacji. Prezentowane są techniki zarządzania podstawowymi zasobami sprzętowymi komputera: procesorem, pamięcią operacyjną oraz wirtualną i urządzeniami wejścia-wyjścia oraz ich wpływ na efektywność funkcjonowania systemu jako całości. W kontekście zarządzania zasobami wprowadzana jest koncepcja procesu oraz wątku. Omawiana jest koncepcja pliku oraz realizacja systemu plików — warstwy logicznej i fizycznej — wraz z przykładami konkretnych implementacji (CP/M, FAT-12/16/32, ISO 9660, Unix, NTFS). Osobnym zagadnieniem, integralnie związanym z realizacją systemu operacyjnego, jest współbieżność i synchronizacja w sensie koordynacji przepływu sterowania. W kontekście podstawowych problemów synchronizacji, takich jak wzajemne wykluczanie oraz ograniczone buforowanie, omawiane są podejścia do synchronizacji procesów bazujące na współdzielonych zmiennych, podejścia wspierane przez system operacyjny - semafory, oraz podejścia wymagające wsparcia w konstrukcjach programowych języków wysokopoziomowych — monitory, regiony krytyczne i spotkania. Omawiany jest problem wynikający z dostępu współbieżnych procesów do zasobów- zakleszczenie oraz podejścia do rozwiązywania tego problemu. |
W cyklu 2024/2025-L:
Celem przedmiotu jest przedstawienie roli i zadań systemu operacyjnego w funkcjonowaniu systemu komputerowego oraz omówienie zagadnień realizacji wybranych algorytmów i struktur danych i ich implementacji. Prezentowane są techniki zarządzania podstawowymi zasobami sprzętowymi komputera: procesorem, pamięcią operacyjną oraz wirtualną i urządzeniami wejścia-wyjścia oraz ich wpływ na efektywność funkcjonowania systemu jako całości. W kontekście zarządzania zasobami wprowadzana jest koncepcja procesu oraz wątku. Omawiana jest koncepcja pliku oraz realizacja systemu plików — warstwy logicznej i fizycznej — wraz z przykładami konkretnych implementacji (CP/M, FAT-12/16/32, ISO 9660, Unix, NTFS). Osobnym zagadnieniem, integralnie związanym z realizacją systemu operacyjnego, jest współbieżność i synchronizacja w sensie koordynacji przepływu sterowania. W kontekście podstawowych problemów synchronizacji, takich jak wzajemne wykluczanie oraz ograniczone buforowanie, omawiane są podejścia do synchronizacji procesów bazujące na współdzielonych zmiennych, podejścia wspierane przez system operacyjny - semafory, oraz podejścia wymagające wsparcia w konstrukcjach programowych języków wysokopoziomowych — monitory, regiony krytyczne i spotkania. Omawiany jest problem wynikający z dostępu współbieżnych procesów do zasobów- zakleszczenie oraz podejścia do rozwiązywania tego problemu. |
Koordynatorzy przedmiotu
<b>Ocena końcowa</b>
<b>Wymagania wstępne</b>
<b>Literatura podstawowa</b>
- A. Silberschatz, J.L. Peterson, G. Gagne: Podstawy systemów operacyjnych, PWN, Warszawa, 2021.
- M. J. Bach: Budowa systemu operacyjnego Unix, WNT, Warszawa, 1995.
<b>Literatura uzupełniająca</b>
<b>Inne informacje</b>
Efekty kształcenia
Wiedza
Ma szczegółową wiedzę w zakresie architektury systemów komputerowych oraz systemu operacyjnego Linux.
Powiązane efekty kierunkowe:
IF1A_W06
Metody weryfikacji:
Kolokwium:Ma szczegółową wiedzę w zakresie architektury systemów komputerowych oraz systemu operacyjnego Linux.
Umiejętności
Potrafi pozyskiwać informacje z literatury, baz danych i innych źródeł zarówno w języku polskim i języku angielskim; potrafi integrować uzyskane informacje, dokonywać ich interpretacji, a także wyciągać wnioski oraz formułować i uzasadniać opinie.
Powiązane efekty kierunkowe:
IF1A_U01
Metody weryfikacji:
Zadania domowe:Potrafi pozyskiwać informacje z literatury, baz danych i innych źródeł zarówno w języku polskim i języku angielskim; potrafi integrować uzyskane informacje, dokonywać ich interpretacji, a także wyciągać wnioski oraz formułować i uzasadniać opinie. Kolokwium
Kompetencje społeczne
Rozumie potrzebę i zna możliwości ciągłego dokształcania się – podnoszenia kompetencji zawodowych, osobistych i społecznych.
Powiązane efekty kierunkowe:
IF1A_K01
Metody weryfikacji:
Ocena aktywności na zajęciach:Rozumie potrzebę i zna możliwości ciągłego dokształcania się – podnoszenia kompetencji zawodowych, osobistych i społecznych.
Kompetencje społeczne
Potrafi wyznaczyć cele strategiczne, operacyjne i priorytety dotyczące realizacji określonego przez siebie lub innych zadania.
Powiązane efekty kierunkowe:
IF1A_K04
Metody weryfikacji:
Ocena aktywności na zajęciach:Potrafi wyznaczyć cele strategiczne, operacyjne i priorytety dotyczące realizacji określonego przez siebie lub innych zadania
Kryteria oceniania
prowadzący ustala ocenę na podstawie kolokwium
Literatura
1. A. Silberschatz, J.L. Peterson, G. Gagne: Podstawy systemów operacyjnych, PWN, Warszawa, 2021.
2. M. J. Bach: Budowa systemu operacyjnego Unix, WNT, Warszawa, 1995
3. E. Nemeth, G. Snyder, T. R. Hein, B. Whaley, D. Mackin. Unix i Linux. Przewodnik administratora systemów. Wydanie V, Helion, 2018