Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 32 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
32
Dung lượng
1,17 MB
Nội dung
HỆ ĐIỀU HÀNH Chương (3) Định thời CPU 02/25/2023 02/25/2023 Copyrights 2020 CE-UIT All Rights Reserved Câu hỏi ôn tập chương (2) Các giải thuật định thời Round-Robin (RR) Highest Response Ratio Next (HRRN) Multilevel Queue Multilevel Feedback Queue 02/25/2023 Copyrights 2020 CE-UIT All Rights Reserved Nội dung chương (3) Định thời tiểu trình (Thread scheduling) Định thời đa xử lý (Multiple-processor scheduling) Định thời theo thời gian thực (Real-time CPU scheduling) Định thời số hệ điều hành Linux Windows Solaris 02/25/2023 Copyrights 2020 CE-UIT All Rights Reserved Định thời tiểu trình Trên hệ điều hành đại có hỗ trợ tiểu trình, tiểu trình định thời, khơng phải tiến trình Có phân biệt tiểu trình người dùng tiểu trình hạt n hân định thời Tiểu trình người dùng định thời thông qua thư viện quản lý tiểu trình: Phạm vi định thời bên tiến trình (process-contention s cope - PCS) Thường thực cách thiết lập độ ưu tiên (bởi ngư ời lập trình) Tiểu trình hạt nhân định thời tất CPU khả d ụng Phạm vi định thời toàn hệ thống (system-contention s cope - SCS) 02/25/2023 Copyrights 2020 CE-UIT All Rights Reserved Định thời đa xử lý Định thời CPU trở nên phức tạp hệ thống có nhiều b ộ xử lý Khái niệm đa xử lý dạng sau: CPU có nhiều lõi vật lý (Multicore CPUs) CPU có nhiều luồng xử lý lõi (Multithreaded cores) Hệ thống NUMA (non-uniform memory access) Đa xử lý không đồng (Heterogeneous multiprocessing) Có hai cách tiếp cận phổ biến: đa xử lý bất đối xứng (asymm etric multiprocessing) đa xử lý đối xứng (symmetric multi processing - SMP) 02/25/2023 Copyrights 2020 CE-UIT All Rights Reserved Đa xử lý bất đối xứng Tất thao tác lập lịch, xử lý I/O thực xử lý – master server Các xử lý lại thực thi user code Ưu điểm: Đơn giản: xử lý truy xuất liệu hệ thống, không c ần chia sẻ liệu Nhược điểm: Master server bị nghẽn cổ chai (bottleneck), làm giảm h iệu hệ thống 02/25/2023 Copyrights 2020 CE-UIT All Rights Reserved Đa xử lý đối xứng Mỗi xử lý tự định thời cho Hai hướng tiếp cận để tổ chức tiểu trình cần định thời: Tất tiểu trình nằm hàng đợi ready (a) Mỗi xử lý tự tổ chức hàng đợi riêng (b) 02/25/2023 Copyrights 2020 CE-UIT All Rights Reserved Đa xử lý đối xứng Tất tiểu trình nằm hàng đợi ready: Tiểu trình khơng xử lý chọn ? Xuất vùng tranh chấp: Nhiều xử lý chọn định th ời tiểu trình => Cần có chế kiểm tra khóa (loc k) việc truy xuất tiểu trình => Hiệu hệ thống giảm nghẽn cổ chai Mỗi xử lý tự tổ chức hàng đợi riêng nó: Hiệu khơng bị ảnh hưởng vấn đề dùng chung hàng đợi => Hướng tiếp cận phổ biến hệ thống S MP Vấn đề: Khối lượng công việc xử lý khác nhau? 02/25/2023 Copyrights 2020 CE-UIT All Rights Reserved Cân tải (Load balancing) Một xử lý có nhiều tải, xử lý khác rỗ i => Cần đảm bảo xử lý sử dụng hiệu Mục tiêu cân tải phân phối khối lượng cơng việc (workload) cho CPU Có hai cách cân tải: Push migration: Một tác vụ đặc biệt kiểm tra định kỳ tải CPU Nếu tình trạng tải xuất hiện, hệ thống di chu yển (đẩy) tác vụ từ CPU bị tải sang CPU khác Pull migration: CPU rỗi kéo (pull) tác vụ chờ từ CPU bậ n 02/25/2023 Copyrights 2020 CE-UIT All Rights Reserved Processor affinity Khi tác vụ chạy xử lý, nhớ đệm (cache) c xử lý lưu trữ liệu truy xuất tác vụ => tá c vụ có affinity với xử lý - “processor affinity” Cân tải ảnh hưởng đến processor affinity, cụ thể k hi tác vụ dời sang xử lý khác: Cache xử lý phải nạp lại (repopulate) Cache xử lý cũ phải giải phóng (invalidate) => Phí tổn Có dạng processor affinity: Soft affinity: Hệ thống cố giữ tác vụ chạy xử lý (nhưng khơng đảm bảo) Hard affinity: Cho phép tiến trình chọn tập xử lý m chạy 02/25/2023 Copyrights 2020 CE-UIT All Rights Reserved 10 Định thời Linux: Real-time Định thời real-time dựa tiêu chuẩn POSIX Các tác vụ real-time có độ ưu tiên tĩnh Độ ưu tiên chia thành phần: real-time (từ đến 99) v normal (từ 100 đến 139) Giá trị nice -20 tương ứng với độ ưu tiên 100, +19 tương ứn g với độ ưu tiên 139 02/25/2023 Copyrights 2020 CE-UIT All Rights Reserved 18 Định thời Android Sử dụng định thời Linux Độ ưu tiên phân chia theo nhóm tiến trình: Để thu hồi tài ngun, Android hủy (kill) tiến trìn h dựa độ ưu tiên chúng 02/25/2023 Copyrights 2020 CE-UIT All Rights Reserved 19 Định thời Windows Định thời theo độ ưu tiên với chế độ trưng dụng Tác vụ có độ ưu tiên cao ln chạy tiếp Tiến trình thực thi (1) block system call, (2) hết quantum time, (3) bị thay tiến trình k hác có độ ưu tiên cao Sử dụng 32 độ ưu tiên, chia thành lớp: variable (1-1 5) real-time (16-31) Độ ưu tiên dành cho quản lý nh Mỗi độ ưu tiên có hàng đợi riêng Idle thread chạy khơng có tác vụ h àng đợi 02/25/2023 Copyrights 2020 CE-UIT All Rights Reserved 20