Politechnika Warszawska - Centralny System Uwierzytelniania
Strona główna

Systemy operacyjne

Informacje ogólne

Kod przedmiotu: 103B-TExxx-ISP-SOE
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Systemy operacyjne
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Przedmioty obieralne )-Elektronika i inżynieria komputerowa-inż.-EITI
( Przedmioty obieralne )-Elektronika, Telekomunikacja-inż.-EITI
( Przedmioty podstawowe )-Mikrosystemy i systemy elektroniczne-mgr.-EITI
( Przedmioty techniczne )---EITI
Punkty ECTS i inne: 4.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:

SOE

Numer wersji:

2

Skrócony opis:

Wykład ma na celu przedstawienie podstawowych pojęć i koncepcji związanych z budową, działaniem i wykorzystaniem współczesnych systemów operacyjnych, a także zapoznanie słuchaczy z dobrą praktyką wykorzystania mechanizmów systemowych do realizacji efektywnych i bezpiecznych aplikacji poziomu użytkownika Zajęcia laboratoryjne kształtują umiejętność posługiwania się interfejsem funkcji systemowych do rozwiązywania zadań programistycznych, wymagających m.in. tworzenia i synchronizacji współbieżnych procesów bądź wątków, a także organizacji komunikacji (lokalnej i sieciowej) i synchronizacji współpracujących zadań. Zakłada się umiejętność programowania w języku C.

Pełny opis:

Wykład ma na celu przedstawienie podstawowych pojęć i koncepcji związanych z budową, działaniem i wykorzystaniem współczesnych systemów operacyjnych, a także zapoznanie słuchaczy z dobrą praktyką wykorzystania mechanizmów systemowych do realizacji efektywnych i bezpiecznych aplikacji poziomu użytkownika
Zajęcia laboratoryjne kształtują umiejętność posługiwania się interfejsem funkcji systemowych do rozwiązywania zadań programistycznych, wymagających m.in. tworzenia i synchronizacji współbieżnych procesów bądź wątków, a także organizacji komunikacji (lokalnej i sieciowej) i synchronizacji współpracujących zadań. Zakłada się umiejętność programowania w języku C.



Treść wykładu

  • Wprowadzenie. (2) 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. Wirtualizacja.

  • Procesy i wątki. (6) Proces, jego atrybuty i stany.
    Atrybuty i modele wątków (1:n, 1:1, m:n); własności i wykorzystanie.
    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. Powłoka zgłoszeniowa. Podstawy programowania
    powłoki.

  • Systemy plików. (4) Plik, organizacja systemu plików. Operacje na systemie plików. Dostęp i ochrona plików, tryby dostępu do plików. Interfejs POSIX systemu plików; operacje wejścia-wyjścia a sygnały. Realizacja systemów plików. Systemy plików: FAT32, ext2, NTFS, ISO9660.

  • Zarządzanie pamięcią. (4) Logiczna i fizyczna przestrzeń
    adresowa. Etapy wiązania składowych programu z adresami pamięci
    operacyjnej. Ładowanie dynamiczne, konsolidacja dynamiczna,
    nakładkowanie, wymiana. Schematy przydziału obszarów pamięci
    operacyjnej zadaniom. Stronicowanie, segmentacja, segmentacja ze
    stronicowaniem. Pamięć wirtualna: realizacja, własności. Racjonalny
    dostęp do pamięci w programach użytkowych. Specyfika zarządzania
    pamięcią w systemach czasu rzeczywistego.

  • Komunikacja i synchronizacja (6). Środki komunikacji lokalnej: 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 warunkowych. Problem zakleszczania (zastojów) i podejścia do
    jego rozwiązania. Algorytm bankiera. Synchronizacja rozproszona.

  • Komunikacja sieciowa. (4) Wprowadzenie do warstwowego modelu
    komunikacji internetowej. Wykorzystanie interfejsu gniazd do realizacji
    aplikacji sieciowych w układzie klient-serwer.

  • Ochrona i bezpieczeństwo. (3) Domena ochrony i jej
    implementacje. Zagrożenia bezpieczeństwa. Klasyfikacja poziomów
    bezpieczeństwa. Systemy i rozwiązania zabezpieczające. Przykłady
    realizacji: Windows UAC, SE Linux.

  • Przegląd współczesnych systemów operacyjnych. (1)




Zakres laboratorium
  • Praca w terminalu znakowym: modyfikacja środowiska wykonania
    procesu, sterowanie zadaniami, proste skrypty powłoki.

  • Procesy, wątki, sygnały

  • Operacje wejścia/wyjścia, łącza (nazwane i nienazwane)

  • Synchronizacja procesów i wątków

  • Komunikacja sieciowa (gniazdka)

Literatura:

    1. A. Silberschatz, P.B. Galvin, G. Gagne, Podstawy systemów
      operacyjnych, wyd. 6 zm. i rozsz., WNT 2005.

    2. W. Stallings, Systemy Operacyjne, Wyd. Robomatic, 2004.

    3. U. Vahalia, Jądro systemu UNIX. Nowe horyzonty, WNT 2001

    4. R.W. Stevens, Programowanie w środowisku systemu UNIX, WNT 2002.

    5. M.K. Johnson, E.W. Troan, Oprogramowanie użytkowe w systemie
      Linux, WNT 2000.

    6. K. Haviland, D. Gray, B. Salama, Unix. Programowanie systemowe,
      Wyd. RM, Warszawa 1999.

    7. K. Wall, Linux, programowanie w przykładach, MIKOM 2000.

    8. M.J. Rochkind, "Programowanie w systemie UNIX dla
      zaawansowanych", WNT, 1997

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

Okres: 2021-10-01 - 2022-02-22
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: Maciej Sypniewski, Andrzej Wielgus
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103400 - Instytut Radioelektroniki i Technik Multimedialnych
103500 - Instytut Mikroelektroniki i Optoelektroniki

Zajęcia w cyklu "rok akademicki 2020/2021 - sem. letni" (zakończony)

Okres: 2021-02-20 - 2021-09-30
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: Maciej Sypniewski, Andrzej Wielgus
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103400 - Instytut Radioelektroniki i Technik Multimedialnych
103500 - Instytut Mikroelektroniki i Optoelektroniki

Zajęcia w cyklu "rok akademicki 2019/2020 - sem. letni" (zakończony)

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

103300 - Instytut Systemów Elektronicznych

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

Okres: 2019-10-01 - 2020-02-21
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 15 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Leszek Opalski, Andrzej Wielgus
Prowadzący grup: Leszek Opalski, Maciej Sypniewski, 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 2018/2019 - sem. letni" (zakończony)

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

103300 - Instytut Systemów Elektronicznych

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

Okres: 2018-10-01 - 2019-02-17
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 15 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Leszek Opalski, Andrzej Wielgus
Prowadzący grup: 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)