Tải bản đầy đủ (.docx) (20 trang)

BÀI tập lớn lập trình hệ thống 1 sinh viên thực hiện 1 hoàng mạnh hiệp 2 trần thanh tú đề tài tìm hiểu về tiến trình trong windows

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.43 MB, 20 trang )

BÀI TẬP LỚN
Lập trình hệ thống
Đề tài: Tìm hiểu về tiến trình trong
windows
Giảng viên hướng dẫn: TS.

Đỗ Quốc Huy

Sinh viên thực hiện:
1. Hoàng Mạnh Hiệp
2. Trần Thanh Tú

TIEU LUAN MOI download :

1


Nội dung
1. Chương trình, tiến trình, luồng

2. Tạo và hủy tiến trình
3. Độ ưu tiên của tiến trình

TIEU LUAN MOI download :

2


Nội dung
1.


Chương trình, tiến trình, luồng

2. Tạo và hủy tiến trình
3. Độ ưu tiên của tiến trình

06/10/2022

TIEU LUAN MOI download :

3


1. Chương trình, tiến trình, luồng
Chương trình – Program:
• Là một file chạy được chứa các chỉ lệnh (instruction) được
viết để thực thi một cơng việc nào đó trên máy tính và có thể
thực thi được
• Nằm ở bộ nhớ ngồi của máy tính
Ví dụ:
• Helloworld.exe
• Notepad.exe

06/10/2022

TIEU LUAN MOI download :

4


1. Chương trình, tiến trình, luồng

Tiến trình – Process:
• Là một phiên bản đang chạy của một chương trình:
• Đươc định danh bởi pid
• Một tiến trình cha (ppid)
• Một đầu vào chuẩn (stdin), đầu ra chuẩn (stdout), kênh báo lỗi
chuẩn (stderr)
• Thời gian sử dụng CPU (CPU time) và mức độ ưu tiên
Ví dụ: Chương trình helloworld.exe đang chạy trong máy tính
được gọi là một tiến trình

06/10/2022

TIEU LUAN MOI download :

5


1. Chương trình, tiến trình, luồng
Luồng – Thread:
• Là một luồng thực thi mã nguồn trong một tiến trình
• Sở hữu bộ xử lý ảo riêng bao gồm: stack, thanh ghi, con trỏ
lệnh
• Trong mơ hình đơn luồng, một tiến trình là một luồng
• Trong mơ hình đa luồng, một tiến trình có thể có nhiều luồng,
gọi là multithreaded process. Các luồng chia sẻ bộ nhớ ảo của
tiến trình.


06/10/2022


TIEU LUAN MOI download :

6


Nội dung
1.

Chương trình, tiến trình, luồng

2.

Tạo và hủy tiến trình

3. Các dạng tiến trình sau khi kết thúc

06/10/2022

TIEU LUAN MOI download :

7


2. Tạo và hủy tiến trình
Trạng thái của tiến trình:

06/10/2022

TIEU LUAN MOI download :


8


2. Tạo và hủy tiến trình
Tạo tiến trình:

Chia thành 2 bước
• Nạp chương trình vào bộ nhớ trong
• Chạy ảnh của chương trình trong bộ nhớ

Các cách để khởi tạo một tiến trình mới:
• Gọi tiến trình mới bằng hàm system()
• Sử dụng nhóm hàm createProcess()

06/10/2022

TIEU LUAN MOI download :

9


2.Tạo và kết thúc tiến trình
 Gọi tiến trình mới bằng hàm system()
Cách khai báo:
#include <stdlib.h>
int system(const char(cmdstr))

Hàm này gọi chuỗi lệnh cmdstr thực thi và chờ lệnh chấm dứt mới quay
về gọi hàm.


Ví dụ: system(“notepad.exe”)

06/10/2022

TIEU LUAN MOI download :

10


2. Tạo và hủy tiến trình
 Sử dụng nhóm hàm createProcess()
Tạo ra một tiến trình mới chạy cùng ảnh chương trình với tiến
trình hiện tại.

06/10/2022

TIEU LUAN MOI download :

11


2. Tạo và kết thúc tiến trình
 Hủy tiến trình:
Hàm hủy tiến trình được định nghĩa:
void exit (int status);
tham số status được trả về cho process cha mẹ:
• 0 thể hiện sự thành cơng
• 1 và -1 cùng thể hiện cho lỗi

06/10/2022


TIEU LUAN MOI download :

12


2. Tạo và kết thúc tiến trình


Kết thúc tiến trình:
• Để kết thúc một process, có thể sử dụng cách sau:
o Sử dụng hàm gọi hệ thống:
System(“taskkill /PID /F”)
o

06/10/2022

Sử dụng hàm TerminateProcess

TIEU LUAN MOI download :

13


Nội dung
1.

Chương trình, tiến trình, luồng

2.


Tạo và hủy tiến trình

3.

Độ ưu tiên của tiến trình

06/10/2022

TIEU LUAN MOI download :

14


3. Độ ưu tiên của tiến trình
• Hệ điều hành windows chia sẻ tài nguyên xử lí cho các
process đang chạy dựa trên độ ưu tiên của nó. Với một process
có độ ưu tiên cao thì sẽ nhận được nhiều tài ngun hơn và
ngược lại.
• Có thể chỉ định mức độ ưu tiên cho một tiến trình, với các
mức độ ưu tiên như sau: Realtime, High, Above normal, Normal,
Below normal, Low
• Để thay đổi độ ưu tiên của một process có thể thực hiện theo
các cách sau:
• Thao tác trực tiếp trên task manager
• Sử dụng command line
• Sự dụng hàm SetPriorityClass trong C


06/10/2022


TIEU LUAN MOI download :

15


4. Độ ưu tiên của tiến trình
• Hàm thay đổi độ ưu tiên trong windows:

• Trong đó hProcess: process cần thay đổi độ ưu tiên
• dwPriorityClass: Giá trị độ ưu tiên cần đổi

06/10/2022

TIEU LUAN MOI download :

16


4. Độ ưu tiên của tiến trình

06/10/2022

TIEU LUAN MOI download :

17


Thankforyour
attention.


WHAT QUESTIONS WOULD YOU
LIKE TO ASK ME?

TIEU LUAN MOI download :



×