Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S1)
specjalność: Inżynieria komputerowa

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

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

Wymagania wstępne

KODWymaganie wstępne
W-1Architektura systemów komputerowych
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. 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-3Procesy 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-4Program 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-5Wą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-6Wirtualizacja. 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-7Pamięć 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-8Systemy operacyjne czasu rzeczywistego. Cechy charakterystyczne, wymagania, implementacja, przykłady.2
T-W-9Systemy operacyjne urządzeń mobilnych. Charakterystyka, wymagania, historia, implementacja, przykłady.2
T-W-10System 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

KODForma aktywnościGodziny
laboratoria
A-L-1Uczestnictwo w zajęciach30
A-L-2Przygotowanie się do zajęć oraz rozwiązywanie zadań off-site43
A-L-3Udział w konsultacjach2
75
wykłady
A-W-1Uczestnictwo w wykładach30
A-W-2Samodzielne studiowanie treści omawianych na wykładach25
A-W-3Przygotowanie do zaliczenia18
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
I_1A_C07_W01
Student rozumie rolę i zadania systemu operacyjnego komputera
I_1A_W06C-1T-W-1, T-W-2, T-W-4, T-W-5, T-W-3M-1, M-2S-1
I_1A_C07_W02
Student potrafi wyjaśnić oraz zidentyfikować praktyczne problemy związane funkcjonowaniem i użytkowaniem systemu operacyjnego
I_1A_W10C-1, C-2T-W-6, T-W-7, T-W-8, T-W-9, T-W-10M-1S-2

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
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_U09C-3T-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-10M-2S-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_U08C-3T-L-11, T-L-12, T-L-13M-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
I_1A_C07_K01
Student jest kreatywny i przygotowany do wykorzystywania różnorodnych źródeł wiedzy
I_1A_K01C-3T-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-13M-2S-1

Kryterium oceny - wiedza

Efekt uczenia sięOcenaKryterium oceny
I_1A_C07_W01
Student rozumie rolę i zadania systemu operacyjnego komputera
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
I_1A_C07_W02
Student potrafi wyjaśnić oraz zidentyfikować praktyczne problemy związane funkcjonowaniem i użytkowaniem systemu operacyjnego
2,0
3,0potrafi wymienić wybrane podstawowe elementy składowe systemu operacyjnego mające wpływ na jego funkcjonowanie i użytkowanie
3,5potrafi wymienić dowolne podstawowe elementy składowe systemu operacyjnego mające wpływ na jego funkcjonowanie i użytkowanie
4,0potrafi precyzyjnie opisać wybrane podstawowe elementy składowe systemu operacyjnego mające wpływ na jego funkcjonowanie i użytkowanie
4,5potrafi precyzyjnie opisać dowolne podstawowe elementy składowe systemu operacyjnego mające wpływ na jego funkcjonowanie i użytkowanie
5,0potrafi objaśnić wpływ architektury systemu komputerowego na funkcjonowanie i użytkowanie systemu operacyjnego

Kryterium oceny - umiejętności

Efekt uczenia sięOcenaKryterium 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,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
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,0Sł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,5potrafi efektywnie użyć wybrane podstawowe mechanizmy systemowe
4,0potrafi efektywnie użyć dowolne podstawowe mechanizmy systemowe
4,5potrafi efektywnie użyć wybrane zaawansowane mechanizmy systemowe
5,0potrafi efektywnie użyć dowolne zaawansowane mechanizmy systemowe

Kryterium oceny - inne kompetencje społeczne i personalne

Efekt uczenia sięOcenaKryterium oceny
I_1A_C07_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
  3. E. Wilson, Windows PowerShell

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. 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-3Procesy 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-4Program 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-5Wą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-6Wirtualizacja. 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-7Pamięć 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-8Systemy operacyjne czasu rzeczywistego. Cechy charakterystyczne, wymagania, implementacja, przykłady.2
T-W-9Systemy operacyjne urządzeń mobilnych. Charakterystyka, wymagania, historia, implementacja, przykłady.2
T-W-10System 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

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Uczestnictwo w zajęciach30
A-L-2Przygotowanie się do zajęć oraz rozwiązywanie zadań off-site43
A-L-3Udział w konsultacjach2
75
(*) 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-2Samodzielne studiowanie treści omawianych na wykładach25
A-W-3Przygotowanie do zaliczenia18
A-W-4Udział w konsultacjach2
75
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięI_1A_C07_W01Student rozumie rolę i zadania systemu operacyjnego komputera
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W06Posiada ogólną wiedzę dotyczącą szeroko pojętych systemów informatycznych, obejmującą różne fazy eksploatacji i rozwoju systemów oraz związane z tym procesy, zna podstawowe narzędzia i techniki przydatne w rozwiązywaniu problemó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. 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.
T-W-4Program 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.
T-W-5Wą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.
T-W-3Procesy 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.
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ęI_1A_C07_W02Student potrafi wyjaśnić oraz zidentyfikować praktyczne problemy związane funkcjonowaniem i użytkowaniem systemu operacyjnego
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W10Posiada uporządkowaną i pogłębioną wiedzę z zakresu architektury systemów komputerowych, uwzględniającą współczesne kierunki rozwoju sprzętu komputerowego.
Cel przedmiotuC-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.
Treści programoweT-W-6Wirtualizacja. 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.
T-W-7Pamięć 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.
T-W-8Systemy operacyjne czasu rzeczywistego. Cechy charakterystyczne, wymagania, implementacja, przykłady.
T-W-9Systemy operacyjne urządzeń mobilnych. Charakterystyka, wymagania, historia, implementacja, przykłady.
T-W-10System 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.
Metody nauczaniaM-1Wykład informacyjno-konwersatoryjny
Sposób ocenyS-2Ocena podsumowująca: Test zaliczający (jednokrotnego lub wielokrotnego wyboru) oraz pytania otwarte (zadania problemowe)
Kryteria ocenyOcenaKryterium oceny
2,0
3,0potrafi wymienić wybrane podstawowe elementy składowe systemu operacyjnego mające wpływ na jego funkcjonowanie i użytkowanie
3,5potrafi wymienić dowolne podstawowe elementy składowe systemu operacyjnego mające wpływ na jego funkcjonowanie i użytkowanie
4,0potrafi precyzyjnie opisać wybrane podstawowe elementy składowe systemu operacyjnego mające wpływ na jego funkcjonowanie i użytkowanie
4,5potrafi precyzyjnie opisać dowolne podstawowe elementy składowe systemu operacyjnego mające wpływ na jego funkcjonowanie i użytkowanie
5,0potrafi objaśnić wpływ architektury systemu komputerowego na funkcjonowanie i użytkowanie systemu operacyjnego
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięI_1A_C07_U01Student potrafi korzystać konsoli oraz z języków skryptowych charakterystycznych dla platform systemów Unix/Linux i Windows
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U09Potrafi analizować i oceniać przydatność języków, platform programistycznych i narzędzi informatycznych do rozwiązywania wybranych problemów inżynierskich 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-1Instalacja, konfiguracja i podstawy zarządzania systemem 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-4Filtry i potoki w systemie Linux
T-L-5Wyszukiwanie informacji w systemie Linux
T-L-6Zarządzanie procesami w systemie Linux
T-L-7Programowanie skryptów w systemie Linux
T-L-8Programowanie skryptów w systemie Linux – zadanie programistyczne
T-L-9Procesy w systemie Linux – zadanie programistyczne
T-L-10Procesy w systemie Windows – 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,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ęI_1A_C07_U02Student potrafi korzystać z funkcji systemowych systemu operacyjnego Unix/Linux oraz Windows na poziomie programów pisanych w języku C/C++
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U08Potrafi dobrać i krytycznie ocenić elementy składowe systemów komputerowych.
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-11Wątki w systemie Linux – zadanie programistyczne
T-L-12Wątki w systemie Windows – zadanie programistyczne
T-L-13Pamięć współdzielona 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,0Sł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,5potrafi efektywnie użyć wybrane podstawowe mechanizmy systemowe
4,0potrafi efektywnie użyć dowolne podstawowe mechanizmy systemowe
4,5potrafi efektywnie użyć wybrane zaawansowane mechanizmy systemowe
5,0potrafi efektywnie użyć dowolne zaawansowane mechanizmy systemowe
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięI_1A_C07_K01Student jest kreatywny i przygotowany do wykorzystywania różnorodnych źródeł wiedzy
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_K01Potrafi krytycznie ocenić posiadaną wiedzę informatyczną oraz dostrzega dynamikę jej zmian.
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-1Instalacja, konfiguracja i podstawy zarządzania systemem 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-4Filtry i potoki w systemie Linux
T-L-5Wyszukiwanie informacji w systemie Linux
T-L-6Zarządzanie procesami w systemie Linux
T-L-7Programowanie skryptów w systemie Linux
T-L-8Programowanie skryptów w systemie Linux – zadanie programistyczne
T-L-9Procesy w systemie Linux – zadanie programistyczne
T-L-10Procesy w systemie Windows – zadanie programistyczne
T-L-11Wątki w systemie Linux – zadanie programistyczne
T-L-12Wątki w systemie Windows – zadanie programistyczne
T-L-13Pamięć współdzielona 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