Kod przedmiotu |
02 55 6165 00 |
Liczba uzyskiwanych punktów ECTS |
3 |
Nazwa przedmiotu w języku prowadzenia |
Systemy operacyjne II |
Nazwa przedmiotu w języku polskim |
Systemy operacyjne II |
Nazwa przedmiotu w języku angielskim |
Operating Systems II |
Język prowadzenia zajęć |
polski |
Formy zajęć |
|
Wykład |
Ćwiczenia |
Laboratorium |
Projekt |
Seminarium |
Inne |
Suma godzin w semestrze |
Godziny kontaktowe |
20 |
|
10 |
|
|
0 |
30 |
Czy e-learning |
Nie |
Nie |
Nie |
Nie |
Nie |
Nie |
|
Kryteria oceny (waga) |
0,50 |
|
0,50 |
|
|
0,00 |
|
|
Jednostka prowadząca |
Instytut Informatyki Stosowanej |
Kierownik przedmiotu |
dr inż. Tomasz Jaworski |
Realizatorzy przedmiotu |
mgr inż. Adrian Chojecki |
Wymagania wstępne |
Elementarna wiedza o architekturze komputera, biegła znajomość podstaw programowania w C (potwierdzone zaliczeniem przedmiotu Podstawy Programowania II), umiejętność obsługi podstawowych funkcjonalności systemu operacyjnego. |
Przedmiotowe efekty uczenia się |
- Student potrafi analizować i omawiać podstawowe mechanizmy systemu operacyjnego.
- Student potrafi analizować i omawiać podstawowe struktury danych systemu operacyjnego.
- Student potrafi budować programy wielowątkowe, wykorzystując interfejs API systemu operacyjnego.
- Student potrafi budować programy do przetwarzania oraz modyfikacji podstawowych struktur danych systemu operacyjnego.
|
Przypisane kierunkowe efekty uczenia się |
- W zaawansowanym stopniu zna i rozumie teoretyczne fundamenty informatyki oraz wybrane zagadnienia z różnych działów informatyki, zna i rozumie budowę i działanie sprzętu komputerowego oraz podstawowe procesy zachodzące w cyklu życia obiektów i systemów technicznych.
- Potrafi przeanalizować złożony problem i zaproponować jego rozwiązania, wykazując się kreatywnością w łączeniu wiedzy z zakresu informatyki i innych, specyficznych dla danego problemu, dyscyplin, tworząc specyfikację wymagań dla potrzeb implementacji.
- Potrafi zaprojektować, zaimplementować i ocenić system informatyczny spełniający narzucone wymagania, dokonując przy tym wyboru odpowiednich do tego celu technik i narzędzi informatycznych.
- Jest gotów do krytycznej oceny posiadanej wiedzy i odbieranych treści, w tym założeń, wywodów i danych przedstawianych na ich poparcie, do uznawania znaczenia wiedzy w rozwiązywaniu problemów oraz do zasięgania opinii ekspertów.
|
Treści programowe |
W ramach przedmiotu przedstawione zostaną niskopoziomowe mechanizmy oraz struktury danych systemu operacyjnego.
Omówiona zostanie struktura systemu operacyjnego, zarządzanie pamięcią komputera, problemy synchronizacji, komunikacja miedzyprocesowa oraz najpopularniejsze systemy plików.
W części praktycznej student potwierdzi praktycznie nabytą wiedzę, przygotowując aplikację wieloprocesową, własny mechanizm zarządzania pamiecią oraz interpreter/modyfikator wybranego systemu plików.
|
Metody weryfikacji przedmiotowych efektów uczenia się |
Efekty 1, 2: Kolokwium wykladowe.
Efekty 3, 4: Kolokwium laboratoryjne, automatycznie sprawdzane prace domowe.
|
Formy i warunki zaliczenia przedmiotu |
Wyklad: koncowe kolokwium zaliczajace w formie pisemnej (test).
Laboratorium: kolokwium praktycznie (pisanie krótkich programów) na ostatnim laboratorium oraz zadania do samodzielnego wykonania w systemie automatycznego sprawdzania programów.
|
Szczegółowe treści przedmiotu |
WYKŁAD
1. Struktura systemu operacyjnego: skladniki systemu, funkcje systemowe, programy systemowe, struktura systemu, wirtualizacja.
2. Procesy: planowanie procesu, dzialania na procesach, watki, procesy wspólpracujace, komunikacja miedzyprocesowa, sytuacje wyjatkowe. Planowanie przydzialu procesora: kryteria planowania, planowanie jedno-procesorowe (First-Come-First-Served, Shortest-Job-First, priorytetowe, rotacyjne), planowanie wielopoziomowe, kryteria wyboru.
3. Synchronizacja procesów: sekcja krytyczna, semafory, monitory, problem czytelników i pisarzy, problem filozofów, problem producent-konsument, zastosowanie instrukcji atomowych.
4. Zarzadzanie pamiecia: wymiana, stronicowanie, segmentacja, ochrona, alokatory, sterta, stos.
5. Komunikacja miedzyprocesowa: potoki, gniazda, pamiec wspóldzielona.
6. Systemy plików: pliki i katalogi, struktura katalogowa, implementacja plików, algorytmy przydzialu miejsca na dysku, zarzadzanie wolna przestrzenia, struktury danych FAT12/16/32, NTFS.
CWICZENIA LABORATORYJNE
1. Tworzenie programów zawierajacych watki.
2. Tworzenie procesów potomnych.
3. Wykorzystanie w programach wielowatkowych metod synchronizacji.
4. Wczytywania i analiza popularnych struktur organizacji nosników danych.
5. Praca ze strukturami danych systemów plików FAT/NTFS.
|
Literatura podstawowa |
- Silberschatz A., Peterson J., Galwin P.: Podstawy systemów operacyjnych, WNT, Warszawa, 2005.
- Metzger Piotr: Anatomia PC. Wydanie XI. Helion 2007.
- Jeffrey Richter: Programowanie Aplikacji dla Microsoft Windows.RM, Warszawa 2002.
- Beck M., Bohme H., Dziadzka M., Kunitz U., Magnus R., Verworner D.: Linux Kernel. Jadro systemu. Wydawnictwo Mikom, 1999.
- William Stallings: Systemy Operacyjne. ROBOMATIC, Wroclaw 2004.
|
Literatura uzupełniająca |
- Vahalia U.: Jadro systemu UNIX. Nowe horyzonty. WNT, Warszawa, 2001.
- Solomon Dawid A,. Russinovich Mark E.: Microsoft Windows 2000 od srodka. Helion, Gliwice, 2003.
- N. Wirth, Algorytmy + Struktury Danych = Programy, WNT Warszawa 2004.
|
Przeciętne obciążenie godzinowe studenta pracą własną |
8 |
Uwagi |
|
Data aktualizacja karty |
2020-10-15 19:15:05 |
Przedmiot archiwalny tak/nie |
nie |