Budowa systemów komputerowych -...

Post on 28-Feb-2019

218 views 1 download

Transcript of Budowa systemów komputerowych -...

Budowa systemów komputerowych

dr hab. inż. Krzysztof Patan, prof. PWSZ

Instytut PolitechnicznyPaństwowa Wyższa Szkoła Zawodowa w Głogowie

k.patan@issi.uz.zgora.pl

Współczesny system komputerowy

System komputerowy składa się z jednostki centralnej (procesor,CPU) i pewnej liczby sprzętowych sterowników urządzeńpołączonych wspólną magistralą danych, umożliwiającą kontakt zewspólną pamięcią operacyjną

Pamięćoperacyjna

Sterownikdysku

Sterownikdrukarki

Sterownikpami ci operacyjneję

CPU

Szyna systemowa

Rozpoczęcie pracy

Aby komputer mógł rozpocząć pracę musi nastąpićwykonanie wstępnego programuWstępny program nazywany jest programem rozruchowymOkreśla stan początkowy wszystkich elementów systemu:rejestrów procesora, sterowniki urządzeń i zawartośćpamięciProgram rozruchowy musi zlokalizować i wprowadzić dopamięci jądro systemu operacyjnegoPo załadowaniu odpowiednich komponentów, systemoperacyjny rozpoczyna wykonanie pierwszego procesu (np.init) i zaczyna czekać na wystąpienie jakiegoś zdarzenia

Rozpoczęcie pracy

Aby komputer mógł rozpocząć pracę musi nastąpićwykonanie wstępnego programuWstępny program nazywany jest programem rozruchowymOkreśla stan początkowy wszystkich elementów systemu:rejestrów procesora, sterowniki urządzeń i zawartośćpamięciProgram rozruchowy musi zlokalizować i wprowadzić dopamięci jądro systemu operacyjnegoPo załadowaniu odpowiednich komponentów, systemoperacyjny rozpoczyna wykonanie pierwszego procesu (np.init) i zaczyna czekać na wystąpienie jakiegoś zdarzenia

Rozpoczęcie pracy

Aby komputer mógł rozpocząć pracę musi nastąpićwykonanie wstępnego programuWstępny program nazywany jest programem rozruchowymOkreśla stan początkowy wszystkich elementów systemu:rejestrów procesora, sterowniki urządzeń i zawartośćpamięciProgram rozruchowy musi zlokalizować i wprowadzić dopamięci jądro systemu operacyjnegoPo załadowaniu odpowiednich komponentów, systemoperacyjny rozpoczyna wykonanie pierwszego procesu (np.init) i zaczyna czekać na wystąpienie jakiegoś zdarzenia

Rozpoczęcie pracy

Aby komputer mógł rozpocząć pracę musi nastąpićwykonanie wstępnego programuWstępny program nazywany jest programem rozruchowymOkreśla stan początkowy wszystkich elementów systemu:rejestrów procesora, sterowniki urządzeń i zawartośćpamięciProgram rozruchowy musi zlokalizować i wprowadzić dopamięci jądro systemu operacyjnegoPo załadowaniu odpowiednich komponentów, systemoperacyjny rozpoczyna wykonanie pierwszego procesu (np.init) i zaczyna czekać na wystąpienie jakiegoś zdarzenia

Rozpoczęcie pracy

Aby komputer mógł rozpocząć pracę musi nastąpićwykonanie wstępnego programuWstępny program nazywany jest programem rozruchowymOkreśla stan początkowy wszystkich elementów systemu:rejestrów procesora, sterowniki urządzeń i zawartośćpamięciProgram rozruchowy musi zlokalizować i wprowadzić dopamięci jądro systemu operacyjnegoPo załadowaniu odpowiednich komponentów, systemoperacyjny rozpoczyna wykonanie pierwszego procesu (np.init) i zaczyna czekać na wystąpienie jakiegoś zdarzenia

Działanie systemu komputerowego

Urządzenia wejścia/wyjścia mogą pracować współbieżnieKażdy sterownik urządzenia odpowiada za odpowiedni typurządzeniaKażdy sterownik urządzenia posiada lokalny buforProcesor przesyła dane z/do głównej pamięci do/zlokalnych buforówOperacja wejścia/wyjścia odbywa się pomiędzyurządzeniem, a lokalnym buforem sterownikaSterownik urządzenia informuje procesor o zakończeniuoperacji poprzez wywołanie przerwania

Działanie systemu komputerowego

Urządzenia wejścia/wyjścia mogą pracować współbieżnieKażdy sterownik urządzenia odpowiada za odpowiedni typurządzeniaKażdy sterownik urządzenia posiada lokalny buforProcesor przesyła dane z/do głównej pamięci do/zlokalnych buforówOperacja wejścia/wyjścia odbywa się pomiędzyurządzeniem, a lokalnym buforem sterownikaSterownik urządzenia informuje procesor o zakończeniuoperacji poprzez wywołanie przerwania

Działanie systemu komputerowego

Urządzenia wejścia/wyjścia mogą pracować współbieżnieKażdy sterownik urządzenia odpowiada za odpowiedni typurządzeniaKażdy sterownik urządzenia posiada lokalny buforProcesor przesyła dane z/do głównej pamięci do/zlokalnych buforówOperacja wejścia/wyjścia odbywa się pomiędzyurządzeniem, a lokalnym buforem sterownikaSterownik urządzenia informuje procesor o zakończeniuoperacji poprzez wywołanie przerwania

Działanie systemu komputerowego

Urządzenia wejścia/wyjścia mogą pracować współbieżnieKażdy sterownik urządzenia odpowiada za odpowiedni typurządzeniaKażdy sterownik urządzenia posiada lokalny buforProcesor przesyła dane z/do głównej pamięci do/zlokalnych buforówOperacja wejścia/wyjścia odbywa się pomiędzyurządzeniem, a lokalnym buforem sterownikaSterownik urządzenia informuje procesor o zakończeniuoperacji poprzez wywołanie przerwania

Działanie systemu komputerowego

Urządzenia wejścia/wyjścia mogą pracować współbieżnieKażdy sterownik urządzenia odpowiada za odpowiedni typurządzeniaKażdy sterownik urządzenia posiada lokalny buforProcesor przesyła dane z/do głównej pamięci do/zlokalnych buforówOperacja wejścia/wyjścia odbywa się pomiędzyurządzeniem, a lokalnym buforem sterownikaSterownik urządzenia informuje procesor o zakończeniuoperacji poprzez wywołanie przerwania

Działanie systemu komputerowego

Urządzenia wejścia/wyjścia mogą pracować współbieżnieKażdy sterownik urządzenia odpowiada za odpowiedni typurządzeniaKażdy sterownik urządzenia posiada lokalny buforProcesor przesyła dane z/do głównej pamięci do/zlokalnych buforówOperacja wejścia/wyjścia odbywa się pomiędzyurządzeniem, a lokalnym buforem sterownikaSterownik urządzenia informuje procesor o zakończeniuoperacji poprzez wywołanie przerwania

Przerwania

System operacyjny czeka na wystąpienie jakiegoś zdarzenia,aby je wykonać

Zdarzenia sygnalizowane są za pomocą przerwań, które mogąpochodzić zarówno od sprzętu jak też od oprogramowania

Sprzęt może wygenerować przerwanie w każdej chwili

Oprogramowanie powoduje przerwanie za pomocą specjalnejoperacji nazywanej wywołaniem systemowym

Każdemu przerwaniu odpowiada procedura zajmująca się jegoobsługąProcesor po otrzymaniu sygnału przerwania wstrzymujeaktualnie wykonywaną pracę i przechodzi do ustalonegomiejsca w pamięcimiejsce to zawiera adres początkowy procedury obsługiprzerwanianastępuje wykonanie procedury przerwania, po której procesorwznawia przerwane obliczenia

Przerwania

System operacyjny czeka na wystąpienie jakiegoś zdarzenia,aby je wykonać

Zdarzenia sygnalizowane są za pomocą przerwań, które mogąpochodzić zarówno od sprzętu jak też od oprogramowania

Sprzęt może wygenerować przerwanie w każdej chwili

Oprogramowanie powoduje przerwanie za pomocą specjalnejoperacji nazywanej wywołaniem systemowym

Każdemu przerwaniu odpowiada procedura zajmująca się jegoobsługąProcesor po otrzymaniu sygnału przerwania wstrzymujeaktualnie wykonywaną pracę i przechodzi do ustalonegomiejsca w pamięcimiejsce to zawiera adres początkowy procedury obsługiprzerwanianastępuje wykonanie procedury przerwania, po której procesorwznawia przerwane obliczenia

Przerwania

System operacyjny czeka na wystąpienie jakiegoś zdarzenia,aby je wykonać

Zdarzenia sygnalizowane są za pomocą przerwań, które mogąpochodzić zarówno od sprzętu jak też od oprogramowania

Sprzęt może wygenerować przerwanie w każdej chwili

Oprogramowanie powoduje przerwanie za pomocą specjalnejoperacji nazywanej wywołaniem systemowym

Każdemu przerwaniu odpowiada procedura zajmująca się jegoobsługąProcesor po otrzymaniu sygnału przerwania wstrzymujeaktualnie wykonywaną pracę i przechodzi do ustalonegomiejsca w pamięcimiejsce to zawiera adres początkowy procedury obsługiprzerwanianastępuje wykonanie procedury przerwania, po której procesorwznawia przerwane obliczenia

Przerwania

System operacyjny czeka na wystąpienie jakiegoś zdarzenia,aby je wykonać

Zdarzenia sygnalizowane są za pomocą przerwań, które mogąpochodzić zarówno od sprzętu jak też od oprogramowania

Sprzęt może wygenerować przerwanie w każdej chwili

Oprogramowanie powoduje przerwanie za pomocą specjalnejoperacji nazywanej wywołaniem systemowym

Każdemu przerwaniu odpowiada procedura zajmująca się jegoobsługąProcesor po otrzymaniu sygnału przerwania wstrzymujeaktualnie wykonywaną pracę i przechodzi do ustalonegomiejsca w pamięcimiejsce to zawiera adres początkowy procedury obsługiprzerwanianastępuje wykonanie procedury przerwania, po której procesorwznawia przerwane obliczenia

Przerwania

System operacyjny czeka na wystąpienie jakiegoś zdarzenia,aby je wykonać

Zdarzenia sygnalizowane są za pomocą przerwań, które mogąpochodzić zarówno od sprzętu jak też od oprogramowania

Sprzęt może wygenerować przerwanie w każdej chwili

Oprogramowanie powoduje przerwanie za pomocą specjalnejoperacji nazywanej wywołaniem systemowym

Każdemu przerwaniu odpowiada procedura zajmująca się jegoobsługąProcesor po otrzymaniu sygnału przerwania wstrzymujeaktualnie wykonywaną pracę i przechodzi do ustalonegomiejsca w pamięcimiejsce to zawiera adres początkowy procedury obsługiprzerwanianastępuje wykonanie procedury przerwania, po której procesorwznawia przerwane obliczenia

Przerwania

System operacyjny czeka na wystąpienie jakiegoś zdarzenia,aby je wykonać

Zdarzenia sygnalizowane są za pomocą przerwań, które mogąpochodzić zarówno od sprzętu jak też od oprogramowania

Sprzęt może wygenerować przerwanie w każdej chwili

Oprogramowanie powoduje przerwanie za pomocą specjalnejoperacji nazywanej wywołaniem systemowym

Każdemu przerwaniu odpowiada procedura zajmująca się jegoobsługąProcesor po otrzymaniu sygnału przerwania wstrzymujeaktualnie wykonywaną pracę i przechodzi do ustalonegomiejsca w pamięcimiejsce to zawiera adres początkowy procedury obsługiprzerwanianastępuje wykonanie procedury przerwania, po której procesorwznawia przerwane obliczenia

Przerwania są ważnym elementem architektury komputera

Przerwania muszą być obsługiwane szybko. Liczba możliwychprzerwań jest znana z góry, więc można posługiwać się tablicąwskaźników do procedur obsługujących przerwania

Tablica wskaźników nazywana jest wektorem przerwań

Ważny element – należy przechować adres przerwanegowskutek przerwania rozkazu (najczęściej stos systemowy). Poobsłudze przerwania następuje pobranie adresu powrotnego iwznowienie przerwanych obliczeń

Nowoczesne systemy operacyjne są sterowane przerwaniami

Zdarzenia są sygnalizowane przerwaniami lub tzw. pułapkami

Pułapka (wyjątek) jest rodzajem przerwania generowanymprzez oprogramowanie

Przerwania są ważnym elementem architektury komputera

Przerwania muszą być obsługiwane szybko. Liczba możliwychprzerwań jest znana z góry, więc można posługiwać się tablicąwskaźników do procedur obsługujących przerwania

Tablica wskaźników nazywana jest wektorem przerwań

Ważny element – należy przechować adres przerwanegowskutek przerwania rozkazu (najczęściej stos systemowy). Poobsłudze przerwania następuje pobranie adresu powrotnego iwznowienie przerwanych obliczeń

Nowoczesne systemy operacyjne są sterowane przerwaniami

Zdarzenia są sygnalizowane przerwaniami lub tzw. pułapkami

Pułapka (wyjątek) jest rodzajem przerwania generowanymprzez oprogramowanie

Przerwania są ważnym elementem architektury komputera

Przerwania muszą być obsługiwane szybko. Liczba możliwychprzerwań jest znana z góry, więc można posługiwać się tablicąwskaźników do procedur obsługujących przerwania

Tablica wskaźników nazywana jest wektorem przerwań

Ważny element – należy przechować adres przerwanegowskutek przerwania rozkazu (najczęściej stos systemowy). Poobsłudze przerwania następuje pobranie adresu powrotnego iwznowienie przerwanych obliczeń

Nowoczesne systemy operacyjne są sterowane przerwaniami

Zdarzenia są sygnalizowane przerwaniami lub tzw. pułapkami

Pułapka (wyjątek) jest rodzajem przerwania generowanymprzez oprogramowanie

Przerwania są ważnym elementem architektury komputera

Przerwania muszą być obsługiwane szybko. Liczba możliwychprzerwań jest znana z góry, więc można posługiwać się tablicąwskaźników do procedur obsługujących przerwania

Tablica wskaźników nazywana jest wektorem przerwań

Ważny element – należy przechować adres przerwanegowskutek przerwania rozkazu (najczęściej stos systemowy). Poobsłudze przerwania następuje pobranie adresu powrotnego iwznowienie przerwanych obliczeń

Nowoczesne systemy operacyjne są sterowane przerwaniami

Zdarzenia są sygnalizowane przerwaniami lub tzw. pułapkami

Pułapka (wyjątek) jest rodzajem przerwania generowanymprzez oprogramowanie

Przerwania są ważnym elementem architektury komputera

Przerwania muszą być obsługiwane szybko. Liczba możliwychprzerwań jest znana z góry, więc można posługiwać się tablicąwskaźników do procedur obsługujących przerwania

Tablica wskaźników nazywana jest wektorem przerwań

Ważny element – należy przechować adres przerwanegowskutek przerwania rozkazu (najczęściej stos systemowy). Poobsłudze przerwania następuje pobranie adresu powrotnego iwznowienie przerwanych obliczeń

Nowoczesne systemy operacyjne są sterowane przerwaniami

Zdarzenia są sygnalizowane przerwaniami lub tzw. pułapkami

Pułapka (wyjątek) jest rodzajem przerwania generowanymprzez oprogramowanie

Przerwania są ważnym elementem architektury komputera

Przerwania muszą być obsługiwane szybko. Liczba możliwychprzerwań jest znana z góry, więc można posługiwać się tablicąwskaźników do procedur obsługujących przerwania

Tablica wskaźników nazywana jest wektorem przerwań

Ważny element – należy przechować adres przerwanegowskutek przerwania rozkazu (najczęściej stos systemowy). Poobsłudze przerwania następuje pobranie adresu powrotnego iwznowienie przerwanych obliczeń

Nowoczesne systemy operacyjne są sterowane przerwaniami

Zdarzenia są sygnalizowane przerwaniami lub tzw. pułapkami

Pułapka (wyjątek) jest rodzajem przerwania generowanymprzez oprogramowanie

Przerwania są ważnym elementem architektury komputera

Przerwania muszą być obsługiwane szybko. Liczba możliwychprzerwań jest znana z góry, więc można posługiwać się tablicąwskaźników do procedur obsługujących przerwania

Tablica wskaźników nazywana jest wektorem przerwań

Ważny element – należy przechować adres przerwanegowskutek przerwania rozkazu (najczęściej stos systemowy). Poobsłudze przerwania następuje pobranie adresu powrotnego iwznowienie przerwanych obliczeń

Nowoczesne systemy operacyjne są sterowane przerwaniami

Zdarzenia są sygnalizowane przerwaniami lub tzw. pułapkami

Pułapka (wyjątek) jest rodzajem przerwania generowanymprzez oprogramowanie

Hierarchia pamięci

Pamięć jest zorganizowana hierarchicznie:szybkośćkosztulotność danych

Pamięć główna – media, do których procesor możeuzyskać bezpośredni dostępPamięć drugorzędna – rozszerzenie pamięci głównejzapewniające nieulotność danychPamięć podręczna – pamięć o szybkim czasie dostępu

Hierarchia pamięci

Pamięć jest zorganizowana hierarchicznie:szybkośćkosztulotność danych

Pamięć główna – media, do których procesor możeuzyskać bezpośredni dostępPamięć drugorzędna – rozszerzenie pamięci głównejzapewniające nieulotność danychPamięć podręczna – pamięć o szybkim czasie dostępu

Hierarchia pamięci

Pamięć jest zorganizowana hierarchicznie:szybkośćkosztulotność danych

Pamięć główna – media, do których procesor możeuzyskać bezpośredni dostępPamięć drugorzędna – rozszerzenie pamięci głównejzapewniające nieulotność danychPamięć podręczna – pamięć o szybkim czasie dostępu

Hierarchia pamięci

Pamięć jest zorganizowana hierarchicznie:szybkośćkosztulotność danych

Pamięć główna – media, do których procesor możeuzyskać bezpośredni dostępPamięć drugorzędna – rozszerzenie pamięci głównejzapewniające nieulotność danychPamięć podręczna – pamięć o szybkim czasie dostępu

Hierarchia pamięci

Rejestry

Pami operacyjnaęć

Pami podr cznaęć ę

Dysk elektroniczny

Dyskoptyczny

Dysk magnetyczny

Ta my magnetyczneś

Pamięć operacyjna

Jest jedynym obszarem pamięci dostępnym dla procesorabezpośrednioTworzy tablicę słów (bajtów); każde słowo ma swójunikalny adresWspółpraca z pamięcią operacyjną odbywa się za pomocąciągu rozkazów pobierz/przechowaj odnoszących się doodpowiednich adresówKażdy wykonywany rozkaz i wszystkie używane przezniego dane muszą znajdować się w pamięci operacyjnejJeżeli danych czy rozkazów nie ma w pamięci, to należy jedo niej sprowadzić, zanim procesor zacznie je przetwarzać

Pamięć operacyjna

Jest jedynym obszarem pamięci dostępnym dla procesorabezpośrednioTworzy tablicę słów (bajtów); każde słowo ma swójunikalny adresWspółpraca z pamięcią operacyjną odbywa się za pomocąciągu rozkazów pobierz/przechowaj odnoszących się doodpowiednich adresówKażdy wykonywany rozkaz i wszystkie używane przezniego dane muszą znajdować się w pamięci operacyjnejJeżeli danych czy rozkazów nie ma w pamięci, to należy jedo niej sprowadzić, zanim procesor zacznie je przetwarzać

Pamięć operacyjna

Jest jedynym obszarem pamięci dostępnym dla procesorabezpośrednioTworzy tablicę słów (bajtów); każde słowo ma swójunikalny adresWspółpraca z pamięcią operacyjną odbywa się za pomocąciągu rozkazów pobierz/przechowaj odnoszących się doodpowiednich adresówKażdy wykonywany rozkaz i wszystkie używane przezniego dane muszą znajdować się w pamięci operacyjnejJeżeli danych czy rozkazów nie ma w pamięci, to należy jedo niej sprowadzić, zanim procesor zacznie je przetwarzać

Pamięć operacyjna

Jest jedynym obszarem pamięci dostępnym dla procesorabezpośrednioTworzy tablicę słów (bajtów); każde słowo ma swójunikalny adresWspółpraca z pamięcią operacyjną odbywa się za pomocąciągu rozkazów pobierz/przechowaj odnoszących się doodpowiednich adresówKażdy wykonywany rozkaz i wszystkie używane przezniego dane muszą znajdować się w pamięci operacyjnejJeżeli danych czy rozkazów nie ma w pamięci, to należy jedo niej sprowadzić, zanim procesor zacznie je przetwarzać

Pamięć operacyjna

Jest jedynym obszarem pamięci dostępnym dla procesorabezpośrednioTworzy tablicę słów (bajtów); każde słowo ma swójunikalny adresWspółpraca z pamięcią operacyjną odbywa się za pomocąciągu rozkazów pobierz/przechowaj odnoszących się doodpowiednich adresówKażdy wykonywany rozkaz i wszystkie używane przezniego dane muszą znajdować się w pamięci operacyjnejJeżeli danych czy rozkazów nie ma w pamięci, to należy jedo niej sprowadzić, zanim procesor zacznie je przetwarzać

Pamięć pomocnicza

W idealnych warunkach program oraz dane powinny nastałe przebywać w pamięci operacyjnej. Nie jest tomożliwe z dwóch powodów:

1 pamięć operacyjna jest z reguły za mała, aby przechowywać nastałe wszystkie programy oraz dane

2 pamięć operacyjna jest pamięcią ulotną; traci swoją zawartośćpo odcięciu zasilania

Przeznaczeniem pamięci pomocniczej jest trwałeprzechowywanie dużych ilości danych

Najpopularniejszym urządzeniem pamięci pomocniczej jestdysk magnetyczny

Pamięć pomocnicza

W idealnych warunkach program oraz dane powinny nastałe przebywać w pamięci operacyjnej. Nie jest tomożliwe z dwóch powodów:

1 pamięć operacyjna jest z reguły za mała, aby przechowywać nastałe wszystkie programy oraz dane

2 pamięć operacyjna jest pamięcią ulotną; traci swoją zawartośćpo odcięciu zasilania

Przeznaczeniem pamięci pomocniczej jest trwałeprzechowywanie dużych ilości danych

Najpopularniejszym urządzeniem pamięci pomocniczej jestdysk magnetyczny

Pamięć pomocnicza

W idealnych warunkach program oraz dane powinny nastałe przebywać w pamięci operacyjnej. Nie jest tomożliwe z dwóch powodów:

1 pamięć operacyjna jest z reguły za mała, aby przechowywać nastałe wszystkie programy oraz dane

2 pamięć operacyjna jest pamięcią ulotną; traci swoją zawartośćpo odcięciu zasilania

Przeznaczeniem pamięci pomocniczej jest trwałeprzechowywanie dużych ilości danych

Najpopularniejszym urządzeniem pamięci pomocniczej jestdysk magnetyczny

Pamięć pomocnicza

W idealnych warunkach program oraz dane powinny nastałe przebywać w pamięci operacyjnej. Nie jest tomożliwe z dwóch powodów:

1 pamięć operacyjna jest z reguły za mała, aby przechowywać nastałe wszystkie programy oraz dane

2 pamięć operacyjna jest pamięcią ulotną; traci swoją zawartośćpo odcięciu zasilania

Przeznaczeniem pamięci pomocniczej jest trwałeprzechowywanie dużych ilości danych

Najpopularniejszym urządzeniem pamięci pomocniczej jestdysk magnetyczny

Pamięć pomocnicza

W idealnych warunkach program oraz dane powinny nastałe przebywać w pamięci operacyjnej. Nie jest tomożliwe z dwóch powodów:

1 pamięć operacyjna jest z reguły za mała, aby przechowywać nastałe wszystkie programy oraz dane

2 pamięć operacyjna jest pamięcią ulotną; traci swoją zawartośćpo odcięciu zasilania

Przeznaczeniem pamięci pomocniczej jest trwałeprzechowywanie dużych ilości danych

Najpopularniejszym urządzeniem pamięci pomocniczej jestdysk magnetyczny

Napęd dysku jest podłączony do komputera za pomocąszyny wejscia-wyjścia (EIDE, SCSI)Przesyłanie danych poprez magistralę odbywa się podnadzorem sterowników:

1 sterownik macierzysty – sterownik po stronie komputera2 sterownik dysku – sterownik wbudowany w dysk

Wykonanie operacji dyskowej

1 komputer umieszcza rozkaz w sterowniku macierzystym2 sterownik macierzysty wysyła polecenie do sterownikadysku, który uruchamia napęd dysku w celu wykonaniapolecenia

Napęd dysku jest podłączony do komputera za pomocąszyny wejscia-wyjścia (EIDE, SCSI)Przesyłanie danych poprez magistralę odbywa się podnadzorem sterowników:

1 sterownik macierzysty – sterownik po stronie komputera2 sterownik dysku – sterownik wbudowany w dysk

Wykonanie operacji dyskowej

1 komputer umieszcza rozkaz w sterowniku macierzystym2 sterownik macierzysty wysyła polecenie do sterownikadysku, który uruchamia napęd dysku w celu wykonaniapolecenia

Napęd dysku jest podłączony do komputera za pomocąszyny wejscia-wyjścia (EIDE, SCSI)Przesyłanie danych poprez magistralę odbywa się podnadzorem sterowników:

1 sterownik macierzysty – sterownik po stronie komputera2 sterownik dysku – sterownik wbudowany w dysk

Wykonanie operacji dyskowej

1 komputer umieszcza rozkaz w sterowniku macierzystym2 sterownik macierzysty wysyła polecenie do sterownikadysku, który uruchamia napęd dysku w celu wykonaniapolecenia

Bezpośredni dostęp do pamięci

Procesor Pamięćoperacyjna

Urz dzeniaąwej/ wyj

Instrukcje I/ O

Technika używana przez szybkie urządzenia I/O zdolne doprzesyłania informacji z prędkością porównywalną do prędkościdostępu do pamięci operacyjnej

Sterowniki urządzeń przesyłają bloki danych z buforabezpośrednio do pamięci operacyjnej bez ingerencji procesora

Tylko jedno przerwanie jest generowane dla każdegoprzesyłanego bloku (nie bajtu)

Bezpośredni dostęp do pamięci

Procesor Pamięćoperacyjna

Urz dzeniaąwej/ wyj

Instrukcje I/ O

Technika używana przez szybkie urządzenia I/O zdolne doprzesyłania informacji z prędkością porównywalną do prędkościdostępu do pamięci operacyjnej

Sterowniki urządzeń przesyłają bloki danych z buforabezpośrednio do pamięci operacyjnej bez ingerencji procesora

Tylko jedno przerwanie jest generowane dla każdegoprzesyłanego bloku (nie bajtu)

Bezpośredni dostęp do pamięci

Procesor Pamięćoperacyjna

Urz dzeniaąwej/ wyj

Instrukcje I/ O

Technika używana przez szybkie urządzenia I/O zdolne doprzesyłania informacji z prędkością porównywalną do prędkościdostępu do pamięci operacyjnej

Sterowniki urządzeń przesyłają bloki danych z buforabezpośrednio do pamięci operacyjnej bez ingerencji procesora

Tylko jedno przerwanie jest generowane dla każdegoprzesyłanego bloku (nie bajtu)

Ochrona sprzętowa

Dualny tryb operacji

Ochrona wejścia-wyjścia

Ochrona pamięci

Ochrona procesora

Dualny tryb operacji

W celu zapewnienia poprawnej pracy systemukomputerowego, należy chronić system operacyjny i inneprogramy oraz ich dane przed każdym niewłaściwiedziałającym programemZaopatrzenie sprzętu w środki pozwalające na rozróżnienieróżnych trybów pracy1 tryb użytkownika – wykonanie działania w imieniuużytkownika

2 tryb monitora (jądra, systemu) – wykonanie działania wimieniu systemu operacyjnego

W czasie rozruchu systemu sprzęt rozpoczyna działanie wtrybie monitoraNastępuje załadowanie systemu operacyjnego, któryuruchamia procesy użytkowe w trybie użytkownika

Dualny tryb operacji

W celu zapewnienia poprawnej pracy systemukomputerowego, należy chronić system operacyjny i inneprogramy oraz ich dane przed każdym niewłaściwiedziałającym programemZaopatrzenie sprzętu w środki pozwalające na rozróżnienieróżnych trybów pracy1 tryb użytkownika – wykonanie działania w imieniuużytkownika

2 tryb monitora (jądra, systemu) – wykonanie działania wimieniu systemu operacyjnego

W czasie rozruchu systemu sprzęt rozpoczyna działanie wtrybie monitoraNastępuje załadowanie systemu operacyjnego, któryuruchamia procesy użytkowe w trybie użytkownika

Dualny tryb operacji

W celu zapewnienia poprawnej pracy systemukomputerowego, należy chronić system operacyjny i inneprogramy oraz ich dane przed każdym niewłaściwiedziałającym programemZaopatrzenie sprzętu w środki pozwalające na rozróżnienieróżnych trybów pracy1 tryb użytkownika – wykonanie działania w imieniuużytkownika

2 tryb monitora (jądra, systemu) – wykonanie działania wimieniu systemu operacyjnego

W czasie rozruchu systemu sprzęt rozpoczyna działanie wtrybie monitoraNastępuje załadowanie systemu operacyjnego, któryuruchamia procesy użytkowe w trybie użytkownika

Dualny tryb operacji

W celu zapewnienia poprawnej pracy systemukomputerowego, należy chronić system operacyjny i inneprogramy oraz ich dane przed każdym niewłaściwiedziałającym programemZaopatrzenie sprzętu w środki pozwalające na rozróżnienieróżnych trybów pracy1 tryb użytkownika – wykonanie działania w imieniuużytkownika

2 tryb monitora (jądra, systemu) – wykonanie działania wimieniu systemu operacyjnego

W czasie rozruchu systemu sprzęt rozpoczyna działanie wtrybie monitoraNastępuje załadowanie systemu operacyjnego, któryuruchamia procesy użytkowe w trybie użytkownika

Za każdym razem po wystąpieniu pułapki/przerwaniasprzęt zmienia tryb pracy z trybu użytkownika na trybmonitoraTryb reprezentowany jest sprzętowo poprzez bit trybu(monitor (0), użytkownik (1))Dualny tryb pracy dostarcza środków do ochrony systemuoperacyjnego przed nieodpowiedzialnymi użytkownikami, atakże do ochrony użytkowników wzajemnie przed sobąRozkazy uprzywilejowane – potencjalnie niebezpiecznerozkazy wykonywane tylko w trybie monitora

Za każdym razem po wystąpieniu pułapki/przerwaniasprzęt zmienia tryb pracy z trybu użytkownika na trybmonitoraTryb reprezentowany jest sprzętowo poprzez bit trybu(monitor (0), użytkownik (1))Dualny tryb pracy dostarcza środków do ochrony systemuoperacyjnego przed nieodpowiedzialnymi użytkownikami, atakże do ochrony użytkowników wzajemnie przed sobąRozkazy uprzywilejowane – potencjalnie niebezpiecznerozkazy wykonywane tylko w trybie monitora

Za każdym razem po wystąpieniu pułapki/przerwaniasprzęt zmienia tryb pracy z trybu użytkownika na trybmonitoraTryb reprezentowany jest sprzętowo poprzez bit trybu(monitor (0), użytkownik (1))Dualny tryb pracy dostarcza środków do ochrony systemuoperacyjnego przed nieodpowiedzialnymi użytkownikami, atakże do ochrony użytkowników wzajemnie przed sobąRozkazy uprzywilejowane – potencjalnie niebezpiecznerozkazy wykonywane tylko w trybie monitora

Za każdym razem po wystąpieniu pułapki/przerwaniasprzęt zmienia tryb pracy z trybu użytkownika na trybmonitoraTryb reprezentowany jest sprzętowo poprzez bit trybu(monitor (0), użytkownik (1))Dualny tryb pracy dostarcza środków do ochrony systemuoperacyjnego przed nieodpowiedzialnymi użytkownikami, atakże do ochrony użytkowników wzajemnie przed sobąRozkazy uprzywilejowane – potencjalnie niebezpiecznerozkazy wykonywane tylko w trybie monitora

Ochrona wejścia/wyjścia

Program użytkownika może zakłócić poprawną pracęsystemu, wydając niedozwolony rozkaz wejścia/wyjściaWszystkie rozkazy wejścia/wyjścia są uprzywilejowane(wykonywane w trybie monitora)Użytkownicy nie mogą używać bezpośrednio tychrozkazów; mogą to robić za pośrednictwem systemuoperacyjnegoNależy wykluczyć możliwość przejęcia kontroli przezprogram użytkownika (np. program, który umieszcza nowyadres do procedury obsługi w wektorze przerwań, wtedypo wystąpieniu odpowiedniego przerwania sprzętprzełączyłby komputer w tryb monitora i przekazałsterowanie według zmienionego wektora przerwań doprogramu użytkownika

Ochrona wejścia/wyjścia

Program użytkownika może zakłócić poprawną pracęsystemu, wydając niedozwolony rozkaz wejścia/wyjściaWszystkie rozkazy wejścia/wyjścia są uprzywilejowane(wykonywane w trybie monitora)Użytkownicy nie mogą używać bezpośrednio tychrozkazów; mogą to robić za pośrednictwem systemuoperacyjnegoNależy wykluczyć możliwość przejęcia kontroli przezprogram użytkownika (np. program, który umieszcza nowyadres do procedury obsługi w wektorze przerwań, wtedypo wystąpieniu odpowiedniego przerwania sprzętprzełączyłby komputer w tryb monitora i przekazałsterowanie według zmienionego wektora przerwań doprogramu użytkownika

Ochrona wejścia/wyjścia

Program użytkownika może zakłócić poprawną pracęsystemu, wydając niedozwolony rozkaz wejścia/wyjściaWszystkie rozkazy wejścia/wyjścia są uprzywilejowane(wykonywane w trybie monitora)Użytkownicy nie mogą używać bezpośrednio tychrozkazów; mogą to robić za pośrednictwem systemuoperacyjnegoNależy wykluczyć możliwość przejęcia kontroli przezprogram użytkownika (np. program, który umieszcza nowyadres do procedury obsługi w wektorze przerwań, wtedypo wystąpieniu odpowiedniego przerwania sprzętprzełączyłby komputer w tryb monitora i przekazałsterowanie według zmienionego wektora przerwań doprogramu użytkownika

Ochrona wejścia/wyjścia

Program użytkownika może zakłócić poprawną pracęsystemu, wydając niedozwolony rozkaz wejścia/wyjściaWszystkie rozkazy wejścia/wyjścia są uprzywilejowane(wykonywane w trybie monitora)Użytkownicy nie mogą używać bezpośrednio tychrozkazów; mogą to robić za pośrednictwem systemuoperacyjnegoNależy wykluczyć możliwość przejęcia kontroli przezprogram użytkownika (np. program, który umieszcza nowyadres do procedury obsługi w wektorze przerwań, wtedypo wystąpieniu odpowiedniego przerwania sprzętprzełączyłby komputer w tryb monitora i przekazałsterowanie według zmienionego wektora przerwań doprogramu użytkownika

Ochrona pamięci

Należy chronić wektor przerwań oraz procedury obsługiprzerwań przed niepowołanym dostępem użytkownikaNależy chronić kod systemu operacyjnego przed wpływemprogramów oraz chronić programy przed ich wzajemnymoddziaływaniemRozstrzyganie o zakresie dopuszczalnych adresówprogramu można zrealizować za pomocą dwóch rejestrów1 rejestu bazowego2 rejestru granicznego

Pamięć poza zdefiniowanym obszarem jest chroniona

Ochrona pamięci

Należy chronić wektor przerwań oraz procedury obsługiprzerwań przed niepowołanym dostępem użytkownikaNależy chronić kod systemu operacyjnego przed wpływemprogramów oraz chronić programy przed ich wzajemnymoddziaływaniemRozstrzyganie o zakresie dopuszczalnych adresówprogramu można zrealizować za pomocą dwóch rejestrów1 rejestu bazowego2 rejestru granicznego

Pamięć poza zdefiniowanym obszarem jest chroniona

Ochrona pamięci

Należy chronić wektor przerwań oraz procedury obsługiprzerwań przed niepowołanym dostępem użytkownikaNależy chronić kod systemu operacyjnego przed wpływemprogramów oraz chronić programy przed ich wzajemnymoddziaływaniemRozstrzyganie o zakresie dopuszczalnych adresówprogramu można zrealizować za pomocą dwóch rejestrów1 rejestu bazowego2 rejestru granicznego

Pamięć poza zdefiniowanym obszarem jest chroniona

Ochrona pamięci

Należy chronić wektor przerwań oraz procedury obsługiprzerwań przed niepowołanym dostępem użytkownikaNależy chronić kod systemu operacyjnego przed wpływemprogramów oraz chronić programy przed ich wzajemnymoddziaływaniemRozstrzyganie o zakresie dopuszczalnych adresówprogramu można zrealizować za pomocą dwóch rejestrów1 rejestu bazowego2 rejestru granicznego

Pamięć poza zdefiniowanym obszarem jest chroniona

+

Pamiêæoperacyjna

adresfizyczny

CPU

adreslogiczny

Rejestrprzemieszczenia

Rejestrgraniczny

Pu³apka:b³¹d adresowania

Nie

Tak

<

Zawartości rejestrów mogą być określane przez systemoperacyjny przy użyciu rozkazów uprzywilejowanychSystem operacyjny działając w trybie monitora manieograniczony dostęp do swojej pamięci i pamięciprogramów użytkownikaOchrona tego typu realizowana jest sprzętowo – jednostkazarządzania pamięcią

+

Pamiêæoperacyjna

adresfizyczny

CPU

adreslogiczny

Rejestrprzemieszczenia

Rejestrgraniczny

Pu³apka:b³¹d adresowania

Nie

Tak

<

Zawartości rejestrów mogą być określane przez systemoperacyjny przy użyciu rozkazów uprzywilejowanychSystem operacyjny działając w trybie monitora manieograniczony dostęp do swojej pamięci i pamięciprogramów użytkownikaOchrona tego typu realizowana jest sprzętowo – jednostkazarządzania pamięcią

+

Pamiêæoperacyjna

adresfizyczny

CPU

adreslogiczny

Rejestrprzemieszczenia

Rejestrgraniczny

Pu³apka:b³¹d adresowania

Nie

Tak

<

Zawartości rejestrów mogą być określane przez systemoperacyjny przy użyciu rozkazów uprzywilejowanychSystem operacyjny działając w trybie monitora manieograniczony dostęp do swojej pamięci i pamięciprogramów użytkownikaOchrona tego typu realizowana jest sprzętowo – jednostkazarządzania pamięcią

Ochrona jednostki centralnej

Sprawdzanie, czy system operacyjny wciąż utrzymuje kontrolęCzasomierz – generuje przerwanie po wyznaczonym czasiepo każdym takcie zegara następuje zmniejszenie wartościczasomierzagdy czasomierz osiągnie wartość 0 następuje przerwanie

Przed oddaniem sterowania do programu użytkownika systemoperacyjny ustawia czasomierz na przerwanie. W ten sposóbzapobiega się zbyt długiemu działaniu programu użytkownika

Powszechnie stosuje się czasomierz w systemach z podziałemczasu (ustawia się czasomierz na wartość równą kwantowiczasu)

Ustawianie czasomierza jest rozkazem uprzywilejowanym

Ochrona jednostki centralnej

Sprawdzanie, czy system operacyjny wciąż utrzymuje kontrolęCzasomierz – generuje przerwanie po wyznaczonym czasiepo każdym takcie zegara następuje zmniejszenie wartościczasomierzagdy czasomierz osiągnie wartość 0 następuje przerwanie

Przed oddaniem sterowania do programu użytkownika systemoperacyjny ustawia czasomierz na przerwanie. W ten sposóbzapobiega się zbyt długiemu działaniu programu użytkownika

Powszechnie stosuje się czasomierz w systemach z podziałemczasu (ustawia się czasomierz na wartość równą kwantowiczasu)

Ustawianie czasomierza jest rozkazem uprzywilejowanym

Ochrona jednostki centralnej

Sprawdzanie, czy system operacyjny wciąż utrzymuje kontrolęCzasomierz – generuje przerwanie po wyznaczonym czasiepo każdym takcie zegara następuje zmniejszenie wartościczasomierzagdy czasomierz osiągnie wartość 0 następuje przerwanie

Przed oddaniem sterowania do programu użytkownika systemoperacyjny ustawia czasomierz na przerwanie. W ten sposóbzapobiega się zbyt długiemu działaniu programu użytkownika

Powszechnie stosuje się czasomierz w systemach z podziałemczasu (ustawia się czasomierz na wartość równą kwantowiczasu)

Ustawianie czasomierza jest rozkazem uprzywilejowanym

Ochrona jednostki centralnej

Sprawdzanie, czy system operacyjny wciąż utrzymuje kontrolęCzasomierz – generuje przerwanie po wyznaczonym czasiepo każdym takcie zegara następuje zmniejszenie wartościczasomierzagdy czasomierz osiągnie wartość 0 następuje przerwanie

Przed oddaniem sterowania do programu użytkownika systemoperacyjny ustawia czasomierz na przerwanie. W ten sposóbzapobiega się zbyt długiemu działaniu programu użytkownika

Powszechnie stosuje się czasomierz w systemach z podziałemczasu (ustawia się czasomierz na wartość równą kwantowiczasu)

Ustawianie czasomierza jest rozkazem uprzywilejowanym

Ochrona jednostki centralnej

Sprawdzanie, czy system operacyjny wciąż utrzymuje kontrolęCzasomierz – generuje przerwanie po wyznaczonym czasiepo każdym takcie zegara następuje zmniejszenie wartościczasomierzagdy czasomierz osiągnie wartość 0 następuje przerwanie

Przed oddaniem sterowania do programu użytkownika systemoperacyjny ustawia czasomierz na przerwanie. W ten sposóbzapobiega się zbyt długiemu działaniu programu użytkownika

Powszechnie stosuje się czasomierz w systemach z podziałemczasu (ustawia się czasomierz na wartość równą kwantowiczasu)

Ustawianie czasomierza jest rozkazem uprzywilejowanym