tailieunhanh - Cấp Phát Luồng

Một quá trình mới được tạo bởi lời gọi hệ thống fork. Quá trình mới chứa bản sao của không gian địa chỉ của quá trình gốc. Cơ chế này cho phép quá trình cha giao tiếp dễ dàng với quá trình con. Cả hai quá trình (cha và con) tiếp tục thực thi tại chỉ thị sau khi lời gọi hệ thống fork, với một sự khác biệt: mã trả về cho lời gọi hệ thống fork là không cho quá trình mới (con), ngược lại danh biểu quá trình (khác không) của quá trình con được trả. | Cấp Phát Luồng Lời gọi hệ thống fork và exec Sự hủy bỏ luồng Tín hiệu quản lý Nhóm luồng Dữ liệu đặc tả luồng .Neo's. Lời gọi hệ thống fork và exec Một trong thứ hay nhất của UNIX mà M$Windows không có chính là system calls: fork(). Fork tạo ra một process con (child process) là copy (nhân bản) của chính process cha tạo ra nó (parent process) #include #include pid_t fork(void); Một quá trình mới được tạo bởi lời gọi hệ thống fork. Quá trình mới chứa bản sao của không gian địa chỉ của quá trình gốc. Cơ chế này cho phép quá trình cha giao tiếp dễ dàng với quá trình con. Cả hai quá trình (cha và con) tiếp tục thực thi tại chỉ thị sau khi lời gọi hệ thống fork, với một sự khác biệt: mã trả về cho lời gọi hệ thống fork là không cho quá trình mới (con), ngược lại danh biểu quá trình (khác không) của quá trình con được trả về tới quá trình cha. Neo's Lời gọi hệ thống exec điển hình thực hiện công việc trong cùng một cách. Nghĩa là, nếu một luồng nạp | Cấp Phát Luồng Lời gọi hệ thống fork và exec Sự hủy bỏ luồng Tín hiệu quản lý Nhóm luồng Dữ liệu đặc tả luồng .Neo's. Lời gọi hệ thống fork và exec Một trong thứ hay nhất của UNIX mà M$Windows không có chính là system calls: fork(). Fork tạo ra một process con (child process) là copy (nhân bản) của chính process cha tạo ra nó (parent process) #include #include pid_t fork(void); Một quá trình mới được tạo bởi lời gọi hệ thống fork. Quá trình mới chứa bản sao của không gian địa chỉ của quá trình gốc. Cơ chế này cho phép quá trình cha giao tiếp dễ dàng với quá trình con. Cả hai quá trình (cha và con) tiếp tục thực thi tại chỉ thị sau khi lời gọi hệ thống fork, với một sự khác biệt: mã trả về cho lời gọi hệ thống fork là không cho quá trình mới (con), ngược lại danh biểu quá trình (khác không) của quá trình con được trả về tới quá trình cha. Neo's Lời gọi hệ thống exec điển hình thực hiện công việc trong cùng một cách. Nghĩa là, nếu một luồng nạp lời gọi hệ thống exec, chương trình được xác định trong tham số exec sẽ thay thế toàn bộ quá trình-chứa tất cả luồng và các quá trình tải nhẹ Trong một chương trình đa luồng, ngữ nghĩa của các lời gọi hệ thống fork và exec thay đổi. Nếu một luồng trong lời gọi chương trình fork thì quá trình mới sao chép lại quá trình tất cả luồng hay là một quá trình đơn luồng mới? Neo's . Một số hệ thống UNIX chọn hai ấn bản fork, một sao chép lại tất cả luồng và một sao chép lại chỉ luồng được nạp lên lời gọi hệ thống fork Việc sử dụng hai ấn bản fork phụ thuộc vào ứng dụng. Nếu exec bị hủy tức thì sau khi phân nhánh (forking) thì sự sao chép lại tất cả luồng là không cần thiết khi chương trình được xác định trong các tham số exec sẽ thay thế quá trình. Trong trường hợp này, việc sao chép lại chỉ gọi luồng hợp lý. Tuy nhiên, nếu quá trình riêng biệt này không gọi exec sau khi phân nhánh thì quá trình riêng biệt này nên sao chép lại tất cả luồng. Neo's Sự hủy bỏ luồng Hủy một luồng là một

TỪ KHÓA LIÊN QUAN