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 SinhVienZone.com https://fb.com/sinhvienzonevn • 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 SinhVienZone.com https://fb.com/sinhvienzonevn SinhVienZone.com https://fb.com/sinhvienzonevn • 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 SinhVienZone.com https://fb.com/sinhvienzonevn • 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 SinhVienZone.com https://fb.com/sinhvienzonevn • 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 SinhVienZone.com https://fb.com/sinhvienzonevn Nhận CPU ready Rs CPU Trả CPU Nhận resource blocked running Rs CPU Chờ resource Rs CPU CPU-bound process SinhVienZone.com https://fb.com/sinhvienzonevn IO-bound process Vào ready queue CPU Thoát Disk disk queue Disk SinhVienZone.com Network network queue I/O other I/O queue https://fb.com/sinhvienzonevn • Đị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ê SinhVienZone.com pid State (State, details) Context (IP, Mem, Files…) Relatives ( Dad, children) Scheduling statistic Process control Block – PCB https://fb.com/sinhvienzonevn Excel Visual C++ CDplayer Winword SinhVienZone.com https://fb.com/sinhvienzonevn 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 SinhVienZone.com https://fb.com/sinhvienzonevn 34 SinhVienZone.com https://fb.com/sinhvienzonevn 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 SinhVienZone.com https://fb.com/sinhvienzonevn 36 Vừa tìm hiểu SinhVienZone.com https://fb.com/sinhvienzonevn 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 SinhVienZone.com https://fb.com/sinhvienzonevn 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 SinhVienZone.com https://fb.com/sinhvienzonevn 39 SinhVienZone.com https://fb.com/sinhvienzonevn 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ó 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 SinhVienZone.com https://fb.com/sinhvienzonevn 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ê … SinhVienZone.com https://fb.com/sinhvienzonevn 42 PC SP Mã hàm thread_create() PCBs TCBs thread_create() new_thread_starts_here stacks SinhVienZone.com https://fb.com/sinhvienzonevn 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 SinhVienZone.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/sinhvienzonevn Mac OS X 44 SinhVienZone.com https://fb.com/sinhvienzonevn 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 SinhVienZone.com https://fb.com/sinhvienzonevn 46 Quản lý tiểu trình mức người dùng SinhVienZone.com Quản lý tiểu trình mức hệ thống https://fb.com/sinhvienzonevn 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 SinhVienZone.com https://fb.com/sinhvienzonevn 48 ... Winword SinhVienZone. com https://fb .com/ sinhvienzonevn 10 Tiến trình Tiến trình Tiến trình Điều phối ??? CPU Hệ điều hành SinhVienZone. com https://fb .com/ sinhvienzonevn 11 • Mục tiêu điều phối... 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 SinhVienZone. com https://fb .com/ sinhvienzonevn SinhVienZone. com https://fb .com/ sinhvienzonevn • Tiến trình chương trình thực... SinhVienZone. com https://fb .com/ sinhvienzonevn 24 • Một độ ưu tiên (integer) gán vào tiến trình • Phân biệt tiến trình quan trọng với tiến trình bình thường • Tiêu chí lựa chọn tiến trình – Tiến