Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

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 i Cyberbezpieczeństwa
Nauczyciel odpowiedzialny Sławomir Wernikowski <Slawomir.Wernikowski@zut.edu.pl>
Inni nauczyciele Witold Maćków <Witold.Mackow@zut.edu.pl>
ECTS (planowane) 5,0 ECTS (formy) 5,0
Forma zaliczenia egzamin Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW3 30 3,00,50egzamin
laboratoriaL3 30 2,00,50zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Podstawowa wiedza z podstaw informatyki
W-2Programowanie 1

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Zapoznanie słuchaczy z rolą i znaczeniem systemu operacyjnego w strukturze systemu komputerowego.
C-2Zapoznanie słuchaczy z mechanizmami stosowanymi przez systemy operacyjne w celu realizacji swoich funkcji.
C-3Wykształ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ęć

KODTreść programowaGodziny
laboratoria
T-L-1Instalacja, konfiguracja i podstawy zarządzania systemem Linux2
T-L-2Podstawy pracy w konsoli Linux, manipulowanie plikami i katalogami2
T-L-3Prawa plików i zaawansowane narzędzia plikowe w systemie Linux2
T-L-4Filtry i potoki w systemie Linux2
T-L-5Wyszukiwanie informacji w systemie Linux2
T-L-6Zarządzanie procesami w systemie Linux2
T-L-7Programowanie skryptów w systemie Linux2
T-L-8Programowanie skryptów w systemie Linux – zadanie programistyczne2
T-L-9Procesy w systemie Linux – zadanie programistyczne2
T-L-10Procesy w systemie Windows – zadanie programistyczne2
T-L-11Wątki w systemie Linux – zadanie programistyczne2
T-L-12Wątki w systemie Windows – zadanie programistyczne2
T-L-13Pamięć współdzielona w systemie Linux – zadanie programistyczne2
T-L-14Pamięć współdzielona w systemie Windows – zadanie programistyczne2
T-L-15Podstawowe usługi plikowe – zadanie programistyczne2
30
wykłady
T-W-1Tł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-2Wprowadzenie do systemów operacyjnych: podstawowe pojęcia, zadania i ogólna struktura systemu operacyjnego, podstawowe podsystemy systemu komputerowego z punktu systemu operacyjnego, klasyfikacja systemów operacyjnych i ich charakterystyka wraz z przykładami.2
T-W-3Architektura von Neumanna, podsystem przerwań, rodzaje przerwań i sposoby implementacji w różnych architekturach2
T-W-4Ochrona i bezpieczeństwo w systemach operacyjnych, pierścienie i tryby pracy, odwołania do systemu, API i ABI systemu operacyjnego, wirtualizacja.2
T-W-5Procesy w systemie operacyjnym, pojęcie procesu, tworzenie i kończenie procesów. atrybuty procesów, cykl życia procesu, planowanie, zarządzanie procesami w API systemów Linux i Windows, IPC w systemach operacyjnych6
T-W-6Wątki w systemach operacyjnych, koncepcja wątku, modele wielowątkowości, techniki realizacji wielowątkowości, wątki trybu użytkownika (Pthreads), wątki w systemach Windows2
T-W-7Synchronizacja procesów, sekcja krytyczna, sprzętowe środki synchronizacyjne, programowe środki synchronizacyjne: algorytm Dekkera, semafory Dijkstry, monitory Hoare'a, muteksy, klasyczne problemy synchronizacji.4
T-W-8Pamięć operacyjna, zarządzanie pamięcią operacyjną, przydział ciągły, stronicowanie, tablica stron, wymiana, wiązania, pamięć współdzielona w systemach Linux i Windows4
T-W-9Pamięć wirtualna, stronicowanie na żądanie, algorytmy wymiany stron, szamotanie, kompresja pamięci2
T-W-10System plików i podsystem wejścia/wyjścia. Rola i zadania systemu plików. Rodzaje systemów plików.2
T-W-11Zaliczenie2
30

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1Uczestnictwo w zajęciach30
A-L-2Praca własna20
50
wykłady
A-W-1Uczestnictwo w wykładach30
A-W-2Praca własna41
A-W-3Egzamin2
A-W-4Udział w konsultacjach2
75

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykład informacyjno-konwersatoryjny
M-2Ćwiczenia laboratoryjne

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Ocena na podstawie sprawdzianu wejściowego oraz stopnia wykonania scenariuszy konspektów laboratoryjnych i/lub sprawozdania z zajęć
S-2Ocena 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ówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
Itest_1A_C09_W01
Student rozumie rolę i zadania systemu operacyjnego komputera oraz potrafi wyjaśnić i zidentyfikować praktyczne problemy związane funkcjonowaniem i użytkowaniem systemu operacyjnego.
I_1A_W02, I_1A_W05C-1T-W-1, T-W-2, T-W-4, T-W-5, T-W-3M-1, M-2S-1

Zamierzone efekty uczenia się - umiejętności

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
Itest_1A_C09_U01
Student potrafi korzystać konsoli i języka skryptowego systemów Unix/Linux oraz funkcji systemowych systemu operacyjnego Unix/Linux i Windows na poziomie programów pisanych w języku C/C++
I_1A_U06, I_1A_U05C-3T-L-4, T-L-6, T-L-2, T-L-3, T-L-5, T-L-8, T-L-9, T-L-7, T-L-10, T-L-1M-2S-1

Zamierzone efekty uczenia się - inne kompetencje społeczne i personalne

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
Itest_1A_C09_K01
Student jest kreatywny i przygotowany do wykorzystywania różnorodnych źródeł wiedzy
I_1A_K01C-3T-L-4, T-L-6, T-L-2, T-L-3, T-L-5, T-L-8, T-L-9, T-L-12, T-L-13, T-L-7, T-L-10, T-L-1, T-L-11M-2S-1

Kryterium oceny - wiedza

Efekt uczenia sięOcenaKryterium oceny
Itest_1A_C09_W01
Student rozumie rolę i zadania systemu operacyjnego komputera oraz potrafi wyjaśnić i zidentyfikować praktyczne problemy związane funkcjonowaniem i użytkowaniem systemu operacyjnego.
2,0
3,0potrafi wymienić i zdefiniować wybrane podstawowe role i zadania systemu operacyjnego
3,5potrafi wymienić i zdefiniować dowolne podstawowe role i zadania systemu operacyjnego
4,0potrafi precyzyjnie opisać wybrane role i zadania systemu operacyjnego
4,5potrafi precyzyjnie opisać dowolne role i zadania systemu operacyjnego
5,0potrafi objaśnić wpływ architektury systemu komputerowego na role i zadania systemu operacyjnego

Kryterium oceny - umiejętności

Efekt uczenia sięOcenaKryterium oceny
Itest_1A_C09_U01
Student potrafi korzystać konsoli i języka skryptowego systemów Unix/Linux oraz funkcji systemowych systemu operacyjnego Unix/Linux i Windows na poziomie programów pisanych w języku C/C++
2,0
3,0potrafi użytkować systemy operacyjne Linux i Windows na poziomie interfejsu tekstowego w zakresie podstawowych poleceń użytkownika
3,5potrafi użytkować systemy operacyjne Linux i Windows na poziomie interfejsu tekstowego w zakresie podstawowych poleceń użytkownika i administratora
4,0potrafi użytkować systemy operacyjne Linux i Windows na poziomie interfejsu tekstowego w zakresie zaawansowanych poleceń użytkownika i administratora
4,5jak 4.0 oraz potrafi pisać proste skrypty przy użyciu języków dostępnych w systemach Linux i Windows
5,0jak 4.0 oraz biegle zna języki skryptowe dostępne w systemach operacyjnych Linux i Windows

Kryterium oceny - inne kompetencje społeczne i personalne

Efekt uczenia sięOcenaKryterium oceny
Itest_1A_C09_K01
Student jest kreatywny i przygotowany do wykorzystywania różnorodnych źródeł wiedzy
2,0
3,0dostateczna umiejętność samodzielnego szukania i wykorzystania informacji, wymaga bardzo częstej pomocy nauczyciela
3,5ponad dostateczna umiejętność samodzielnego szukania i wykorzystania informacji, wymaga częstej pomocy nauczyciela
4,0dobra umiejętność samodzielnego szukania i wykorzystania informacji, wymaga rzadkiej pomocy nauczyciela
4,5ponad dobra umiejętność samodzielnego szukania i wykorzystania informacji, wymaga bardzo rzadkiej pomocy nauczyciela
5,0wyróżniająca umiejętność samodzielnego szukania i wykorzystania informacji, potrafi bez pomocy nauczyciela wykonać wszystkie ćwiczenia laboratoryjne zgodnie z otrzymanymi konspektami

Literatura podstawowa

  1. A.Silberschatz, I.Peterson, P.Galvin, Podstawy systemów operacyjnych, Helion, Gliwice
  2. W. Stallings, Systemy operacyjne - struktura i zasady budowy

Literatura dodatkowa

  1. A.S.Tanenbaum, Operating System: Design and Implementation
  2. E. Siever, Linux - podręcznik użytkownika

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Instalacja, konfiguracja i podstawy zarządzania systemem Linux2
T-L-2Podstawy pracy w konsoli Linux, manipulowanie plikami i katalogami2
T-L-3Prawa plików i zaawansowane narzędzia plikowe w systemie Linux2
T-L-4Filtry i potoki w systemie Linux2
T-L-5Wyszukiwanie informacji w systemie Linux2
T-L-6Zarządzanie procesami w systemie Linux2
T-L-7Programowanie skryptów w systemie Linux2
T-L-8Programowanie skryptów w systemie Linux – zadanie programistyczne2
T-L-9Procesy w systemie Linux – zadanie programistyczne2
T-L-10Procesy w systemie Windows – zadanie programistyczne2
T-L-11Wątki w systemie Linux – zadanie programistyczne2
T-L-12Wątki w systemie Windows – zadanie programistyczne2
T-L-13Pamięć współdzielona w systemie Linux – zadanie programistyczne2
T-L-14Pamięć współdzielona w systemie Windows – zadanie programistyczne2
T-L-15Podstawowe usługi plikowe – zadanie programistyczne2
30

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Tł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-2Wprowadzenie do systemów operacyjnych: podstawowe pojęcia, zadania i ogólna struktura systemu operacyjnego, podstawowe podsystemy systemu komputerowego z punktu systemu operacyjnego, klasyfikacja systemów operacyjnych i ich charakterystyka wraz z przykładami.2
T-W-3Architektura von Neumanna, podsystem przerwań, rodzaje przerwań i sposoby implementacji w różnych architekturach2
T-W-4Ochrona i bezpieczeństwo w systemach operacyjnych, pierścienie i tryby pracy, odwołania do systemu, API i ABI systemu operacyjnego, wirtualizacja.2
T-W-5Procesy w systemie operacyjnym, pojęcie procesu, tworzenie i kończenie procesów. atrybuty procesów, cykl życia procesu, planowanie, zarządzanie procesami w API systemów Linux i Windows, IPC w systemach operacyjnych6
T-W-6Wątki w systemach operacyjnych, koncepcja wątku, modele wielowątkowości, techniki realizacji wielowątkowości, wątki trybu użytkownika (Pthreads), wątki w systemach Windows2
T-W-7Synchronizacja procesów, sekcja krytyczna, sprzętowe środki synchronizacyjne, programowe środki synchronizacyjne: algorytm Dekkera, semafory Dijkstry, monitory Hoare'a, muteksy, klasyczne problemy synchronizacji.4
T-W-8Pamięć operacyjna, zarządzanie pamięcią operacyjną, przydział ciągły, stronicowanie, tablica stron, wymiana, wiązania, pamięć współdzielona w systemach Linux i Windows4
T-W-9Pamięć wirtualna, stronicowanie na żądanie, algorytmy wymiany stron, szamotanie, kompresja pamięci2
T-W-10System plików i podsystem wejścia/wyjścia. Rola i zadania systemu plików. Rodzaje systemów plików.2
T-W-11Zaliczenie2
30

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Uczestnictwo w zajęciach30
A-L-2Praca własna20
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Uczestnictwo w wykładach30
A-W-2Praca własna41
A-W-3Egzamin2
A-W-4Udział w konsultacjach2
75
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięItest_1A_C09_W01Student rozumie rolę i zadania systemu operacyjnego komputera oraz potrafi wyjaśnić i zidentyfikować praktyczne problemy związane funkcjonowaniem i użytkowaniem systemu operacyjnego.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W02Ma zaawansowaną i uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu fundamentalnych obszarów informatyki.
I_1A_W05Ma wiedzę o nowoczesnych metodach projektowania, analizowania, wytwarzania, testowania oprogramowania oraz rozwiązywania wybranych zadań inżynierskich obejmujących w szczególności narzędzia wspomagające wytwarzanie oprogramowania na różnych etapach powstawania, eksploatacji i rozwoju systemów informatycznych.
Cel przedmiotuC-1Zapoznanie słuchaczy z rolą i znaczeniem systemu operacyjnego w strukturze systemu komputerowego.
Treści programoweT-W-1Tł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.
T-W-2Wprowadzenie do systemów operacyjnych: podstawowe pojęcia, zadania i ogólna struktura systemu operacyjnego, podstawowe podsystemy systemu komputerowego z punktu systemu operacyjnego, klasyfikacja systemów operacyjnych i ich charakterystyka wraz z przykładami.
T-W-4Ochrona i bezpieczeństwo w systemach operacyjnych, pierścienie i tryby pracy, odwołania do systemu, API i ABI systemu operacyjnego, wirtualizacja.
T-W-5Procesy w systemie operacyjnym, pojęcie procesu, tworzenie i kończenie procesów. atrybuty procesów, cykl życia procesu, planowanie, zarządzanie procesami w API systemów Linux i Windows, IPC w systemach operacyjnych
T-W-3Architektura von Neumanna, podsystem przerwań, rodzaje przerwań i sposoby implementacji w różnych architekturach
Metody nauczaniaM-1Wykład informacyjno-konwersatoryjny
M-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena na podstawie sprawdzianu wejściowego oraz stopnia wykonania scenariuszy konspektów laboratoryjnych i/lub sprawozdania z zajęć
Kryteria ocenyOcenaKryterium oceny
2,0
3,0potrafi wymienić i zdefiniować wybrane podstawowe role i zadania systemu operacyjnego
3,5potrafi wymienić i zdefiniować dowolne podstawowe role i zadania systemu operacyjnego
4,0potrafi precyzyjnie opisać wybrane role i zadania systemu operacyjnego
4,5potrafi precyzyjnie opisać dowolne role i zadania systemu operacyjnego
5,0potrafi objaśnić wpływ architektury systemu komputerowego na role i zadania systemu operacyjnego
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięItest_1A_C09_U01Student potrafi korzystać konsoli i języka skryptowego systemów Unix/Linux oraz funkcji systemowych systemu operacyjnego Unix/Linux i Windows na poziomie programów pisanych w języku C/C++
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U06Potrafi pozyskiwać, przesyłać, przetwarzać dane, podsumowywać wyniki eksperymentów empirycznych, dokonywać interpretacji uzyskanych wyników i formułować wynikające z nich wnioski.
I_1A_U05Potrafi zaplanować i zrealizować eksperymenty w zakresie oceny wydajności, złożoności, efektywności systemów informatycznych i ich składowych.
Cel przedmiotuC-3Wykształ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 programoweT-L-4Filtry i potoki w systemie Linux
T-L-6Zarządzanie procesami w systemie Linux
T-L-2Podstawy pracy w konsoli Linux, manipulowanie plikami i katalogami
T-L-3Prawa plików i zaawansowane narzędzia plikowe w systemie Linux
T-L-5Wyszukiwanie informacji w systemie Linux
T-L-8Programowanie skryptów w systemie Linux – zadanie programistyczne
T-L-9Procesy w systemie Linux – zadanie programistyczne
T-L-7Programowanie skryptów w systemie Linux
T-L-10Procesy w systemie Windows – zadanie programistyczne
T-L-1Instalacja, konfiguracja i podstawy zarządzania systemem Linux
Metody nauczaniaM-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena na podstawie sprawdzianu wejściowego oraz stopnia wykonania scenariuszy konspektów laboratoryjnych i/lub sprawozdania z zajęć
Kryteria ocenyOcenaKryterium oceny
2,0
3,0potrafi użytkować systemy operacyjne Linux i Windows na poziomie interfejsu tekstowego w zakresie podstawowych poleceń użytkownika
3,5potrafi użytkować systemy operacyjne Linux i Windows na poziomie interfejsu tekstowego w zakresie podstawowych poleceń użytkownika i administratora
4,0potrafi użytkować systemy operacyjne Linux i Windows na poziomie interfejsu tekstowego w zakresie zaawansowanych poleceń użytkownika i administratora
4,5jak 4.0 oraz potrafi pisać proste skrypty przy użyciu języków dostępnych w systemach Linux i Windows
5,0jak 4.0 oraz biegle zna języki skryptowe dostępne w systemach operacyjnych Linux i Windows
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięItest_1A_C09_K01Student jest kreatywny i przygotowany do wykorzystywania różnorodnych źródeł wiedzy
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_K01Jest gotów do krytycznej oceny posiadanej wiedzy oraz ma świadomość jej znaczenia w procesie rozwiązywania szeregu problemów inżynierskich i technicznych w dziedzinie informatyki.
Cel przedmiotuC-3Wykształ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 programoweT-L-4Filtry i potoki w systemie Linux
T-L-6Zarządzanie procesami w systemie Linux
T-L-2Podstawy pracy w konsoli Linux, manipulowanie plikami i katalogami
T-L-3Prawa plików i zaawansowane narzędzia plikowe w systemie Linux
T-L-5Wyszukiwanie informacji w systemie Linux
T-L-8Programowanie skryptów w systemie Linux – zadanie programistyczne
T-L-9Procesy w systemie Linux – zadanie programistyczne
T-L-12Wątki w systemie Windows – zadanie programistyczne
T-L-13Pamięć współdzielona w systemie Linux – zadanie programistyczne
T-L-7Programowanie skryptów w systemie Linux
T-L-10Procesy w systemie Windows – zadanie programistyczne
T-L-1Instalacja, konfiguracja i podstawy zarządzania systemem Linux
T-L-11Wątki w systemie Linux – zadanie programistyczne
Metody nauczaniaM-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena na podstawie sprawdzianu wejściowego oraz stopnia wykonania scenariuszy konspektów laboratoryjnych i/lub sprawozdania z zajęć
Kryteria ocenyOcenaKryterium oceny
2,0
3,0dostateczna umiejętność samodzielnego szukania i wykorzystania informacji, wymaga bardzo częstej pomocy nauczyciela
3,5ponad dostateczna umiejętność samodzielnego szukania i wykorzystania informacji, wymaga częstej pomocy nauczyciela
4,0dobra umiejętność samodzielnego szukania i wykorzystania informacji, wymaga rzadkiej pomocy nauczyciela
4,5ponad dobra umiejętność samodzielnego szukania i wykorzystania informacji, wymaga bardzo rzadkiej pomocy nauczyciela
5,0wyróżniająca umiejętność samodzielnego szukania i wykorzystania informacji, potrafi bez pomocy nauczyciela wykonać wszystkie ćwiczenia laboratoryjne zgodnie z otrzymanymi konspektami