System call trong linux là gì?

Rate this post

Trong hệ điều hành có rất nhiều tiến trình, luồng chạy mỗi mili giây, vậy có cơ chế nào để chúng giao tiếp với nhau không? Bài viết dưới đây sẽ giải thích những điều cơ bản cho bạn cuộc gọi hệ thốngcũng như những gì họ gọi là API trong hệ điều hành.

Các cuộc gọi hệ thống là gì?

Các cuộc gọi hệ thống cho người dùng biết cách truy cập các dịch vụ của hệ điều hành. Bất kỳ phương thức giao diện người dùng (GUI), tập lệnh (Batch) hay lệnh (command line, chẳng hạn như cmd trong Windows) đều có chung một mục đích là gọi hệ thống, để yêu cầu hệ điều hành thực hiện hành động. bản thân bạn.

Thông thường, các cuộc gọi hệ thống được viết bằng C hoặc C ++ hoặc hợp ngữ, là ngôn ngữ lập trình cấp thấp có quyền truy cập trực tiếp vào bộ nhớ hoặc phần cứng.

Wikipedia

Làm thế nào để sử dụng các cuộc gọi hệ thống?

Đầu tiên, chúng ta cần hiểu cách gọi hệ thống được sử dụng: Giả sử có một chương trình đơn giản đọc dữ liệu từ một tệp và sao chép nó sang một tệp khác.

Tham Khảo Thêm:  Cách làm sinh tố xoài ngon khó cưỡng cho quán đông khách

Để chương trình hoạt động bình thường, chương trình phải đọc tên của hai tệp (gọi hệ thống 1: đọc tệp).

  • Nếu xảy ra lỗi, chương trình sẽ xuất một dòng lỗi ra màn hình cho người dùng (gọi hệ thống 2: thoát màn hình) và thoát khỏi chương trình ngay lập tức (gọi hệ thống 3: thoát).
  • Nếu không có lỗi, sẽ có một vòng lặp liên tục trong đó chương trình phải đọc từng dòng từ tệp này và sao chép tệp đó sang tệp khác (gọi hệ thống 4: sao chép).

Nếu tệp đầu ra (tệp mà dữ liệu được sao chép vào) có cùng tên tệp với tệp hiện có trong thư mục, bạn phải tự tạo tên tệp khác cho tệp (cuộc gọi hệ thống 5: tạo tên tệp) hoặc không cho phép sao chép. Nếu ổ cứng có vấn đề về đọc và ghi, tên lỗi phải được cung cấp cho người dùng (gọi hệ thống khác). Khi sao chép thành công, người dùng sẽ thấy màn hình “thành công”.

Như bạn có thể thấy, một chương trình đơn giản phải thực hiện rất nhiều lời gọi hệ thống. Thông thường, một hệ thống máy tính thực hiện hàng trăm cuộc gọi hệ thống mỗi giây.

API là gì?

Hầu hết các lập trình viên không nhìn chi tiết như vậy. Nhưng các lập trình viên ứng dụng thiết kế các chương trình để chạy bằng các giao diện lập trình ứng dụng (gọi tắt là API). API là các chức năng có sẵn cho các lập trình viên.

Tham Khảo Thêm:  Cách viết bài văn nghị luận xã hội

Các loại API phổ biến nhất:

  • API cửa sổ hệ điều hành Windows
  • API POSIX cho các hệ điều hành chạy nền tảng POSIX
  • API Java cho các chương trình chạy trong máy ảo Java

Lập trình viên có thể truy cập API thông qua các chức năng có sẵn trong thư viện hệ điều hành. Nếu hệ điều hành được viết bằng ngôn ngữ lập trình C (Unix hoặc Linux), tên của thư viện là libc. Và các hàm này có chức năng gọi các lời gọi hệ thống thay cho người lập trình.

Ví dụ về API tiêu chuẩn:

tPA
tPA

Một chương trình sử dụng hàm read() phải “bao gồm” thư viện unistd.h. Sau khi đọc thành công, số byte đã đọc sẽ được trả về.

Tại sao lập trình viên thích sử dụng API hơn là gọi hệ thống trực tiếp?

Bởi vì:

  • Hỗ trợ đa dạng: lập trình sử dụng API có thể hoạt động trên các hệ điều hành khác nhau nếu chúng hỗ trợ cùng một API.
  • Dễ dàng hơn: hệ thống thực sẽ cực kỳ chi tiết và khó lập trình.
Giao diện cuộc gọi hệ thống

Với hầu hết các ngôn ngữ lập trình, có một lớp ngăn cách giữa ứng dụng và hệ điều hành được gọi là giao diện lời gọi hệ thống. Các ứng dụng trên máy tính muốn sử dụng chức năng, dịch vụ nào của hệ điều hành thì cần gọi qua tầng này. Mỗi dịch vụ hệ điều hành được liệt kê, hệ điều hành sẽ tìm trong hệ thống của nó và trả về dịch vụ tương ứng được liệt kê cho các ứng dụng.

Tham Khảo Thêm:  Your name - Tên của cậu là gì? TOP Anime Nhật Bản hay nhất mọi

Hy vọng thông qua bài viết System call trong linux là gì? Cakhia TV trang web trực tiếp bóng đá miễn phí sẽ giúp ích được quý bạn đọc.

Related Posts

Cảm nhận về vẻ đẹp tâm hồn của nhân vật trữ tình trong bài thơ

Đề bài: Cảm nhận về vẻ đẹp tâm hồn của nhân vật trữ tình trong bài thơ Chiều tối Cảm nhận về vẻ đẹp tâm hồn của…

Câu chuyện về nhà học giả Naropa

Theo chân Tilopa, ngay cả đại học giả Naropa cũng phải trải qua muôn vàn khó khăn. Như chúng ta đã thấy trước đây, Naropa gặp Tilopa,…

Suboi là ai? Tiểu sử, sự nghiệp, đời tư nữ rapper tài năng

Nhắc đến nhạc rap Việt không thể không nhắc đến cái tên Suboi. Nổi lên từ thập niên đầu tiên của thế kỷ 21, Suboi mang đến…

integrated circuit là gì? Phân loại, cấu tạo và công dụng

Chắc hẳn bạn đã ít nhiều nghe đến thuật ngữ IC. Đây là từ viết tắt của cụm từ tiếng Anh Integrated circuit. Tuy nhiên không phải…

Kể hoặc đọc lại một câu chuyện (bài thơ, bài văn) về một vận động

1. Đồ sưu tầm: Hoàng Xuân Vinh (sinh ngày 6 tháng 10 năm 1974 tại Thành phố Sơn Tây, Hà Nội) là vận động viên bắn súng…

Quần jockstrap là gì? Chia sẻ những mẫu quần jockstrap đình đám

Quần jockstrap là một kiểu quần được thiết kế vô cùng độc đáo giúp nam giới trở nên sexy và quyến rũ hơn. Tuy nhiên kiểu quần…

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *