Różnica Między Wywołaniem Systemowym A Przerwaniem

Różnica Między Wywołaniem Systemowym A Przerwaniem
Różnica Między Wywołaniem Systemowym A Przerwaniem

Wideo: Różnica Między Wywołaniem Systemowym A Przerwaniem

Wideo: Różnica Między Wywołaniem Systemowym A Przerwaniem
Wideo: Architektura komputerów - Układy wejścia-wyjścia. Jak je widzi procesor, przerwania i tryb DMA 2024, Kwiecień
Anonim

Połączenie systemowe a przerwanie

Typowy procesor wykonuje instrukcje jedna po drugiej. Ale mogą wystąpić sytuacje, w których procesor musi chwilowo się zatrzymać i wstrzymać bieżącą instrukcję i wykonać inny program lub segment kodu (znajdujący się w innym miejscu). Po wykonaniu tej czynności procesor wraca do normalnego wykonywania i kontynuuje od miejsca, w którym został przerwany. Takie sytuacje to wywołanie systemowe i przerwanie. Wywołanie systemowe to wywołanie podprogramu wbudowanego w system. Przerwanie to przerwanie sterowania programem spowodowane zewnętrznymi zdarzeniami sprzętowymi.

Co to jest wywołanie systemowe?

Wywołania systemowe zapewniają programom uruchomionym na komputerze interfejs do komunikacji z systemem operacyjnym. Gdy program musi poprosić o usługę (do której sam nie ma uprawnień) z jądra systemu operacyjnego, używa wywołania systemowego. Procesy na poziomie użytkownika nie mają takich samych uprawnień jak procesy bezpośrednio współdziałające z systemem operacyjnym. Na przykład, aby komunikować się z zewnętrznym urządzeniem I / O lub współdziałać z jakimikolwiek innymi procesami, program musi używać wywołań systemowych.

Co to jest przerwanie?

Podczas normalnego wykonywania programu komputerowego mogą wystąpić zdarzenia, które mogą spowodować tymczasowe zatrzymanie procesora. Takie zdarzenia nazywane są przerwaniami. Przerwania mogą być spowodowane awarią oprogramowania lub sprzętu. Przerwania sprzętowe nazywane są (po prostu) przerwaniami, podczas gdy przerwania programowe nazywane są wyjątkami lub pułapkami. Gdy pojawi się przerwanie (programowe lub sprzętowe), sterowanie jest przekazywane do specjalnego podprogramu o nazwie ISR (Procedura obsługi przerwania), który może obsłużyć warunki wywołane przez przerwanie.

Jak wspomniano powyżej, termin Interrupt jest zwykle zarezerwowany dla przerwań sprzętowych. Są to przerwy w sterowaniu programem spowodowane zewnętrznymi zdarzeniami sprzętowymi. Tutaj zewnętrzny oznacza zewnętrzny dla procesora. Przerwania sprzętowe zwykle pochodzą z wielu różnych źródeł, takich jak układ czasowy, urządzenia peryferyjne (klawiatura, mysz itp.), Porty I / O (szeregowe, równoległe itp.), Napędy dysków, zegar CMOS, karty rozszerzeń (karta dźwiękowa, wideo karta itp.). Oznacza to, że przerwania sprzętowe prawie nigdy nie występują z powodu jakiegoś zdarzenia związanego z wykonywanym programem. Na przykład zdarzenie takie jak naciśnięcie klawisza na klawiaturze przez użytkownika lub przekroczenie limitu czasu wewnętrznego sprzętowego timera może wywołać tego rodzaju przerwanie i może poinformować procesor, że określone urządzenie wymaga uwagi. W takiej sytuacji procesor przerwie cokolwiek robił (np. Wstrzyma bieżący program),zapewnia usługę wymaganą przez urządzenie i wróci do normalnego programu.

Jaka jest różnica między wywołaniem systemowym a przerwaniem?

Wywołanie systemowe to wywołanie podprogramu wbudowanego w system, podczas gdy Przerwanie jest zdarzeniem, które powoduje, że procesor tymczasowo wstrzymuje bieżące wykonanie. Jednak jedną z głównych różnic jest to, że wywołania systemowe są synchroniczne, podczas gdy przerwania nie. Oznacza to, że wywołania systemowe występują w ustalonym czasie (zwykle określanym przez programistę), ale przerwania mogą wystąpić w dowolnym momencie z powodu nieoczekiwanego zdarzenia, takiego jak naciśnięcie klawisza na klawiaturze przez użytkownika. Dlatego też, gdy pojawia się wywołanie systemowe, procesor musi tylko pamiętać, dokąd ma wrócić, ale w przypadku przerwania procesor musi pamiętać zarówno miejsce, do którego ma wrócić, jak i stan systemu. W przeciwieństwie do wywołania systemowego, przerwanie zwykle nie ma nic wspólnego z bieżącym programem.

Zalecane: