- Nazwa przedmiotu:
- Systemy operacyjne (I)
- Koordynator przedmiotu:
- Tomasz Jordan KRUK
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Informatyka
- Grupa przedmiotów:
- Przedmioty techniczne
- Kod przedmiotu:
- SOI
- Semestr nominalny:
- 4 / rok ak. 2012/2013
- Liczba punktów ECTS:
- 5
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- 100
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- 4
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- 2
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium30h
- Projekt0h
- Lekcje komputerowe0h
- Wymagania wstępne:
- Umiejętność programowania w języku C.
- Limit liczby studentów:
- 111
- Cel przedmiotu:
- Zapoznanie studentów z ideą, budową i własnościami systemów operacyjnych. Praktyczne wprowadzenie do programowania systemowego.
- Treści kształcenia:
- Wykład:
Wprowadzenie. Podstawowe definicje: system operacyjny, proces zasób. Funkcje jądra systemu. Historia rozwoju systemów operacyjnych. Tryby przetwarzania. Koncepcje i struktury systemów operacyjnych.
Programowanie w języku interpretera poleceń. Komendy powłoki. Przekierowanie wejścia/wyjścia. Metaznaki i rozpoznawanie wzorców. Zmienne powłoki i zasady substytucji.
Zarządzanie procesami. Stany procesów. Procesy a wątki. Architektury SMP.
Wzajemne wykluczenie i synchronizacja. Wyścigi i sekcje krytyczne. Komunikacja i synchronizacja międzyprocesowa. Klasyczne algorytmy synchronizacyjne.
Zarządzanie pamięcią. Organizacja pamięci. Adresowanie. Pamięć dzielona. Pamięć wirtualna. Algorytmy rozmieszczenia oraz wymiany. Segmentacja i stronicowanie.
Zarządzanie urządzeniami zewnętrznymi. Metody oprogramowywania wejścia wyjścia. Rozwiązania RAID.
Zarządzanie plikami. Struktura i organizacja systemy plików. Katalogi i pliki specjalne. Metody ochrony i kontroli dostępu.
Wirtualizacja. Hipernadzorca. Parawirtualizacja. Maszyny wirtualne.
Przetwarzanie rozproszone i rozwiązania klastrowe. Komunikacja międzyprocesowa w środowisku rozproszonym. Typy rozwiązań klastrowych. Zarządzanie procesami w środowisku rozproszonym.
Wiedza nabyta na wykładzie jest sprawdzana podczas kolokwium w trakcie semestru (Kol.) oraz egzaminu (E.).
Laboratorium:
Studenci realizują indywidualnie zadania dotyczące każdego z poniższych zagadnień:
Lab0. Wprowadzenie do środowiska laboratoryjnego
Lab1. Kompilacja jądra i dodanie wywołania systemowego
Lab2. Modyfikacja algorytmu szeregowania procesów
Lab3. Synchronizacja z wykorzystaniem semaforów
Lab4. Synchronizacja z wykorzystaniem monitorów
Lab5. Modyfikacja algorytmów zarządzania pamięcią operacyjną
Lab6. Tworzenie własnego systemu plików
Zadanie wprowadzające Lab0 wymaga zaliczenia ale nie jest punktowane. Zadania podzielone są na zadania krótkie (Lab0., Lab1., Lab5.) oraz długie (Lab2., Lab3., Lab4., Lab6.). Implementacja zadań długich obligatoryjnie poprzedzana jest sprawdzianami kontrolującymi przygotowanie merytoryczne (odpowiednio: We2, We3, We4, We6) oraz weryfikacją zaproponowanego zarysu rozwiązania.
- Metody oceny:
- -
- Egzamin:
- tak
- Literatura:
- 1. Andrew S. Tanenbaum, Systemy operacyjne. Wydanie III. Wyd. Helion, 2010
2. William Stallings, Systemy operacyjne. Wydawnictwo Naukowe PWN, 2006
- Witryna www przedmiotu:
- http://www.ia.pw.edu.pl/~tkruk/edu/soi.b/
- Uwagi:
- -
Efekty uczenia się
Profil ogólnoakademicki - wiedza
- Efekt WPO_01
- Student, który zaliczył przedmiot posiada wiedzę odnośnie budowy i własności systemów operacyjnych.
Weryfikacja: ocena wyników Kol i E
Powiązane efekty kierunkowe:
K_W10
Powiązane efekty obszarowe:
T1A_W03, T1A_W04, T1A_W05
- Efekt WPO_02
- Student, który zaliczył przedmiot posiada wiedzę odnośnie metod komunikacji i synchronizacji międzyprocesowej.
Weryfikacja: ocena wyników Kol i E
Powiązane efekty kierunkowe:
K_W10, K_W19
Powiązane efekty obszarowe:
T1A_W03, T1A_W04, T1A_W05, T1A_W07
Profil ogólnoakademicki - umiejętności
- Efekt UPO_01
- Student, który zaliczył przedmiot jest w stanie kompilować, modyfikować i rozszerzać system operacyjny.
Weryfikacja: ocena wyników We2, We6 i Lab1., Lab2., Lab5. i Lab6.
Powiązane efekty kierunkowe:
K_U13, K_U15
Powiązane efekty obszarowe:
T1A_U16, T1A_U09, T1A_U15, T1A_U16
- Efekt UPO_02
- Student, który zaliczył przedmiot jest w stanie prawidłowo wykorzystywać mechanizmy do synchronizacji i komunikacji międzyprocesowej.
Weryfikacja: ocena wyników We3, We4 i Lab3., Lab4.
Powiązane efekty kierunkowe:
K_U15
Powiązane efekty obszarowe:
T1A_U09, T1A_U15, T1A_U16