GIÁO TRÌNH HỆ ĐIỀU HÀNH UNIX - LINUX - Trang 95

9
4

Địa chỉ quay về sau lời gọi

copy

Địa chỉ quay về sau lời gọi

func2

Các tham số
của copy

old

new


frame 2

Frame 2

Tham số của func2 nhân

Biến cục bộ

fdold

fdnew

call copy ()

call

func2()

Biến cục bộ

Địa chỉ của Frame 0

Địa chỉ của Frame 0

Địa chỉ quay về sau lời gọi

main

Địa chỉ quay về sau lời gọi

func1

Tham số của
main

argc

argv


Frame 1

Frame 1

Tham số của func1 nhân

call main ()

call func1()

Các stack cho mt quá trình

Quá trình trong UNIX được thực hiện theo một trong hai mode: mode nhân hay mode

người dùng và tương ứng với 2 mode này, quá trình sử dụng stack riêng biệt đối với mỗi
mode.

Stack người dùng chứa các đối số, biến cục bộ, và các dữ liệu khác đối với việc thực

hiện hàm trong mode người dùng. Stach nhân chứa các đối số, biến cục bộ, các tham số,
các địa chỉ liên kết v.v. liên quan đến thực hiện các hàm theo mode nhân.

4.1.4. Sơ b v điu khin quá trình

Nhân sử dụng 4 cấu trúc dữ liệu sau đây để truy nhập đến quá trình:

Bảng các quá trình, tương ứng với mỗi quá trình đang tồn tại trong hệ thống là một

thành phần. Mỗi thành phần bao gồm một số trường sau đây (mỗi thành phần ở đây
chính là một PCB):

- Trạng thái của quá trình,
- Chủ sở hữu của quá trình,
- Trường liên quan đến trạng thái ngưng của quá trình (theo lời gọi hàm sleep)
- Địa chỉ của vùng sử dụng tương ứng với quá trình,
- Các thông tin tương ứng được trình bày trong PCB.

Vùng sử dụng (U-area) chứa các thông tin riêng, có tác dụng khi quá trình đang thực

hiện:

- Chỉ số thành phần tương ứng với quá trình trong bảng các quá 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 quá 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 quá trình,
- Các giới hạn kích thước file và quá trình,
- Các mức cho phép thực hiện đối với quá trình,
- Một số thông tin khác

Các bảng định vị địa chỉ bộ nhớ đối với mỗi quá trình,