1.1 Wprowadzenie... 1 1.2 Organizacja operacji we/wy... 3 1.3 System wejścia/wyjścia... 6



Podobne dokumenty
Architektura komputerów

Działanie systemu operacyjnego

Działanie systemu operacyjnego

Działanie systemu operacyjnego

Architektura komputerów

LEKCJA TEMAT: Zasada działania komputera.

Jadro monolityczne vs. mikrojadro. Mikrojadro. Olga Kowalczuk. 9 grudnia 2008

Działanie systemu operacyjnego

Urządzenia wejścia-wyjścia

Mikroprocesor Operacje wejścia / wyjścia

Architektura komputerów. Układy wejścia-wyjścia komputera

Budowa systemów komputerowych

MAGISTRALE ZEWNĘTRZNE, gniazda kart rozszerzeń, w istotnym stopniu wpływają na

Architektura i administracja systemów operacyjnych

Architektura komputerów

Architektura komputera

Architektura systemu komputerowego

Wybrane bloki i magistrale komputerów osobistych (PC) Opracował: Grzegorz Cygan 2010 r. CEZ Stalowa Wola

Architektura systemów komputerowych. dr Artur Bartoszewski

Technologia informacyjna. Urządzenia techniki komputerowej

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Urządzenia zewnętrzne

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Chipset i magistrala Chipset Mostek północny (ang. Northbridge) Mostek południowy (ang. Southbridge) -

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

Struktura systemów komputerowych

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

Czujniki obiektowe Sterowniki przemysłowe

Architektura systemów komputerowych. dr Artur Bartoszewski

Technologie informacyjne - wykład 2 -

Prezentacja systemu RTLinux

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

URZĄDZENIA WEJŚCIA-WYJŚCIA

Architektura Systemów Komputerowych

Jądro systemu operacyjnego

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Strona WWW przedmiotu: Program ćwiczeń projektowych

Interfejs urządzeń peryferyjnych

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

IdyllaOS. Prosty, alternatywny system operacyjny. Autor: Grzegorz Gliński. Kontakt:

Architektura systemów komputerowych. dr Artur Bartoszewski

Wprowadzenie do systemów operacyjnych

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

Układy wejścia/wyjścia

Temat 2. Logiczna budowa komputera.

Podstawy Techniki Komputerowej. Temat: BIOS

NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Architektura systemów komputerowych. dr Artur Bartoszewski

Działanie komputera i sieci komputerowej.

Podstawy Informatyki DMA - Układ bezpośredniego dostępu do pamięci

Magistrala systemowa (System Bus)

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

System komputerowy. System komputerowy

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Wstęp do informatyki. Interfejsy, urządzenia we/wy i komunikacja. Linie magistrali

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Systemy Operacyjne i Sieci Komputerowe

OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

4. Procesy pojęcia podstawowe

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

SYSTEMY OPERACYJNE. kik.pcz.czest.pl/so. (C) KIK PCz Materiały pomocnicze 1 PROWADZI: PODSTAWOWA LITERATURA: ZAJĘCIA: STRONA

Standard transmisji równoległej LPT Centronics

PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Systemy wejścia-wyjścia. wyjścia

Budowa karty sieciowej; Sterowniki kart sieciowych; Specyfikacja interfejsu sterownika sieciowego; Open data link interface (ODI); Packet driver

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

Urządzenia wej.-wyj. Plan (1) Plan (2)

Urządzenia wej.-wyj.

Urządzenia wej.-wyj. Plan (1) Plan (2) Rodzaje urządzeń wejściawyjścia

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1

Systemy operacyjne. Król Tomasz

Programowanie współbieżne Wykład 2. Iwona Kochańska

1) Czym jest architektura systemu Windows 7 i jak się ją tworzy? 2) Jakie są poszczególne etapy uruchomienia systemu Windows 7?

Systemy operacyjne. Paweł Pełczyński

Podstawy techniki cyfrowej Układy wejścia-wyjścia. mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

43 Pamięci półprzewodnikowe w technice mikroprocesorowej - rodzaje, charakterystyka, zastosowania

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Wykład IV. Układy we/wy. Studia Podyplomowe INFORMATYKA Architektura komputerów

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

SYSTEMY WEJŚCIA-WYJŚCIA

Systemy Operacyjne sprzęt

Wykład VI: Układy otoczenia procesora

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

L4Ka::Pistachio Mikrojądra mogą być wydajne

dokument DOK wersja 1.0

Sieciowe Systemy Operacyjne

2. Architektura mikrokontrolerów PIC16F8x... 13

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Opis efektów kształcenia dla modułu zajęć

Q E M U.

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący

Budowa komputera. Lubię to! - podręcznik

Transkrypt:

Spis treści 1 Operacje wejścia/wyjścia 1 1.1 Wprowadzenie.............................................. 1 1.2 Organizacja operacji we/wy........................................ 3 1.3 System wejścia/wyjścia.......................................... 6 2 Inne zagadnienia 6 2.1 Architektury systemów operacyjnych.................................. 6 2.2 Rozruch systemu komputerowego.................................... 10 2.3 Bezpieczeństwo i ochrona........................................ 10 1 Operacje wejścia/wyjścia 1.1 Wprowadzenie Schemat ogólny systemu komputerowego Rysunek 1: Ogólna struktura systemu komputerowego Współczesne systemy komputerowe mogą znacznie odbiegać od zaprezentowanego schematu, mimo to ogólna struktura pozostaje zachowana. W przypadku komputerów osobistych magistrala systemowa zwykle podzielona jest na odcinki charakteryzujące się różną przepustowością. Rolę interfejsów między nimi pełnią mostek północny (umiejscowiony pomiędzy magistralami procesora, pamięci oraz szybszą magistralą systemową dawniej PCI, dziś, PCI Express) oraz mostek południowy (pomiędzy szybszą magistralą systemową a wolniejszą dawniej ISA Local Bus, dziś zwykle PCI). W niektórych systemach występowała ponadto magistrala AGP przeznaczona dla kart graficznych, dołączona do mostka północnego. Współczesne procesory coraz częściej przejmują z mostka północnego rolę kontrolera pamięci np. architektury procesorów Intel Nehalem czy Sandy Bridge. Jednostka centralna (CPU) Procesor, jednostka centralna - serce komputera Odpowiada za przetwarzanie informacji Komunikuje się poprzez magistralę systemowa Pierwotnie wspólna szyna (także w systemach SMP) 1

Z czasem rozbudowa i specjalizacja Operuje na zawartości pamięci operacyjnej Różne architektury (i386, Sparc, Power PC... ) Obecnie integruje także kontroler pamięci, pamięć cache oraz sterowniki magistrali PCI-Express Termin jednostka centralna bywa odnoszony do całego komputera obudowy z płytą główną, pamięcią, procesorem i kartami rozszerzeń oraz dyskami twardymi czy napędami optycznymi, ale bez urządzeń peryferyjnych dołączanych z zewnątrz. Sterownik (kontroler) urzadzenia Dedykowany komunikacji z konkretną klasą urządzeń Procesor/układ specjalizowany Posiada rejestry sterujące Bufor do komunikacji poprzez magistralę systemową Przykłady: karty graficzne karty muzyczne kontrolery dysków twardych karty sieciowe kontrolery wejścia/wyjścia (USB, FireWire, Szeregowe) Sterownik (kontroler) urzadzenia Organizacja komunikacji z kontrolerem Rozkazy wejścia/wyjścia Wejście/wyjście odwzorowane w pamięci Rejestry kontrolera Statusu opisuje stan urządzenia Sterujacy konfiguracja i sterowanie pracą Danych wejściowych dane przychodzące do systemu Danych wyjściowych dane wysyłane Rejestry danych najczęściej są wielobajtowe lub mają postać kolejek. Kontroler może mieć większą liczbę rejestrów sterujących i statusu. 2

1.2 Organizacja operacji we/wy Struktura wejścia - wyjścia Sposoby realizacji operacji wejścia/wyjścia Pooling (odpytywanie) Przerwania Bezpośredni dostęp do pamięci Pooling Procedura wysyłania bajtu (słowa) danych 1. Sprawdzanie flagi zajęty, aż urządzenie będzie gotowe 2. Gdy urządzenie jest gotowe: Ustawienie rejestru sterujacego (wysyłanie danych) Zapis do rejestru danych wyjściowych Ustawienie flagi gotowości danych 3. Gdy urządzenie stwierdzi ustawienie flagi gotowości: Ustawia flagę zajęty Wykonanie operacji wejścia/wyjścia Wyczyszczenie flagi gotowości, ewentualne ustawienie flagi błędów oraz wyczyszczenie flagi zajęty Spostrzeżenie: W punkcie 1 procesor realizuje aktywne oczekiwanie. Pooling Zalety i wady + Prostota Komunikacja sprowadza się do ustawienia rejestrów urządzenia i sprawdzania rejestrów statusu Obciążenie procesora Na systemie operacyjnym spoczywa konieczność periodycznego sprawdzania stanu urządzenia Ryzyko utraty danych, gdy obsługa urządzenia się spóźni Aktywne czekanie na dostępność urządzenia Wejście/wyjście z użyciem przerwań Synchroniczna obsługa I/O 1. Program użytkownika zgłasza zapotrzebowanie na operację we/wy 2. System operacyjny inicjuje operację we/wy i oczekuje na jej zakończenie 3. Urządzenie informuje o zakończeniu operacji 4. System operacyjny obsługuje urządzenie i zwraca sterowanie do programu użytkownika 3

Wejście/wyjście z użyciem przerwań Asynchroniczna obsługa I/O 1. Program użytkownika zgłasza zapotrzebowanie 2. System operacyjny inicjuje operację wejścia/wyjścia po czym wznawia przetwarzanie 3. Urządzenie informuje o zakończeniu operacji 4. System operacyjny ponownie zawiesza wykonywanie programu i obsługuje urządzenie 5. System operacyjny wznawia przetwarzanie programu użytkownika Wejście/wyjście z użyciem przerwań Schemat Rysunek 5: Schemat operacji wejścia/wyjścia z użyciem przerwań. Wejście/wyjście z użyciem przerwań Mechanizmy pomocnicze Kontroler przerwań określanie źródeł przerwań kolejkowanie obsługi przerwań Tablice stanów urządzeń informacje o stanie urządzenia informacje o aktualnie przetwarzanym zamówieniu powiązanie przerwania od urządzenia z oczekującym procesem Kolejki zamówień kolejka zamówień na urządzenie 4

Wejście/wyjście z użyciem przerwań Zalety i wady + Urządzenia zgłaszają potrzebę obsługi w czasie trwania operacji procesor może być przydzielony innemu procesowi minimalizacja możliwości przeoczenia zdarzenia Zaangażowanie procesora kopiowanie danych pomiędzy buforami urządzenia a pamięcią za każdym razem operacja sprowadza się do przesłania jednego słowa danych W przypadku terminala czy portu szeregowego, przerwanie generowane jest o każdym odczytanym/wysłanym znaku. Przy powolnym napływie danych nie stanowi to problemu, ale w przypadku szybkich urządzeń mogło by paraliżować działanie systemu. Stąd też zaistniała konieczność wypracowania mechanizmów przejmujących od procesora część obowiązków związanych z przesyłaniem danych pomiędzy sterownikami urządzeń a pamięcią operacyjną. Bezpośredni dostęp do pamięci PIO programowane wejście/wyjście Dane przesyłane do urządzenia po jednym słowie Wykorzystanie poolingu lub DMA Podejście takie jest nieefektywne! DMA bezpośredni dostęp do pamięci Specjalizowany kontroler steruje przepływem danych pomiędzy sterownikami urządzeń a pamięcią operacyjną Stosowane przy transferze większych ilości danych DMA - Direct Memory Access 1. Urządzenie zgłasza gotowość (przerwanie) 2. System operacyjny informuje kontroler DMA z jakiego urządzenia i pod jaki adres ma przesłać dane po czym wraca do wykonywania programu 3. Kontroler DMA przeprowadza transfer po czym zgłasza systemowi jego zakończenie (przerwanie) 4. System obsługuje przerwanie i kontynuuje przetwarzanie DMA Tryby pracy Transfer blokowy kontroler DMA przejmuje kontrolę nad magistralą systemową do czasu zakończenia transmisji Kradzież cykli kontroler DMA po każdym przesłanym słowie zwraca magistralę systemową procesorowi i występuje z nowym zamówieniem Tryb transparentny kontroler DMA prowadzi transmisje w czasie, gdy procesor jest zajęty obliczeniami 5

1.3 System wejścia/wyjścia Cechy urzadzeń wejścia/wyjścia Tryb przesyłania danych Urządzenia blokowe blok bajtów Urządzenia znakowe po jednym znaku Sposób dostępu Dostęp sekwencyjny uporządkowanie danych narzucane przez urządzenie Dostęp swobodny możliwość dostępu do danych w dowolnej kolejności Organizacja transmisji Synchroniczne Asynchroniczne Cechy urzadzeń wejścia/wyjścia Możliwość współdzielenia Dostęp na zasadzie wyłączności Urządzenie współdzielone Kierunek transmisji Tylko zapis Tylko odczyt Zapis i odczyt Szybkość urządzenia 2 Inne zagadnienia 2.1 Architektury systemów operacyjnych Jadro systemu operacyjnego Jądro systemu operacyjnego pośredniczy pomiędzy sprzętem a programami użytkownika (aplikacjami). 6

Jadro systemu operacyjnego Odpowiada za organizację pracy systemu operacyjnego Zarządzanie procesami Zarządzanie pamięcią Zarządzanie urządzeniami Udostępnia aplikacjom mechanizm wywołań systemowych Udostępnianie usług jądra programom użytkownika Operacje wejścia/wyjścia, tworzenie i synchronizacja procesów itp. Różne architektury Jądro monolityczne Mikrojądro Jądro hybrydowe Tryby pracy CPU Tryb jadra Uprzywilejowany tryb pracy procesora, umożliwia dostęp do całego obszaru pamięci, w tym stron zarezerwowanych dla jądra systemu. Tryb użytkownika Pamięć udostępniana poprzez mechanizmy pamięci wirtualnej, możliwa zarówno izolacja jak i współdzielenie obszarów pamięci. Kontrola dostępu do pamięci. Dostęp do urządzeń za pośrednictwem wywołań systemowych. Przestrzenie adresowe Przestrzeń jadra Obszar pamięci zarezerwowany dla jądra systemu operacyjnego, zależnie od architektury jądra może obejmować także sterowniki urządzeń oraz systemy plików. Przestrzeń użytkownika Obszar pamięci użytkowany przez procesy użytkownika poprzez mechanizmy pamięci wirtualnej. Jadro monolityczne Wszystkie elementy systemu operacyjnego pracują w trybie jądra Zarządzanie procesami i pamięcią Systemy plików Wywołania systemowe Komunikacja międzyprocesowa Sterowniki urządzeń Programom użytkownika udostępniany jest interfejs do usług jądra w postaci wywołań systemowych Niektóre systemy pozwalają na dynamiczne ładowanie modułów jądra nie mylić z jądrami hybrydowymi! Przykłady: Unix (*BSD, Solaris do 4.x, AIX, HP-UX), Linux, Windows 9x, DOS 7

Jadro monolityczne Rysunek 6: System z jądrem monolitycznym Mikrojadro Jądro udostępnia podstawowe mechanizmy Podstawowa komunikacja międzyprocesowa Zarządzanie procesami Zarządzanie pamięcią Usługi systemowe i sterowniki urządzeń Udostępniane przez programy zwane serwerami Działają w przestrzeni użytkownika Komunikacja między serwerami a aplikacjami za pośrednictwem serwera IPC Komunikacja pomiędzy serwerami za pośrednictwem podstawowego IPC Dodatkowy nakład czasowy na komunikację niższa wydajność Sterowniki urządzeń oraz usługi systemowe objęte są ochroną pamięci Przykłady: Hurd, QNX Mikrojadro Rysunek 7: System z mikrojądrem 8

Jadro hybrydowe W trybie jądra działają podstawowe usługi systemowe Komunikacja międzyprocesowa Zarządzanie procesami Zarządzanie pamięcią Sterowniki urządzeń W trybie użytkownika działają pozostałe usługi systemowe analogicznie jak w przypadku mikrojądra Mniejsze narzuty czasowe na przełączanie kontekstu i przechodzenie między trybem użytkownika a jądra Gorsza ochrona przed błędami Często uważane za pojęcie marketingowe Przykłady: Windows NT, XNU/Darwin, NetWare Jadro hybrydowe Rysunek 8: System z jądrem hybrydowym Exokernel Koncepcja rozwijana w MIT Obok tradycyjnego jądra dodatkowe lekkie jądro Niskopoziomowy dostęp do sprzętu Współdzielenie urządzeń i ochrona Decyzja programisty Wykorzystanie mechanizmów normalnego jądra Implementacja dostępu niskopoziomowego 9

Rysunek 9: Egzokernel Źródło: wikipedia 2.2 Rozruch systemu komputerowego Rozruch systemu komputerowego 0. Włączenie zasilania 1. Uruchomienie programu rozruchowego (BIOS) 2. Testy POST (Power On Self-Test) test konfiguracji procesora test pamięci test konfiguracji pamięci masowych 3. Inicjalizacja kart rozszerzeń z własnym BIOS 4. Załadowanie systemu operacyjnego i przekazanie mu sterowania 2.3 Bezpieczeństwo i ochrona Bezpieczeństwo i ochrona czym sa Ochrona Mechanizmy kontroli dostępu do zasobów systemu. Kontrola ta obejmuje użytkowników oraz uruchomione przez nich programy (procesy). Bezpieczeństwo Mechanizmy zapewniające integralność systemu oraz danych w nim przechowywanych. Ochrona Ochrona systemu i jego zasobów przed zagrożeniami pochodzącymi z wnętrza systemu. Kontrola dostępu do zasobów: pamięci 10

Bezpieczeństwo plików czasu procesora urządzeń wejścia/wyjścia Ochrona systemu i jego zasobów przed zagrożeniami pochodzącymi z otoczenia systemu Poziomy bezpieczeństwa: 1. Fizyczne zabezpieczenie fizycznego dostępu do sprzętu 2. Ludzkie odpowiedni dobór użytkowników systemu 3. Sieciowe ochrona przed zagrożeniami wiążącymi się z wykorzystaniem sieci 4. Systemu operacyjnego mechanizmy obronne wbudowane w system operacyjny Bezpieczeństwo systemu operacyjnego Uwierzytelnianie Uwierzytelnianie (autentykacja) Potwierdzenie tożsamości użytkownika. Element fizyczny klucz, karta Wiedza użytkownika login i hasło Atrybut użytkownika biometria, grafologia Hasła i ich słabości Najprostsza i najpowszechniejsza metoda uwierzytelniania Podatne na wiele ataków: odgadnięcie na podstawie wiedzy o użytkowniku metodą słownikową lub siłową podglądanie rejestrowanie naciskanych klawiszy sniffing zgubienie notatek przekazanie hasła osobom trzecim Sposoby poprawy bezpieczeństwa haseł Komplikowanie haseł: minimum 8 znaków wielkie/małe litery, znaki przestankowe, cyfry Hasła losowe Periodyczna zmiana haseł Hasła jednorazowe Uwaga: Nadmierne skomplikowanie hasła powoduje, ze użytkownik je najprawdopodobniej zapisze (a potem zgubi... ). 11

Biometria Wykorzystanie niepowtarzalnych cech człowieka: odcisk palca rozpoznawanie dłoni wzór tęczówki oka rozpoznawanie twarzy Coraz większa popularność Bezpieczeństwo systemu operacyjnego Zagrożenia programowe Koń trojański Oprogramowanie (lub jego fragmenty), które pod przykrywką niegroźnych funkcji użytkowych wykonuje inne działania Boczne/tylne wejście (back door) Ukryta w oprogramowaniu użytkowym możliwość uzyskania nieautoryzowanego dostępu do systemu. Ataki typu przepełnienie stosu/bufora Atak polega na umieszczeniu fragmentu kodu w pamięci atakowanego komputera, a następnie nadpisaniu adresu powrotu z funkcji adresem początku umieszczonego kodu. Bezpieczeństwo systemu operacyjnego Zagrożenia systemowe Robaki Programy umiejące się samodzielnie rozprzestrzeniać w środowisku sieciowym. Mogą przenosić złośliwy kod. Wirusy Mniej lub bardziej szkodliwe oprogramowanie, w przeciwieństwie do robaków nie mają możliwości samodzielnego rozmnażania się. Ataki DoS/DDoS Ataki polegające na uniemożliwieniu korzystania z systemu. 12