Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
513,44 KB
Nội dung
BÀI TẬP LỚN Lập trình hệ thống Đề tài: Tìm hiểu tiến trình windows Giảng viên hướng dẫn: TS Đỗ Quốc Huy Sinh viên thực hiện: Hoàng Mạnh Hiệp Trần Thanh Tú Nội dung Chương trình, tiến trình, luồng Tạo hủy tiến trình Độ ưu tiên tiến trình Nội dung Chương trình, tiến trình, luồng Tạo hủy tiến trình Độ ưu tiên tiến trình 06/10/2022 Chương trình, tiến trình, luồng Chương trình – Program: • Là file chạy chứa lệnh (instruction) viết để thực thi công việc máy tính thực thi • Nằm nhớ ngồi máy tính Ví dụ: • Helloworld.exe • Notepad.exe 06/10/2022 Chương trình, tiến trình, luồng Tiến trình – Process: • Là phiên chạy chương trình: • Đươc định danh pid • Một tiến trình cha (ppid) • Một đầu vào chuẩn (stdin), đầu chuẩn (stdout), kênh báo lỗi chuẩn (stderr) • Thời gian sử dụng CPU (CPU time) mức độ ưu tiên Ví dụ: Chương trình helloworld.exe đang chạy máy tính gọi tiến trình 06/10/2022 Chương trình, tiến trình, luồng Luồng – Thread: • Là luồng thực thi mã nguồn tiến trình • Sở hữu xử lý ảo riêng bao gồm: stack, ghi, trỏ lệnh • Trong mơ hình đơn luồng, tiến trình luồng • Trong mơ hình đa luồng, tiến trình có nhiều luồng, gọi multithreaded process Các luồng chia sẻ nhớ ảo tiến trình 06/10/2022 Nội dung Chương trình, tiến trình, luồng Tạo hủy tiến trình Các dạng tiến trình sau kết thúc 06/10/2022 Tạo hủy tiến trình Trạng thái tiến trình: 06/10/2022 Tạo hủy tiến trình Tạo tiến trình: • Chia thành bước • Nạp chương trình vào nhớ • Chạy ảnh chương trình nhớ • Các cách để khởi tạo tiến trình mới: • Gọi tiến trình hàm system() • Sử dụng nhóm hàm createProcess() 06/10/2022 Tạo kết thúc tiến trình Gọi tiến trình hàm system() Cách khai báo: #include int system(const char(cmdstr)) Hàm gọi chuỗi lệnh cmdstr thực thi chờ lệnh chấm dứt quay gọi hàm Ví dụ: system(“notepad.exe”) 06/10/2022 10 Tạo hủy tiến trình Sử dụng nhóm hàm createProcess() Tạo tiến trình chạy ảnh chương trình với tiến trình 06/10/2022 11 Tạo kết thúc tiến trình Hủy tiến trình: Hàm hủy tiến trình định nghĩa: void exit (int status); tham số status trả cho process cha mẹ: • thể thành cơng • -1 thể cho lỗi 06/10/2022 12 Tạo kết thúc tiến trình Kết thúc tiến trình: • Để kết thúc process, 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 13 Nội dung Chương trình, tiến trình, luồng Tạo hủy tiến trình Độ ưu tiên tiến trình 06/10/2022 14 Độ ưu tiên tiến trình • Hệ điều hành windows chia sẻ tài nguyên xử lí cho process chạy dựa độ ưu tiên Với process có độ ưu tiên cao nhận nhiều tài nguyên ngược lại • Có thể định mức độ ưu tiên cho tiến trình, với mức độ ưu tiên sau: Realtime, High, Above normal, Normal, Below normal, Low • Để thay đổi độ ưu tiên process thực theo cách sau: • Thao tác trực tiếp task manager • Sử dụng command line • Sự dụng hàm SetPriorityClass C 06/10/2022 15 Độ ưu tiên tiến trình • Hàm thay đổi độ ưu tiên windows: • Trong hProcess: process cần thay đổi độ ưu tiên • dwPriorityClass: Giá trị độ ưu tiên cần đổi 06/10/2022 16 Độ ưu tiên tiến trình 06/10/2022 17 Thank for your attention W H AT Q U E S T I O N S W O U L D YOU LIKE TO ASK ME? ... Chương trình, tiến trình, luồng Tạo hủy tiến trình Các dạng tiến trình sau kết thúc 06 /10 /20 22 Tạo hủy tiến trình Trạng thái tiến trình: 06 /10 /20 22 Tạo hủy tiến trình Tạo tiến trình: • Chia thành... Chương trình, tiến trình, luồng Tạo hủy tiến trình Độ ưu tiên tiến trình Nội dung Chương trình, tiến trình, luồng Tạo hủy tiến trình Độ ưu tiên tiến trình 06 /10 /20 22 Chương trình, tiến trình, ... 06 /10 /20 22 Sử dụng hàm TerminateProcess 13 Nội dung Chương trình, tiến trình, luồng Tạo hủy tiến trình Độ ưu tiên tiến trình 06 /10 /20 22 14 Độ ưu tiên tiến trình • Hệ điều hành windows chia sẻ tài