1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Hệ điều hành UNIX-Linux: Chương 4 - Nguyễn Trí Thành

16 16 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 185,96 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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. Chương này cung cấp cho người học những nội dung như: Khái niệm cơ bản về quản trị tiến trình, phân cấp trong Linux, điều khiển tiến trình, trạng thái tiến trình, các lệnh thao tác với tiến trình,...và một số nội dung khác.

Trang 1

Hệ ñiều hành UNIX-Linux

Chương 4 Quản trị tiến trình

Trang 2

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

Trang 3

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, …

Trang 4

Phân cấp trong Linux

Trang 5

ð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

Trang 6

ð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

Trang 7

Trạng thái tiến trình

Trang 8

Trạng thái tiến trình với người dùng

Trang 9

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 trang man của lệnh sort, muốn thử tùy chọn -b

ñồng thời vẫn muốn xem trang man 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

Trang 10

More 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

%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

ư

Trang 11

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

Trang 12

Hủy tiến trình

kill [tùy-chọn] <chỉ-số-của-tiến-trình>

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

Trang 13

Các tín hiệu

Trang 14

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

Trang 15

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

Trang 16

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 <ñộ-ưu-tiên> [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.

Ngày đăng: 08/05/2021, 17:03

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm