Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Systemy operacyjne
Tok studiów:
2019/2020
Kod:
IETP-1-305-s
Wydział:
Informatyki, Elektroniki i Telekomunikacji
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Elektronika i Telekomunikacja
Semestr:
3
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma studiów:
Stacjonarne
Strona www:
 
Prowadzący moduł:
Wiśniowski Piotr (pwis@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

Kurs umożliwia zdobycia wiedzy dotyczącej podstawowych koncepcji, struktur i mechanizmów stosowanych w systemach operacyjnych oraz praktycznych umiejętność obsługi i pracy w systemie Linux.

Opis efektów uczenia się dla modułu zajęć
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Powiązania z KEU Sposób weryfikacji i oceny efektów uczenia się osiągniętych przez studenta w ramach poszczególnych form zajęć i dla całego modułu zajęć
Wiedza: zna i rozumie
M_W001 Zna strukturę i działania systemu operacyjnego. ETP1A_W15 Kolokwium
M_W002 Ma wiedzę w zakresie zarządzania procesami, pamięciami i operacjami wejścia wyjścia przez system operacyjny. ETP1A_W11 Kolokwium
M_W003 Ma wiedzę w zakresie zasad ochrony i bezpieczeństwa systemów operacyjnych. ETP1A_W11 Kolokwium
Umiejętności: potrafi
M_U001 Potrafi obsługiwać i pracować w systemie Linux z poziomu konsoli oraz automatyzować pracę z wykorzystaniem skryptów powłoki. ETP1A_U14 Kolokwium
M_U002 Potrafi konfigurować i monitorować linuxpodobne systemy operacyjne za pomocą poznanych narzędzi. ETP1A_U10 Kolokwium
Kompetencje społeczne: jest gotów do
M_K001 Potrafi pracować w zespole. Ma świadomość odpowiedzialności za pracę własną i zespołu, a także jest gotowy podporządkować się zasadom pracy zespołowej. ETP1A_K04 Kolokwium
Liczba godzin zajęć w ramach poszczególnych form zajęć:
SUMA (godz.)
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
56 28 0 28 0 0 0 0 0 0 0 0
Matryca kierunkowych efektów uczenia się w odniesieniu do form zajęć i sposobu zaliczenia, które pozwalają na ich uzyskanie
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Forma zajęć dydaktycznych
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Wiedza
M_W001 Zna strukturę i działania systemu operacyjnego. + - - - - - - - - - -
M_W002 Ma wiedzę w zakresie zarządzania procesami, pamięciami i operacjami wejścia wyjścia przez system operacyjny. + - - - - - - - - - -
M_W003 Ma wiedzę w zakresie zasad ochrony i bezpieczeństwa systemów operacyjnych. + - - - - - - - - - -
Umiejętności
M_U001 Potrafi obsługiwać i pracować w systemie Linux z poziomu konsoli oraz automatyzować pracę z wykorzystaniem skryptów powłoki. - - + - - - - - - - -
M_U002 Potrafi konfigurować i monitorować linuxpodobne systemy operacyjne za pomocą poznanych narzędzi. - - + - - - - - - - -
Kompetencje społeczne
M_K001 Potrafi pracować w zespole. Ma świadomość odpowiedzialności za pracę własną i zespołu, a także jest gotowy podporządkować się zasadom pracy zespołowej. - - + - - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 120 godz
Punkty ECTS za moduł 4 ECTS
Udział w zajęciach dydaktycznych/praktyka 56 godz
Przygotowanie do zajęć 10 godz
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 14 godz
Samodzielne studiowanie tematyki zajęć 40 godz
Szczegółowe treści kształcenia w ramach poszczególnych form zajęć (szczegółowy program wykładów i pozostałych zajęć)
Wykład (28h):

Zajęcia w ramach modułu prowadzone są w postaci wykładu (28 godzin) oraz ćwiczeń laboratoryjnych (28 godzin)

WYKŁADY

1. Wprowadzenie do systemów operacyjnych
Pojęcie systemu operacyjnego; organizacja i architektura systemu komputerowego; struktura i działanie systemu operacyjnego; zarządzanie procesami i zasobami pamięci; systemy wejścia-wyjścia; ochrona i bezpieczeństwo; struktura jądra; środowisko komputerowe

2. System Linux
Filozofia i cechy Linuxa; podstawowe informacje o jądrze; zarządzanie procesami; zarządzanie pamięcią wirtualną; systemy wej-wyj; system plików; komunikacja między procesami

3. Procesy i wątki
Koncepcja procesu; planowanie procesów; działanie procesów; komunikacja międzyprocesowa; modele wielowątkowości; biblioteki wątków; pule wątków

4. Synchronizacja procesów
Sekcja krytyczna; sprzętowa synchronizacja; semafory; monitory; klasyczne problemy synchronizacji

5. Procesy w systemie Linux
Model procesu; procesy i wątki; synchronizacja jądra; planowanie procesów; wywołania systemowe związane z planowaniem procesów.

6. Pamięć główna, wirtualna
Stronicowanie procesu; przydział ciągły pamięci; segmentacja i stronicowanie; przykłady zarządzania pamięcią; stronicowanie na żądanie; kopiowanie przy zapisie; zastępowanie stron; przydział ramek; szamotanie.

7. Zarządzanie pamięcią w systemie Linux
Zarządzanie pamięcią fizyczną; pamięć wirtualna; wykonywanie i ładowanie programów; wywołania systemowe i funkcje powłoki

8. Pamięć pomocnicza (masowa)
Struktura dysku; podłączanie dysku; planowanie i zarządzanie dyskiem

9. Interfejs i implementacja systemu plików
Pojęcie pliku; metody dostępu; struktura katalogu i dysku; montowanie systemu plików; dzielenie plików; implementacja pliku i katalogu; metody przydziału; zarządzanie wolną przestrzenią; efektywność i wydajność.

10. System plików w systemie Linux
Podstawowe pojęcia; wirtualny system plików; system plików; wywołania systemowe i funkcje powłoki

11. Systemy wejścia-wyjścia
Sprzęt wejścia-wyjścia; użytkowy interfejs wejścia-wyjścia; podsystem wejścia-wyjścia w jądrze; przekształcanie wywołań wejścia-wyjścia; strumienie.

12. Systemy wej-wyj w systemie Linux
Urządzenia blokowe; urządzenia znakowe; urządzenia sieciowe; sterowniki i operacje wej-wy

13.Ochrona i bezpieczeństwo
Cele i zasady ochrony; kontrola dostępu; zagrożenia programowe i systemowe; klasyfikacja poziomu bezpieczeństwa; zapory ochronne; bezpieczeństwo w systemie Linux.

Ćwiczenia laboratoryjne (28h):

1. Zajęcia wstępne
2. Ćw. 1-Zapoznanie z systemem i środowiskiem Debian
3. Ćw. 2-Praca w konsoli- podstawowe polecenia powłoki
4. Ćw. 3-Praca w konsoli- operacje na plikach, kompilacja programów
5. Kolokwium z Ćw. 2 – 4
6. Ćw. 4-Skrypty powłoki bash I
7. Ćw. 5-Skrypty powłoki bash II
8. Ćw. 6- Potoki i filtry
9. Kolokwium z Ćw. 6 – 8
10. Ćw.7-Procesy, wątki i sygnały
11. Ćw.8-Monitorowanie procesów i pamięci
12. Ćw. 9- Narzędzia sieciowe
13. Kolokwium z Ćw. 10– 12
14. Kolokwium poprawkowe, zaliczenie laboratorium

Pozostałe informacje
Metody i techniki kształcenia:
  • Wykład: Treści prezentowane na wykładzie są przekazywane w formie prezentacji multimedialnej w połączeniu z klasycznym wykładem tablicowym wzbogaconymi o pokazy odnoszące się do prezentowanych zagadnień.
  • Ćwiczenia laboratoryjne: W trakcie zajęć laboratoryjnych studenci samodzielnie rozwiązują zadany problem praktyczny, dobierając odpowiednie narzędzia. Prowadzący stymuluje grupę do refleksji nad problemem, tak by otrzymane wyniki miały wysoką wartość merytoryczną.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

Zaliczenie przedmiotu
Warunkiem zaliczenia przedmiotu jest pozytywne zaliczenie laboratorium oraz testu z treści prezentowanych na wykładzie.

Zaliczenie laboratorium
Warunkiem koniecznym uzyskania pozytywnej oceny końcowej z laboratorium jest:
a) wykonanie wszystkich ćwiczeń laboratoryjnych i uzyskanie minimum 50 % punktów z kolokwiów,
b) prezentacja rozwiązań zadań problemowych na zajęciach i uzyskanie minimum 50 % punktów za rozwiązanie zadań.
Ocena zaliczeniowa z laboratorium jest wyliczana na podstawie punktów zgodnie z Regulaminem Studiów.

Szczegółowe warunki zaliczenia określa “Regulamin – zasady oceniania i zaliczenia”, który omawiany jest na pierwszych zajęciach laboratoryjnych.

Zasady udziału w zajęciach:
  • Wykład:
    – Obecność obowiązkowa: Nie
    – Zasady udziału w zajęciach: Studenci uczestniczą w zajęciach poznając kolejne treści nauczania zgodnie z syllabusem przedmiotu. Studenci winni na bieżąco zadawać pytania i wyjaśniać wątpliwości. Rejestracja audiowizualna wykładu wymaga zgody prowadzącego.
  • Ćwiczenia laboratoryjne:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: Studenci wykonują ćwiczenia laboratoryjne zgodnie z materiałami udostępnionymi przez prowadzącego. Student jest zobowiązany do przygotowania się w przedmiocie wykonywanego ćwiczenia, co może zostać zweryfikowane kolokwium w formie ustnej lub pisemnej. Zaliczenie zajęć odbywa się na podstawie zaprezentowania rozwiązania postawionego problemu. Zaliczenie modułu jest możliwe po zaliczeniu wszystkich zajęć laboratoryjnych.
Sposób obliczania oceny końcowej:

Ocena końcowa jest średnią ważoną: 75% oceny z laboratorium i 25 % z testu.

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

Obecność na zajęciach laboratoryjnych jest obowiązkowa. Nieobecności na zajęciach i ich usprawiedliwianie będzie traktowane zgodnie z Regulaminem Studiów.
Nieobecność na ćwiczenie należy odrobić najpóźniej do końca zajęć semestru.

Wymagania wstępne i dodatkowe, z uwzględnieniem sekwencyjności modułów :

Znajomość podstaw programowania.

Zalecana literatura i pomoce naukowe:

1.William Stallings, „Systemy operacyjne. Architektura, funkcjonowanie i projektowanie ”, Helion 2018
2. Andrew S. Tanenbaum, “Systemy operacyjne”, Helion 2010
3. Glass Graham, Ables King, “Linux dla programistów i użytkowników” Helion, 2007
4. William E. Shotts, “Linux : wprowadzenie do wiersza poleceń”, Helion 2015
5. Brendan Gregg “Wydajne systemy komputerowe : przewodnik dla administratorów systemów lokalnych i w chmurze” Helion 2014

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

Nie podano dodatkowych publikacji

Informacje dodatkowe:

Zajęcia są prowadzone z wykorzystaniem innowacyjnych metod dydaktycznych opracowanych w projekcie POWR.03.04.00-00-D002/16, realizowanym w latach 2017-2019 na Wydziale Informatyki, Elektroniki i Telekomunikacji  w ramach Programu Operacyjnego Wiedza Edukacja Rozwój 2014-2020.