Hệ điều hành unix - Linux - Chương 4: Quản trị tiến trình

Tiến trình là ñối tượng trong hệ thống tương ứng với một phiên

thực hiện của một chương trình

 Tiến trình bao gồm ba thành phần là text, data, stack

 Text là thành phần câu lệnh thực hiện, data là thành phần dữ

liệu còn stack là thành phần thông tin tạm thời hoạt ñộng theo cơ

chế LIFO

Các câu lệnh trong text chỉ thao tác tới vùng data, stack tương

ứng của tiến trình, không truy nhập ñược tới data và stack của các

tiến trình khác, ngoại trừ các vùng dữ liệu dùng chung

pdf16 trang | Chia sẻ: Mr Hưng | Lượt xem: 819 | Lượt tải: 0download
Nội dung tài liệu Hệ điều hành unix - Linux - Chương 4: Quản trị tiến trình, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1Unix operating system - Nguyen Tri Thanh Sep-10 Hệ ñiều hành UNIX-Linux Chương 4. Quản trị tiến trình 2Unix operating system - Nguyen Tri Thanh Sep-10 Khái niệm cơ bản  Tiến trình là ñối tượng trong hệ thống tương ứng với một phiên thực hiện của một chương trình  Tiến trình bao gồm ba thành phần là text, data, stack  Text là thành phần câu lệnh thực hiện, data là thành phần dữ liệu còn stack là thành phần thông tin tạm thời hoạt ñộng theo cơ chế LIFO Các câu lệnh trong text chỉ thao tác tới vùng data, stack tương ứng của tiến trình, không truy nhập ñược tới data và stack của các tiến trình khác, ngoại trừ các vùng dữ liệu dùng chung 3Unix operating system - Nguyen Tri Thanh Sep-10 Khái niệm cơ bản Hệ thống thực hiện theo ba mức: mức người dùng, mức nhân và mức phần cứng Mức người dùng (user level)  Có chương trình người dùng và chương trình trong các thư viện. Các chương trình này chạy trong trạng thái người dùng của tiến trình, chương trình người dùng thao tác với nhân hoặc trực tiếp hoặc gián tiếp nhờ gọi thư viện nhờ các lời gọi hệ thống. Mức nhân  Là mức trọng tâm nhất của hệ ñiều hành Linux-UNIX  Là những chương trình của 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, các lời gọi hệ thống (system calls), các chương trình ñiều khiển thiết bị, Cache bộ ñệm và các chương trình ñiều khiển phần cứng, 4Unix operating system - Nguyen Tri Thanh Sep-10 Phân cấp trong Linux 5Unix operating system - Nguyen Tri Thanh Sep-10 ðiều khiển tiến trình  Tương ứng với mỗi tiến trình ñang tồn tại trong hệ thống có một khối chứa thông tin ñiều khiển tiến trình (PCB)  Trạng thái của tiến trình  Chủ sở hữu của tiến trình  Trường liên quan ñến trạng thái ngưng của tiến trình (theo lời gọi hàm sleep)  ðịa chỉ của vùng sử dụng tương ứng với tiến trình Các bảng ñịnh vị ñịa chỉ bộ nhớ ñối với mỗi tiến trình, Bảng chứa vùng bộ nhớ chung: phân hoạch bộ nhớ, ñặc tính mỗi vùng theo phân hoạch: chứa text, data hoặc vùng bộ nhớ dùng chung v.v. 6Unix operating system - Nguyen Tri Thanh Sep-10 ðiều khiển tiến trình  Vùng sử dụng (U-area) chứa các thông tin riêng, có tác dụng khi tiến trình ñang thực hiện:  Chỉ số thành phần tương ứng với tiến trình trong bảng các tiến trình: ñịa chỉ của khối PCB tương ứng,  Bộ ñếm thời gian chạy mức nhân và mức người dùng,  Các giá trị trả về và mã lỗi (nếu có) ñối với lời gọi hệ thống hiện tại,  Mô tả về các file ñang mở ứng với tiến trình,  Tham số lưu trữ dung lượng dữ liệu di chuyển trong vào - ra.  Thư mục hiện tại và thư mục gốc hiện tại: môi trường của tiến trình,  Các giới hạn kích thước file và tiến trình,  Các mức cho phép thực hiện ñối với tiến trình,  Một số thông tin khác 7Unix operating system - Nguyen Tri Thanh Sep-10 Trạng thái tiến trình 8Unix operating system - Nguyen Tri Thanh Sep-10 Trạng thái tiến trình với người dùng 9Unix operating system - Nguyen Tri Thanh Sep-10 Các lệnh thao tác với tiến trình - Tổ hợp phím CTRL+z sẽ dừng một tiến trình, khởi ñộng lại tiến trình bằng cách gõ lệnh fg - Lệnh fg (foreground) Ví dụ: ñang xem trangman của lệnh sort, muốn thử tùy chọn -b ñồng thời vẫn muốn xem trangman. gõ CTRL+z ñể tạm dừng lệnh man và gõ lệnh thử tùy chọn –b, sau ñó gõ fg ñể tiếp tục xem # man sort | more SORT(1) FSF SORT(1) NAME sort - sort lines of text Files SYNOPSIS ../src/sort [OPTION] ... [Files]... DESCRIPTION --More-- (CTRL+z) [1]+ Stopped man sort | more # ls -s | sort -b | head -4 1 Archives/ 1 InfoWorld/ 1 Mail/ 1 News/ 1 OWL/ # fg man sort | more --More-- 10Unix operating system - Nguyen Tri Thanh Sep-10 Hiển thị các tiến trình ñang chạy ps [tùy-chọn]  Tùy chọn -A, -e : chọn ñể hiển thị tất cả các tiến trình. -T : chọn ñể hiển thị các tiến trình trên trạm cuối ñang chạy. -a : chọn ñể hiển thị tất cả các tiến trình trên một trạm cuối, bao gồm cả các tiến trình của những người dùng khác. -G : hiển thị các tiến trình theo chỉ số nhóm người dùng. -u : hiển thị các tiến trình theo tên và chỉ số của người dùng hiệu quả. -o xâu-chọn : hiển thị các thông tin về tiến trình theo dạng do người dùng tự chọn thông qua xâu-chọn các kí hiệu ñiều khiển hiển thị có các dạng nh- sau: %C, %cpu % CPU ñược sử dụng cho tiến trình %mem % bộ nhớ ñược sử dụng ñể chạy tiến trình %G tên nhóm người dùng %P chỉ số của tiến trình cha khởi ñộng ra tiến trình con %U ñịnh danh người dùng %c lệnh tạo ra tiến trình %p chỉ số của tiến trình %x thời gian ñể chạy tiến trình %y thiết bị ñầu cuối trên ñó tiến trình ñược thực hiện ư 11Unix operating system - Nguyen Tri Thanh Sep-10 Liệt kê tiến trình Ví dụ # ps -o '%U %G %p %P %y %x %c‘ USER GROUP PID PPID TTY TIME COMMAND root root 1929 1927 pts/1 00:00:00 bash root root 2279 1929 pts/1 00:00:00 ps 12Unix operating system - Nguyen Tri Thanh Sep-10 Hủy tiến trình kill [tùy-chọn] kill -l [tín hiệu] Lệnh kill sẽ gửi một tín hiệu ñến tiến trình ñược chỉ ra Ngầm ñịnh là tín hiệu TERM sẽ ñược gửi Ví dụ # ps PID TTY TIME CMD 2240 pts/2 00:00:00 bash 2276 pts/2 00:00:00 man 2277 pts/2 00:00:00 more 2280 pts/2 00:00:00 sh 2281 pts/2 00:00:00 sh 2285 pts/2 00:00:00 less 2289 pts/2 00:00:00 man 2291 pts/2 00:00:00 sh # kill 2277 13Unix operating system - Nguyen Tri Thanh Sep-10 Các tín hiệu 14Unix operating system - Nguyen Tri Thanh Sep-10 Cho máy ngừng hoạt ñộng một thời gian sleep [tùy-chọn] NUMBER[SUFFIX]  Cho máy nghỉ một thời gian mà không muốn tắt vì ngại khởi ñộng lại thì cần dùng lệnh sleep  Tham số  NUMBER: số giây(s) ngừng hoạt ñộng.  SUFFIX : có thể là giây(s) hoặc phút(m) hoặc giờ hoặc ngày(d)  Ví dụ sleep 3 15Unix operating system - Nguyen Tri Thanh Sep-10 Xem cây tiến trình pstree [tùy-chọn] [pid | người-dùng]  Hiển thị các tiến trình ñang chạy dưới dạng cây tiến trình  Gốc của cây tiến trình thường là init  Nếu ñưa ra tên của một người dùng thì cây của các tiến trình do người dùng ñó sở hữu sẽ ñược ñưa ra # pstree init-+-apmd |-atd |-automount |-crond |-enlightenment |-gdm-+-X | `-gdm---gnome-session |-gen_util_applet |-gmc |-gnome-name-serv |-gnome-smproxy |-gnomepager_appl 16Unix operating system - Nguyen Tri Thanh Sep-10 Thiết ñặt lại ñộ ưu tiên của tiến trình nice [tùy-chọn] [lệnh [tham-số ]... ]  Chạy một chương trình (lệnh) theo ñộ ưu tiên ñã sắp xếp  Nếu không có lệnh, mức ñộ ưu tiên hiện tại sẽ hiển thị. ðộ ưu tiên ñược sắp xếp từ -20 (mức ưu tiên cao nhất) ñến 19 (mức ưu tiên thấp nhất).  ðể thay ñổi ñộ ưu tiên của một tiến trình ñang chạy: renice [tùy-chọn]  Tùy chọn -g : thay ñổi quyền ưu tiên theo nhóm người dùng -p : thay ñổi quyền ưu tiên theo chỉ số của tiến trình -u : thay ñổi quyền ưu tiên theo tên người dùng  Ví dụ: # renice +1 987 -u daemon root -p 32 lệnh trên sẽ thay ñổi mức ñộ ưu tiên của tiến trình có chỉ số là 987 và 32, và tất cả các tiến trình do người dùng daemon và root sở hữu.

Các file đính kèm theo tài liệu này:

  • pdfbai_giang_4_9017.pdf
Tài liệu liên quan