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: Linux vs Windows File System Structure Compared! 2024, Lipiec
Anonim

Wywołanie systemowe a wywołanie funkcji

Typowy procesor wykonuje instrukcje jedna po drugiej. Ale mogą zaistnieć 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 powraca do normalnego wykonywania i kontynuuje od miejsca, w którym został przerwany. Wywołanie systemowe i wywołanie funkcji to takie okazje. Wywołanie systemowe to wywołanie podprogramu wbudowanego w system. Wywołanie funkcji to wywołanie podprogramu w samym programie.

Co to jest wywołanie systemowe?

Wywołania systemowe zapewniają programom działającym na komputerze interfejs do komunikacji z systemem operacyjnym. Gdy program potrzebuje poprosić o usługę (dla której sam nie ma uprawnień do tego) 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 we/wy lub wchodzić w interakcje z 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 wykonać 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 zakodowana w taki sposób, że można ją wywoływać wielokrotnie iz różnych miejsc (nawet z innych funkcji). Kiedy funkcja jest wywoływana, procesor może przejść do miejsca, w którym znajduje się kod funkcji i wykonać instrukcje funkcji jeden po drugim. Po wykonaniu funkcji procesor powróci dokładnie do miejsca, w którym przerwał i będzie kontynuował wykonywanie począwszy od następnej instrukcji. Funkcje to świetne narzędzie do ponownego wykorzystania kodu. Wiele nowoczesnych języków programowania obsługuje funkcje. Zbiór funkcji nazywa się biblioteką. Biblioteki są często używane do udostępniania i handlu oprogramowaniem. W niektórych przypadkach cały program może być sekwencją podprogramów (np. kompilacja kodu w wątku).

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

Wywołanie systemowe to wywołanie podprogramu wbudowanego w system, podczas gdy wywołanie funkcji to wywołanie podprogramu w programie. W przeciwieństwie do wywołań funkcji, wywołania systemowe są używane, gdy program potrzebuje 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 (jak wywołania funkcji). W przeciwieństwie do wywołań systemowych wywołania funkcji są przenośne. Narzut czasowy wywołania systemowego jest większy niż narzut czasowy wywołania funkcji, ponieważ musi nastąpić przejście między trybem użytkownika a 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.

Zalecana: