1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

18 3 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

Tiêu đề Tìm hiểu về tiến trình trong Windows
Tác giả Hoàng Mạnh Hiệp, Trần Thanh Tú
Người hướng dẫn TS. Đỗ Quốc Huy
Trường học Trường Đại Học Công Nghệ Thông Tin - Đại Học Quốc Gia Hà Nội
Chuyên ngành Lập trình hệ thống
Thể loại Bài Tập Lớn
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 18
Dung lượng 1,75 MB

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

Nội dung

Độ ưu tiên của tiến trình TIEU LUAN MOI download : skknchat@gmail.com 2... Chương trình, tiến trình, luồngChương trình – Program: • Là một file chạy được chứa các chỉ lệnh instruction đư

Trang 1

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

TIEU LUAN MOI download : skknchat@gmail.com 1

Trang 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

TIEU LUAN MOI download : skknchat@gmail.com 2

Trang 3

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 : skknchat@gmail.com 3

Trang 4

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ớ ngoài của máy tính

Ví dụ:

• Helloworld.exe

• Notepad.exe

06/10/2022 TIEU LUAN MOI download : skknchat@gmail.com 4

Trang 5

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 : skknchat@gmail.com 5

Trang 6

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 : skknchat@gmail.com 6

Trang 7

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 : skknchat@gmail.com 7

Trang 8

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 : skknchat@gmail.com 8

Trang 9

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 : skknchat@gmail.com 9

Trang 10

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 : skknchat@gmail.com 10

Trang 11

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 : skknchat@gmail.com 11

Trang 12

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 : skknchat@gmail.com 12

Trang 13

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 <process_id> /F”)

o Sử dụng hàm TerminateProcess

06/10/2022 TIEU LUAN MOI download : skknchat@gmail.com 13

Trang 14

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 : skknchat@gmail.com 14

Trang 15

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 nguyên 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 : skknchat@gmail.com 15

Trang 16

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 : skknchat@gmail.com 16

Trang 17

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

06/10/2022 TIEU LUAN MOI download : skknchat@gmail.com 17

Trang 18

T h a n k f o r y o u r

a t t e n t i o n

WHAT QUESTIONS WOULD YOU LIKE TO ASK ME?

TIEU LUAN MOI download : skknchat@gmail.com

Ngày đăng: 11/06/2022, 06:40

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

w