Sự khác biệt giữa System Call và Function Call

Anonim

Gọi hệ thống và cuộc gọi chức năng

Một bộ xử lý điển hình thực hiện từng bước một. Nhưng có thể xảy ra trường hợp bộ xử lý phải ngừng chỉ dẫn hiện tại và thực hiện một số chương trình hoặc phân đoạn mã khác (ở một nơi khác). Sau khi làm điều này bộ xử lý trở về thực hiện bình thường và tiếp tục từ nơi nó để lại. Một cuộc gọi hệ thống và một cuộc gọi chức năng là những dịp như vậy. Một cuộc gọi hệ thống là một cuộc gọi đến một chương trình con được xây dựng trong hệ thống. Một cuộc gọi chức năng là một cuộc gọi đến một chương trình con trong chính chương trình.

Cuộc gọi hệ thống là gì?

Các cuộc gọi hệ thống cung cấp các chương trình chạy trên máy tính một giao diện để nói chuyện với hệ điều hành. Khi một chương trình cần yêu cầu một dịch vụ (mà nó không được phép làm điều đó) từ hạt nhân của hệ điều hành, nó sử dụng một cuộc gọi hệ thống. Quá trình cấp người dùng không có quyền tương tự như các quy trình trực tiếp tương tác với hệ điều hành. Ví dụ, để giao tiếp với và thiết bị I / O bên ngoài hoặc để tương tác với bất kỳ quá trình khác, một chương trình sử dụng các cuộc gọi hệ thống.

Call Chức năng là gì?

Một cuộc gọi hàm cũng được gọi là cuộc gọi chương trình con. Một chương trình con (còn gọi là thủ tục, chức năng, phương pháp hoặc thủ tục) là một phần của một chương trình lớn hơn chịu trách nhiệm thực hiện một nhiệm vụ cụ thể. Chương trình lớn hơn có thể thực hiện một khối lượng công việc nặng, và chương trình con có thể chỉ thực hiện một nhiệm vụ đơn giản, nó cũng độc lập với chương trình còn lại mã hóa. Một chức năng được mã hóa theo cách mà nó có thể được gọi là nhiều lần và từ những nơi khác nhau (thậm chí từ bên trong các chức năng khác). Khi một chức năng được gọi, bộ vi xử lý có thể đi đến nơi mã cho các chức năng đang cư trú và thực hiện các hướng dẫn của các chức năng một. Sau khi hoàn thành các chức năng, bộ vi xử lý sẽ trở lại chính xác nơi nó dừng lại và tiếp tục thực hiện bắt đầu từ hướng dẫn tiếp theo. Chức năng là một công cụ tuyệt vời để tái sử dụng mã. Nhiều chức năng hỗ trợ ngôn ngữ lập trình hiện đại. Một tập hợp các chức năng được gọi là thư viện. Thư viện thường được sử dụng làm phương tiện chia sẻ và kinh doanh phần mềm. Trong một số trường hợp, toàn bộ chương trình có thể là một chuỗi các chương trình con (ví dụ: soạn thảo mã luồng).

Sự khác nhau giữa System Call và Function Call là gì?

Hệ thống gọi là một cuộc gọi đến một chương trình con được xây dựng trong hệ thống, trong khi một cuộc gọi chức năng là một cuộc gọi đến một chương trình con trong chương trình. Không giống như các cuộc gọi chức năng, cuộc gọi hệ thống được sử dụng khi một chương trình cần thực hiện một số nhiệm vụ, mà nó không có đặc quyền cho. Gọi hệ thống là các điểm vào trong hạt nhân hệ điều hành và không liên kết với chương trình (như các cuộc gọi chức năng).Không giống như, cuộc gọi hệ thống, các cuộc gọi chức năng là di động. Time overhead của một cuộc gọi hệ thống nhiều hơn tổng phí cho một cuộc gọi chức năng bởi vì một sự chuyển tiếp giữa chế độ người dùng và chế độ hạt nhân phải diễn ra. Các cuộc gọi hệ thống được thực hiện trong không gian địa chỉ hạt nhân, trong khi các cuộc gọi chức năng được thực hiện trong không gian địa chỉ người dùng.