Nazwa przedmiotu:
Systemy operacyjne (I)
Koordynator przedmiotu:
Tomasz Jordan KRUK
Status przedmiotu:
Fakultatywny ograniczonego wyboru
Poziom kształcenia:
Studia II stopnia
Program:
Informatyka
Grupa przedmiotów:
Przedmioty techniczne - podstawowe
Kod przedmiotu:
SOI
Semestr nominalny:
1 / rok ak. 2015/2016
Liczba punktów ECTS:
5
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- uczestnictwo w wykładach: 15 x 2 = 30 godzin - uczestnictwo w zajęciach laboratoryjnych: 15 x 2 = 30 godzin - przygotowanie do laboratoriów: 15 * 2 = 30 godzin - przygotowanie do kolokwium: 10 godzin - egzamin i przygotowanie do egzaminu: 15 godzin Razem: 30 + 30 + 30 + 10 + 15 = 115 godzin
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- uczestnictwo w wykładach: 15 x 2 = 30 godzin - uczestnictwo w zajęciach laboratoryjnych: 15 x 2 = 30 godzin Razem 30 + 30 = 60 godzin co daje ok. 2,5 ECTS
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- uczestnictwo w zajęciach laboratoryjnych: 15 x 2 = 30 godzin - przygotowanie do laboratoriów: 15 * 2 = 30 godzin Razem: 30 + 30 = 60 godzin co daje ok. 2,5 ECTS
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:
100
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:
Studenci na laboratorium realizują zadanie wprowadzające i 6 zadań punktowanych. Każde zadanie laboratoryjne oceniane jest niezależnie. Część zadań obejmuje wymóg zaliczenia wejściówki i zaprezentowania projektu koncepcji rozwiązania. W sumie z laboratorium można uzyskać 40 punktów. W trakcie semestru przeprowadzane jest kolokwium sprawdzające, a po semestrze egzamin. Z części wykładowej można uzyskać 60 punktów. W sumie można uzyskać 100 punktów.
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_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_W04
Powiązane efekty obszarowe: T2A_W02

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_U11, K_U13
Powiązane efekty obszarowe: T2A_U16, T2A_U18
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_U11, K_U13
Powiązane efekty obszarowe: T2A_U16, T2A_U18