Tiến trình Tiến trình là một chương trình được thực thi Chứa dữ liệu thời gian Bộ nhớ được cấp phát động Chứa biến toàn cục... Tiến trình đang được khởi tạo.. Tiến trình đang đợi để đư
Trang 1Hà Nội, 10/2015
Giảng viên hướng dẫn: Ts Phạm Doãn Tĩnh
Sinh viên thực hiện:
Hoàng Anh Phương Phùng Đình Tài Nguyễn Bá Dũng
Trường Đại Học Bách Khoa Hà Nội
Viện Điện Tử-Viễn Thông
Trường Đại Học Bách Khoa Hà Nội
Viện Điện Tử-Viễn Thông
Trang 2Nội dung
Tổng quan tiến trình
1
Triển khai
2
Công việc đã đạt được
33
Công việc tiếp theo
44
Trang 3Tiến trình
Tiến trình là một chương trình được thực thi
Chứa dữ liệu thời gian
Bộ nhớ được cấp phát
động
Chứa biến toàn cục
Trang 4Trạng thái tiến trình
New Tiến trình đang được khởi tạo.
Running Lệnh đang được thực thi.
Waiting Tiến trình đang đợi thiết bị ngoại vi hay sự kiện xảy ra.
Ready Tiến trình đang đợi để được gán cho một processor
Terminated Tiến trình kết thúc thực thi
Trang 5Các kiểu tiến trình
Mục đích
Bảo vệ hệ điều hành khỏi sữ xâm phạm các tiến trình
Các tiến trình và dữ liệu không ảnh hưởng sai phạm lẫn nhau
Hai chế độ
Chế độ không đặc quyền
Chế độ đặc quyền
Trang 6Khối điều khiển tiến trình
Địa chỉ lệnh tiếp theo
Accumulator, thanh ghi chỉ số, stack pointer … New, ready, running, waiting …
Trang 7CPU chuyển tiến trình
Trang 8Thao tác trên tiến trình
Tạo lập tiến trình
Tiến trình cha tạo các tiến trình con
Tiến trình con lại tạo các tiến trình mới => cây tiến trình
Phân biệt các tiến trình qua pid (process identifier)
Các công việc tạo lập tiến trình
Định danh cho tiến trình mới phát sinh
Đưa tiến trình vào danh sách quản lý của hệ thống
Xác định độ ưu tiên cho tiến trình
Tạo PCB cho tiến trình
Cấp phát các tài nguyên ban đầu cho tiến trình
Trang 9Thao tác trên tiến trình
Khi một tiến trình tạo tiến trình mới, tiến trình ban đầu có thể xử lý theo một trong hai khả năng sau:
Tiến trình cha tiếp tục xử lý đồng hành với tiến trình con
Tiến trình cha chờ đến khi một tiến trình con nào đó, hoặc tất cả các tiến trình con kết thúc xử lý
Trang 10Kết thúc tiến trình
Một tiến trình kết thúc xử lý khi nó hoàn tất chỉ thị cuối cùng và yêu cầu hệ điều hành hủy
bỏ nó
Một tiến trình có thể yêu cầu hệ điều hành kết thúc xử lý của một tiến trình khác
Khi một tiến trình kết thúc, hệ điều hành thực hiện các công việc:
Thu hồi các tài nguyên hệ thống đã cấp phát cho tiến trình
Hủy tiến trình khỏi tất cả các danh sách quản lý của hệ thống
Hủy bỏ PCB của tiến trình
Trang 11Cấp phát tài nguyên
Nhiều người sử dụng => Hệ điều hành phải cấp phát tài nguyên theo yêu cầu
Tài nguyên hữu hạn
Trang 12Interprocess communication
Tiến trình độc lập
Không ảnh hưởng hoặc bị ảnh hưởng bởi tiến trình khác
Không chia sẻ dữ liệu
Tiến trình tương tác
Gây ảnh hưởng hoặc bị ảnh hưởng bởi tiến trình khác
Chia sẻ dữ liệu
Lợi ích của tiến trình tương tác
Information sharing
Computation speedup
Modularity: Chia chức năng hệ thống vào các tiến trình riêng hoặc các thread
Convienence
Trang 13Interprocess communication
2 mô hình:
Shared memory
Message Passing
Shared memory Message passing
Dữ liệu nhỏ
Can thiệp
Kernel
Tốc độ cao Không cần can thiệp Kernel
Trang 14TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
Hà Nội, 10/2015
XIN CẢM ƠN THẦY CÔ VÀ CÁC BẠN ĐÃ LẮNG NGHE
NHÓM THỰC HIỆN