Cuộc gọi hệ thống trong hệ điều hành (Operating System): Là gì, các loại và ví dụ

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

A cuộc gọi hệ thống là một cơ chế cung cấp giao diện giữa một tiến trình và hệ điều hành. Đây là một phương pháp lập trình trong đó chương trình máy tính yêu cầu dịch vụ từ nhân của hệ điều hành.

Cuộc gọi hệ thống cung cấp các dịch vụ của hệ điều hành cho các chương trình người dùng thông qua API (Giao diện lập trình ứng dụng). Các cuộc gọi hệ thống là điểm vào duy nhất cho hệ thống kernel.

Cuộc gọi hệ thống vào Operahệ thống ting
Cuộc gọi hệ thống vào Operahệ thống ting

Ví dụ về cuộc gọi hệ thống

Ví dụ: nếu chúng ta cần viết mã chương trình để đọc dữ liệu từ một tệp, hãy sao chép dữ liệu đó vào một tệp khác. Thông tin đầu tiên mà chương trình yêu cầu là tên của hai file, file đầu vào và đầu ra.

Trong một hệ thống tương tác, kiểu thực thi chương trình này yêu cầu một số lệnh gọi hệ thống của HĐH.

  • Cuộc gọi đầu tiên là viết một tin nhắn nhắc nhở trên màn hình
  • Thứ hai, để đọc từ bàn phím, các ký tự xác định hai tệp.

Cuộc gọi hệ thống hoạt động như thế nào?

Dưới đây là các bước cho Cuộc gọi hệ thống trong OS:

Cuộc gọi hệ thống hoạt động

Archicấu trúc của cuộc gọi hệ thống

Archicấu trúc của cuộc gọi hệ thống

Như bạn có thể thấy trong sơ đồ ví dụ về Cuộc gọi hệ thống ở trên.

Bước 1) Các quy trình được thực thi ở chế độ người dùng cho đến khi lệnh gọi hệ thống làm gián đoạn nó.

Bước 2) Sau đó, lệnh gọi hệ thống được thực thi ở chế độ kernel trên cơ sở ưu tiên.

Bước 3) Khi việc thực hiện cuộc gọi hệ thống kết thúc, quyền điều khiển sẽ trở về chế độ người dùng.,

Bước 4) Việc thực thi các tiến trình của người dùng được tiếp tục trong Chế độ hạt nhân.

Tại sao bạn cần Cuộc gọi hệ thống trong hệ điều hành?

Sau đây là những tình huống cần có lệnh gọi hệ thống trong hệ điều hành:

  • Đọc và ghi từ các tập tin yêu cầu các cuộc gọi hệ thống.
  • Nếu một hệ thống tệp muốn tạo hoặc xóa tệp thì cần phải có các lệnh gọi hệ thống.
  • Cuộc gọi hệ thống được sử dụng để tạo và quản lý các quy trình mới.
  • Kết nối mạng cần các cuộc gọi hệ thống để gửi và nhận gói.
  • Truy cập vào các thiết bị phần cứng như máy quét, máy in, cần có cuộc gọi hệ thống.

Các loại cuộc gọi hệ thống

Dưới đây là năm loại Cuộc gọi hệ thống trong OS:

  • điều khiển quá trình
  • Quản lý tập tin
  • Quản lý thiết bị
  • Bảo trì thông tin
  • Truyền thông
Các loại cuộc gọi hệ thống

Các loại lệnh gọi hệ thống trong hệ điều hành

điều khiển quá trình

Các cuộc gọi hệ thống này thực hiện nhiệm vụ tạo tiến trình, chấm dứt tiến trình, v.v.

Chức năng:

  • Kết thúc và hủy bỏ
  • Tải và thực thi
  • Tạo quy trình và chấm dứt quy trình
  • Đợi và Signal Sự kiện
  • Cấp phát và giải phóng bộ nhớ

Quản lý tập tin

Các cuộc gọi hệ thống quản lý tệp xử lý các công việc thao tác tệp như tạo tệp, đọc và ghi, v.v.

Chức năng:

  • Tạo một tệp
  • Xóa tài liệu
  • Mở và đóng tập tin
  • Đọc, viết và định vị lại
  • Nhận và đặt thuộc tính tệp

Quản lý thiết bị

Quản lý thiết bị thực hiện công việc điều khiển thiết bị như đọc từ bộ đệm thiết bị, ghi vào bộ đệm thiết bị, v.v.

Chức năng:

  • Yêu cầu và giải phóng thiết bị
  • Gắn/tháo thiết bị một cách hợp lý
  • Nhận và đặt thuộc tính thiết bị

Bảo trì thông tin

Nó xử lý thông tin và chuyển giao thông tin giữa hệ điều hành và chương trình người dùng.

Chức năng:

  • Nhận hoặc đặt ngày giờ
  • Nhận thuộc tính quy trình và thiết bị

Giao tiếp

Những loại cuộc gọi hệ thống này được sử dụng đặc biệt để liên lạc giữa các quá trình.

Chức năng:

  • Tạo, xóa kết nối liên lạc
  • Gửi, nhận tin nhắn
  • Giúp hệ điều hành chuyển thông tin trạng thái
  • Gắn hoặc tháo thiết bị từ xa

Quy tắc truyền tham số cho lệnh gọi hệ thống

Dưới đây là các quy tắc chung chung để truyền tham số cho Cuộc gọi hệ thống:

  • Các tham số phải được hệ điều hành đẩy lên hoặc bật ra khỏi ngăn xếp.
  • Các tham số có thể được truyền vào sổ đăng ký.
  • Khi có nhiều tham số hơn số thanh ghi, nó sẽ được lưu trữ trong một khối và địa chỉ khối phải được truyền dưới dạng tham số cho một thanh ghi.

Các cuộc gọi hệ thống quan trọng được sử dụng trong hệ điều hành

đợi đã()

Trong một số hệ thống, một tiến trình cần đợi một tiến trình khác hoàn tất quá trình thực thi của nó. Loại tình huống này xảy ra khi một tiến trình cha tạo ra một tiến trình con và việc thực thi tiến trình cha vẫn bị treo cho đến khi tiến trình con của nó thực thi.

Việc tạm dừng tiến trình gốc tự động xảy ra với lệnh gọi hệ thống wait(). Khi tiến trình con kết thúc việc thực thi, điều khiển sẽ quay trở lại tiến trình cha.

cái nĩa()

Các quy trình sử dụng lệnh gọi hệ thống này để tạo các quy trình là bản sao của chính chúng. Với sự trợ giúp của hệ thống này, hãy gọi quy trình cha mẹ tạo ra một quy trình con và việc thực thi quy trình cha sẽ bị tạm dừng cho đến khi quy trình con thực thi.

hành ()

Cuộc gọi hệ thống này chạy khi một tệp thực thi trong bối cảnh một quy trình đang chạy thay thế tệp thực thi cũ hơn. Tuy nhiên, mã định danh quy trình ban đầu vẫn giữ nguyên vì quy trình mới chưa được xây dựng nhưng ngăn xếp, dữ liệu, phần đầu, dữ liệu, v.v. được thay thế bằng quy trình mới.

giết chết()

Lệnh gọi hệ thống kill() được hệ điều hành sử dụng để gửi tín hiệu kết thúc đến một quy trình thúc giục quá trình đó thoát ra. Tuy nhiên, lệnh gọi hệ thống hủy không nhất thiết có nghĩa là hủy quá trình và có thể có nhiều ý nghĩa khác nhau.

lối ra()

Lệnh gọi hệ thống exit() được sử dụng để kết thúc việc thực hiện chương trình. Đặc biệt trong môi trường đa luồng, lệnh gọi này xác định rằng quá trình thực thi luồng đã hoàn tất. Hệ điều hành lấy lại các tài nguyên đã được quy trình sử dụng sau khi sử dụng lệnh gọi hệ thống exit().

Tổng kết

Danh Mục Windows Unix
Kiểm soát quá trình Tạo ra quy trình()
ThoátProcess()
WaitForSingleObject()
cái nĩa()
lối ra()
đợi đã()
Thao tác thiết bị SetConsoleMode()
ReadConsole()
WriteConsole()
loctl()
đọc()
ghi ()
Thao tác tập tin TạoFile()
Đọc tài liệu()
WriteFile()
CloseHandle ()
Mở()
Đọc()
ghi ()
đóng!)
Bảo trì thông tin GetCurrentProcessID()
Bộ hẹn giờ()
Ngủ()
getpid ()
báo thức()
ngủ()
Giao tiếp TạoPipe()
CreateFileMapping()
MapViewOfFile()
Đường ống()
shm_open()
mmap ()
Sự bảo vệ SetFileSecurity()
Khởi tạobảo mậtDescripthoặc là()
Đặt Bảo mậtDescripthoặc Nhóm ()
Chmod()
ô()
Chown()

Bản tin Guru99 hàng ngày

Bắt đầu ngày mới của bạn với những tin tức AI mới nhất và quan trọng nhất hiện nay.