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

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

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

Wideo: Różnica Między Wywołaniem Systemowym A Wywołaniem Funkcji
Wideo: Zastosowanie funkcji w życiu codziennym - prędkość, droga i czas #4 [ Funkcje ] 2024, Kwiecień
Anonim

Wywołanie systemowe a wywołanie funkcji

Typowy procesor wykonuje instrukcje jedna po drugiej. Ale mogą wystąpić sytuacje, w których procesor musi zatrzymać 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 wywołanie funkcji. Wywołanie systemowe to wywołanie podprogramu wbudowanego w system. Wywołanie funkcji to wywołanie procedury wewnątrz samego programu.

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 do komunikacji z zewnętrznym urządzeniem we / wy lub do interakcji z jakimikolwiek innymi procesami program używa wywołań systemowych.

Co to jest wywołanie funkcji?

Wywołanie funkcji jest również nazywane wywołaniem podprogramu. Podprogram (znany również jako procedura, funkcja, metoda lub procedura) jest częścią większego programu, który jest odpowiedzialny za wykonanie określonego zadania. Większy program może wykonywać duże obciążenie, a podprogram może wykonywać tylko proste zadanie, które jest również niezależne od pozostałego kodowania programu. Funkcja jest kodowana w taki sposób, że może być wywoływana wielokrotnie iz różnych miejsc (nawet z poziomu innych funkcji). Kiedy funkcja jest wywoływana, procesor może przejść do miejsca, w którym rezyduje kod funkcji i wykonać instrukcje funkcji jedna po drugiej. Po wykonaniu funkcji procesor powróci dokładnie do miejsca, w którym został przerwany i będzie kontynuował wykonywanie począwszy od następnej instrukcji. Funkcje są doskonałym narzędziem do ponownego wykorzystania kodu. Wiele nowoczesnych języków programowania obsługuje funkcje. Zbiór funkcji nazywany jest biblioteką. Biblioteki są często używane do udostępniania i handlowania oprogramowaniem. W niektórych przypadkach cały program może być sekwencją podprogramów (np. Kompilacja kodu wątkowego).

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

Wywołanie systemowe jest wywołaniem podprogramu wbudowanego w system, podczas gdy wywołanie funkcji jest wywołaniem procedury wewnątrz programu. W przeciwieństwie do wywołań funkcji, wywołania systemowe są używane, gdy program musi wykonać jakieś zadanie, do którego nie ma uprawnień. Wywołania systemowe są punktami wejścia do jądra systemu operacyjnego i nie są połączone z programem (podobnie jak wywołania funkcji). W przeciwieństwie do wywołań systemowych, wywołania funkcji są przenośne. Narzut czasu wywołania systemowego jest większy niż narzut dla wywołania funkcji, ponieważ musi nastąpić przejście między trybem użytkownika i trybem jądra. Wywołania systemowe są wykonywane w przestrzeni adresowej jądra, podczas gdy wywołania funkcji są wykonywane w przestrzeni adresowej użytkownika.

Zalecane: