Uniwersytet Mikołaja Kopernika w Toruniu - Centralny punkt logowania
Strona główna

Systemy operacyjne

Informacje ogólne

Kod przedmiotu: 0800-SOPER
Kod Erasmus / ISCED: (brak danych) / (0613) Tworzenie i analiza oprogramowania i aplikacji Kod ISCED - Międzynarodowa Standardowa Klasyfikacja Kształcenia (International Standard Classification of Education) została opracowana przez UNESCO.
Nazwa przedmiotu: Systemy operacyjne
Jednostka: Wydział Fizyki, Astronomii i Informatyki Stosowanej
Grupy:
Punkty ECTS i inne: 6.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.

zobacz reguły punktacji
Język prowadzenia: polski
Wymagania wstępne:

- znajomość podstaw programowania w dowolnym języku wysokiego poziomu (Pascal, C)

- znajomość podstaw pracy z systemem Unix/Linux

- bierna znajomość j.angielskiego w stopniu umożliwiającym korzystanie z dokumentacji


Rodzaj przedmiotu:

przedmiot obowiązkowy

Całkowity nakład pracy studenta:

Calkowity nakład pracy:

- godziny realizowane z udziałem nauczycieli 70h

-- wykład 30h

-- laboratorium 30h

-- konsultacje 4h

-- egzaminy 6h


- godziny pracy indywidualnej studenta

-- przygotowanie do wykładów i egzaminu 45h

-- przygotowanie do laboratoroów i procesu jego oceniania 45h


RAZEM 6 ECTC (160h)




Efekty uczenia się - wiedza:

Poniższe efekty kształcenia zawierają się kompetencjach K_W3,5 dla kierunku Informatyka Stosowana.


W1: zna podstawowe pojęcia takie jak system komputerowy, system operacyjny, wieloprogramowość, wielozadaniowość, system z podziałem czasu, system czasu rzeczywistego, tryb monitora i użytkownika, itd.

W2: zna często używane skróty takie jak ALU, CPU, IDE, SATA, EXT3, VFAT, DMA, BIOS, JFS, POSIX, PCI, RAM, SMP, SPOOL, itp.

W3: zna algorytmy przydziału procesora, pamięci operacyjnej i dyskowej, stany procesów, blokady

W4: zna sposoby wirtualizacji czasu procesora, pamięci operacyjnej i dyskowej

W5: zna podstawowe narzędzia diagnostyczne takie jak ps, df, top, itp.

W6: zna podstawy języka bash i podstawowe komendy systemowe

Efekty uczenia się - umiejętności:

Poniższe efekty kształcenia zawierają się kompetencjach K_U1,2,3,7,9,10 dla kierunku Informatyka Stosowana.


U1: posługuje się pojęciami w celu opisania funkcjonowania systemu komputerowego, w tym zarządzania dostępem do procesora, pamięci operacyjnej i dyskowej

U2: potrafi zinterpretować wskazania podstawowych programów dostarczających danych o funkcjonowaniu systemu komputerowego, takich jak top, df, ps

U3: potrafi napisać w języku bash skrypty zbierające informacje o konfiguracji oraz działaniu systemu komputerowego oraz o jego użytkownikach

U4: potrafi korzystać z dokumentacji dostępnej na stronach podręcznika systemowego

Efekty uczenia się - kompetencje społeczne:

Poniższe efekty kształcenia zawierają się kompetencjach K_K1 dla kierunku Informatyka Stosowana, studia pierwszego stopnia.


K1: rozumie potrzebę ciągłego dokształcania się w związku z rozwojem sprzętu i oprogramowania


Metody dydaktyczne podające:

- wykład informacyjny (konwencjonalny)

Metody dydaktyczne poszukujące:

- laboratoryjna

Skrócony opis:

Celem zajęć jest przekazanie podstawowej, niezbędnej wiedzy potrzebnej do zrozumienia działania współczesnych systemów operacyjnych z podziałem czasu, głównie systemów Unix/Linux, oraz nabycie podstawowych umiejętności diagnozowania stanu takich systemów.

Zajęcia (wykład oraz ćwieczenia w pracowni komputerowej) są skierowane do osób pragnących pracować jako administratorzy systemów komputerowych oraz programistów pragnących tworzyć nowoczesne i wydajne oprogramowanie przeznaczone do działania w środowiskach wykorzystujących system operacyjny GNU/Linux.

Pełny opis:

Celem wykładu jest przedstawienie podstawowych pojęć i zagadnień związanych z budową oraz działaniem współczesnych systemów komputerowych z punktu widzenia zaawansowanego użytkownika oraz administratora system komputerowego. Dlatego zawartość wykładu i ujęcie tematu mają charakter bardziej praktyczny niż teoretyczny. Jest to próba dostarczenia i objaśnienia aparatu pojęciowego w takim zakresie, aby ułatwić administrowanie i strojenie systemu komputerowego, a także pomóc w tworzeniu wydajnych aplikacji.

W ramach wykładu zostaną poruszone następujące zagadnienia:

1. Historia komputerów i systemów operacyjnych

2. Architektura i działanie procesora. Architektura współczesnych komputerów

3. Jak system komputerowy wykonuje programy?

- Monitor prosty, buforowanie, spooling,

- Wieloprogramowość

- Podział czasu

4. Struktura systemu komputerowego.

- Systemy z obsługą przerwań

- Struktura wejścia-wyjścia

- Dualny tryb pracy

5. Procesy

- Model procesu i jego implementacja

- Proces z poziomu powłoki

- Zarządzanie procesami

- Komunikacja międzyprocesowa

- Synchronizowanie procesów. Zakleszczenia.

6. Zarządzanie pamięcią

- Zarządzanie pamięcią bez wymiany i stronicowania

- Wymiana

- Pamięć wirtualna

- Segmentacja

7. Zarządzanie przestrzenią dyskową

- Rodzaje plików

- Partycje i systemy plików, systemy plików z kroniką

- Zarzadzanie logicznymi wolumenami

- Macierze dyskowe

8. Struktura systemów operacyjnych

- Systemy monolityczne

- Systemy warstwowe

- Maszyny wirtualne

- Model klient-serwer

9. Przykłady systemów operacyjnych

Celem ćwiczeń jest poznanie konfiguracji i aktualnego stanu systemu operacyjnego poprzez użycie szeregu podstawowych komend systemowych i diagnostycznych. Często zachodzi konieczność przekształcania informacji uzyskanych tymi narzędziami do innej, wygodniejszej dla administratora systemu postaci. Do tego celu służą skrypty pisane przy użyciu takich języków jak Bash, Tcsh, Perl, Phyton, itp. W czasie zajęć będzie wykorzystywany język Bash, gdyż jest to bardzo popularny język skryptowy używany domyślnie do tworzenia skryptów systemowych w systemie GNU/Linux.

Ćwiczenia wymagają dostępu do serwerów Unix/Linux pracujących pod nadzorem systemu operacyjnego RHEL/CentOS, który jest realizowany via SSH lub VNC. Każdy uczestnik zajęć musi umieszczać wyniki swojej pracy w repozytorium Git, gdyż automatyczne narzędzia sprawdzające tam szukają skryptów. Do edycji skryptów wykorzystywane są edytory vim/emacs.

Literatura:

Literatura obowiązkowa:

- R. Love. Linux kernel. Przewodnik programisty. Wydawnictwo Helion, Gliwice, 2004.

(jeden z poniższych podręczników (mogą być starsze wydania)

- A. Silberschatz, P.B. Galvin, Gr. Gagne. Podstawy systemów operacyjnych. Tom 1-2. Wydawnictwo Naukowe PWN, Warszawa, 2021.

- W. Stallings. Systemy operacyjne. Architektura, funkcjonowanie i projektowanie. Wydanie IX. Wydawnictwo Helion, 2018.

- A. S. Tanenbaum, H. Bos. Systemy operacyjne. Wydawnictwo Helion, 2015.

Literatura dodatkowa:

- M. J. Bach. Budowa systemu operacyjnego UNIX. Wydawnictwo Naukowo-Techniczne, Warszawa,1995.

- D. P. Bovet i M. Cesati. Linux Kernel. Wydawnictwo RM, Warszawa, 2001.

- A. M. Lister i R. D. Eager. Wprowadzenie do systemów operacyjnych. Wydawnictwo Naukowo-Techniczne, Warszawa, 1994.

- R. Love. Linux kernel development. Third edition. Developer's Library.

- U. Vahalia. Jądro systemu UNIX, nowe horyzonty. Wydawnictwo Naukowo-Techniczne, Warszawa, 2001.

Metody i kryteria oceniania:

Przedmiot obejmuje 30 godzin wykładu oraz 30 godzin laboratorium komputerowego.

Egzamin pisemny (3 godz.): W1-5, U1-2,K1

Egzamin składa się z dwóch części. W pierwszej trzeba podać polskie i angielskie rozwinięcia 20 skrótów (każde za 1 pkt) oraz odpowiedzieć zwięźle na 25 pytań (każde za 1 pkt). W drugiej, należy omówić jedno lub dwa z trzech podanych zagadnień (każde za 5 pkt).

Najniższą i najwyższą ocenę pozytywną ustala się na podstawie wyniku procentowego jako:

dst: 50% z części egzaminu obejmującej krótkie pytania, 60% z części obejmującej pytania otwarte

bdb: 80% z części egzaminu obejmującej krótkie pytania, 80% z części obejmującej pytania otwarte

Oznacza to, że w celu zdania egzaminu na ocenę dostateczną należy zgromadzić co najmniej 15 pkt za skróty, 13 pkt. za pytania 1-25 i co najmniej 3 pkt. za któreś z pytań I-III. Na ocenę bardzo dobrą należy zdobyć, odpowiednio, przynajmniej 21 pkt. i po 4 pkt. za każde z dwóch wybranych zagadnień. Oceny od 3,5 do 4,5 będą odpowiadały wynikom pośrednim.

Z powyższego wynika, że części 2. egzaminu nie jest sprawdzana, jeśli z części obejmującej krótkie pytanie nie uzyskano wystarczającej liczby punktów.

Punktacja może zostać obniżana, jeśli odpowiedzi są napisane w sposób nieczytelny, niegramatyczny, równoważnikami zdań zamiast pełnymi zdaniami, itp.

Do egzaminu są dopuszczone osoby, które zaliczyły zajęcia laboratoryjne. Zaliczenie tych zajęć wymaga uzyskania pozytywnej oceny z kolokwium końcowego oraz aktywności w czasie zajęć. Ta aktywność jest mierzona liczbą poprawnie napisanych skryptów bashowych i terminowością ich wykonania oraz zaliczania dodatkowych quizów (platforma Moodle). Skrypty te muszą działać wedle szczegółowo określonej specyfikacji i dostarczać danych o pracy systemu operacyjnego (skrypty te są domyślnie oceniane automatycznie przy pomocy specjalnego programu, a w przypadkach niejasnych lub

spornych przez prowadzącego).

Zaliczenie laboratorium weryfikuje W5-6, U3-4,K1.

Zajęcia w cyklu "Semestr zimowy 2021/22" (zakończony)

Okres: 2021-10-01 - 2022-02-20
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Jacek Kobus
Prowadzący grup: Krzysztof Grąbczewski, Marek Grochowski, Jacek Kobus
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin

Zajęcia w cyklu "Semestr zimowy 2022/23" (zakończony)

Okres: 2022-10-01 - 2023-02-19
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Marek Grochowski, Jacek Kobus
Prowadzący grup: Marek Grochowski, Jacek Kobus
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin

Zajęcia w cyklu "Semestr zimowy 2023/24" (zakończony)

Okres: 2023-10-01 - 2024-02-19
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Marek Grochowski, Jacek Kobus
Prowadzący grup: Marek Grochowski, Jacek Kobus
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.
ul. Jurija Gagarina 11, 87-100 Toruń tel: +48 56 611-40-10 https://usosweb.umk.pl/ kontakt deklaracja dostępności USOSweb 7.0.2.0-1 (2024-03-12)