Wydział Informatyki - Informatyka (S1)
specjalność: Inżynieria oprogramowania
Sylabus przedmiotu Systemy operacyjne:
Informacje podstawowe
Kierunek studiów | Informatyka | ||
---|---|---|---|
Forma studiów | studia stacjonarne | Poziom | pierwszego stopnia |
Tytuł zawodowy absolwenta | inżynier | ||
Obszary studiów | charakterystyki PRK, kompetencje inżynierskie PRK | ||
Profil | ogólnoakademicki | ||
Moduł | — | ||
Przedmiot | Systemy operacyjne | ||
Specjalność | przedmiot wspólny | ||
Jednostka prowadząca | Katedra Inżynierii Oprogramowania | ||
Nauczyciel odpowiedzialny | Sławomir Wernikowski <Slawomir.Wernikowski@zut.edu.pl> | ||
Inni nauczyciele | Witold Maćków <Witold.Mackow@zut.edu.pl> | ||
ECTS (planowane) | 6,0 | ECTS (formy) | 6,0 |
Forma zaliczenia | zaliczenie | Język | polski |
Blok obieralny | — | Grupa obieralna | — |
Formy dydaktyczne
Wymagania wstępne
KOD | Wymaganie wstępne |
---|---|
W-1 | Architektura systemów komputerowych |
W-2 | Programowanie 1 |
Cele przedmiotu
KOD | Cel modułu/przedmiotu |
---|---|
C-1 | Zapoznanie słuchaczy z rolą i znaczeniem systemu operacyjnego w strukturze systemu komputerowego. |
C-2 | Zapoznanie słuchaczy z mechanizmami stosowanymi przez systemy operacyjne w celu realizacji swoich funkcji. |
C-3 | Wykształcenie umiejętności wszechstronnego korzystania ze środków udostępnianych przez systemy operacyjne oraz podstaw programowania z użyciem usług systemowych. |
Treści programowe z podziałem na formy zajęć
KOD | Treść programowa | Godziny |
---|---|---|
laboratoria | ||
T-L-1 | Podstawy pracy w konsoli systemu Linux | 2 |
T-L-2 | Podstawowe narzędzia manipulacji plikami w systemie Linux | 2 |
T-L-3 | Prawa plików w systemie Linux i manipulowanie nimi | 2 |
T-L-4 | Filtry i potoki w systemie Linux | 2 |
T-L-5 | Wyrażenia regularne i ich zastosowanie w narzędziach systemu Linux | 2 |
T-L-6 | Zarządzanie procesami w systemie Linux | 2 |
T-L-7 | Programowanie skryptów w systemie Linux | 4 |
T-L-8 | Instalacja, konfiguracja i podstawy zarządzania systemem Linux | 2 |
T-L-9 | Podstawy korzystania z konsoli PowerShell | 2 |
T-L-10 | Programowanie skryptów w konsoli PowerShell | 4 |
T-L-11 | Podstawy programowania systemowego w systemie Linux - usługi plikowe. | 2 |
T-L-12 | Procesy w systemie Linux - zadanie programistyczne. | 2 |
T-L-13 | Procesy w systemie Windows - zadanie programistyczne. | 2 |
30 | ||
wykłady | ||
T-W-1 | Tło historyczne pojawienia się i rozwoju systemów operacyjnych. Charakterystyka zadań i przeznaczenia systemów operacyjnych w kolejnych dekadach rozwoju technologii komputerowej. Kamienie milowe rozwoju systemów operacyjnych. | 2 |
T-W-2 | Wprowadzenie do systemów operacyjnych: podstawowe pojęcia, zadania i ogólna struktura systemu operacyjnego. Architektura von Neumanna, podsystem przerwań, rodzaje przerwań i sposoby implementacji w różnych architekturach, podstawowe podsystemu sprzętu komputerowego z punktu widzenia zarządzania przez system operacyjny. Klasyfikacja systemów operacyjnych i ich charakterystyka wraz z przykładami. | 4 |
T-W-3 | Procesy w systemie operacyjnym. Pojęcie procesu. Tworzenie i kończenie procesów. Atrybuty procesów. Cykl życia procesu. Synchronizacja procesów. Sekcja krytyczna. Sprzętowe środki synchronizacyjne. Programowe środki synchronizacyjne. Algorytm Dekkera. Semafory Dijkstry, Monitory Hoare'a. Klasyczne problemy synchronizacji. Zarządzanie procesami w systemie Linux. Zarządzanie procesami w systemach Windows. API systemów Linux i Windows dotyczące usług tworzenia, kończenia i synchronizowania procesów. | 4 |
T-W-4 | Program wykonywalny jako źródło tekstu procesu w systemie operacyjnym. Kompilacja, łączenie, ładowanie, wiązanie, uruchomienie. Formaty plików wykonywalnych i plików bibliotek łączonych dynamicznie w systemach Linux i Windows. | 2 |
T-W-5 | Wątki w systemach operacyjnych. Koncepcja wątku. Modele wielowątkowości. Włókna. Techniki realizacji wielowątkowości. Wątki na poziomie semantyki języków programowania (Java, C++). Wątki trybu użytkownika (Pthreads). Wątki w systemach Windows. | 4 |
T-W-6 | Wirtualizacja. Pojęcie, historia, przeznaczenie, zastosowania. Wirtualizacja na poziomie języków programowania - bytecode i środowiska wykonawcze (Java, platforma .NET). Modele wirtualizacji. Wirtualizacja sprzętu, usług i zasobów. Wirtualne i rozproszone systemy plików. Wirtualizacja usług sieciowych. Cloud Computing. Podejścia "Infrastructure as a Service", "Platform as a service", "Software as a service", "Mobile "backend" as a service". Sprzętowe środki wspierania wirtualizacji. | 4 |
T-W-7 | Pamięć operacyjna i zarządzanie pamięcią w systemie operacyjnym. Hierarchia organizacji pamięci we współczesnych systemach komputerowych Klasyczne algorytmy zarządzania pamięcią. Algorytmy przydziału pamięci. Stronicowanie - motywacja, realizacja, przykłady implementacji. Wiązanie adresów. Segmentacja - motywacja, realizacja, przykłady implementacji. UMA i NUMA. Pamięć wirtualna - motywacja, historia, realizacja. Stronicowanie na żądanie. Segmentacja na żądanie. Algorytmy wymiany stron. Migotanie stron. Szczegóły realizacji pamięci wirtualnej w systemach Linux i Windows. | 4 |
T-W-8 | Systemy operacyjne czasu rzeczywistego. Cechy charakterystyczne, wymagania, implementacja, przykłady. | 2 |
T-W-9 | Systemy operacyjne urządzeń mobilnych. Charakterystyka, wymagania, historia, implementacja, przykłady. | 2 |
T-W-10 | System plików i podsystem wejścia/wyjścia. Rola i zadania systemu plików. Rodzaje systemów plików, wady, zalety, implementacja, rozpowszechnienie. Przykłady. | 2 |
30 |
Obciążenie pracą studenta - formy aktywności
KOD | Forma aktywności | Godziny |
---|---|---|
laboratoria | ||
A-L-1 | Uczestnictwo w zajęciach | 30 |
A-L-2 | Przygotowanie się do zajęć oraz rozwiązywanie zadań off-site | 35 |
A-L-3 | Udział w konsultacjach | 9 |
74 | ||
wykłady | ||
A-W-1 | Uczestnictwo w wykładach | 30 |
A-W-2 | Samodzielne studiowanie treści omawianych na wykładach | 25 |
A-W-3 | Przygotowanie do zaliczenia | 10 |
A-W-4 | Udział w konsultacjach | 7 |
A-W-5 | Udział w zaliczeniu | 2 |
74 |
Metody nauczania / narzędzia dydaktyczne
KOD | Metoda nauczania / narzędzie dydaktyczne |
---|---|
M-1 | Wykład informacyjno-konwersatoryjny |
M-2 | Ćwiczenia laboratoryjne |
Sposoby oceny
KOD | Sposób oceny |
---|---|
S-1 | Ocena formująca: Ocena na podstawie sprawdzianu wejściowego oraz stopnia wykonania scenariuszy konspektów laboratoryjnych i/lub sprawozdania z zajęć |
S-2 | Ocena podsumowująca: Test zaliczający (jednokrotnego lub wielokrotnego wyboru) oraz pytania otwarte (zadania problemowe) |
Zamierzone efekty uczenia się - wiedza
Zamierzone efekty uczenia się | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
I_1A_C07_W01 Student rozumie rolę i zadania systemu operacyjnego komputera | I_1A_W06 | — | — | C-1 | T-W-1, T-W-2, T-W-4, T-W-5, T-W-3 | M-1, M-2 | S-1 |
I_1A_C07_W02 Student potrafi wyjaśnić oraz zidentyfikować praktyczne problemy związane funkcjonowaniem i użytkowaniem systemu operacyjnego | I_1A_W10 | — | — | C-1, C-2 | T-W-6, T-W-7, T-W-8, T-W-9, T-W-10 | M-1 | S-2 |
Zamierzone efekty uczenia się - umiejętności
Zamierzone efekty uczenia się | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
I_1A_C07_U01 Student potrafi korzystać konsoli oraz z języków skryptowych charakterystycznych dla platform systemów Unix/Linux i Windows | I_1A_U09 | — | — | C-3 | T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-7, T-L-8, T-L-9, T-L-10 | M-2 | S-1 |
I_1A_C07_U02 Student potrafi korzystać z funkcji systemowych systemu operacyjnego Unix/Linux oraz Windows na poziomie programów pisanych w języku C/C++ | I_1A_U08 | — | — | C-3 | T-L-11, T-L-12, T-L-13 | M-2 | S-1 |
Zamierzone efekty uczenia się - inne kompetencje społeczne i personalne
Zamierzone efekty uczenia się | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
I_1A_C07_K01 Student jest kreatywny i przygotowany do wykorzystywania różnorodnych źródeł wiedzy | I_1A_K01 | — | — | C-3 | T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-7, T-L-8, T-L-9, T-L-10, T-L-11, T-L-12, T-L-13 | M-2 | S-1 |
Kryterium oceny - wiedza
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
I_1A_C07_W01 Student rozumie rolę i zadania systemu operacyjnego komputera | 2,0 | |
3,0 | potrafi wymienić i zdefiniować wybrane podstawowe role i zadania systemu operacyjnego | |
3,5 | potrafi wymienić i zdefiniować dowolne podstawowe role i zadania systemu operacyjnego | |
4,0 | potrafi precyzyjnie opisać wybrane role i zadania systemu operacyjnego | |
4,5 | potrafi precyzyjnie opisać dowolne role i zadania systemu operacyjnego | |
5,0 | potrafi objaśnić wpływ architektury systemu komputerowego na role i zadania systemu operacyjnego | |
I_1A_C07_W02 Student potrafi wyjaśnić oraz zidentyfikować praktyczne problemy związane funkcjonowaniem i użytkowaniem systemu operacyjnego | 2,0 | |
3,0 | potrafi wymienić wybrane podstawowe elementy składowe systemu operacyjnego mające wpływ na jego funkcjonowanie i użytkowanie | |
3,5 | potrafi wymienić dowolne podstawowe elementy składowe systemu operacyjnego mające wpływ na jego funkcjonowanie i użytkowanie | |
4,0 | potrafi precyzyjnie opisać wybrane podstawowe elementy składowe systemu operacyjnego mające wpływ na jego funkcjonowanie i użytkowanie | |
4,5 | potrafi precyzyjnie opisać dowolne podstawowe elementy składowe systemu operacyjnego mające wpływ na jego funkcjonowanie i użytkowanie | |
5,0 | potrafi objaśnić wpływ architektury systemu komputerowego na funkcjonowanie i użytkowanie systemu operacyjnego |
Kryterium oceny - umiejętności
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
I_1A_C07_U01 Student potrafi korzystać konsoli oraz z języków skryptowych charakterystycznych dla platform systemów Unix/Linux i Windows | 2,0 | |
3,0 | potrafi użytkować systemy operacyjne Linux i Windows na poziomie interfejsu tekstowego w zakresie podstawowych poleceń użytkownika | |
3,5 | potrafi użytkować systemy operacyjne Linux i Windows na poziomie interfejsu tekstowego w zakresie podstawowych poleceń użytkownika i administratora | |
4,0 | potrafi użytkować systemy operacyjne Linux i Windows na poziomie interfejsu tekstowego w zakresie zaawansowanych poleceń użytkownika i administratora | |
4,5 | jak 4.0 oraz potrafi pisać proste skrypty przy użyciu języków dostępnych w systemach Linux i Windows | |
5,0 | jak 4.0 oraz biegle zna języki skryptowe dostępne w systemach operacyjnych Linux i Windows | |
I_1A_C07_U02 Student potrafi korzystać z funkcji systemowych systemu operacyjnego Unix/Linux oraz Windows na poziomie programów pisanych w języku C/C++ | 2,0 | |
3,0 | Słuchacz potrafi w stopniu podstawowym użyć kompilator oraz debuger w celu uruchomienia podstawowych usług systemu operacyjnego oraz potrafi w stopniu podstawowym posługiwać się dostępną w systemie dokumentacją dotyczącą funkcji systemowych | |
3,5 | potrafi efektywnie użyć wybrane podstawowe mechanizmy systemowe | |
4,0 | potrafi efektywnie użyć dowolne podstawowe mechanizmy systemowe | |
4,5 | potrafi efektywnie użyć wybrane zaawansowane mechanizmy systemowe | |
5,0 | potrafi efektywnie użyć dowolne zaawansowane mechanizmy systemowe |
Kryterium oceny - inne kompetencje społeczne i personalne
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
I_1A_C07_K01 Student jest kreatywny i przygotowany do wykorzystywania różnorodnych źródeł wiedzy | 2,0 | |
3,0 | dostateczna umiejętność samodzielnego szukania i wykorzystania informacji, wymaga bardzo częstej pomocy nauczyciela | |
3,5 | ponad dostateczna umiejętność samodzielnego szukania i wykorzystania informacji, wymaga częstej pomocy nauczyciela | |
4,0 | dobra umiejętność samodzielnego szukania i wykorzystania informacji, wymaga rzadkiej pomocy nauczyciela | |
4,5 | ponad dobra umiejętność samodzielnego szukania i wykorzystania informacji, wymaga bardzo rzadkiej pomocy nauczyciela | |
5,0 | wyróżniająca umiejętność samodzielnego szukania i wykorzystania informacji, potrafi bez pomocy nauczyciela wykonać wszystkie ćwiczenia laboratoryjne zgodnie z otrzymanymi konspektami |
Literatura podstawowa
- A.Silberschatz, I.Peterson, P.Galvin, Podstawy systemów operacyjnych, Helion, Gliwice
- W. Stallings, Systemy operacyjne - struktura i zasady budowy
Literatura dodatkowa
- A.S.Tanenbaum, Operating System: Design and Implementation
- E. Siever, Linux - podręcznik użytkownika
- E. Wilson, Windows PowerShell