Linux Servers

Unix có hai cách đ t ch c các d ch v m ng: ể ổ ứ ị ụ ạ hoặc là khởi động ngay từ đầu chương trình server dưới dạng daemon, hoặc là để công tác khởi động chương trình dịch vụ theo yêu cầu (khi có yêu cầu kết nối) với sự trợ giúp của một tiến trình daemon khác là inetd (đọc là inét đê). Trong trường hợp đầu, ta cần cho mỗi dịch vụ ít nhất một daemon và tài nguyên của hệ thống bị sử dụng ngay cả khi không có yêu cầu kết nối. Còn trong trường. | Nếu con người được sinh ra bởi con người thì tiến trình cũng sinh ra bởi tiến trình. Chỉ có một điều khác là phải cần 2 người làm cha mẹ mới có trẻ em (trừ những dự định clone người hiện nay), còn tiến trình thì chỉ có một tiến trình cha. Khi hệ thống khởi động, tiến trình đầu tiên là init. Sau đó, init sẽ sinh ra các tiến trình khác cần thiết cho sự hoạt động của hệ thống. Ví dụ mỗi khi ta đăng nhập hệ thống, tiến trình login sau khi kiểm tra mật khẩu sẽ sinh ra một tiến trình shell để người sử dụng có thể làm việc thông qua các dòng lệnh của shell. Có 2 lệnh liên quan tới việc hình thành các tiến trình là lệnh fork và execve. Lệnh fork cho phép hình thành một tiến trình con giống hệt tiến trình cha và cả hai sau đó cùng được song song hoạt động và được HĐH đối xử như nhau. Hai tiến trình này chỉ khác nhau về PID và người ta có thể biết rằng hiện đang ở tiến trình bằng cách xem giá trị trở về của lệnh fork: nếu bằng 0, ta đang ở tiến trình cha, nếu khác 0 thì đó là PID của tiến trình con. Lệnh execve thì thay thế một tiến trình bằng một tiến trình khác. Như vậy, nếu ta đang có một tiến trình A, tiến trình B có thể sinh ra từ A bằng cách A fork ra A’ rồi trong A’ ta dùng lệnh execve để thay thế A’ bằng B.

Không thể tạo bản xem trước, hãy bấm tải xuống
TỪ KHÓA LIÊN QUAN
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.