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
Download Princess Connect! Re:Dive Vietsub
Download Princess Connect! Re:Dive Vietsub
Chuyển thể từ game đi động cùng tên là câu chuyện về một anh chàng tỉnh dậy ở thế giới phép thuật không có ký ức gì và Cuộc phiêu lưu của chàng trai ấy và các nữ pháp sư xinh đẹp bắt đầu
JR Pass là gì? Hướng dẫn sử dụng JR Pass đi khắp nước Nhật dễ dàng
JR Pass là gì? Hướng dẫn sử dụng JR Pass đi khắp nước Nhật dễ dàng
Bạn muốn đi nhiều nơi tại Nhật nhưng chi phí đi lại thì quá cao? Hãy yên tâm, lựa chọn của bạn sẽ đơn giản hoá hơn nhiều khi đã có JR Pass là có thể di chuyển khắp mọi miền quê ở đất nước mặt trời mọc
Lịch sử World Item & câu chuyện xoay quanh nó
Lịch sử World Item & câu chuyện xoay quanh nó
Trong truyền thuyết trò chơi YGGDRASIL, Cây Thế giới từng được bao phủ bởi vô số chiếc lá, nhưng một ngày nọ, một con quái vật khổng lồ xuất hiện và ăn tươi nuốt sống những chiếc lá này
[Vietsub+Kara][PV+Perf] Niji - Suda Masaki
[Vietsub+Kara][PV+Perf] Niji - Suda Masaki
“Niji” có nghĩa là cầu vồng, bài hát như một lời tỏ tình ngọt ngào của một chàng trai dành cho người con gái