Politechnika Częstochowska - Centralny System Uwierzytelniania
Strona główna

Systemy operacyjne

Informacje ogólne

Kod przedmiotu: WE-INF-Z1-SYSOP-03
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Systemy operacyjne
Jednostka: Wydział Elektryczny
Grupy: Przedmioty obowiazkowe 3 sem. Informatyk II stopnia studia stacjonarne
Punkty ECTS i inne: 0 LUB 6.00 (w zależności od programu) 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
Rodzaj przedmiotu:

obowiązkowe

Skrócony opis:

Przedmiot Systemy Operacyjne ma na celu zapoznanie studentów z budową współczesnych systemów operacyjnych. Jest to nauka posługiwania się poleceniami DOS oraz systemu operacyjnego Linux, tworzenia skryptów powłoki Linux oraz podstaw programowania mechanizmów komunikacji międzyprocesowej, podstaw tworzenia procesów i wątków w systemie operacyjnym Linux oraz ich synchronizacji.

Pełny opis:

Treści programowe (wykład):

W1 – System komputerowy i system operacyjny. Wielozadaniowość systemu, Podstawowe zadania oraz funkcje współczesnych systemów operacyjnych System ochrony.

W2 – Warstwowa struktura systemów operacyjnych. Struktura systemu z mikrojądrem. System operacyjny a sprzęt. Generowanie systemu. Funkcje systemowe oraz system interpretacji poleceń.

W3 – Proces w systemie operacyjnym. Blok kontrolny procesu oraz przełączenie kontekstu. Procesy ciężkie i lekkie. Wątki. Planowanie procesów. Algorytmy planowania procesów.

W4 – Tworzenie i usuwanie procesów. Procesy macierzyste i potomne. Drzewo procesów. Tworzenie oraz identyfikacja procesów w systemie operacyjnym UNIX: funkcje fork() i execv() wraz z przykładami ich praktycznego zastosowania.

W5 – Komunikacja międzyprocesowa. Układ producent-konsument. Komunikacja za pośrednictwem potoków nienazwanych (funkcja pipe()) oraz potoków nazwanych (funkcja mkfifo()). Przykłady realizacji praktycznej w ramach systemu operacyjnego Unix/Linux.

W6 – Algorytmy synchronizacji procesów. Przykłady synchronizacji dwóch procesów. Synchronizacja wielu procesów i/lub wątków (algorytm piekarni). Przykłady realizacji praktycznej w ramach systemu operacyjnego Windows (dla wątków).

W7– Systemowe metody ochrony sekcji krytycznej. Funkcja zamek (lock). Semafory. Problem pisarzy i czytelników. Monitory.

W8 – Rola systemu operacyjnego w zarządzaniu pamięcią. Wiązanie adresów. Pamięć wirtualna. Mechanizmy stronicowania i segmentacji.

W9 – System plików. Typy plików. Katalogi i ich topologia. Implementacja i organizacja systemu plików. Metody przydziału miejsca na dysku.

Treści programowe (laboratorium: ćwiczenia komputerowe):

L1 – Tworzenie skryptów powłoki MS-DOS systemu operacyjnego Windows. Instrukcje warunkowe i iteracyjne. Operacji na plikach. Pobieranie wartości w trakcie wykonywania skryptów.

L2 – Obsługa plików i katalogów przy pomocy poleceń powłoki systemu Linux

L3 – Obsługa procesów przy pomocy poleceń powłoki systemu Linux

L4 – Tworzenie skryptów powłoki shell systemu operacyjnego Linux. Instrukcje warunkowe i iteracyjne. Operacji na plikach. Pobieranie wartości w trakcie wykonywania skryptów.

L5 – Tworzenie drzewa procesów oraz ich identyfikacja w systemie operacyjnym Linux z wykorzystaniem funkcji systemowych funkcje fork(), execv(), getpid(), getppid().

L6 – Tworzenie skryptów komunikacji międzyprocesowej w układzie konsument-producent za pośrednictwem potoków nienazwanych (funkcja pipe()) w ramach systemu operacyjnego Unix/Linux.

L7 – Tworzenie skryptów komunikacji międzyprocesowej za pośrednictwem potoków nazwanych (funkcja mkfifo()) w ramach systemu operacyjnego Unix/Linux.

L8 – Synchronizacja procesów w układzie konsument-producent za pośrednictwem semaforów w ramach systemu operacyjnego Unix/Linux.

L9 – Tworzenie wątków oraz skryptów komunikacji międzywątkowej w ramach systemu operacyjnego Linux.

Literatura:

Literatura podstawowa:

1. A. Silberschatz, J.L. Peterson, G. Gagne, Podstawy systemów operacyjnych. WNT, Warszawa 2005.

2. W. Stallings, Systemy operacyjne. Robomatic, Wrocław 2004.

3. C. Sobaniec, System operacyjny Linux — przewodnik użytkownika. Nakom, Poznań 2002.

4. J. S. Gray, Komunikacja między procesami w Unixie. ReadMe, Warszawa 1998.

5. Tikhonenko O., Metody probabilistyczne analizy systemów informacyjnych, Exit, Warszawa 2006

Literatura uzupełniająca:

1. M. J. Bach, Budowa systemu operacyjnego Unix®. WNT, Warszawa 1995.

2. R. Lowe, Kernel Linux. Przewodnik programisty. Helion, Gliwice 2004.

Efekty uczenia się:

EK1. Student potrafi określić i scharakteryzować strukturę oraz składowe współczesnych systemów operacyjnych, określić mechanizmy systemu operacyjnego stosowanych do tworzenia procesów i ich synchronizacji oraz zarządzania pamięcią

EK2. Student potrafi pisać skrypty powłoki w systemach operacyjnych, tworzyć wątki i procesy, rozwiązać zagadnienia związane z synchronizacją procesów oraz komunikacja międzyprocesową

Metody i kryteria oceniania:

F1. Test z zakresu wymagań wstępnych dotyczących przedmiotów Architektura Systemów Komputerowych oraz Podstaw Programowania. Test nie ma wpływu na ocenę końcową z przedmiotu.

P1. Wykład:

100% punktów oceny końcowej z wykładu przyznawane na podstawie rezultatów komputerowego testu egzaminacyjnego

P2. Laboratorium:

50% punktów oceny końcowej z laboratorium przyznawane za realizacje zadań podstawowych i dodatkowych w trakcie zajęć laboratoryjnych

P3. Laboratorium:

50% punktów oceny końcowej z laboratorium przyznawane na podstawie rezultatów komputerowego testu zaliczeniowego

EK1 Student potrafi określić i scharakteryzować strukturę oraz składowe współczesnych systemów operacyjnych, określić mechanizmy systemu operacyjnego stosowanych do tworzenia procesów i ich synchronizacji oraz zarządzania pamięcią

Ocena 2: Student nie potrafi wymienić i scharakteryzować wybrane cechy współczesnych systemów operacyjnych, nie potrafi wymienić i scharakteryzować role systemu operacyjnego w tworzeniu procesów oraz zarządzaniu nimi

Ocena 3: Student potrafi zdefiniować system operacyjny, ma podstawową wiedze w zakresie roli systemu operacyjnego w tworzeniu procesów

Ocena 3.5: Student potrafi określić rolę i miejsce systemu operacyjnego w systemie komputerowym, ma podstawową wiedze w zakresie roli systemu operacyjnego w tworzeniu oraz zarządzaniu procesami i wątkami

Ocena 4: Student potrafi określić warstwową strukturę systemu operacyjnego, potrafi zdefiniować kontrolny blok procesu oraz określić jego role w mechanizmie zarządzania procesami oraz pamięcią operacyjną

Ocena 4.5: Student potrafi określić wielozadaniowość jako podstawową cechę każdego współczesnego systemu operacyjnego, ma wiedze na temat struktury procesu w systemie operacyjnym Unix/Linux oraz mechanizmu stronicowania pamięci operacyjnej

Ocena 5: Student potrafi scharakteryzować główne funkcje systemu operacyjnego oraz metody ich realizacji, potrafi scharakteryzować mechanizmy szeregowania procesów, określić mechanizmy zarządzania pamięcią oraz kolejkowania procesów, wymienić funkcje służące do tworzenia i identyfikacji procesów dostarczane przez system operacyjny

EK2 Student potrafi pisać skrypty powłoki w systemach operacyjnych, tworzyć wątki i procesy, rozwiązać zagadnienia związane z synchronizacją procesów oraz komunikacja międzyprocesową

Ocena 2: Student nie potrafi tworzyć skrypty powłoki w systemach operacyjnych

Ocena 3: Student potrafi wymienić podstawowe kluczowe słowa interpretera powłoki MS-DOS, potrafi tworzyć proste skrypty

Ocena 3.5: Student potrafi wymienić podstawowe kluczowe słowa interpretera powłok DOS oraz Linux, potrafi tworzyć proste skrypty

Ocena 4: Student potrafi tworzyć proste skrypty interpretera powłok DOS oraz Linux, potrafi tworzyć instrukcji iteracyjne oraz warunkowe z zastosowaniem języków programowania C oraz C++, posługuje się funkcjami systemowymi do tworzenia procesów

Ocena 4.5: Student potrafi tworzyć złożone skrypty interpretera powłok DOS oraz Linux, posługuje się funkcjami systemowymi do tworzenia procesów i wątków oraz komunikacji międzyprocesowej z użyciem języków programowania C i C++.

Ocena 5: Student swobodnie posługuje się zarówno językami powłok DOS oraz Linux jak i językami programowania C lub C++ stosowanymi do tworzenia aplikacji z użyciem funkcji systemowych. Swobodnie posługuje się funkcjami systemowymi do tworzenia procesów i wątków, komunikacji międzyprocesowej oraz synchronizacji procesów i wątków.

Zajęcia w cyklu "Semestr zimowy 2018/2019" (zakończony)

Okres: 2018-10-01 - 2019-01-25
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 18 godzin więcej informacji
Wykład, 9 godzin więcej informacji
Koordynatorzy: Andriy Kityk
Prowadzący grup: Andriy Kityk
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - zaliczenia lub końcowy przedmiotu
Wykład - Egzamin
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Częstochowska.
ul. J.H. Dąbrowskiego 69
42-201 Częstochowa
tel: +48 (34) 3255-211 https://pcz.pl
kontakt deklaracja dostępności USOSweb 7.0.3.0-1 (2024-04-02)