1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tài liệu hướng dẫn thực hành HỆ ĐIỀU HÀNH

16 60 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 16
Dung lượng 210,55 KB

Nội dung

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN o Tài liệu hướng dẫn thực hành HỆ ĐIỀU HÀNH Biên soạn: ThS Phan Đình Duy ThS Nguyễn Thanh Thiện KS Trần Đại Dương KS Trần Hoàng Lộc LƯU HÀNH NỘI BỘ Thành phố Hồ Chí Minh – Tháng 09/2014 MỤC LỤC BÀI LẬP LỊCH TIẾN TRÌNH 4.1 Mục tiêu 4.2 Nội dung thực hành 4.3 Sinh viên chuẩn bị 4.4 Hướng dẫn thực hành 4.5 Bài tập ôn tập 12 NỘI QUY THỰC HÀNH Sinh viên tham dự đầy đủ buổi thực hành theo quy định giảng viên hướng dẫn (GVHD) (6 buổi với lớp thực hành cách tuần 10 buổi với lớp thực hành liên tục) Sinh viên phải chuẩn bị nội dung phần “Sinh viên viên chuẩn bị” trước đến lớp GVHD kiểm tra chuẩn bị sinh viên 15 phút đầu buổi học (nếu khơng có chuẩn bị sinh viên bị tính vắng buổi thực hành đó) Sinh viên làm tập ôn tập để cộng điểm thực hành, tập ôn tập GVHD kiểm tra sinh viên có yêu cầu buổi học liền sau thực hành Điểm cộng tối đa không điểm cho thực hành Bài LẬP LỊCH TIẾN TRÌNH 4.1 Mục tiêu Sinh viên nắm rõ giải thuật: First Come First Served (FCFS), Round Robbin (RR), Shortest Job First (SJF), Shortest Remain Time (SRT) Chỉ ưu điểm nhược điểm giải thuật Xây dựng chương trình mơ giải thuật 4.2 Nội dung thực hành Mô giải thuật FCFS 4.3 Sinh viên chuẩn bị Chương trước thảo luận tiến trình – mức trừu tượng Hệ điều hành mã chương trình thực thi Chương thảo luận lập lịch tiến trình (hay cịn gọi lập lịch CPU) để tìm hiểu cách mà nhân Hệ điều hành cấp phát CPU cho tiến trình thực cơng việc Bộ lập lịch tiến trình định tiến trình chạy, chạy chạy Bộ lập lịch tiến trình chia tài nguyên processor time (tài nguyên hữu hạn) tiến trình chạy hệ thống Bằng việc định tiến trình chạy tiếp theo, lập lịch tiến trình có trách nhiệm sử dụng hệ thống tối ưu phải thể nhiều tiến trình thực thi đồng thời Hệ điều hành đa nhiệm chạy xen kẽ nhiều tiến trình lúc Trên máy đơn xử lý, tiến trình luân phiên sử dụng xử lý thời gian ngắn khiến cho người dùng có cảm giác nhiều tiến trình chạy song song Trên máy nhiều xử lý, nhiều tiến trình thực chạy song song xử lý Dù đơn xử lý hay đa xử lý, có tiến trình tồn nhớ bị chặn (không thực thi) cấp phát processor time để chạy Trong thực hành này, hệ thống đơn xử lý sử dụng để minh họa lập lịch tiến trình Các phân phối Linux hệ điều hành đa nhiệm ưu tiên Trong hệ điều hành đa nhiệm ưu tiên, lập lịch tiến trình định tiến trình ngừng chạy tiến trình bắt đầu chạy, việc tạm ngưng tiến trình chạy gọi khơng tiếm quyền (tính ưu tiên) Thời gian mà tiến trình chạy trước bị chặn dự đoán gọi timeslice tiến trình Một tiến trình trạng thái chạy, rời khỏi trạng thái ba lý sau: Tiến trình hồn thành cơng việc, trả lại processor time chuyển sang chờ xử lý kết thúc Tiến trình tạm dừng: Khi tiến trình chờ đợi kiện đó, tiến trình chuyển sang trạng thái thực có xuất kiện chờ Tiến trình sử dụng hết processor time dành cho nó, chuyển sang trạng thái chờ đến lượt cấp phát Việc chuyển tiến trình sang trạng thái chờ chất thực việc phân phối lại processor time Để điều khiển tiến trình nhiều trạng thái khác nhau, hệ thống thường tổ chức từ trạng thái (thực chất khối điều khiển tiến trình) để ghi nhận tình trạng sử dụng tài nguyên trạng thái tiến trình Như vậy, lập lịch tiến trình có nghĩa tổ chức hàng đợi tiến trình sẵn sàng để phân phối processor time cho chúng độ ưu tiên tiến trình; cho hiệu suất sử dụng xử lý tối ưu Mỗi tiến trình trạng thái sẵn sàng gắn với thứ tự ưu tiên Thứ tự ưu tiên xác định dựa vào yếu tố như: thời điểm hình thành tiến trình, thời gian thực tiến trình, thời gian kết thúc tiến trình 4.3.1 Giải thuật First Come First Served (FCFS) Trong thuật toán này, độ ưu tiên phục vụ tiến trình vào thời điểm hình thành tiến trình Hàng đợi tiến trình tổ chức theo kiểu FIFO (vào trước, trước) Mọi tiến trình phục vụ theo trình tự xuất kết thúc bị ngắt Ưu điểm thuật tốn processor time khơng bị phân phối lại (khơng bị ngắt) chi phí thực thấp (vì khơng phải thay đổi thứ tự ưu tiên phục vụ, thứ tự ưu tiên thứ tự tiến trình hàng đợi) Nhược điểm thuật tốn thời gian trung bình chờ phục vụ tiến trình (khơng kể thời gian tiến trình chạy ngắn hay dài), dẫn tới ba điểm sau: Ví dụ: Tiến trình Thời điểm vào Thời gian thực P1 24 P2 P3 Thứ tự cấp phát processor time cho tiến trình: Tiến trình P1 P2 P3 Thời điểm 24 27 Thời gian chờ trung bình: (0+23+25)/3=16 4.3.2 Giải thuật Round robin (RR) Giải thuật định thời luân phiên (round-robin scheduling algorithm - RR) thiết kế đặc biệt cho hệ thống chia sẻ thời gian Tương tự định thời FCFS khơng cịn tình trạng độc quyền processor time mà thay vào tiến trình cấp phát processor time với định mức cố định, hay gọi timeslice Timeslice thường từ 10 đến 100 mili giây Hàng đợi sẵn sàng xem hàng đợi vòng Bộ lập lịch tiến trình di chuyển vịng quanh hàng đợi sẵn sàng, cấp phát processor time tới tiến trình có khoảng thời gian tối đa timeslice Để cài đặt định thời RR, quản lý hàng đợi sẵn sàng hàng đợi FIFO tiến trình Các tiến trình thêm vào hàng đợi Bộ lập lịch tiến trình chọn tiến trình từ hàng đợi sẵn sàng, đặt đếm thời gian để ngắt sau timeslice gửi tới tiến trình Sau đó, hai trường hợp xảy Tiến trình có processor time timeslice Trong trường hợp này, tiến trình tự giải phóng Sau đó, lập lịch tiến trình xử lý tiến trình hàng đợi sẵn sàng Ngược lại, processor time tiến trình chạy dài timeslice độ đếm thời gian báo gây ngắt tới hệ điều hành Chuyển đổi ngữ cảnh thực thi tiến trình đặt trở lại hàng đợi sẵn sàng Sau đó, lập lịch tiến trình chọn tiến trình hàng đợi sẵn sàng Ưu điểm: ❖ Các tiến trình luân phiên cho processor xử lý nên thời gian chờ đợi ❖ Đối với tiến trình liên quan đến nhập/xuất, người dùng hiệu ❖ Việc cài đặt không phức tạp Nhược điểm: ❖ Thời gian chờ đợi trung bình theo RR thường dài ❖ Nếu timeslice lớn RR thành FIFO ❖ Nếu timeslice ngắn so với thời gian xử lý tiến trình danh sách hàng đợi việc chờ đợi xử lý luân phiên nhiều ❖ Quy tắc timeslice nên dài 80% processor time Ví dụ: Tiến trình Thời điểm vào Thời gian thực P1 24 P2 P3 timeslice = Thứ tự cấp processor time cho tiến trình là: Tiến trình P1 P2 P3 P1 P1 P1 P1 P1 Thời điểm 10 14 18 22 26 Vậy thời gian chờ đợi trung bình là: (3+5+6)/3 = 4,67 Như RR có thời gian chờ đợi trung bình nhỏ so với FIFO 4.3.3 Giải thuật Shortest Job First (SJF) Một tiếp cận khác việc lập lịch tiến trình giải thuật định thời cơng việc ngắn trước (shortest job first - SJF) Khi xử lý rảnh, gán tới tiến trình có processor time ngắn Nếu hai tiến trình có processor time kế tiếp, định thời FCFS dùng Ưu điểm: ❖ Giải thuật xem tối ưu, thời gian chờ đợi trung bình giảm ❖ Tận dụng hết lực xử lý Nhược điểm: ❖ Cài đặt thuật toán phức tạp, tốn nhiều xử lý cho tiến trình quản lý ❖ Mặc dù SJF tối ưu khơng thể cài đặt cấp lập lịch tiến trình ngắn khơng có cách để biết chiều dài processor time ❖ Giải thuật SJF độc quyền hay không độc quyền xử lý, dẫn tới giải thuật có nhiều phiên khác tối ưu hay không tối ưu phụ thuộc vào chiến lược độc quyền xử lý 4.3.4 Giải thuật Shortest Remain Time (SRT) Tương tự SJF thuật toán này, độ ưu tiên thực tiến trình dựa vào thời gian cần thiết để thực xong tiến trình (bằng tổng thời gian trừ thời gian thực hiện) Như vậy, thuật toán cần phải thường xuyên cập nhật thông tin thời gian thực tiến trình Đồng thời, chế độ phân bổ lại processor time phải áp dụng khơng làm tính ưu việt thuật toán Ưu điểm: ❖ Thời gian chờ, tồn hệ thống tiến trình ngắn ❖ Các tiến trình ngắn thực thi nhanh chóng Hệ thống cần chi phí cho việc định tiến trình thực thi Nhược điểm: ❖ Việc cài đặt thuật toán phức tạp ❖ Cần quản lý chặt chẽ việc điều phối tiến trình ❖ Quản lý thời gian cịn lại cho tiến trình 4.3.5 Câu hỏi chuẩn bị Vẽ sơ đồ giải thuật giải thuật lập lịch tiến trình: ❖ FCFS (First Come First Served) ❖ RR (Round Robin) ❖ SJF (Shortest Job First) ❖ SRT (Shortest Remain Time) Giải thích thuật ngữ sau: TT Thuật ngữ Mô tả Arrival time Burst time Quantum time (timeslice) Response time Waiting time Turnaround time Average waiting time Average turnaround time 4.4 Hướng dẫn thực hành Soạn thảo biên dịch giải thuật FCFS bên dưới: /*###################################### # University of Information Technology # # IT007 Operating System # # , # # File: fcfs.c # ######################################*/ #include void main(){ int pn[10]; int arr[10], bur[10], star[10], finish[10], tat[10], wt[10], i, n; int totwt=0, tottat=0; printf("Enter the number of processes:"); scanf("%d",&n); for(i=0;i

Ngày đăng: 03/01/2022, 14:31

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w