Nazwa modułu: Projektowanie i użytkowanie systemów operacyjnych Rok akademicki: 2013/2014 Kod: EAR-2-324-n Punkty ECTS: 5 Wydział: Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Kierunek: Automatyka i Robotyka Specjalność: - Poziom studiów: Studia II stopnia Forma i tryb studiów: - Język wykładowy: Polski Profil kształcenia: Ogólnoakademicki (A) Semestr: 3 Strona www: Osoba odpowiedzialna: Mrówka Rafał (Rafal.Mrowka@agh.edu.pl) Osoby prowadzące: Mrówka Rafał (Rafal.Mrowka@agh.edu.pl) Opis efektów kształcenia dla modułu zajęć Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń) Wiedza M_W001 Zna podstawowe pojęcia dotyczące systemów komputerowych i systemów operacyjnych. AR2A_U11 M_W002 Zna definicję procesu oraz wątku w kontekście systemu operacyjnego. Zna metody sterowania wykonaniem procesów i wątków. AR2A_U08 M_W003 Zna zasady przetwarzania wieloprocesorowego, symetryczne przetwarzanie wieloprocesorowe SMP i mikrojądra. Rozumie złożoność sterowania współbieżnością. AR2A_U11 M_W004 Zna mechanizmy zarządzania pamięcią, partycjonowania statycznego oraz dynamicznego. AR2A_U12 M_W005 Zna strukturę oraz charakterystykę rozproszonych systemów komputerowych oraz technologii przetwarzania rozproszonego. AR2A_U08 Umiejętności M_U001 Potrafi posługiwać się poleceniami powłok systemu operacyjnego UNIX oraz Windows. AR2A_U21 Wykonanie ćwiczeń 1 / 5
M_U002 Potrafi opracować oraz uruchomić sekwencję startującą (bootloader) systemu operacyjnego na platformę x86 oraz ARM. AR2A_U09 M_U003 Potrafi wykorzystywać oprogramowanie sterowników oraz płyt głównych w podstawowych operacjach wejścia/wyjścia. AR2A_U09 M_U004 Potrafi opracować oraz uruchomić prosty system operacyjny na platformę x86. AR2A_U07 Matryca efektów kształcenia w odniesieniu do form zajęć Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Forma zajęć Wykład audytoryjne laboratoryjne projektowe Konwersatori um seminaryjne praktyczne Inne terenowe E-learning Wiedza M_W001 M_W002 M_W003 M_W004 M_W005 Umiejętności M_U001 Zna podstawowe pojęcia dotyczące systemów komputerowych i systemów operacyjnych. Zna definicję procesu oraz wątku w kontekście systemu operacyjnego. Zna metody sterowania wykonaniem procesów i wątków. Zna zasady przetwarzania wieloprocesorowego, symetryczne przetwarzanie wieloprocesorowe SMP i mikrojądra. Rozumie złożoność sterowania współbieżnością. Zna mechanizmy zarządzania pamięcią, partycjonowania statycznego oraz dynamicznego. Zna strukturę oraz charakterystykę rozproszonych systemów komputerowych oraz technologii przetwarzania rozproszonego. Potrafi posługiwać się poleceniami powłok systemu operacyjnego UNIX oraz Windows. 2 / 5
M_U002 M_U003 M_U004 Potrafi opracować oraz uruchomić sekwencję startującą (bootloader) systemu operacyjnego na platformę x86 oraz ARM. Potrafi wykorzystywać oprogramowanie sterowników oraz płyt głównych w podstawowych operacjach wejścia/wyjścia. Potrafi opracować oraz uruchomić prosty system operacyjny na platformę x86. Treść modułu zajęć (program wykładów i pozostałych zajęć) Wykład Wprowadzenie do systemów komputerowych i systemów operacyjnych Wprowadzenie podstawowych pojęć dotyczących systemów komputerowych oraz systemów operacyjnych. Moduły systemu operacyjnego. Podstawowa kwalifikacja systemów operacyjnych. Procesy oraz wątki Definicja procesu. Sterowanie procesami. Stany procesów. Realizacja procesów w systemach Unix SVR4 praz Windows NT. Definicja wątku. Wątki jądra. Architektury wielowątkowe. Szeregowanie zadań: Szeregowanie jednoprocesorowe. Szeregowanie wieloprocesorowe. Szeregowanie czasu rzeczywistego przykład RT Linux, QNX. Przetwarzanie wieloprocesorowe Przetwarzanie wieloprocesorowe, symetryczne przetwarzanie wieloprocesorowe SMP i mikrojądra. Opis realizacji wątków w systemach Solaris, Linux oraz Windows NT. Sterowanie współbieżnością: Semafory. Monitory. Impas (deadlock) oraz zagłodzenie. Zarządzanie pamięcią Zarządzanie pamięcią: Partycjonowanie statyczne oraz dynamiczne Segmentacja Stronicowanie Pamięć wirtualna przykłady Solaris, Linux oraz Windows Operacje wejścia/wyjścia Zarządzanie operacjami we/wy Urządzenia we/wy. Szeregowanie operacji dyskowych RAID. Operacje we/wy w systemie Linux oraz Windows NT. Systemy zarządzania plikami. Organizacja i dostęp do plików. Zarządzanie pamięcią pomocniczą. System plików NTFS (Windows) Systemy rozproszone 3 / 5
Rozproszone systemy komputerowe. Sieci komputerowe. Technologie przetwarzania rozproszonego. Klastry: Windows Cluster Server Sun Cluster Beowulf, klastry linuksowe Zarządzanie procesami. Bezpieczeństwo. laboratoryjne Powłoka systemu UNIX - bash Podstawowe polecenia powłoki bash. Zarządzanie systemem plików. Zarządzanie procesami. Bezpieczeństwo. Skrypty powłoki bash Opracowanie oraz implementacja skryptów powłoki bash. Instrukcje warunkowe oraz pętle. Zarządzanie systemem operacyjnym oraz połączeniami sieciowymi. Sekwencja uruchomienia systemu operacyjnego na platformie x86 Opracowanie własnego bootloadera systemu operacyjnego dla platformy x86. Różnica bootstrap oraz bootloader. Sekwencja uruchomienia dla platform wbudowanych dla platformy ARM. Wykorzystanie systemu BIOS Wykonywanie podstawowych operacji IO z wykorzystaniem systemu BIOS. Wywoływanie przerwań sprzętowych oraz programowych. Budowa prostego systemu operacyjnego Modyfikacja edukacyjnego systemu operacyjnego Toy II. Uruchomienie oraz testy. Sposób obliczania oceny końcowej 1.Podstawowym warunkiem zaliczenia jest pozytywny wyniki egzaminu końcowego. 2. końcowych składa się z części praktycznej realizowanej na stanowisku komputerowym oraz części ustnej. 3.Podejście do egzaminu możliwe po zaliczeniu pozytywnym laboratorium. 4.Do pozytywnego zaliczenia laboratorium student musi zaliczyć wszystkie ćwiczenia laboratoryjne oraz uzyskać pozytywną ocenę z dwóch kolokwiów zaliczeniowych. 5.Ocena końcowa jest wyznaczana na podstawie oceny z egzaminu końcowego. Wymagania wstępne i dodatkowe Języki programowania C/C++, kompilator, konsolidator, maszyna wirtualna. Zalecana literatura i pomoce naukowe 1.William Stallings, Systemy operacyjne Struktura i zasady budowy 2.San Mateo, Computer Architecture: A Quantitative Approach 3.William Stallings, Organizacja i Architektura Systemu Komputerowego 4.G. Nutt, Operating Systems. A Modern Perspective. wydanie 2, Addison Wesley Longman, Inc. 5.A. Silberschatz, J.L. Peterson, G. Gagne, Podstawy systemów operacyjnych. WNT, Warszawa 2005. Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu Nie podano dodatkowych publikacji Informacje dodatkowe Brak 4 / 5
Nakład pracy studenta (bilans punktów ECTS) Forma aktywności studenta Udział w wykładach Przygotowanie do zajęć Udział w ćwiczeniach laboratoryjnych lub kolokwium zaliczeniowe Samodzielne studiowanie tematyki zajęć Przygotowanie sprawozdania, pracy pisemnej, prezentacji, itp. Sumaryczne obciążenie pracą studenta Punkty ECTS za moduł Obciążenie studenta 16 godz 30 godz 16 godz 30 godz 15 godz 20 godz 127 godz 5 ECTS 5 / 5