1 / 14

Przerwania i ich obsługa

Systemy Operacyjne – ćwiczenia semestr V. Przerwania i ich obsługa. - przerwania w systemie operacyjnym DOS-. Plan wykładu. Wprowadzenie Czym są przerwania Ogólnie o przerwaniach Przerwania sprzętowe Przerwania programowe Obsługa przerwań przez systemy operacyjne

toshi
Download Presentation

Przerwania i ich obsługa

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Systemy Operacyjne – ćwiczenia semestr V Przerwania i ich obsługa - przerwania w systemie operacyjnym DOS- Michał Jaskólski & Bartosz Król

  2. Plan wykładu • Wprowadzenie • Czym są przerwania • Ogólnie o przerwaniach • Przerwania sprzętowe • Przerwania programowe • Obsługa przerwań przez systemy operacyjne • Systemy trybu rzeczywistego • Systemy trybu chronionego • Przerwania w systemie operacyjnym DOS • Przerwania sprzętowe • Przerwania i funkcje systemu operacyjnego • Podsumowanie Michał Jaskólski & Bartosz Król

  3. Wprowadzenie Na początek należy zadać sobie pytanie o rolę jaką pełnią systemy przerwań we współczesnych systemach komputerowych. Przerwania pozwalają na sprawowanie asynchronicznej kontroli nad całym systemem komputerowym. Dzięki temu usprawniają obsługę urządzeń bądź aplikacji oraz zwalniają system z ciągłej ich kontroli, co znacznie podnosi wydajność całego systemu. Michał Jaskólski & Bartosz Król

  4. Czym są przerwania Przerwanie (ang. interrupt) należy rozumieć jako zgłoszenie potrzeby obsługi kierowane z urządzenia lub programu do procesora. Przerwania sprzętowe zgłaszane są przez urządzenia czyli m.in. procesor lub urządzania wejścia-wyjścia. Przerwania programowe zgłaszane są na poziomie oprogramowania przez BIOS, system operacyjny lub inne programy, które aktualnie są wykonywane. Michał Jaskólski & Bartosz Król

  5. W systemach komputerowych rodziny x86 informacje o obsłudze poszczególnych przerwań przechowywane są w tablicy wektorów przerwań. Tablica ta znajduje się w pamięci komputera pod adresami od 0x0000:0x0000 do 0x0000:0x03FC. Pojedynczy wpis w tablicy nazywany jest wektorem przerwania. Jest to 4 bajtowa wartość określająca 32 bitowy adres procedury obsługi danego przerwania. Z rozmiaru tablicy możemy wnioskować, iż projektanci architektury x86 przewidzieli istnienie 256 przerwań (od przerwania o numerze 0x00 do przerwania 0xFF). Niektóre z tych przerwań są zarezerwowane przez sprzęt (np. przerwania procesora lub przerwania kontrolera przerwań) lub oprogramowanie (przerwania BIOSu lub funkcje systemowe DOS). Dla wiadomości programistów należy dodać iż z poziomu pisanego programu (w języku assemblera) dane przerwanie można wywołać wykorzystując instrukcję INT. Posiada ona jednobajtowy argument będący numerem przerwania. Definiując natomiast procedurę obsługi przerwania należy pamiętać o zakończeniu jej instrukcją IRET – rozkazem powrotu z procedury obsługi przerwania. Michał Jaskólski & Bartosz Król

  6. Przerwania w typowym systemie komputerowym możemy sklasyfikować ze względu na następujące kategorie: • ze względu na typ przerwania • przerwania procesora (CPU Interrupts) • przerwania sprzętowe (IRQ – Interrupt Query) – przerwania zgłaszane przez urządzenia I/O do kontrolera przerwań • przerwania wewnętrzne (programowe) • możliwość maskowania przerwań • przerwania niemaskowalne (NMI – Non Maskable Interrupt) - obsługa takiego przerwania nie może zostać przerwana. • przerwania maskowalne (MI – Maskable Interrupt) - obsługa takiego przerwania może zostać przerwana przed całkowitym jej zakończeniem. Michał Jaskólski & Bartosz Król

  7. Istotną cechą przerwań są ich priorytety. Przerwanie o wyższym priorytecie będzie wykonane przed przerwaniem o priorytecie niższym, jeżeli zostanie zgłoszona potrzeba obsługi obu tych przerwań. Priorytet przerwania jest jednoznacznie określony przez jego numer. Im niższy numer przerwania tym jego priorytet jest wyższy. Michał Jaskólski & Bartosz Król

  8. Obsługa przerwań przez systemy operacyjne Samo istnienie systemu przerwań nie miałoby większego sensu, gdyby nie możliwość dowolnej ich obsługi przez programy nadzorujące działanie systemu komputerowego. Dla każdego z przerwań system operacyjny może zdefiniować własną procedurę obsługi umieszczając odpowiedni wpis w tablicy wektorów przerwań. Istnienie procedur obsługi przerwań pozwala systemowi operacyjnemu na kontrolowanie działania sprzętu, ale także na radzenie sobie z występowaniem sytuacji awaryjnych lub krytycznych w trakcie działania aplikacji (takich jak np. próba dzielenia przez zero). W systemach operacyjnych takich jak DOS sam system posługiwał się przerwaniami udostępnianymi przez inne jednostki (BIOS) do zdefiniowania własnych funkcji obsługi sprzętu. Obecnie systemy operacyjne koncentrują się na obsłudze przerwań sprzętowych, gdyż posiadają własne sterowniki urządzeń – nie muszą korzystać z usług BIOSu. BIOS wykorzystywany jest wyłącznie w początkowej fazie rozruchu systemu operacyjnego. Michał Jaskólski & Bartosz Król

  9. Przerwania w systemie operacyjnym DOS Jak już wspomniano, każdy system operacyjny ma możliwość zdefiniowania własnych procedur obsługi przerwań, zarówno sprzętowych jak i programowych. Wyjątku nie stanowi system DOS. Ciekawostką wynikającą z architektury tego systemu jest fakt, iż za pomocą przerwań udostępnia on interfejs programistyczny. W odniesieniu do współczesnych systemów operacyjnych przerwania definiowane przez DOS możemy nazwać swoistym API (Application Programmers Interface) dla programów pisanych z myślą o pracy w środowisku DOS. System operacyjny DOS definiuje także własne procedury obsługi przerwań sprzętowych do obsługi podstawowego sprzętu komputerowego. Nie wyklucza to jednak możliwości tworzenia nowych przerwań programowych do obsługi sprzętu. Procedury te tworzone i udostępniane są przez sterowniki urządzeń napisane dla systemu DOS (np. mysz, CD-ROM etc.). Michał Jaskólski & Bartosz Król

  10. Lista przerwań sprzętowych (procesor) Michał Jaskólski & Bartosz Król

  11. Lista przerwań sprzętowych (kontroler przerwań) Michał Jaskólski & Bartosz Król

  12. Lista przerwań programowych (BIOS) Michał Jaskólski & Bartosz Król

  13. Lista przerwań programowych (DOS) Michał Jaskólski & Bartosz Król

  14. Podsumowanie Trudno jest wyobrazić sobie dzisiaj system komputerowy, który nie posługiwałby się mechanizmem obsługi przerwań. Gdyby nie było przerwań implementacja pospolitych funkcji systemu operacyjnego okazałaby się wysoce skomplikowana lub (co bardziej prawdopodobne) po prostu niemożliwa. Nie można zapomnieć także o tym, że system operacyjny, do którego obowiązków należałaby kontrola wszystkich urządzeń i programów, nie miałby prawdopodobnie czasu na zajęcie się czymkolwiek innym. W szczególności nie miałby czasu na realizację poleceń zleconych mu przez użytkownika. Michał Jaskólski & Bartosz Król

More Related