Architektura i administracja systemów operacyjnych Wykład 1 Jan Tuziemski Część slajdów to zmodyfiowane slajdy ze strony os-booi.com copyright Silberschatz, Galvin and Gagne, 2013
Informacje wstępne Prowadzący Wykład i laboratoria: Jan Tuziemski Zaliczenie Wykład: zaliczenie pisemne (ostatnie zajęcia) minimum 56%, waga 50% Laboratoria minimum 56%, waga 50%
Informacje wstępne Ocena końcowa Punkty z laboratoriów i wykładów (po 50%) Konsultacje Wykład: 412GB piątek
Informacje wstępne Literatura Abraham Silberschatz, Peter B. Galvin, "Podstawy Systemów operacyjnych" Materiały Slajdy z wykładów dostępne na platformie enauczanie (kurs Administaracja i architektura systemów operacyjnych) Tam też będą umieszczane zadania na laboratoria
Wstęp Czym jest system operacyjny?
Wstęp Czym jest system operacyjny? Program pośredniczący między użytkownikiem a sprzętem
Wstęp Jakie cele ma system operacyjny?
Wstęp Jakie cele ma system operacyjny? Wykonywać programy użytkowników i rozwiązywać ich problemy Czynić system komputerowy wygodnym w użyciu Używać sprzętu w najbardziej efektywny sposób Czy wszystkie te cele da się pogodzić?
Wstęp Czy wszystkie te cele da się pogodzić? Potrzebny kompromis
Struktura systemu komputerowego Główne składniki systemów komputerowych:
Struktura systemu komputerowego Główne składniki systemów komputerowych: 1. Sprzęt 2. System operacyjny 3.Programy użytkowników 4. Użytkownicy
Struktura systemu komputerowego
Definicja systemu operacyjnego Trudno jest podać jednoznaczną definicję systemu operacyjnego. Definicja operacyjna Zależy od punktu widzenia (patrz poprzedni schemat)
Definicja systemu operacyjnego Z punktu widzenia użytkownika: System operacyjny jest programem sterującym (ang. control program) Nadzoruje wykonanie programów zapobiegając błędom i chroniąc przed niewłaściwym użyciem komputera
Definicja systemu operacyjnego Z punktu widzenia sprzętu: System operacyjny jest dystrybutorem zasobów (ang. resource allocator) Zarządza zasobami Zapewnia sprawiedliwy i efektywny dostęp do zasobów
Definicja systemu operacyjnego Inne próby definicji: Wszystko co otrzymujemy od dostawcy systemu operacyjnego
Definicja systemu operacyjnego Inne próby definicji: Program ciągle działający na komputerze jądro (ang. Kernel) Pozostałe programy: programy systemowe aplikacje
Uruchomienie komputera Program rozruchowy (ang. Bootstrap program) ładowany przy włączeniu/restarcie Przechowywany w pamięci ROM lub EEPROM (frimware) Inicjuje wszystkie komponenty systemu Ładuje jądro systemu i wywołuje jego włączenie
Działanie komputera Nowoczesne stsemy komputerowe są sterowane przerwaniami Przerwania pochodzą od sprzętu lub oprogramowania Sprzęt: przerwanie przy pomocy szyny systemowej Oprogramowanie: najcześciej przy pomocy wywołania systemowego Wyjątek jest przerwaniem wygenerowanym programowo przez błąd bądź użytkownika
Organizacja systemu komputerowego CPU i sterowniki urządzeń konkurują o pamięć
Przerwania Przerwanie powoduje przekazanie kontroli do programu obsługi przerwania (ang. interrupt service routine) Może to odbywać się np. Przez sprawdzenie ospiu przerwania
Przerwania Zazwyczaj tablica wskaźników do procedur obsługujących przerwanie (wektor przerwań) Umieszczony w określonym miejscu pamięci Jednoznacznie indeksowany np. numerem urządzenia
Przerwania Źródło: http://www.tcd.ie/engineering/courses/bai/js_subjects/3d1/documents/handouts/exvectab.pdf
Działanie systemu komputerowego Urządzenia I/O( WE/WYJ i CPU) działają równolegle Każde urządzenie kontrolowane jest przez dedykowany sprzętowy sterownik urządzeń (ang. Device controllwe) Każdy sterownik ma dedykowany bufor
Działanie systemu komputerowego CPU przenosi dane pomiędzy pamięcią a buforami Operacja I/O odbywa się między buforem a urządzeniem Sterownik komunikuje się z CPU za pomocą przerwań
Przerwanie Adresy instrukcji, których wykonanie jest wstrzymane na skutek przerwania, muszą być zapisane (stos).
Przerwanie Stan CPU jest zachowywany przez zapis rejestru System operacyjny ustala rodzaj przerwania: Wektorowa obsługa przerwania (urządzenie) Odpytywanie (ang. Polling) (system)
Przerwanie
Obsługa operacji I/O Synchroniczna: Program użytkownika musi czekać na zakończenie operacji I/O (wady: jedna operacja wykonywana na raz )
Obsługa operacji I/O Asynchroniczna Program użytkownika zostaje wykonywany od razu po rozpoczęciu operacji I/O Usługa systemowa: żadanie do OS dotyczące czekania na wykonanie operacji I/O Tablica przechowująca istotne informacje o urządzeniach I/O OS obsługuje przerwania przy pomocy tablicy
Struktura pamięci 1. Pamięć główna jedyna duża pamięć do której dostęp ma CPU RAM - swobodny dostęp Pamięć ulotna (wymaga zasilania). 2.Pamięć dodatkowa (rozszerzenie pamięci głównej o pamięć nieulotną): Dyski (twarde i SSD)
Hierarchia pamięci Pamięć może być uszeregowana przez: Szybkość dostępu Koszt Ulotność Buforowanie przenoszenie danych do pamięci o szybszym czasie dostępu Sterownik urządzenia zapewnia kumunikację z OS
Hierarchia pamięci
Przechowywanie podręczne (Buforowanie) Dokonywane w wielu miejscach Potrzebne dane/informacje przenoszone czasowo do szybkiej pamięci Potrzebne zarządzanie pamięcią Pamięć szybsza może być zbyt mała by przechować buforowane dane
Przechowywanie podręczne Potrzeba zachowania spójności (w środowiskach wielozadaniawych)
Bezpośredni dostęp do pamięci Stosowany w przypadku szybkich (w porównaniu z główną pamięcią) urządzeń I/O Sterownik urządzenia pomija CPU
Bezpośredni dostęp do pamięci