Podstawy systemów operacyjnych
Informacje ogólne
Kod przedmiotu: | 1000-ZiPSOP |
Kod Erasmus / ISCED: |
(brak danych)
/
(0613) Tworzenie i analiza oprogramowania i aplikacji
|
Nazwa przedmiotu: | Podstawy systemów operacyjnych |
Jednostka: | Wydział Matematyki i Informatyki |
Grupy: |
Przedmioty z polskim językiem wykładowym |
Punkty ECTS i inne: |
7.00
|
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: | 20 godzin – wykład, 20 godzin – laboratorium, 50 godzin – przygotowanie do zajęć, 50 godzin – przygotowanie do egzaminu i zaliczeń, 20 godzin – studiowanie literatury, 15 godzin – przygotowywanie projektów/prezentacji, RAZEM: 175 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 inżynierskie): - 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 inżynierskie): - 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 inżynierskie): - 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 |
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. |
Zajęcia w cyklu "Semestr letni 2022/23" (w trakcie)
Okres: | 2023-02-20 - 2023-09-30 |
![]() |
Typ zajęć: |
Laboratorium, 20 godzin, 16 miejsc
Wykład, 20 godzin, 100 miejsc
|
|
Koordynatorzy: | Jerzy Szymański | |
Prowadzący grup: | Grzegorz Marczak, Jerzy Szymański | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Egzamin
Laboratorium - Zaliczenie na ocenę Wykład - Egzamin |
Zajęcia w cyklu "Semestr letni 2023/24" (jeszcze nie rozpoczęty)
Okres: | 2024-02-20 - 2024-09-30 |
![]() |
Typ zajęć: |
Laboratorium, 20 godzin, 16 miejsc
Wykład, 20 godzin, 100 miejsc
|
|
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 |
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.