Hướng dẫn tao system call trong linux - lệnh gọi hệ thống tao trong linux

Trong hệ điểu hành có rất nhiều quá trình, luồng chạy trong từng mi-li giây, vậy liệu có cơ chế nào cho chúng giao tiếp với nhau? Bài sau đây sẽ giải thích cơ bản cho bạn biết về System Call, cũng như cách chúng gọi API trong hệ điều hành.System Call, cũng như cách chúng gọi API trong hệ điều hành.

Mục lục

  • System call là gì?
  • Sử dụng system call như thế nào
  • API là gì
  • Tại sao các lập trình viên thích sử dụng API hơn sử dụng thẳng system call?

System call cho người dùng cách tiếp cận những tiện ích/ dịch vụ của hệ điều hành. Mọi phương thức của người dùng qua giao diện (GUI), tập lệnh (Batch) hay câu lệnh (command line, như cmd trong window) đều có cùng mục đích chung là gọi system call, để yêu cầu hệ điều hành thực hiện tác vụ cho mình.

Thông thường, những system call được viết bằng ngôn ngữ lập trình C hoặc C++, hoặc assemble, đây là những ngôn ngữ lập trình cấp thấp (low-level), tức có khả năng tiếp cận trực tiếp đến bộ nhớ hay phần cứng máy tính.

Wikipedia

Hướng dẫn tao system call trong linux - lệnh gọi hệ thống tao trong linux
Linux System Call

Sử dụng system call như thế nào

API là gì

Tại sao các lập trình viên thích sử dụng API hơn sử dụng thẳng system call?

  • System call cho người dùng cách tiếp cận những tiện ích/ dịch vụ của hệ điều hành. Mọi phương thức của người dùng qua giao diện (GUI), tập lệnh (Batch) hay câu lệnh (command line, như cmd trong window) đều có cùng mục đích chung là gọi system call, để yêu cầu hệ điều hành thực hiện tác vụ cho mình.
  • Thông thường, những system call được viết bằng ngôn ngữ lập trình C hoặc C++, hoặc assemble, đây là những ngôn ngữ lập trình cấp thấp (low-level), tức có khả năng tiếp cận trực tiếp đến bộ nhớ hay phần cứng máy tính.

Wikipedia

Linux System Call

API là gì

Tại sao các lập trình viên thích sử dụng API hơn sử dụng thẳng system call?

System call cho người dùng cách tiếp cận những tiện ích/ dịch vụ của hệ điều hành. Mọi phương thức của người dùng qua giao diện (GUI), tập lệnh (Batch) hay câu lệnh (command line, như cmd trong window) đều có cùng mục đích chung là gọi system call, để yêu cầu hệ điều hành thực hiện tác vụ cho mình.

  • Thông thường, những system call được viết bằng ngôn ngữ lập trình C hoặc C++, hoặc assemble, đây là những ngôn ngữ lập trình cấp thấp (low-level), tức có khả năng tiếp cận trực tiếp đến bộ nhớ hay phần cứng máy tính.
  • Wikipedia
  • Linux System Call

Trước hết, chúng ta cần hiểu system call được sử dụng như thế nào: Giả sử có một chương trình đơn giản có tác vụ đọc dữ liệu trong một file, và sao chép nó qua một file khác.

Để chương trình hoạt động bình thường, chương trình cần phải đọc tên của 2 file (system call 1: đọc file).

Hướng dẫn tao system call trong linux - lệnh gọi hệ thống tao trong linux
Nếu có lỗi xảy ra, chương trình phải xuất một dòng báo lỗi ra màn hình cho người dùng (system call 2: xuất ra màn hình) và thoát chương trình ngay (system call 3: thoát).

Nếu không có lỗi, sẽ đến một vòng lặp liên tục mà chương trình phải đọc từng dòng bên file này, và sao chép nó qua file kia (system call 4: sao chép).

Tại sao các lập trình viên thích sử dụng API hơn sử dụng thẳng system call?

System call cho người dùng cách tiếp cận những tiện ích/ dịch vụ của hệ điều hành. Mọi phương thức của người dùng qua giao diện (GUI), tập lệnh (Batch) hay câu lệnh (command line, như cmd trong window) đều có cùng mục đích chung là gọi system call, để yêu cầu hệ điều hành thực hiện tác vụ cho mình.

  • Thông thường, những system call được viết bằng ngôn ngữ lập trình C hoặc C++, hoặc assemble, đây là những ngôn ngữ lập trình cấp thấp (low-level), tức có khả năng tiếp cận trực tiếp đến bộ nhớ hay phần cứng máy tính.
  • Wikipedia
Hướng dẫn tao system call trong linux - lệnh gọi hệ thống tao trong linux
Linux System Call

Trước hết, chúng ta cần hiểu system call được sử dụng như thế nào: Giả sử có một chương trình đơn giản có tác vụ đọc dữ liệu trong một file, và sao chép nó qua một file khác.

Hướng dẫn tao system call trong linux - lệnh gọi hệ thống tao trong linux

Để chương trình hoạt động bình thường, chương trình cần phải đọc tên của 2 file (system call 1: đọc file).

Nếu có lỗi xảy ra, chương trình phải xuất một dòng báo lỗi ra màn hình cho người dùng (system call 2: xuất ra màn hình) và thoát chương trình ngay (system call 3: thoát).