Systemy operacyjne
 
Kod kursu:
 INEK 016[W], INEK 033[L]
 Autor przedmiotu: dr inż. Dariusz Caban
 Zespół dydaktyczny: 

 dr inż. Henryk Maciejewski

 dr inż. Katarzyna Nowak
 dr inż. Marek Woda

 

 
Wymiar godzin
(tygodniowo)
WykładĆwiczeniaLaboratoriumProjektSeminarium
20110

 

 

 

Opis kursu:

 

Budowa i funkcje systemów operacyjnych. System plików. Procesy i ich przełączanie. Organizacja pamięci. Pamięć wirtualna. Synchronizacja i komunikowanie się procesów. Wykład oparty na przykładzie systemu operacyjnego Unix, z uwzględnieniem również systemów plików FAT i NTFS.

Celem zajęć laboratoryjnych jest praktyczna nauka tworzenia skryptów oraz tworzenia programów wielowątkowych w oparciu o bibliotekę phtreads.

 

Systemy operacyjne I - wykład do przedmiotu.

Systemy operacyjne II - zajęcia laboratoryjne i projektowe, realizowane w semestrze następnym (po wykładzie).

Egzamin na zakończenie drugiego semestru z materiału obejmującego wykład i labioratorium (wymagany wpis na Systemy operacyjne 2 - wykład).

 

 

Zawartość tematyczna wykładu:

  • Ogólna budowa systemu operacyjnego : podsystemy, funkcje systemowe, powłoka, klasyfikacja systemów
  • System plików - organizacja pamięci bezpośredniego dostępu, koncepcja pliku, mapy alokacji, fragmentacja, buforowanie
  • System plików - struktura katalogów
  • Systemy plików FAT, VFAT i NTFS
  • System plików Unix (alokacja, katalogi, inode'y, superblok)
  • Funkcje jądra systemu Unix obsługujące buforowanie i systemy plików
  • Pojęcia procesu i wątku, kontekst, stan procesu, algorytmy zarządzania procesami
  • Zarządzanie procesami w systemie Unix
  • Hierarchia procesów, tworzenie, kończenie, sygnały
  • Zarządzanie pamięcią operacyjną: obraz pamięci procesu, segmentacja i stronicowanie, fragmentacja pamięci
  • Pamięć wirtualna, algorytm stronicowania na żądanie (demand paging)
  • Zarządzanie pamięcią w systemie Unix
  • Mechanizmy synchronizacji i komunikacji między procesami, semafory Dijkstry
  • Blokady: warunki występowania, wykrywanie, usuwanie

 

Literatura podstawowa (wykład):

  • A.Silberschatz, J.L.Peterson, P.B.Galvin, Podstawy systemów operacyjnych, WNT

 

Literatura uzupełniająca (wykład):

  • M.J. Bach, Budowa systemu operacyjnego UNIX, WNT
  • A.S.Tanenbaum, Operating System: Design and Implementation, Prentice Hall
  • M. Beck, Linux kernel: jądro systemu, Wyd. RM.

 

Literatura podstawowa (laboratorium i projekt):

  • Siever, E.: Linux - podręcznik użytkownika
  • Wall, Larry i inni: Perl - programowanie, obejmuje Perl 5
  • Christiansen T.: Perl receptury
  • Gray J.S.: Arkana: Komunikacja między procesami w Unixie