Fork (lời gọi hệ thống)


Trong khoa học máy tính, đặc biệt là trong bối cảnh của hệ điều hành Unixtương tự Unix, fork là một hoạt động mà một tiến trình tạo ra một bản sao của chính nó. Nó thường là một lời gọi hệ thống, được thực hiện trong kernel. fork là phương thức chính (và là duy nhất trong lịch sử) để tạo tiến trình trên các hệ điều hành tương tự Unix.

Tổng quan

[sửa | sửa mã nguồn]

Trong các hệ điều hành đa nhiệm, các tiến trình (chương trình đang chạy) cần một cách để tạo các tiến trình mới, ví dụ, để chạy các chương trình khác. fork và các biến thể của nó thường là cách duy nhất để làm việc này trong các hệ thống tương tự Unix. Để một tiến trình bắt đầu thực thi một chương trình khác, trước tiên, nó tạo ra một bản sao của chính nó. Sau đó, bản sao này (được gọi là "tiến trình con") gọi lời gọi hệ thống exec để ghi đè chính nó bằng chương trình khác: nó ngừng thực thi chương trình cũ của nó để chạy chương trình kia.

fork tạo ra một không gian địa chỉ riêng cho tiến trình con. Tiến trình con có một bản sao của tất cả các phân đoạn bộ nhớ của tiến trình cha. Trong các biến thể UNIX hiện đại tuân theo mô hình bộ nhớ ảo của SunOS-4.0, sao chép khi ghi (copy-on-write) được thực hiện và bộ nhớ vật lý không cần phải được sao chép thực sự. Thay vào đó, các trang bộ nhớ ảo trong cả hai tiến trình có thể tham chiếu đến cùng một trang của bộ nhớ vật lý cho đến khi một trong số chúng ghi vào một trang như vậy, nó sẽ được sao chép.

Khi một tiến trình gọi fork, nó được coi là tiến trình cha, và tiến trình mới được tạo là con của nó. Sau khi fork, cả hai tiến trình không chỉ chạy cùng một chương trình, mà chúng tiếp tục thực thi giống như cả hai đã gọi lời gọi hệ thống. Sau đó, chúng có thể kiểm tra giá trị trả về của lời gọi để xác định trạng thái của chúng (là tiến trình con hoặc tiến trình cha) và hành động một cách tương ứng.

Tham khảo

[sửa | sửa mã nguồn]
Chúng tôi bán
Bài viết liên quan
Nhân vật Kakeru Ryūen trong Classroom of the Elite
Nhân vật Kakeru Ryūen trong Classroom of the Elite
Kakeru Ryūen (龍りゅう園えん 翔かける, Ryūen Kakeru) là lớp trưởng của Lớp 1-C và cũng là một học sinh cá biệt có tiếng
Download anime Plunderer Vietsub
Download anime Plunderer Vietsub
Alcia, một thế giới bị chi phối bởi những con số, mọi người dân sinh sống tại đây đều bị ép buộc phải “count” một thứ gì đó
[Guide] Hướng dẫn build Layla (Khiên Support) - Genshin Impact
[Guide] Hướng dẫn build Layla (Khiên Support) - Genshin Impact
Layla là đại diện hoàn hảo cho tôi ở trường, lol (có lẽ tôi nên đi ngủ sớm hơn)
Vì sao Harry Potter lại được chiếc nón phân loại đánh giá là thích hợp ở nhà Gryffindor lẫn Slytherin?
Vì sao Harry Potter lại được chiếc nón phân loại đánh giá là thích hợp ở nhà Gryffindor lẫn Slytherin?
Hình như mọi người đều nghĩ Harry Potter thích hợp nhất ở nhà Gry và cảm thấy tất cả mọi yếu tố tính cách của Harry đều chính minh cho một Gry thực thụ