Sự khác biệt giữa Cuộc gọi Hệ thống và Cuộc gọi Chức năng

Sự khác biệt giữa Cuộc gọi Hệ thống và Cuộc gọi Chức năng
Sự khác biệt giữa Cuộc gọi Hệ thống và Cuộc gọi Chức năng

Video: Sự khác biệt giữa Cuộc gọi Hệ thống và Cuộc gọi Chức năng

Video: Sự khác biệt giữa Cuộc gọi Hệ thống và Cuộc gọi Chức năng
Video: Toàn bộ kiến thức hệ điều hành Linux áp dụng trong công việc | Linux commands 2024, Tháng bảy
Anonim

Cuộc gọi hệ thống so với Cuộc gọi chức năng

Một bộ xử lý điển hình thực hiện từng lệnh một. Nhưng có thể có những trường hợp bộ xử lý phải dừng lệnh hiện tại và thực thi một số chương trình hoặc đoạn mã khác (nằm ở một số nơi khác). Sau khi thực hiện điều này, bộ xử lý trở lại thực thi bình thường và tiếp tục từ nơi nó đã dừng lại. Một cuộc gọi hệ thống và một cuộc gọi hàm là những dịp như vậy. Lệnh gọi hệ thống là lệnh gọi đến một chương trình con được tích hợp sẵn trong hệ thống. Một lệnh gọi hàm là một lệnh 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ì?

Lệnh gọi hệ thống cung cấp cho 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à bản thân nó không có quyền làm điều đó) từ hạt nhân của hệ điều hành, nó sẽ sử dụng một lệnh gọi hệ thống. Các quy trình cấp người dùng không có quyền giống như các quy trình tương tác trực tiếp 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ỳ quy trình nào khác, một chương trình sử dụng các lệnh gọi hệ thống.

Lệnh gọi hàm là gì?

Một lời gọi hàm còn được gọi là lời gọi chương trình con. Chương trình con (còn được gọi là thủ tục, hàm, phương pháp hoặc quy trình) là một phần của chương trình lớn hơn có nhiệm vụ thực hiện một tác vụ cụ thể. Chương trình lớn hơn có thể thực thi một khối lượng công việc lớn và chương trình con có thể chỉ thực hiện một nhiệm vụ đơn giản, cũng độc lập với việc mã hóa chương trình còn lại. Một hàm được mã hóa theo cách mà nó có thể được gọi nhiều lần và từ nhiều nơi khác nhau (ngay cả từ bên trong các hàm khác). Khi một hàm được gọi, bộ xử lý có thể đi đến nơi chứa mã của hàm đó và thực hiện từng lệnh của hàm đó. Sau khi hoàn thành các chức năng, bộ xử lý sẽ trở lại chính xác nơi nó đã dừng và tiếp tục thực hiện bắt đầu từ lệnh tiếp theo. Các hàm là một công cụ tuyệt vời để sử dụng lại mã. Nhiều ngôn ngữ lập trình hiện đại hỗ trợ các chức năng. 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à giao dịch 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ụ: biên dịch mã theo luồng).

Sự khác biệt giữa Cuộc gọi Hệ thống và Cuộc gọi Chức năng là gì?

Lệnh gọi hệ thống là lệnh gọi chương trình con được tích hợp sẵn trong hệ thống, trong khi lệnh gọi hàm là lệnh gọi đến chương trình con trong chương trình. Không giống như lời gọi hàm, lời 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ố tác vụ mà nó không có đặc quyền. Lời gọi hệ thống là điểm vào trong nhân hệ điều hành và không được liên kết với chương trình (giống như lời gọi hàm). Không giống như, các cuộc gọi hệ thống, các cuộc gọi chức năng là di động. Chi phí thời gian của một cuộc gọi hệ thống nhiều hơn tổng chi phí cho một lệnh gọi hàm vì phải diễn ra quá trình chuyển đổi giữa chế độ người dùng và chế độ hạt nhân. Các lệnh gọi hệ thống được thực hiện trong không gian địa chỉ hạt nhân, trong khi các lệnh gọi hàm được thực hiện trong không gian địa chỉ người dùng.

Đề xuất: