Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 48 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
48
Dung lượng
3,77 MB
Nội dung
Mơn học: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt • Phân biệt tiến trình tiểu trình • So sánh thuật tốn điều phối tiến trình CuuDuongThanCong.com https://fb.com/tailieudientucntt CuuDuongThanCong.com https://fb.com/tailieudientucntt • Tiến trình chương trình thực thi • Một tiến trình cần sử dụng tài nguyên: CPU, nhớ, tập tin, thiết bị nhập xuất để hồn tất cơng việc CuuDuongThanCong.com https://fb.com/tailieudientucntt • Tạo tiến trình – Khởi động hệ thống – Người dùng kích hoạt chương trình – Một tiến trình tạo tiến trình khác • Unix/ Linux: exec(), fork() • Windows: CreateProcess() – Cây tiến trình • Unix/ Linux: tiến trình cha, có mối quan hệ chặt chẽ • Windows: tiến trình cha, độc lập với CuuDuongThanCong.com https://fb.com/tailieudientucntt • Dừng tiến trình – Xử lý xong lệnh cuối hay gọi lệnh kết thúc • Unix/ Linux: exit() • Windows: ExitProcess() – Một tiến trình yêu cầu dừng tiến trình khác • Unix/ Linux: kill() • Windows: TerminateProcess() Điều xảy tiến trình “nạn nhân” chưa muốn “chết”? – Do lỗi chương trình CuuDuongThanCong.com https://fb.com/tailieudientucntt Nhận CPU ready Rs CPU Trả CPU Nhận resource blocked running Rs CPU Chờ resource Rs CPU CPU-bound process CuuDuongThanCong.com https://fb.com/tailieudientucntt IO-bound process Vào ready queue CPU Thoát Disk disk queue Disk Network network queue I/O other I/O queue CuuDuongThanCong.com https://fb.com/tailieudientucntt • Định danh (Process ID) • Trạng thái tiến trình • Ngữ cảnh tiến trình – – – – Trạng thái CPU Bộ xử lý (cho máy nhiều CPU) Bộ nhớ Tài ngun sử dụng /tạo lập • Thơng tin giao tiếp – Tiến trình cha, tiến trình – Độ ưu tiên • Thơng tin thống kê CuuDuongThanCong.com pid State (State, details) Context (IP, Mem, Files…) Relatives ( Dad, children) Scheduling statistic Process control Block – PCB https://fb.com/tailieudientucntt Excel Visual C++ CDplayer Winword CuuDuongThanCong.com https://fb.com/tailieudientucntt 10 Độ ưu tiên CPU … n Kết hợp nhiều chiến lược • Tổ chức n RQ ứng với nhiều mức ưu tiên • Mỗi RQi áp dụng chiến lược điều phối riêng • Điều phối RQ: – Điều phối theo độ ưu tiên RQ Có thể xảy starvation Giải pháp Aging : • Chờ lâu : chuyển lên RQ với độ ưu tiên cao • Chiếm CPU lâu : chuyển xuống RQ với độ ưu tiên thấp – Time slice – hàng đợi nhận chiếm CPU khoảng thời gian CuuDuongThanCong.com https://fb.com/tailieudientucntt 34 CuuDuongThanCong.com https://fb.com/tailieudientucntt 35 • Ba hàng đợi: – Q0 – time quantum mili giây – Q1 – time quantum 16 mili giây – Q2 – FCFS • Lập lịch – Một việc vào queue Q0 điều phối theo FCFS Khi nhận CPU, dùng mili giây Nếu chưa hoàn tất mili giây, công việc chuyển sang queue Q1 – Tại Q1 cv điều phối theo FCFS nhận CPU thêm 16 mili giây Nếu chưa hồn tất, bị đẩy qua queue Q2 CuuDuongThanCong.com https://fb.com/tailieudientucntt 36 Vừa tìm hiểu CuuDuongThanCong.com https://fb.com/tailieudientucntt 37 • Đơn giản – Viết chương trình theo kiểu bấm cách lần nhấn phím in số nhịp trơi qua từ chương trình bắt đầu chạy, với nhịp giây, chương trình kết thúc nhấn ESC • Phức tạp – Viết chương trình hiển thị 10 ký tự hình, ký tự di chuyển ngẫu nhiên, liên tục với tốc độ tùy ý Khi di chuyển chạm biên hình ký tự xuất lại hình Chương trình kết thúc người dùng nhấn phím • Bài tốn thực tế: – Ứng dụng web phục vụ lúc nhiều yêu cầu người dùng CuuDuongThanCong.com https://fb.com/tailieudientucntt 38 • Các tiến trình độc lập, khơng có liên lạc với Excel winword Visual C CDplayer OS • Muốn trao đổi thơng tin với nhau, chương trình cần xây dựng theo mơ hình liên lạc đa tiến trình (IPC – Inter-Process Communication) Phức tạp, chi phí cao CuuDuongThanCong.com https://fb.com/tailieudientucntt 39 CuuDuongThanCong.com https://fb.com/tailieudientucntt 40 • Tiểu trình dịng xử lý tiến trình • Mỗi tiến trình ln có tiểu trình (dịng xử lý cho hàm main()) • Ngồi tiểu trình chính, tiến trình cịn có nhiều tiểu trình khác • Các tiểu trình tiến trình – Chia sẻ khơng gian vùng code data – Có vùng stack riêng CuuDuongThanCong.com https://fb.com/tailieudientucntt 41 • TCB thường chứa thông tin riêng tiểu trình – – – – ID tiểu trình Khơng gian lưu ghi Con trỏ tới vị trí xác định ngăn xếp Trạng thái tiểu trình • Thơng tin chia sẻ tiểu trình tiến trình – – – – – Các biến toàn cục Các tài nguyên sử dụng tập tin,… Các tiến trình Thơng tin thống kê … CuuDuongThanCong.com https://fb.com/tailieudientucntt 42 PC SP Mã hàm thread_create() PCBs TCBs thread_create() new_thread_starts_here stacks CuuDuongThanCong.com https://fb.com/tailieudientucntt 43 • • Quản lý tiểu trình mức người dùng thư viện hỗ trợ: • POSIX Pthreads • Win32 threads • Java threads CuuDuongThanCong.com Quản lý tiểu trình mức hệ thống Hệ điều hành hỗ trợ: Windows XP/2000 Solaris Linux https://fb.com/tailieudientucntt Mac OS X 44 CuuDuongThanCong.com https://fb.com/tailieudientucntt 45 • Tại khơng dùng nhiều tiến trình để thay cho việc dùng nhiều tiểu trình ? – Các tác vụ điều hành tiểu trình (tạo, kết thúc, điều phối, chuyển đổi,…) tốn chi phí thực so với tiến trình – Liên lạc tiểu trình thơng qua chia sẻ nhớ, khơng cần can thiệp kernel CuuDuongThanCong.com https://fb.com/tailieudientucntt 46 Quản lý tiểu trình mức người dùng CuuDuongThanCong.com Quản lý tiểu trình mức hệ thống https://fb.com/tailieudientucntt 47 • Tự tìm hiểu (Modern Operating System - Tanenbaum) – Guaranteed Scheduling – Lottery Scheduling – Fair-Share Scheduling • Tham khảo thêm – Tổ chức, quản lý tiến trình hệ điều hành Windows – Tổ chức, quản lý tiến trình hệ điều hành Unix/Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt 48 ... trị thực dùng CPU • Nếu mở rộng cơng thức, ta được: • • • n+1 = tn+(1 - ) tn -1 + … +(1 - ) j tn -1 + … +(1 - ) n=1 tn • Vì (1 - ) nhỏ hay 1,mỗi giá trị nhỏ dần CuuDuongThanCong.com https://fb.com/tailieudientucntt... https://fb.com/tailieudientucntt 21 P TarriveRQ CPU burst P TT WT P1 24 P1 30 0+(1 0-4 ) P2 P2 7-1 4-1 P3 P3 1 0-2 7-2 AvgWT = (6+3+5)/3 = 4.66 P1 P2 P3 P1 10 P1 14 P1 18 P1 22 P1 26 30 0:00 P1 vào,... https://fb.com/tailieudientucntt 25 P TRQ Priority CPU burst P TT WT P1 24 P1 30 0+( 7-1 ) P2 P2 4-1 P3 P3 7-2 4-2 AvgWT = (6+0+2)/3 = 2.66 P1 P2 P2 P3 P1 0:00 P1 vào, P1 dùng CPU 0:01 P2 vào (độ