Bài giảng Hệ điều hành Unix-Linux - Chương 4 trình bày về quản trị tiến trình. Trong chương này, ngoài các khái niệm cơ bản người học sẽ tìm hiểu về phân cấp trong Linux, điều khiển tiến trình, trạng thái tiến trình, trạng thái tiến trình với người dùng,... Mời các bạn cùng tham khảo.
Hệ iều hành UNIX-Linux Chương Quản trị tiến trình Đặng Thu Hiền Khoa Công nghệ thông tin Trường Đại học Công nghệ Đại học Quốc gia Hà Nội Khái niệm n n n n n Tiến trình đối tượng hệ thống tương ứng với phiên thực chương trình Tiến trình bao gồm ba thành phần text, data, stack Text thành phần câu lệnh thực hiện, data thành phần liệu cịn stack thành phần thơng tin tạm thời hoạt động theo chế LIFO Các câu lệnh text thao tác tới vùng data, stack tương ứng tiến trình, khơng truy nhập tới data stack tiến trình khác, ngoại trừ vùng liệu dùng chung Hệ thống thực theo ba mức: mức người dùng, mức nhân mức phần cứng n n Mức người dùng (user level): gồm có chương trình người dùng chương trình th- viện Các chương trình chạy (phần lệnh chúng thực hiện) trạng thái người dùng tiến trình chương trình người dùng thao tác với nhân trực tiếp gián tiếp nhờ gọi thư viện nhờ lời gọi hệ thống Mức nhân mức trọng tâm hệ iều hành Linux-UNIX Là chương trình hệ iều hành thuộc hệ thống iều khiển File, hệ thống iều khiển tiến trình, lời gọi hệ thống (system calls), chương trình iều khiển thiết bị, Cache đệm chương trình iều khiển phần cứng Hai thành phần Hệ thống iều khiển File Hệ thống iều khiển tiến trình Đặng Thu Hiền - 2009 Phân cấp Linux Đặng Thu Hiền - 2009 Điều khiển tiến trình n n Tương ứng với tiến trình ang tồn hệ thống có khối chứa thơng tin iều khiển tiến trình: n Trạng thái tiến trình, n Chủ sở hữu tiến trình, n Trường liên quan đến trạng thái ngưng tiến trình (theo lời gọi hàm sleep) n Địa vùng sử dụng tương ứng với tiến trình, n Các thơng tin tương ứng trình bày PCB Vùng sử dụng (U-area) chứa thơng tin riêng, có tác dụng tiến trình ang thực hiện: n n Chỉ số thành phần tương ứng với tiến trình bảng tiến trình: địa khối PCB tương ứng, n Bộ đếm thời gian chạy mức nhân mức người dùng, n Các giá trị trả mã lỗi (nếu có) lời gọi hệ thống tại, n Mô tả file ang mở ứng với tiến trình, n Tham số lưu trữ dung lượng liệu di chuyển vào - n Thư mục thư mục gốc tại: mơi trường tiến trình, n Các giới hạn kích thước file tiến trình, n Các mức cho phép thực tiến trình, n Một số thơng tin khác Các bảng định vị địa nhớ tiến trình, Đặng Thu Hiền - 2009 n Bảng chứa vùng nhớ chung: phân hoạch nhớ, đặc tính vùng theo phân hoạch: chứa text, data vùng nhớ dùng chung v.v Trạng thái tiến trình Đặng Thu Hiền - 2009 Trạng thái tiến trình với người dùng Đặng Thu Hiền - 2009 Các lệnh thao tác với tiến trình n Tổ hợp phím CTRL+z s dừng tiến trình, khởi động lại tiến trình cách gõ lệnh fg n Lệnh fg (foreground) tham chiếu đến chương trình mà hình c ng nh- bàn phím ang làm việc với chúng n Ví dụ: ang xem trang man lệnh sort, muốn thử tùy chọn -b đồng thời muốn xem trang man Thay cho việc ánh q để sau ó chạy lại lệnh man, cho phép người dùng gõ CTRL+z để tạm dừng lệnh man gõ lệnh thử tùy chọn -b Sau thử xong, gõ fg để tiếp tục xem trang man lệnh sort n # man sort | more n SORT(1) FSF SORT(1) n NAME n sort - sort lines of text Files n SYNOPSIS n /src/sort [OPTION] [Files] n DESCRIPTION n More n (CTRL+z) n [1]+ Stopped man sort | more n # ls -s | sort -b | head -2 n # fg man sort | more Đặng Thu Hiền - 2009 n Hiển thị tiến trình ang chạy n ps [tùy-chọn] n -A, -e : chọn để hiển thị tất tiến trình n -T : chọn để hiển thị tiến trình trạm cuối ang chạy n -a : chọn để hiển thị tất tiến trình trạm cuối, bao gồm tiến trình người dùng khác n -C : chọn hiển thị tiến trình theo tên lệnh n -G : hiển thị tiến trình theo số nhóm người dùng n -u : hiển thị tiến trình theo tên số người dùng hiệu n n -f : hiển thị thơng tin tiến trình với tr-ờng sau UID - số người dùng, PID - số tiến trình, PPID - số tiến trình khởi tạo tiến trình, C - , STIME - thời gian khởi tạo tiến trình, TTY - tên thiết bị đầu cuối ó tiến trình chạy, TIME - thời gian để thực tiến trình, CMD - lệnh khởi tạo tiến trình -o xâu-chọn : hiển thị thơng tin tiến trình theo dạng người dùng tự chọn thơng qua xâu-chọn kí hiệu iều khiển hiển thị có dạng nh- sau: %C, %cpu % CPU sử dụng cho tiến trình n %mem % nhớ sử dụng để chạy tiến trình n %G tên nhóm người dùng n %P số tiến trình cha khởi động tiến trình n %U định danh người dùng n %c lệnh tạo tiến trình n %p số tiến trình n %x thời gian để chạy tiến trình %y thiết bị đầu cuối ó tiến trình thực Đặng Thu Hiềnn - 2009 n Hủy tiến trình n n Xác định số tiến trình mà muốn hủy Cú pháp lệnh: n kill [tùy-chọn] n kill -l [tín hiệu] Lệnh kill s gửi tín hiệu đến tiến trình n Ngầm định tín hiệu TERM s gửi n Ví dụ: n # ps n PID TTY TIME CMD n 2240 pts/2 00:00:00 bash n 2276 pts/2 00:00:00 man n 2277 pts/2 00:00:00 more n 2280 pts/2 00:00:00 sh n 2281 pts/2 00:00:00 sh Đặng Thu Hiền - 2009 n # kill 2277 n Các tín hiệu Đặng Thu Hiền - 2009 10 Cho máy ngừng hoạt động thời gian n Cho máy nghỉ thời gian mà khơng muốn tắt ngại khởi động lại cần dùng lệnh sleep Cú pháp: n sleep [tùy-chọn] NUMBER[SUFFIX] n n n NUMBER: số giây(s) ngừng hoạt động SUFFIX : giây(s) phút(m) hoặc ngày(d) Các tùy chọn: n n help : thị trợ giúp thoát version : hiển thị thơng tin phiên Đặng Thu Hiền - 2009 11 Xem tiến trình n pstree [tùy-chọn] [pid | người-dùng] n Hiển thị tiến trình ang chạy d-ới dạng tiến trình n Gốc tiến trình thường init n Nếu đưa tên người dùng tiến trình người dùng ó sở hữu s đưa Đặng Thu Hiền - 2009 12 Thiết đặt lại độ ưu tiên tiến trình n nice [tùy-chọn] [lệnh [tham-số ] ] n Chạy chương trình (lệnh) theo độ ưu tiên ã xếp n Nếu lệnh, mức độ ưu tiên s hiển thị Độ ưu tiên xếp từ -20 (mức ưu tiên cao nhất) đến 19 (mức ưu tiên thấp nhất) n n n n -ADJUST : t ng độ ưu tiên theo ADJUST help : hiển thị trang trợ giúp thoát Để thay đổi độ ưu tiên tiến trình ang chạy dùng lệnh renice [tùy-chọn] n -g : thay đổi quyền ưu tiên theo nhóm người dùng n -p : thay đổi quyền ưu tiên theo số tiến trình n -u : thay đổi quyền ưu tiên theo tên người dùng Ví dụ: n n # renice +1 987 -u daemon root -p 32 lệnh s thay đổi mức độ ưu tiên tiến trình có số 987 32, tất tiến trình người dùng daemon root sở hữu Đặng Thu Hiền - 2009 13 ... more n # ls -s | sort -b | head -2 n # fg man sort | more Đặng Thu Hiền - 2009 n Hiển thị tiến trình ang chạy n ps [tùy-chọn] n -A, -e : chọn để hiển thị tất tiến trình n -T : chọn để... File Hệ thống iều khiển tiến trình Đặng Thu Hiền - 2009 Phân cấp Linux Đặng Thu Hiền - 2009 Điều khiển tiến trình n n Tương ứng với tiến trình ang tồn hệ thống có khối chứa thơng tin iều... trình chương trình người dùng thao tác với nhân trực tiếp gián tiếp nhờ gọi thư viện nhờ lời gọi hệ thống Mức nhân mức trọng tâm hệ iều hành Linux-UNIX Là chương trình hệ iều hành thu? ??c hệ thống