System call là gì ?

0
system call la gi

Trong máy tính, một system call là cách lập trình trong đó một chương trình máy tính yêu cầu một dịch vụ từ nhân của hệ điều hành mà nó được thực thi. Một system call là cách làm cho chương trình thực hiện một tương tác với hệ điều hành. Một chương trình máy tính thực thi một system call khi nó thực hiện một yêu cầu tới nhân hệ điều hành.

System call cung cấp các dịch vụ của hệ điều hành tới chương trình phía người dùng thông qua Application Program Interface (API). Nó cung cấp một giao diện giữa một process và hệ điều hành để cho phép các tiến trình ở mức độ người dùng truy vấn các dịch vụ của hệ điều hành. Hầu hết tất cả các chương trình mà cần tài nguyên cần phải sử dụng system call.

Bạn hãy xem lại hình ảnh phía trên trình bày cách thực thi của system call

Nhìn vào sơ đồ, các process thực thi bình thường trong user mode cho đến khi một system call làm gián đoạn điều này. Sau đó system call được thực thi trên cơ sở ưu tiên trong kernel mode. Sau khi thực thi system call trong kernel mode, nó sẽ trở lại user mode và việc thực thi các process phía người dùng có thể được nối lại.

Các dịch vụ được cung cấp bởi system calls

  • Tạo và quản lý process
  • Quản lý bộ nhớ chính
  • Truy cập file, thư mục và quản lý hệ thống file
  • Xử lý thiết bị nhập xuất (I/O)
  • Protection
  • Networking

Có bao nhiêu loại system call?

Có 5 loại system call khác nhau

  • Quản lý process : tạo, kết thúc process,…
  • Chịu trách nhiệm quản lý file: tạo, mở, đóng, xóa, đọc
  • Quản lý phụ trách thiết bị: các system call này chịu trách nhiệm thao tác trên các thiết bị như đọc từ device buffer, ghi tới device buffer,..
  • Duy trì thông tin: xử lý thông tin và chuyển giao giữa hệ điều hành và chương trình người dùng
  • Communication: hữu ích cho việc giao tiếp giữa nhiều process. Chúng cũng đảm nhận việc xóa và tạo các kết nối giao tiếp.
5/5 (3 Reviews)