Politechnika Warszawska - Centralny System Uwierzytelniania
Strona główna

Systemy operacyjne

Informacje ogólne

Kod przedmiotu: 103A-ELxxx-ISP-SOP
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Systemy operacyjne
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Przedmioty obieralne )-Elektronika i informatyka w medycynie-inż.-EITI
( Przedmioty obieralne )-Elektronika i inżynieria komputerowa-inż.-EITI
( Przedmioty obieralne )-Elektronika-inż.-EITI
( Przedmioty techniczne )---EITI
Punkty ECTS i inne: 3.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.
Język prowadzenia: polski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

SOP

Numer wersji:

1

Skrócony opis:

Zapoznanie z budową i działaniem współczesnych systemów operacyjnych, a także kształtowanie umiejętności wykorzystania mechanizmów systemowych do realizacji programów wieloprocesowych/wielowątkowych.

Pełny opis:

Przewiduje się dwie formy zajęć: wykład i laboratoryjne ćwiczenia komputerowe. Wykład jest ilustrowany pokazami (zwłaszcza nieoczywistych) własności omawianych mechanizmów systemowych – przy pomocy krótkich programów w języku C.

Z każdym ćwiczeniem laboratoryjnym jest związany materiał do samodzielnego studiowania - „samouczek” (tutorial). Pożądane jest, by przed ćwiczeniami student przeczytał tekst, wykonał sugerowane polecenia i zrealizował zadania programistyczne. Część z zadań ma przykładowe rozwiązania. Są też zadania bez rozwiązania (ale ze wskazówkami), by stymulować pracę własną - po osiągnięciu odpowiednich kompetencji.

Opis wykładu:

  1. Wprowadzenie (2 h).
    Zadania i właściwości systemów operacyjnych. Struktury systemów komputerowych i systemów operacyjnych. Środowisko wykonania programów użytkowych: własności, interfejs.
  2. Procesy i wątki (6 h).
    Proces, jego atrybuty i stany. Atrybuty i modele wątków. Interfejsy procesów i wątków: POSIX i Win32. Sygnały POSIX oraz ich obsługa. Realizacja współbieżności procesów i wątków, przełączanie kontekstu, wywłaszczanie. Planowanie przydziału procesora, algorytmy planowania i ich własności. Specyfika szeregowania zadań w systemach czasu rzeczywistego.
  3. Systemy plików (4 h).
    Plik, katalog, organizacja systemu plików. Operacje na systemie plików. Tryby dostępu i ochrona plików. Interfejs POSIX synchronicznej obsługi systemu plików. Organizacja i własności wybranych systemów plików.
  4. Zarządzanie pamięcią (4 h).
    Organizacja pamięci operacyjnej. Algorytmy przydziału pamięci. Pamięć wirtualna: budowa, własności, interfejs programisty. Racjonalne wykorzystanie hierarchicznie zorganizowanej pamięci w programach użytkowych. Specyfika zarządzania pamięcią w systemach czasu rzeczywistego.
  5. Komunikacja i synchronizacja (6 h).
    Komunikacja między procesami jednego systemu komputerowego: pamięć współdzielona, kolejki komunikatów, łącza. Problem sekcji krytycznej i warunki poprawnego rozwiązania. Klasyczne problemy synchronizacji i ich rozwiązania z wykorzystaniem semaforów, muteksów, zmiennych warunku. Problem zakleszczania (zastojów) i jego rozwiązania. Algorytm bankiera. Transakcje niepodzielne.
  6. Komunikacja sieciowa (4h).
    Modele komunikacji sieciowej. Interfejs gniazd w programowaniu połączeniowych i bezpołączeniowych aplikacji sieciowych (w układzie klient-serwer). Przykłady usług sieciowych.
  7. Bezpieczeństwo i ochrona (2 h).
    Cele ochrony. Uwierzytelnianie, kontrola dostępu do zasobów, integralność, niezaprzeczalność, poufność - koncepcje i realizacje. Wykorzystanie środków kryptograficznych. Standardy oceny bezpieczeństwa systemów komputerowych.
  8. Przegląd współczesnych systemów operacyjnych (1 h)
    Stopień opanowania materiału oceniany jest podczas pisemnych sprawdzianów audytoryjnych (bez materiałów pomocniczych).

Laboratorium:

Studenci realizują indywidualnie w czasie semestru 6 ocenianych ćwiczeń z następujących grup tematycznych:

  1. Lab1. Procesy i sygnały
  2. Lab2. Wątki i sygnały
  3. Lab3. Interfejs systemu plików
  4. Lab4. Komunikacja międzyprocesowa
  5. Lab5. Synchronizacja procesów i wątków
  6. Lab6. Komunikacja sieciowa (interfejs gniazd)

Zajęcia Lab1 – Lab3 (typu A) trwają po 105 minut bez przerwy, natomiast zajęcia Lab4 – Lab6 (typu B) po 165 minut bez przerwy. Jeden termin jest przeznaczony na (nieobowiązkową) indywidualną poprawę jednego ćwiczenia. W czasie zajęć są oceniane rozwiązania zadań programistycznych odpowiedzi. Mogą też być oceniane odpowiedzi na pytania kontrolne – dotyczące samouczka i rozwiązywanego zadania.

Literatura:

  1. Silberschatz, P.B. Galvin, G. Gagne, Podstawy systemów operacyjnych, wyd. 6 zm. i rozsz., WNT 2005.
  2. A.S. Tanenbaum, H. Bos, Systemy operacyjne, wyd. IV, Wyd. Helion, 2015
  3. The GNU C Library Manual, http://www.gnu.org/software/libc/manual/- pomocnicza
  4. W. Stallings, Systemy operacyjne. Struktura i zasady budowy, Wyd. Naukowe PWN SA, 2006.
  5. U. Vahalia, Jądro systemu UNIX. Nowe horyzonty, WNT 2001
  6. R.W. Stevens, Programowanie w środowisku systemu UNIX, WNT 2002.
  7. K. Haviland, D. Gray, B. Salama, Unix. Programowanie systemowe, Wyd. RM, Warszawa 1999.
  8. K. Wall, Linux, programowanie w przykładach, MIKOM 2000.
  9. M.J. Rochkind, Programowanie w systemie Unix dla zaawansowanych (wyd. 2), WNT, 2007
  10. POSIX.1-2017 - dokumentacja ({The Open Group Base Specifications Issue 7, 2018 edition IEEE Std 1003.1-2017})

Oprogramowanie: W czasie laboratorium używany jest system operacyjny Linux.

Zajęcia w cyklu "rok akademicki 2023/2024 - sem. zimowy" (zakończony)

Okres: 2023-10-01 - 2024-02-18
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 15 godzin, 30 miejsc więcej informacji
Wykład, 30 godzin, 30 miejsc więcej informacji
Koordynatorzy: Andrzej Wielgus
Prowadzący grup: Leszek Opalski, Andrzej Wielgus
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103500 - Instytut Mikroelektroniki i Optoelektroniki

Zajęcia w cyklu "rok akademicki 2022/2023 - sem. zimowy" (zakończony)

Okres: 2022-10-01 - 2023-02-19
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 15 godzin, 30 miejsc więcej informacji
Wykład, 30 godzin, 30 miejsc więcej informacji
Koordynatorzy: Andrzej Wielgus
Prowadzący grup: Leszek Opalski, Andrzej Wielgus
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103500 - Instytut Mikroelektroniki i Optoelektroniki

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Warszawska.
pl. Politechniki 1, 00-661 Warszawa tel: (22) 234 7211 https://pw.edu.pl kontakt deklaracja dostępności USOSweb 7.0.2.0-2 (2024-03-29)