1. Trang chủ
  2. » Công Nghệ Thông Tin

Định thời biểu cho cpu

59 607 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 59
Dung lượng 2,63 MB

Nội dung

Chương 5: Định thời biểu cho CPU Thực hiện: Phạm Tấn Danh Nguyễn Tất Bình Nguyễn Khoa Bằng Chưong 5: Định thời biểu cho CPU • Khái niệm cơ bản. • Các tiêu chuẩn của định thời biểu. • Các thuật toán trong định thời biểu. • Định thời biểu đa bộ xử lý. • Định thời thời gian thực. • Định thời biểu theo luồng. • Các ví dụ về hệ điều hành. • Định thời biểu theo luồng trong Java. • Thuật toán ước lượng. Các khái niệm cơ bản • Sử dụng tối đa khả năng của CPU với lập trình đa nhiệm. • Chu kỳ CPU – I/O Burst. (Burst 1 khái niệm chỉ quá trình truyền tải dữ liệu không ngừng). Quá trình xử lý bao gồm : CPU thực hiện và chờ đợi I/O. • Sự phân phát Burst CPU. Thay đổi thứ tự của CPU và I/O Bursts Biểu đồ thời gian của CPU burst Bộ định thời CPU • Chọn từ những tiến trình đã sẵn sàng thực hiện trong bộ nhớ, và chỉ định CPU thực hiện nó. • Quyết định định thời CPU có thể xảy ra khi một tiến trình: 1. Chuyển từ trạng thái đang chạy sang trạng thái chờ. 2. Chuyển từ trạng thái đang chạy sang trạng thái sẵn sàng. 3. Chuyển từ trạng thái đang chờ sang trạng thái sẵn sàng. 4. Kết thúc. • Định thời biểu xảy ra chỉ trong trừờng hợp 1 và 4 gọi là cơ chế định thời không trưng dụng. • Định thời biểu xảy ra trong những trường hợp khác gọi là cơ chế định thời trưng dụng. Bộ phân phát • Bộ phân phát là một module có nhiệm vụ trao điều khiển CPU tới tiến trình được chọn bởi bộ định thời biểu ngắn, chức năng này gồm: * Chuyển ngữ cảnh. * Chuyển chế độ người dùng. * Nhảy tới vị trí hợp lý trong chương trình người dùng để khởi động lại chương trình đó. • Thời gian trễ cho việc điều phối - thời gian mất cho bộ phân phát dừng một tiến trình này và bắt đầu chạy một tiến trình khác. Các tiêu chuẩn định thời • Tận dụng CPU - giữ cho CPU làm việc hết mức có thể. • Thông lượng - số lượng tiến trình được hoàn thành trên một đơn vị thời gian. • Thời gian hoàn thành - khoảng thời gian thực hiện quá trình và các thành phần liên quan. • Thời gian chờ - khoảng thời gian tiến trình chờ trong hàng đợi sẵn sàng. • Thời gian đáp ứng - khoảng thời gian từ lúc gởi yêu cầu cho tới khi đáp ứng đầu tiên nhưng không là thời gian mất đi để xuất ra đáp ứng đó (môi trường chia sẽ thời gian). Tiêu chuẩn tối ưu • Tận dụng tối đa CPU. • Thông lượng tối đa. • Thời gian xử lý thấp nhất. • Thời gian chờ thấp nhất. • Thời gian đáp ứng thấp nhất. Định thời đến trước phục vụ trước (FCFS) Tiến trình Thời gian xử lý P 1 24 P 2 3 P 3 3 • Giả sử các tiến trình đến theo thứ tự: P 1 , P 2 , P 3 Lưu đồ găng cho việc thực hiện là: P 1 P 2 P 3 0 24 27 30 • Thời gian chờ của P 1 = 0; P 2 = 24; P 3 = 27 • Thời gian chờ trung bình: (0+24+27)/3 = 17 [...]... chế độ giao tiếp được định thời bởi giải thuật RR * Hàng đợi ở chế độ nền được định thời bởi giải thuật FCFS • Phải có việc định thời giữa các hàng đợi * Định thời trưng dụng với độ ưu tiên cố định (phục vụ cho cả chế độ giao tiếp và chế độ nền) Cải thiện cho vấn đề đói CPU * Phần thời gian giữa các hàng đợi - Mỗi hàng đợi một phần thời gian CPU xác định sau đó nó có thể định thời giữa các tiến trình... • Thời gian thực mềm - yêu cầu các quá trình tới hạn nhận độ ưu tiên cao hơn các quá trình khác Định thời theo luồng • Định thời cục bộ - cách nào để quyết định luồng thư viện để đặt giá trị cho luồng nào có thể sử dụng LWP • Định thời toàn cục - Cách nào để nhân quyết định luồng nhân nào sẽ chạy tiếp theo Định thời theo luồng API Các ví dụ Hệ điều hành • Định thời biểu trong Solaris • Định thời. .. theo thời gian ngắn nhất • Hai dạng: * Không trưng dụng - Một khi CPU đã được cấp cho một tiến trình nó không thể ưu tiên cho tiến trình khác cho đến khi nó hoàn thành CPU burst * Trưng dụng - Nếu một tiến trình mới đến với độ dài CPU burst ngắn hơn thời gian còn lại của tiến trình đang thực hiện Dạng này được biết đến như là định thời thời gian còn lại ngắn nhất trước (SRTF) • SJF là tối ưu - cho thời. .. trong Solaris • Định thời biểu trong Window XP • Định thời biểu trong Linux Định thời biểu trong Solaris Bảng phân phát trong Solaris Sự ưu tiên trong Window XP Định thời trong Linux • Hai thuật toán: Thời gian chia sẽ và thời gian thực • Thời gian chia sẽ: * Dựa vào quyền ưu tiên của - tiến trình nào được ưu tiên hơn sẽ được xếp tiếp theo * Quyền ưu tiên sẽ bị giảm đi khi thời gian bị ngắt quảng *... chặn sự đói CPUĐịnh thời hàng đợi phản hồi đa cấp được định nghĩa theo những tham số bên dưới: * Số lượng hàng đợi * Giải thuật định thời cho mỗi hàng đợi * Phương thức được dùng để xác định khi nâng cấp một tiến trình tới hàng đợi có độ ưu tiên cao hơn * Phương thức được dùng để xác định khi nào chuyển một quá trình tới hàng đợi có độ ưu tiên thấp hơn * Phương thức được dùng để xác định hàng đợi... cấp(tt) Định thời biểu đa bộ xử lý • Đinh thời CPU sẽ phức tạp hơn khi có nhiều bộ xử lý • Nhiều bộ xử lý đồng nhất bên trong một bộ đa xử lý • Dùng chia sẽ • Đa xử lý không đối xứng chỉ xử lý truy cập cấu trúc dữ liệu hệ thống và làm giảm bớt những dữ liệu chia sẽ cần thiết Định thời thời gian thực • Hệ thống thời thực cứng - được yêu cầu để hoàn thành một tiến trình tới hạn trong lượng thời gian... • Đặc trưng, thời gian hoàn thành cao hơn SJF, nhưng thời gian đáp ứng nhanh hơn Thời gian Quantum và thời gian chuyển đổi ngữ cảnh Hiển thị cách thời gian hoàn thành biến đổi theo định mức thời gian Hàng đợi nhiều cấp • Hàng đợi sẵn sàng được phân chia thành nhiều hàng đợi riêng lẽ: chạy ở chế độ giao tiếp (tương tác) chạy ở chế độ nền (dạng bó) • Mỗi hàng đợi có một giải thuật định thời của chính... trong hàng đợi giao tiếp-nền, hàng đợi giao tiếp được cho 80% thời gian của CPU cho giải thuật RR, ngược lại hàng đợi nền nhận 20% thời gian CPU cho các tiến trình của nó theo cách FCFS) Giải thuật hàng đợi nhiều cấp • Các quá trình hệ thống • Các quá trình giao tiếp • Các quá trình soạn thảo giao tiếp • Các quá trình bó • Các quá trình sinh viên Định thời hàng đợi phản hồi đa cấp • Một tiến trình cố thể... tiến trình trong hàng đợi sẵn sàng và thời gian quantum là q, thì mỗi tiến trình lấy 1/n của khoản thời gian CPU nhiều nhất là q đơn vị thời gian cho 1 lần Không tiến trình nào chờ quá (n-1)q đơn vị thời gian • Khả năng thực hiện * q lớn ⇒ FIFO * q nhỏ ⇒ q phải dủ lớn đối với sự chuyển đổi ngữ cảnh, nếu không thì thời gian chuyển đổi quá cao Ví dụ của RR với thời gian quantum = 20 Process P1 P2 P3... đợi: * Q0 - RR với thời gian quantum 8 mili giây * Q1 - RR với thời gian quantum 16 mili giây * Q2 – FCFS • Định thời * Một tiến trình mới được đua vào hàng đợi Q0 được thực hiện theo cơ chế FCFS Khi nó được cấp CPU một lần nữa, thời gian cho nó là 8 mili giây Nếu chưa hoàn thành trong 8 miligiây, nó sẽ được đưa vào hàng đợi Q1 * Tại Q1 tiến trình được thực hiện theo cơ chế FCFS với thời gian 16 miligiây

Ngày đăng: 13/05/2014, 19:49

TỪ KHÓA LIÊN QUAN

w