Budowa systemów komputerowych -...
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
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