Bài giảng lập trình hệ điều hành chương 4 định thời CPU

44 452 0
Bài giảng lập trình hệ điều hành   chương 4  định thời CPU

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Khoa Công Nghệ Thông Tin & Truyền Thông Đại học Cần Thơ Giảng viên: Hà Duy An 9/19/2013 Chương 4: Định thời CPU Các khái niệm Các giải thuật định thời Định thời hệ thống có nhiều xử lý Đánh giá giải thuật 9/19/2013 Chương 4: Định thời CPU • Kỹ thuật đa chương giúp việc sử dụng CPU đạt hiệu cao • Chu kỳ CPU-I/O o Sự thực thi tiến trình bao gồm nhiều chu kỳ CPU-I/O o Một chu kỳ CPU-I/O bao gồm chu thi CPU (CPU burst) theo sau chu kỳ chờ đợi vào/ra (I/O burst) => Việc phân phối chu kỳ CPU-I/O đặt điểm quan trọng để chọn lựa giải thuật định thời phù hợp 9/19/2013 Chương 4: Định thời CPU 9/19/2013 Chương 4: Định thời CPU • Bộ định thời CPU hay định thời ngắn kỳ (Short-term scheduler) chọn tiến trình hàng đợi sẵn sàng cấp phát CPU cho thực thi o Hàng đợi xếp theo nhiều cách • Quyết định định thời xảy tiến trình: Chuyển từ trạng thái chạy sang trạng thái chờ đợi Chuyển từ trạng thái chạy sang trạng thái sẵn sàng Chuyển từ trạng thái chờ đợi sang sẵn sàng Kết thúc • Định thời không trưng dụng (nonpreemptive): tiến trình giữ CPU giải phóng CPU cần (trường hợp 4) • Định thời trưng dụng (preempty): trường hợp 3; Vấn đề: o Tiến trình cập nhật liệu chia chung? o Tiến trình xử lý chế độ nhân (kernel mode)? o Không thể bỏ qua tất ngắt? 9/19/2013 Chương 4: Định thời CPU • Bộ điều phối (Dispatcher): Có nhiệm vụ trao quyền điều khiển CPU cho tiến trình chọn định thời CPU, công việc bao gồm: o Chuyển ngữ cảnh o Chuyển sang chế độ người dùng o Nhảy tới vị trí thích hợp chương trình người dùng để khởi động lại chương trình • Bộ điều phối cần nhanh • Độ trễ điều phối (Dispatch Latency): thời gian Dispatcher cần để ngưng tiến trình khởi động tiến trình khác 9/19/2013 Chương 4: Định thời CPU Hiệu suất sử dụng CPU: giữ CPU bận nhiều Thông lượng (Throughput): số lượng tiến trình hoàn thành đơn vị thời gian Thời gian xoay vòng (Turnaround time): khoảng thời gian từ tiến trình khởi tạo đến hoàn thành Nó tổng khoảng thời gian chờ đợi để đưa vào nhớ, chờ hàng đợi sẵn sàng, thời gian thực thi CPU thực xử lý I/O Thời gian chờ đợi (Waiting time): tổng thời gian trong hàng đợi sẵn sàng (ready queue) Thời gian đáp ứng (Response time): lượng thời gian từ lúc yêu cầu đệ trình tín hiệu trả lời xuất (dùng cho môi trường chia thời gian) 9/19/2013 Chương 4: Định thời CPU • Việc đánh giá giải thuật định thời kiểm tra thông qua khả tối ưu hóa tiêu chí đinh thời nó: o o o o o 9/19/2013 Hiệu suất sử dụng CPU tối đa Thông lượng tối đa Thời gian xoay vòng tối thiểu Thời gian chờ đợi tối thiểu Thời gian đáp ứng tối thiểu Chương 4: Định thời CPU • Định thời CPU phức tạp với nhiều CPU hữu • Các xử lý giống hệ thống đa xử lý • Việc định thời thực hiện: o Đa xử lý bất đối xứng (Asymmetric Multiprocessor): CPU truy cập đến cấu trúc liệu dùng chung => giảm việc bảo vệ liệu dùng chung o Đa xử lý đối xứng (Symmetric Multiprocessor): CPU tự định thời từ hàng đợi chung, hay có riêng hàng đợi cho CPU => sử dụng phổ biến ngày • Thực thi tiến trình xử lý suốt tiến trình thực thi tiến trình – processor affinity o Soft affinity o Hard affinity 9/19/2013 31 Chương 4: Định thời CPU Note that memory-placement algorithms can also consider affinity 9/19/2013 32 Chương 4: Định thời CPU • Đối với hệ thống SMP cần giữ tải cân CPU nhằm nâng cao hiệu hoạt động hệ thống • Cân tải (load balancing) thực cách cố gắng phân phối công việc cho CPU nhau: o Push migration – định kỳ kiểm tra tải CPU, CPU bị tải "đẩy"bớt công việc cho CPU khác o Pull migration – CPU rãnh "kéo" công việc chờ CPU khác thực thi 9/19/2013 33 Chương 4: Định thời CPU • Nhiều lõi vi xử lý đặt xử lý => vi xử lý đa nhân • Nhanh tiêu tốn lượng • Hỗ trợ đa luồng nhân o Một luồng thực thi luồng khác truy xuất nhớ 9/19/2013 34 Chương 4: Định thời CPU 9/19/2013 35 Chương 4: Định thời CPU Mô hình xác định Mô hình hàng đợi Mô Cài đặt • Cách đánh giá chọn giải thuật thích hợp cho hệ điều hành? • Xác định tiêu chí, đánh giá giải thuật dựa tiêu chí • Deterministic modeling – mô hình xác định o Đánh giá dựa phân tích o Dựa vào tải công việc (workload) xác định trước tính toán hiệu giải thuật • Cho tiến trình đến vào thời điểm: 9/19/2013 37 Chương 4: Định thời CPU • • Với giải thuật tính thời gian chờ trung bình Đơn giản, nhanh chóng, yêu cầu phải có số liệu đầu vào xác, cho liệu đầu vào cho o FCFS: 28ms o Non-preemptive SJF: 13ms o RR: 23ms 9/19/2013 38 Chương 4: Định thời CPU • Xác định phân phối tiến trình đến chu kỳ CPU-I/O theo xác xuất, điều xác định thưc tế o Thông thường phân phối theo hàm mũ o Từ hai phân phối ta tính trung bình thông lượng, hiệu tận dụng CPU, thời gian chờ,… • Hệ thống máy tính mô tả mạng server có hàng đợi riêng (CPU server với hàng đợi sẵn sàng) o Biết tốc độ đến tốc độ phục vụ (dựa vào phân bổ chu kỳ CPU-I/O) => tính khả sử dụng, chiều dài hàng đợi trung bình, thời gian chờ trung bình 9/19/2013 39 Chương 4: Định thời CPU • Luật Little – hệ thống trạng thái ổn định, số lượng tiến trình rời khỏi hàng đợi với số lượng tiến trình vào hàng đợi: n=xW • Trong đó: o n: chiều dài hàng đợi trung bình o λ: tốc độ đến trung bình cho tiến trình (vd tiến trình/giây) o W: thời gian chờ trung bình hàng đợi • VD: trung bình có tiến trình đến giây, thông thường có 14 tiến trình hệ thống, thời gian chờ trung bình tiến trình là: 2s 9/19/2013 40 Chương 4: Định thời CPU • Mô hình hàng đợi có độ xác giới hạn • Mô cho kết xác hơn: o Dùng phần mềm mô hệ thống máy tính o Clock biến o Khi thực thi mô phỏng, thống kê hiệu giải thuật ghi nhận sở cho vịêc so sánh giải thuật o Dữ liệu dùng để thực mô phỏng: • Bộ sinh số ngẫu nhiên theo xác xuất o Phân phối theo mô hình toán học hay theo kinh nghiệm • Các kiện dược ghi lại hệ thống thực 9/19/2013 41 Chương 4: Định thời CPU 9/19/2013 42 Chương 4: Định thời CPU • Kể mô cho kết giới hạn • Cài đặt kiểm tra giải thuật định thời hệ thống thật cho độ xác cao o Chi phí cao, rủi ro cao o Môi trường đa dạng • Hầu hết định thời sửa đổi để phù hợp với hệ thống => kết không xác tình tổng quát khác 9/19/2013 43 Chương 4: Định thời CPU [...]... 4. 0 P3 P4 5.0 • SJF (khơng trưng dụng) P1 0 3 TG sử dụng CPU 7 4 1 4 P3 7 P2 8 P4 12 16 • Thời gian chờ đợi trung bình = (0 + 6 + 3 + 7) /4 = 4 9/19/2013 15 Chương 4: Định thời CPU Tiến trình P1 P2 P3 P4 • SJF (trưng dụng) P1 0 P2 2 TG đến 0.0 2.0 4. 0 5.0 P3 4 TG sử dụng CPU 7 4 1 4 P2 5 P1 P4 11 7 16 • Thời gian chờ đợi trung bình = (9 + 1 + 0 +2) /4 = 3 • Bài Tập 9/19/2013 16 Chương 4: Định thời CPU •... mỗi định mức thời gian để định thời cho tiến trình tiếp theo • Hiệu năng: o q lớn ⇒ FCFS (FIFO) o q nhỏ⇒ q phải đủ lớn do ta phải quan tâm đến việc chuyển đổi ngữ cảnh, nếu khơng, thời gian lãng phí sẽ rất cao o q thường 10-100 ms, context switch < 10 μsec 9/19/2013 22 Chương 4: Định thời CPU 9/19/2013 23 Chương 4: Định thời CPU 80% of CPU bursts should be shorter than q 9/19/2013 24 Chương 4: Định thời. .. (aging) – khi thời gian trơi đi, độ ưu tiên của tiến trình càng tăng theo 9/19/2013 20 Chương 4: Định thời CPU ProcessA arri Burst TimeT P1 10 P2 1 P3 2 P4 1 P5 5 Priority 3 1 4 5 2 • Priority scheduling Gantt Chart 0 P1 P5 P2 1 6 P3 16 P4 18 19 • Average waiting time = 8.2 msec 9/19/2013 21 Chương 4: Định thời CPU • Mỗi tiến trình được CPU phục vụ trong một đơn vị thời gian nhỏ, gọi là định mức thời gian... chia thời gian (time slice) – mỗi hàng đợi nhận được một khoảng thời gian phục vụ nào đó của CPU để định thời cho các tiến trình nằm trong đó; VD 80% cho foreground với RR và 20% cho background với FCFS 9/19/2013 26 Chương 4: Định thời CPU 9/19/2013 27 Chương 4: Định thời CPU • Một tiến trình có thể di chuyển giữa các hàng đợi khác nhau • Cơ chế định thời hạn có thể được cài đặt theo cách: o Nếu tiến trình. .. chiều dài thời gian sử dụng CPU lần trước đó, sử dụng cơng thức trung bình mũ: 1 t n  thời gian sử dụng CPU thực tế lần thứ n 2  n 1  ước lượng thời gian sử dụng CPU lần thứ n  1 3  , 0    1 4 Đònh nghóa :  n 1   t n  (1   ) n • Thơng thường α = ½ 9/19/2013 17 Chương 4: Định thời CPU 9/19/2013 18 Chương 4: Định thời CPU • α =0 o τn+1 = τn o Khơng tính đến thời gian sử dụng CPU gần nhất... 9/19/2013 24 Chương 4: Định thời CPU Process TG sử dụng CPU P1 53 17 P2 P3 68 P4 24 • Biểu đồ Gantt: P1 0 P2 20 P3 37 P4 57 P1 77 P3 97 117 P4 P1 121 1 34 P3 P3 1 54 162 • Thơng thường, RR có thời gian chờ đợi trung bình lớn hơn SJF, nhưng đảm bảo thời gian đáp ứng tốt hơn 9/19/2013 25 Chương 4: Định thời CPU • Hàng đợi sẵn sàng được chia thành nhiều hàng đợi, tiến trình được gán cố định vào một hàng đợi, vd:... tiến trình này sử dụng CPU xong o Trưng dụng: nếu một tiến trình mới đến có thời gian sử dụng CPU ngắn hơn thời gian thực thi còn lại của tiến trình đang chạy, thì ưu tiên giao CPU cho tiến trình mới đến Cách thức này được gọi là Shortest-Remaining-Time-First (SRTF) • SJF là tối ưu – nó tạo ra thời gian chờ đợi trung bình ngắn nhất 9/19/2013 14 Chương 4: Định thời CPU Tiến trình TG đến P1 0.0 P2 2.0 4. 0... thống chia thời gian 9/19/2013 13 Chương 4: Định thời CPU • Kết hợp với mỗi tiến trình độ dài thời gian mà nó sẽ sử dụng CPU lần kế tiếp Khi CPU rãnh, nó sẽ được cấp cho tiến trình có thời gian sử dụng CPU lần kế tiếp ngắn nhất • Có hai cách thức thực hiện giải thuật: o Khơng trưng dụng: một khi CPU được giao cho một tiến trình, nó khơng thể bị trưng dụng để giao cho tiến trình khác có thời gian ngắn... quyết định khi nào thì nâng cấp một tiến trình Phương thức dùng để quyết định khi nào thì hạ cấp một tiến trình Phương thức dùng để quyết định là nên đặt tiến trình vào hàng đợi nào khi tiến trình này cần được phục vụ 28 Chương 4: Định thời CPU • Có 3 hàng đợi: o Q0: định mức thời gian là 8 milliseconds o Q1: định mức thời gian là 16 milliseconds o Q2: FCFS • Định thời: o Một cơng việc mới sẽ bước vào...1 2 3 4 5 6 First-Come, First-Served Shortest-Job-First Priority Round-Robin Hàng đợi đa cấp Hàng đợi phản hồi đa cấp 9/19/2013 11 Chương 4: Định thời CPU Tiến Trình TG sử dụng CPU P1 24 3 P2 P3 3 • Giả sử các tiến trình xuất hiện theo thứ tự P1, P2, P3 Biểu đồ Gantt cho lịch biểu là: P1 P2 0 24 P3 27 30 • Thời gian chờ đợi: P1 = 0; P2 = 24; P3 = 27 • Thời gian chờ đợi trung bình: (0 + 24 + 27)/3 ... hợp 9/19/2013 Chương 4: Định thời CPU 9/19/2013 Chương 4: Định thời CPU • Bộ định thời CPU hay định thời ngắn kỳ (Short-term scheduler) chọn tiến trình hàng đợi sẵn sàng cấp phát CPU cho thực... định thời Định thời hệ thống có nhiều xử lý Đánh giá giải thuật 9/19/2013 Chương 4: Định thời CPU • Kỹ thuật đa chương giúp việc sử dụng CPU đạt hiệu cao • Chu kỳ CPU- I/O o Sự thực thi tiến trình. .. phục vụ CPU để định thời cho tiến trình nằm đó; VD 80% cho foreground với RR 20% cho background với FCFS 9/19/2013 26 Chương 4: Định thời CPU 9/19/2013 27 Chương 4: Định thời CPU • Một tiến trình

Ngày đăng: 14/04/2016, 15:57

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan