Bài giảng Kiến thức máy tính - Phần 1, Chương 4: Quản lý tiến trình
Số trang: 20
Loại file: pdf
Dung lượng: 1.35 MB
Lượt xem: 13
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Kiến thức máy tính - Phần 1, Chương 4: Quản lý tiến trình. Chương này cung cấp cho sinh viên những nội dung gồm: các kiểu tiến trình; lệnh ps; trạng thái của tiến trình; lệnh kill; độ ưu tiên của các tiến trình; lệnh top; quản lý tác vụ; chuyển hướng các kênh chuẩn;... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!
Nội dung trích xuất từ tài liệu:
Bài giảng Kiến thức máy tính - Phần 1, Chương 4: Quản lý tiến trìnhChương 4: Quản lý tiến trình 1Giới thiệuMột tiến trình = một sự thực thi của một chương trìnhMỗi tiến trình sẽ tương ứng với một tập các thông tin sau:Một định danh (pid)Một tiến trình cha (ppid)Người sở hữu (uid) và nhóm (gid)Một đầu vào chuẩn (stdin), một đầu ra chuẩn (stdout), một kênh báolỗi chuẩn (stderr)Thời gian sử dụng CPU (CPU time) và mức độ ưu tiênThư mục hoạt động hiện tại của tiến trìnhBảng các tham chiếu đến các file được tiến trình sử dụng.Các tiến trình được sắp xếp để chia sẻ thời gian sử dụngCPUCác kiểu tiến trình (1)Các tiến trình hệ thốngThường thuộc về quyền rootKhông có giao diện tương tácThường được chạy dưới dạng các tiến trình ngầm(daemon)Đảm nhiệm các nhiệm vụ chung, phục vụ mọi người sửdụng.Ví dụ:lpsched: Quản lý các dịch vụ in ấncron: tự động thực hiện một lệnh/chương trình vào một thời gian xácđịnh trước.inetd: quản lý các dịch vụ mạng.Các kiểu tiến trình (2)Các tiến trình của người sử dụngThực hiện các nhiệm vụ của một người dùng cụ thểThực hiện dưới dạng một shell tương ứng với một sự đăng nhập.Thực hiện dưới dạng một lệnh thông qua shellThường được thực hiện, quản lý bằng một terminalVí dụ:cpviman…Lệnh psHiển thị các tiến trìnhTheo ngầm định, lệnh ps hiển thị các tiến trình thuộc về người sửdụng terminal.Sử dụng tùy chọn aux để hiển thị tất cả các tiến trình đang chạy trongmáy.$ ps PID TTY TIME CMD2803 pts/1 00:00:00 bash2965 pts/1 00:00:00 ps$ ps auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.1 0.1 1104 460 ? S 15:26 0:03 init[3]...ttanh 951 0.0 0.3 1728 996 pts/0 S 16:09 0:00 bashttanh 953 0.0 1.9 6860 4916 pts/0 S 16:09 0:00 emacsttanh 966 0.0 0.3 2704 1000 pts/0 R 16:23 0:00 ps aux...Trạng thái của tiến trìnhS : sleepingR : đang chạy creation destructionT : dừngZ : zombie Running Stop resume SleepingLệnh killGửi một tín hiệu đến một tiến trình (định danh của tiếntrình được xác định dưới dạng một tham số của lệnh).Theo ngầm định, tín hiệu gửi đi là tín hiệu 15 (SIGTERM – kết thúctiến trình)Tùy chọn -9: gửi tín hiệu 9 (SIGKILL – hủy tiến trình)Tùy chọn –l: liệt kê tất cả các tín hiệu có thể sử dụng.VD: kill 953Lệnh killall: dùng để kết thúc tất cả các tiến trình của mộtcâu lệnh thông qua việc truyền tên của câu lệnh dưới dạngmột tham số.VD: killall nanoQuyền hủy tiến trình thuộc về người sở hữu tiến trìnhBài tập• Dùng lệnh ps aux xem các tiến trình đang chạy trên máy• Mở firefox• Xem số hiệu tiến trình của firefox• Hủy firefox bằng lệnh kill.Độ ưu tiên của các tiến trìnhTất cả các tiến trình đều có độ ưu tiên ban đầu đượcngầm định là 0Mức độ ưu tiên của một tiến trình dao động trong khoảngtừ -19 đến +19Chỉ người sử dụng có quyền root mới có thể giảm giá trị biểu diễn độưu tiên của tiến trình. Một người sử dụng thông thường chỉ có thể làmgiảm độ ưu tiên của tiến trình thông qua việc tăng giá trị biểu diễn độưu tiên.Lệnh nice cho phép thay đổi độ ưu tiên của một tiến trìnhngay khi bắt đầu thực hiện lệnh tương ứng với tiến trình.$ nice [-n Value] [Command [Arguments ...]]Lệnh renice cho phép thay đổi độ ưu tiên của một tiếntrình sau khi đã chạy.Lệnh topHiển thị và cập nhật các thông tin sau của cáctiến trình đang chạy:Phần trăm sử dụng CPUPhần trăm sử dụng bộ nhớ trong$ top [–d]Tùy chọn –d cho phép xác định thời gian định kỳ cậpnhật thông tin (tính theo giây).Lệnh top cho phép người sử dụng tương tác vàquản lý các tiến trình (thay đổi độ ưu tiên, gửi cáctín hiệu, …)Chạy ở chế độ hiện (foreground vàchạy ở chế độ ngầm (background) (1)Quá trình chạy ở chế độ hiện sẽ tiến hành theonhững bước như sau:Thực hiện quá trình « fork », nhân bản tiến trình cha(trong trường hợp thực thi các lệnh, đó sẽ là tiến trìnhshell)Thực hiện quá trình « wait », đưa tiến trình cha vào trạngthái ngủ (sleep).Thực hiện quá trình « exec », thực thi tiến trình con.Sau khi tiến trình con thực thi xong, một tín hiệu « đánhthức » sẽ được gửi đến tiến trình cha.Do quá trình chạy như trên => trong quá trình thực hiệntiến trình con, người sử dụng không thể tương tác với tiếntrình cha.Chạy ở chế độ hiện (foreground vàchạy ở chế độ ngầm (background) (2)Quá trình chạy ở chế độ ngầm cho phép thực thitiến trình cha và tiến trình con một cách độc lập.Ví dụ: $ emacs&Sau khi thực hiện lệnh trên, emacs sẽ chạy ở chếđộ ngầm, người sử dụng có thể tiếp tục sử dụngconsole để thực thi các lệnh khácQuản lý tác vụMột tác vụ = việc thực hiện một câu lệnh. Một tác vụ có thể liên quanđến ...
Nội dung trích xuất từ tài liệu:
Bài giảng Kiến thức máy tính - Phần 1, Chương 4: Quản lý tiến trìnhChương 4: Quản lý tiến trình 1Giới thiệuMột tiến trình = một sự thực thi của một chương trìnhMỗi tiến trình sẽ tương ứng với một tập các thông tin sau:Một định danh (pid)Một tiến trình cha (ppid)Người sở hữu (uid) và nhóm (gid)Một đầu vào chuẩn (stdin), một đầu ra chuẩn (stdout), một kênh báolỗi chuẩn (stderr)Thời gian sử dụng CPU (CPU time) và mức độ ưu tiênThư mục hoạt động hiện tại của tiến trìnhBảng các tham chiếu đến các file được tiến trình sử dụng.Các tiến trình được sắp xếp để chia sẻ thời gian sử dụngCPUCác kiểu tiến trình (1)Các tiến trình hệ thốngThường thuộc về quyền rootKhông có giao diện tương tácThường được chạy dưới dạng các tiến trình ngầm(daemon)Đảm nhiệm các nhiệm vụ chung, phục vụ mọi người sửdụng.Ví dụ:lpsched: Quản lý các dịch vụ in ấncron: tự động thực hiện một lệnh/chương trình vào một thời gian xácđịnh trước.inetd: quản lý các dịch vụ mạng.Các kiểu tiến trình (2)Các tiến trình của người sử dụngThực hiện các nhiệm vụ của một người dùng cụ thểThực hiện dưới dạng một shell tương ứng với một sự đăng nhập.Thực hiện dưới dạng một lệnh thông qua shellThường được thực hiện, quản lý bằng một terminalVí dụ:cpviman…Lệnh psHiển thị các tiến trìnhTheo ngầm định, lệnh ps hiển thị các tiến trình thuộc về người sửdụng terminal.Sử dụng tùy chọn aux để hiển thị tất cả các tiến trình đang chạy trongmáy.$ ps PID TTY TIME CMD2803 pts/1 00:00:00 bash2965 pts/1 00:00:00 ps$ ps auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.1 0.1 1104 460 ? S 15:26 0:03 init[3]...ttanh 951 0.0 0.3 1728 996 pts/0 S 16:09 0:00 bashttanh 953 0.0 1.9 6860 4916 pts/0 S 16:09 0:00 emacsttanh 966 0.0 0.3 2704 1000 pts/0 R 16:23 0:00 ps aux...Trạng thái của tiến trìnhS : sleepingR : đang chạy creation destructionT : dừngZ : zombie Running Stop resume SleepingLệnh killGửi một tín hiệu đến một tiến trình (định danh của tiếntrình được xác định dưới dạng một tham số của lệnh).Theo ngầm định, tín hiệu gửi đi là tín hiệu 15 (SIGTERM – kết thúctiến trình)Tùy chọn -9: gửi tín hiệu 9 (SIGKILL – hủy tiến trình)Tùy chọn –l: liệt kê tất cả các tín hiệu có thể sử dụng.VD: kill 953Lệnh killall: dùng để kết thúc tất cả các tiến trình của mộtcâu lệnh thông qua việc truyền tên của câu lệnh dưới dạngmột tham số.VD: killall nanoQuyền hủy tiến trình thuộc về người sở hữu tiến trìnhBài tập• Dùng lệnh ps aux xem các tiến trình đang chạy trên máy• Mở firefox• Xem số hiệu tiến trình của firefox• Hủy firefox bằng lệnh kill.Độ ưu tiên của các tiến trìnhTất cả các tiến trình đều có độ ưu tiên ban đầu đượcngầm định là 0Mức độ ưu tiên của một tiến trình dao động trong khoảngtừ -19 đến +19Chỉ người sử dụng có quyền root mới có thể giảm giá trị biểu diễn độưu tiên của tiến trình. Một người sử dụng thông thường chỉ có thể làmgiảm độ ưu tiên của tiến trình thông qua việc tăng giá trị biểu diễn độưu tiên.Lệnh nice cho phép thay đổi độ ưu tiên của một tiến trìnhngay khi bắt đầu thực hiện lệnh tương ứng với tiến trình.$ nice [-n Value] [Command [Arguments ...]]Lệnh renice cho phép thay đổi độ ưu tiên của một tiếntrình sau khi đã chạy.Lệnh topHiển thị và cập nhật các thông tin sau của cáctiến trình đang chạy:Phần trăm sử dụng CPUPhần trăm sử dụng bộ nhớ trong$ top [–d]Tùy chọn –d cho phép xác định thời gian định kỳ cậpnhật thông tin (tính theo giây).Lệnh top cho phép người sử dụng tương tác vàquản lý các tiến trình (thay đổi độ ưu tiên, gửi cáctín hiệu, …)Chạy ở chế độ hiện (foreground vàchạy ở chế độ ngầm (background) (1)Quá trình chạy ở chế độ hiện sẽ tiến hành theonhững bước như sau:Thực hiện quá trình « fork », nhân bản tiến trình cha(trong trường hợp thực thi các lệnh, đó sẽ là tiến trìnhshell)Thực hiện quá trình « wait », đưa tiến trình cha vào trạngthái ngủ (sleep).Thực hiện quá trình « exec », thực thi tiến trình con.Sau khi tiến trình con thực thi xong, một tín hiệu « đánhthức » sẽ được gửi đến tiến trình cha.Do quá trình chạy như trên => trong quá trình thực hiệntiến trình con, người sử dụng không thể tương tác với tiếntrình cha.Chạy ở chế độ hiện (foreground vàchạy ở chế độ ngầm (background) (2)Quá trình chạy ở chế độ ngầm cho phép thực thitiến trình cha và tiến trình con một cách độc lập.Ví dụ: $ emacs&Sau khi thực hiện lệnh trên, emacs sẽ chạy ở chếđộ ngầm, người sử dụng có thể tiếp tục sử dụngconsole để thực thi các lệnh khácQuản lý tác vụMột tác vụ = việc thực hiện một câu lệnh. Một tác vụ có thể liên quanđến ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Kiến thức máy tính Kiến thức máy tính Quản lý tiến trình Kiểu tiến trình Quản lý tác vụ Chuyển hướng kênh chuẩn Cơ chế đường ốngTài liệu liên quan:
-
Bài giảng Nguyên lý hệ điều hành: Chương 2 - GV. Đặng Quang Hiển
118 trang 171 0 0 -
Giáo trình Hệ điều hành (Operating System)
201 trang 165 0 0 -
Tiểu luận: Quản lý bộ nhớ trong hệ điều hành windows
21 trang 98 0 0 -
Giáo trình Kiến trúc máy tính và hệ điều hành: Phần 2
124 trang 95 0 0 -
Giáo trình Hệ điều hành Linux - CĐ Nghề Đắk Lắk
88 trang 68 0 0 -
Tập bài giảng Nguyên lý hệ điều hành
300 trang 65 0 0 -
Bài giảng Nguyên lý hệ điều hành: Chương 2 - Phạm Đăng Hải
467 trang 62 0 0 -
Bài giảng Nguyên lý hệ điều hành – ThS. Nguyễn Quỳnh Hoa
55 trang 57 0 0 -
Giáo trình Hệ điều hành - CĐ Kinh tế Kỹ thuật TP.HCM
178 trang 53 0 0 -
Giáo trình nguyên lý hệ điều hành - Đặng Vũ Tùng
165 trang 37 0 0