Uniwersytet Mikołaja Kopernika w Toruniu - Centralny punkt logowaniaNie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

Systemy operacyjne

Informacje ogólne

Kod przedmiotu: 1000-Z1SOP Kod Erasmus / ISCED: (brak danych) / (0613) Tworzenie i analiza oprogramowania i aplikacji
Nazwa przedmiotu: Systemy operacyjne
Jednostka: Wydział Matematyki i Informatyki
Grupy: Inf., I st., niestacjonarne, 2 rok, przedmioty obowiązkowe
Punkty ECTS i inne: 7.00
zobacz reguły punktacji
Język prowadzenia: polski
Wymagania wstępne:

Znajomość podstawowej obsługi systemów operacyjnych rodziny Linux, Windows. Podstawowa wiedza dotycząca programowania w dowolnym współczesnym języku programowania.

Całkowity nakład pracy studenta:

15 godzin – wykład,

15 godzin – laboratorium,

50 godzin – przygotowanie do zajęć,

50 godzin – przygotowanie do egzaminu i zaliczeń,

35 godzin – studiowanie literatury,

35 godzin – przygotowywanie projektów/prezentacji,


RAZEM: 200 godzin

Efekty uczenia się - wiedza:

Po ukończeniu kursu student osiąga następujące efekty (kody odnoszą się do efektów dla studiów 1 stopnia na kierunku informatyka - studia licencjackie):

- definiuje podstawowe pojęcia zawiązane z systemami operacyjnymi, w tym m.in. architekturę systemu i funkcje jej składowych (K_W02)

- klasyfikuje systemy operacyjne (ze względu na ich budowę oraz przeznaczenie)

- wylicza algorytmy charakterystyczne dla systemów operacyjnych w tym algorytmy zarządzania procesami, pamięcią i we/wy (K_W08)

- zna podstawowe mechanizmy wirtualizacji systemów operacyjnych

Efekty uczenia się - umiejętności:

Po ukończeniu kursu student osiąga następujące efekty (kody odnoszą się do efektów dla studiów 1 stopnia na kierunku informatyka - studia licencjackie):


- analizuje własności poszczególnych składowych systemu operacyjnego (w tym zarządzanie procesami, pamięcią, we/wy) (KU_10, K_U11)

- wyznacza algorytmy do rozwiązywania klasycznych problemów synchronizacji (K_U10)

- stosuje algorytmy (w tym m. in. szeregowania, wymiany, bankiera) do rozwiązywania konkretnych problemów (K_U10)

- potrafi zainstalować i skonfigurować wybrany system operacyjny do pracy w środowisku sieciowym i wielozadaniowym (K_U09, K_U02)

- wykorzystuje metodę wirtualizacji do testowania różnych systemów operacyjnych (K_U12)

Efekty uczenia się - kompetencje społeczne:

Po ukończeniu kursu student osiąga następujące efekty (kody odnoszą się do efektów dla studiów 1 stopnia na kierunku informatyka - studia licencjackie):


- przekazuje innym swoją wiedzę w zrozumiały sposób

(K_K05)

- poprawnie posługuje się terminologią z zakresu omawianych algorytmów

- potrafi pozyskiwać informacje z literatury i Internetu,

- jest nastawiony na zdobywanie nowej wiedzy, umiejętności i doświadczeń

- rozumie potrzebę podnoszenia kompetencji zawodowych

- skutecznie przekazuje innym swoje myśli w zrozumiały sposób; właściwie posługuje się terminologią fachową

- potrafi nawiązać kontakt w obrębie swojej dziedziny

Metody dydaktyczne eksponujące:

- pokaz

Metody dydaktyczne podające:

- wykład informacyjny (konwencjonalny)

Metody dydaktyczne poszukujące:

- laboratoryjna
- projektu
- referatu

Skrócony opis:

Podstawowy kurs systemów operacyjnych. Szczególną uwagę poświęcono: algorytmom szeregowania zadań i we/wy na dysk, zastępowania stron i przydziału zasobów; zarządzania procesami i wątkami i ich synchronizowania; zarządzania pamięcią główną i wirtualną; zarządzania wejściem-wyjściem; generowania systemów Linux, Windows.

Laboratorium ma charakter zarazem praktyczny (funkcje i polecenia systemowe, generacja systemu, analiza właściwości systemów operacyjnych) jak i teoretyczny (algorytmy przydziału pamięci podręcznej, głównej i wirtualnej, diagramy Gantta, macierze alokacji zasobów, ciągi odniesień).

Pełny opis:

• Ewolucja oraz instalacja systemów operacyjnych:

System komputerowy. System operacyjny. Rozwój systemów operacyjnych. Przykłady systemów operacyjnych. Instalacja systemów operacyjnych: Linux, Windows.

• Struktura systemów operacyjnych:

Składowe i usługi systemów operacyjnych. Funkcje i programy systemowe. Architektury systemów. Mechanizmy wirtualizacji. Jądro systemu. Struktura kodu źródłowego. Moduły jądra. Generowanie systemu Linux. Start systemu Linux.

• Procesy:

Koncepcja procesu. Blok kontrolny procesu. Planowanie procesów. Działania na procesach. Synchronizowanie procesów. Sekcja krytyczna. Komunikacja międzyprocesowa. Komunikacja klient-serwer. Koncepcja wątku.

• Impas:

Problem impasu. Charakterystyka impasu. Metody postępowania z impasem. Zapobieganie impasom. Unikanie impasu. Algorytm bezpieczeństwa (bankiera). Algorytm wykrywania impasów. Likwidowanie impasów.

• Planowanie przydziału procesora:

Kryteria planowania. Algorytmy planowania: FCFS, HRRN, SJF, SRTF, RR. Planowanie wieloprocesorowe i w czasie rzeczywistym. Ocena algorytmów planowania.

• Zarządzanie pamięcią:

Logiczna i fizyczna przestrzeń adresowa. Wymiana. Przydział ciągły. Fragmentacja. Stronicowanie. Segmentacja. Segmentacja ze stronicowaniem.

• Pamięć wirtualna:

Stronicowanie na żądanie. Algorytmy zastępowania stron: FIFO, OPT, LRU CLOCK. Anomalia Belady'ego. Przydział ramek. Szamotanie. Przydział pamięci jądra.

• Systemy plików:

Organizacja plików. Metody dostępu. Struktura katalogowa. Prawa dostępu. Grupowanie rekordów. Alokacja plików. Zarządzanie plikami w systemach Unix i Windows. Sieciowe systemy plików: NFS, Samba.

• Systemy wejścia-wyjścia:

Sprzęt wejścia-wyjścia. Odpytywanie. Przerwania wejścia-wyjścia. Bezpośredni dostęp do pamięci (DMA). Użytkowy interfejs wejścia-wyjścia. Planowanie wejścia-wyjścia dla dysków. Algorytmy planowania dysków: LIFO, SSTF, SCAN, LOOK. Buforowanie. Podsystem wejścia-wyjścia w jądrze. Systemy wydruku i grafiki.

Dla ww. tematów, w szczególności dot. zarządzania pamięcią, procesami, pamięcią wirtualną, systemów plików, omawiane będą również odniesienia do współczesnych systemów operacyjnych.

Literatura:

Literatura podstawowa:

1. A. Silberschatz, P.B. Gavin, G. Gagne - Podstawy systemów operacyjnych, WNT, 2005, 2006 (tł. 6th ed.).

2. W. Stallings - Systemy operacyjne, Robomatic, 2004; PWN, 2006 (tł. 5th ed.).

3. W. Stallings - Operating Systems. Internals and Design Principles, 7th ed., Pearson, 2012.

4. A. Silberschatz et al. – Operating System Concepts, 8th ed., Wiley, 2010.

5. A. S. Tanenbaum – Systemy operacyjne, Helion, 2010.

Literatura uzupełniająca:

1. B. Goodheart, J. Cox, Sekrety magicznego ogrodu. UNIX® System V Wersja 4 od środka. WNT, Warszawa 2001.

2. A. S. Tanenbaum, H. Bos – Modern Operating Systems, Pearson, 2015.

3. D. E. Comer - Sieci komputerowe i intersieci, wyd. 5, Helion, Warszawa, 2012.

4. D. E. Comer - Sieci komputerowe TCP/IP t 1-2, WNT, Warszawa, 1998.

5. N. Matthew, R. Stones, Linux. Programowanie, RM, 1999.

6. U. Vahalia - Jądro systemu UNIX. Nowe horyzonty, WNT, 2001.

7. W. R. Stevens, UNIX programowanie usług sieciowych, WNT, 2001.

8. W. R. Stevens, Programowanie w środowisku systemu UNIX, WNT, 2002.

9. R. Lowe, Jądro Linuksa. Przewodnik programisty, Helion, 2014.

Metody i kryteria oceniania:

Wykład – egzamin pisemny

Laboratorium – zaliczenie na ocenę na podstawie kolokwium oraz przygotowanego referatu lub projektu.

Praktyki zawodowe:

nie dotyczy

Zajęcia w cyklu "Rok akademicki 2017/18" (zakończony)

Okres: 2017-10-01 - 2018-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 15 godzin, 20 miejsc więcej informacji
Wykład, 15 godzin, 150 miejsc więcej informacji
Koordynatorzy: Jerzy Szymański
Prowadzący grup: Jerzy Szymański
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.