Kierunek INFORMATYKA Przedmiot: SYSTEMY OPERACYJNE Czas trwania: semestr IV Przedmiot: obowiązkowy Język wykładowy: polski Rodzaj zajęć Prowadzący Liczba godzin Tryb zaliczania Wykład prof. F. Seredyński mgr Z. Młynarski 30 Egzamin Laboratorium mgr P. Świtalski mgr J. Gajc 30 Zaliczenie Punkty ECTS 6 POZIOM Warunkiem dopuszczenia do udziału w zajęciach jest wcześniejsze uzyskanie zaliczenia z następujących przedmiotów: Architektura komputerów Programowanie ZAŁOŻENIA I CELE Celem wykładu jest przedstawienie ogólnych zasad budowy i funkcjonowania współczesnych systemów operacyjnych, a także zapoznanie się z najbardziej popularnymi systemami operacyjnymi. Celem laboratorium jest poszerzenie wiadomości nabytych w ramach wykładu oraz nabycie praktycznych umiejętności w zakresie obsługi i konfiguracji systemów operacyjnych. 1. Wprowadzenie Podstawowe definicje Ewolucja systemów operacyjnych WYKŁAD 2. Struktury systemów komputerowych Ogólna architektura systemu Struktura wejścia-wyjścia Struktura i hierarchia pamięci Ochrona sprzętowa 3. Struktury systemów operacyjnych (1) Składowe systemu Usługi systemu operacyjnego Funkcje systemowe Programy systemowe 4. Struktury systemów operacyjnych (2)
Struktura systemu Maszyny wirtualne Projektowanie i implementacja systemu Generowanie systemu 5. Procesy Koncepcja procesu Stan procesu Blok kontrolny procesu Planowanie procesów 6. Wątki Struktura wątku Wątki w systemach Solaris 2, Mach 2, Windows NT Komunikacja międzyprocesowa 7. Planowanie przydziału procesora Pojęcia podstawowe Cykl faz procesora i wejścia-wyjścia Planista i planowanie Kryteria planowania 8. Algorytmy planowania Planowanie metodą FCFS Planowanie metoda najpierw najkrótsze zadanie Planowanie priorytetowe Planowanie rotacyjne Ocena algorytmów 9. Zarządzanie pamięcią Wiązanie adresów, ładowanie i konsolidacja Logiczna i fizyczna przestrzeń adresowa Wymiana Przydział ciągły 10.Zarządzanie pamięcią (2) Stronicowanie Segmentacja Segmentacja ze stronicowaniem 11.Pamięć wirtualna Koncepcja pamięci wirtualnej Stronicowanie na żądanie Zastępowanie stron 12.Algorytmy zastępowania stron Algorytm FIFO Algorytm optymalny Algorytm LRU
Szamotanie 13.Interfejs systemu plików Pojęcie pliku Metody dostępu Struktura katalogowa Ochrona 14.Implementacja systemu plików Budowa systemu plików Metody przydziału miejsca na dysku 15.Implementacja systemu plików (2) Implementacja katalogu ZALICZENIE WYKŁADU Zaliczenie wykładu odbywa się na podstawie sumy punktów uzyskanych z kolokwium odbywającego się w połowie semestru (30 punktów) oraz egzaminu pisemnego końcowego (70 punktów). W wyjątkowych okolicznościach zamiast egzaminu pisemnego może być przeprowadzony egzamin ustny. Warunkiem zaliczenia przedmiotu jest uzyskanie minimum 51% punktów z maksymalnej liczby punktów, jakie można uzyskać z kolokwium i egzaminu końcowego. Schemat oceniania na podstawie liczby uzyskanych punktów jest następujący (w nawiasach ocena wg skali ECTS): Zakres Ocena Zakres Ocena 0-50 pkt. ndst (F) 71-80 pkt. db (C) 51-60 pkt. dst (E) 81-90 pkt. db+ (B) 61-70 pkt. dst+(d) 91-100 pkt. bdb (A) LABORATORIUM 1. Omówienie zasad realizacji ćwiczeń laboratoryjnych. Model warstwowy systemu operacyjnego (SO), jądro SO, powłoka. wstęp do systemu operacyjnego, wprowadzenie do interpretatorów powłoki, omówienie pojęcia jądra systemu operacyjnego,
podstawowe polecenia powłoki, edytor vi. 2. System plików. Struktura katalogowa systemu Linux. Prawa dostępu do plików / katalogów. rodzaje systemów plików, struktura katalogowa systemu Linux, montowanie urządzeń, operacje na plikach i katalogach: tworzenie, kopiowanie, zmiana praw dostępu do plików / katalogów. 3. Procesy i shell. Polecenia związane z procesami w systemie operacyjnym. Polecenia wbudowane w powłokę i zewnętrzne. wyjaśnienie pojęcia proces, identyfikator procesu, przedstawienie działania procesów w powłoce bash, proces w tle, zmiana stanu procesu, status wyjścia wykonania polecenia, dowiązania miękkie i twarde. 4. Polecenia filtrujące strumień danych. Porównywanie zawartości plików. Używanie skrótów w poleceniach. polecenia filtrujące grep, head, tail, clear, wc, porównywanie zawartości plików, kopiowanie katalogów, używanie skrótowych nazw ścieżek. 5. Operacje na plikach, problem nadpisywania plików. Przeszukiwanie struktury katalogowo-plikowej. Filtry, metaznaki i substytucja nazw. problem nadpisywania plików, zmienna noclobber i noglob, polecenie tee, potoki, przeszukiwanie katalogów i plików przy pomocy polecenia find, filtry i metaznaki. 6. Cytowania, proste skrypty. Polecenia tr i mail. metaznaki używane podczas cytowania, pierwszy skrypt powłoki bash, zmiana praw, uruchomienie, polecenie tr, obsługa poczty elektronicznej za pomocą polecenia mail. 7. Zmienne środowiskowe i definiowane przez użytkownika. Polecenia umask, set, env, unset, export, stty, alias, unalias. zmienne środowiskowe systemu operacyjnego, zmienne definiowane przez użytkownika, modyfikacja zmiennych i zakres zmiennych, edycja parametrów początkowych powłoki, zmienne jako skrótowe nazwy ścieżek.
8. Modyfikatory zmiennych, zakres zmiennych, zmienne specjalne i pozycyjne. Funkcje. zasady używania modyfikatorów zmiennych, zmienne specjalne i pozycyjne, zmienne tylko do odczytu, polecenie eval, funkcje. 9. Deskryptory plików, standardowe wejście, wyjście i błąd. Dokument "odtąd - dotąd". Arytmetyka stałoprzecinkowa. wyjaśnienie pojęcia deskryptora plików, przykłady działania deskryptorów, ćwiczenia z deskryptorami plików, dokument odtąd dotąd, polecenia exec, read, expr. 10.Wyrażenia warunkowe i testowanie plików. Struktury if...then...fi, if/else. polecenie test, exit, struktury warunku if...then...fi, if/else, ćwiczenia z użyciem powyższych struktur. 11.Struktura warunkowa if/elif/else. Instrukcja case. struktura warunkowa if/elif/else, instrukcja case i jej użycie, ćwiczenia z użyciem powyższych struktur. 12.Struktury pętli for, while oraz until. struktura pętli for i jej użycie, struktury pętli while oraz until i ich użycie, ćwiczenia z użyciem powyższych struktur. 13.Polecenia shift, brake, true, continue, line, sort. argumenty skryptu a polecenie shift, polecenia sterujące skryptem, skierowanie wyjścia z pętli do pliku, polecenie line, skierowanie wyjścia z pętli do polecenia, polecenie sort. 14.Język przetwarzania tekstów awk składnia polecenia awk, mechanizm działania awk, wybieranie wierszy do przetwarzania wzorce, wzorce z wyrażeniami regularnymi 15.Program zarządzający make zagadnienie wielu plików źródłowych, składnia plików makefile, opcje i parametry polecenia makefile
ZALICZENIE LABORATORIUM Zajęcia laboratoryjne są obowiązkowe. Trzy nieusprawiedliwione nieobecności na zajęciach wykluczają możliwość ich zaliczenia. Wszystkie zajęcia laboratoryjne (za wyjątkiem pierwszego) są oceniane. Zaliczenie zajęć laboratoryjnych następuje na podstawie ocen cząstkowych uzyskanych za poszczególne zajęcia oraz obronionego indywidualnego projektu. W przypadku nieobecności studenta na laboratorium sposób ich odpracowania określa osoba odpowiedzialna za kurs i jest on podany na pierwszych zajęciach. Na każdych ćwiczeniach prowadzący podaje zakres zadań dla studentów do przygotowania na następne zajęcia (o charakterze praktycznym lub teoretycznym) i wytyczne do ich realizacji. Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0 do 10 pkt. Łącznie student za 14 zajęć może uzyskać od 0 do 140 pkt. Łączna ocena punktowa zajęć laboratoryjnych zawiera się w granicach 0-140 pkt. Ocena końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach ocena wg skali ECTS): Zakres Ocena Zakres Ocena 0-71 pkt. ndst (F) 99-112 pkt. db (C) 72-84 pkt. dst (E) 113-126 pkt. db+ (B) 85-98 pkt. dst+(d) 127-140 pkt. bdb (A) LITERATURA 1. A. Silberschatz, P. B. Galvin, Podstawy systemów operacyjnych, WNT, 2000 2. E. Quigley, UNIX Shells by Examples, Prentice Hall PTR, 1997 3. D. Gilly, UNIX in a Nutschell, O Reilly, 1998 4. S. Strobel, T. Uhl, Linux, WNT, 1997 5. W. Stallings, Operating Systems, Prentice Hall, 1995 6. M. J. Rochkind, Programowanie w systemie UNIX dla zaawansowanych, WNT, Warszawa, 1993 7. M. Kaniewski, K. Wieremejczyk, Po Prostu UNIX, Mikom, 1992