Nghiên cứu tìm hiểu về quản lý tiến trình trong hđh windows

24 1.1K 9
Nghiên cứu tìm hiểu về quản lý tiến trình  trong hđh windows

Đ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

 BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CNTT - - BÀI TẬP LỚN MÔN: NGUYÊN LÝ HỆ ĐIỀU HÀNH Đề tài: Nghiên cứu tìm hiểu quản lý tiến trình hđh windows Giáo viên hướng dẫn: Th.s Nguyễn Tuấn Tú Nhóm số Lớp: ĐH Khoa học Máy tính 3- K9 =========== Hà Nội, 2016 ===========  BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CNTT - - BÀI TẬP LỚN MÔN: NGUYÊN LÝ HỆ ĐIỀU HÀNH Đề tài: Nghiên cứu tìm hiểu quản lý tiến trình hđh windows Giáo viên hướng dẫn: Th.s Nguyễn Tuấn Tú Nhóm số Lớp: ĐH Khoa học Máy tính 3- K9 Nhóm sinh viên thực hiện: Nguyễn Việt Anh Mai Quý Công Nguyễn Hồng Cường Nguyễn Quang Toàn Mục lục CHƯƠNG 1: GIỚI THIỆU VỀ TIẾN TRÌNH Lời nói đầu .1 Giới thiệu, khái niệm tiến trình 1.1 Khái niệm tiến trình 1.2 Phân loại tiến trình 1.3 Quan hệ tiến trình 10 1.4 Các trạng thái tiến trình 12 Các thao tác điều khiển tiến trình 2.1 Phân tích vai trị khối tiến trình 16 2.2 Tạo lập tiến trình 18 2.3 Kết thúc tiến trình 21 Điều phối tiến trình 3.1 Giới thiệu 22 3.2 Cơ chế điều phối độc quyền không độc quyền 26 3.3 Tổ chức điều phối tiến trình 27 Lời nói đầu Tất hệ điều hành đa chương, từ hệ điều hành đơn người sử dụng đến hệ điều hành hỗ trợ đến hàng ngàn người sử dụng, phải xây dựng dựa khái niệm tiến trình Vì thế, yêu cầu quan trọng thiết kế hệ điều hành thành phần quản lý tiến trình hệ điều hành phải đáp ứng tất liên quan đến tiến trình: Hệ điều hành phải cho phép thực nhiều tiến trình đồng thời để khai thác tối đa thời gian xử lý processor cung cấp thời gian hồi đáp hợp lý Hệ điều hành phải cung cấp tài nguyên để tiến trình hoạt động cách hiệu với sách hợp lý khơng xảy tình trạng tắt nghẽn hệ thống Hệ điều hành u cầu để hỗ trợ truyền thơng liên tiến trình người sử dụng tạo tiến trình Hệ điều hành phải có nhiệm vụ tạo tiến trình, điều khiển hoạt động tiến trình kết thúc tiến trình Một số hệ điều hành phân biệt hai khái niệm tiến trình tiểu trình Tiến trình liên quan đến quyền sở hữu tài nguyên, tiểu trình liên quan đến thực chương trình Trong hệ điều hành đa chương, có nhiều tiến trình tồn nhớ chính, tiến trình luân phiên hai trạng thái: sử dụng processor đợi thực vào/ra hay kiện xảy Tất vấn đề làm rõ đề tài Bài làm nhóm tham khảo từ nhiều nguồn tài liệu khác nên cịn thiếu sót, nhiều chỗ chưa hợp lý xác, mong thầy bạn đọc góp ý bổ sung thêm ý kiến để nhóm sửa chữa, bổ sung hồn chỉnh đề tài Xin chân thành cảm ơn Nhóm sinh viên thực CHƯƠNG 1: GIỚI THIỆU VỀ TIẾN TRÌNH Giới thiệu tiến trình, khái niệm 1.1 Khái niệm tiến trình gì? Tất máy tính đại thực nhiều việc lúc Trong thực chương trình người sử dụng, máy tính đọc liệu từ đĩa đưa hình máy in Trong mơi trường đa chương trình (multiprogramming system), CPU chuyển từ chương trình sang chương trình khác, thực chương trình khoảng 1% 1/10 mili giây Nếu nói xác, thời điểm, CPU thực chương trình Nhưng xét khoảng thời gian phần trăm giây CPU thực nhiều cơng việc Để hổ trợ hoạt động đa nhiệm, hệ thống máy tính cần phải có khả thực nhiều tác vụ xử lý đồng thời việc điều khiển hoạt động song hành cấp độ phần cứng khó khăn.Vì vậy,các nhà thiết kế hệ điều hành đề xuất mơ hình song hành giả lập cách chuyển đổi xử lý qua lại chương trình để trì hoạt động nhiều chương trình phải thời điểm.Trong mơ hình chương trình hệ thống tổ chức thành tiến trình(process) Như coi tiến trình chương trình xử lý, sử dụng trỏ lệnh, tập ghi biến Để hoàn thành nhiệm vụ mình, tiến trình cịn yêu cầu số tài nguyên hệ thống như: CPU, nhớ thiết bị Chúng ta cần phân biệt rõ tiến trình chương trình Chương trình thực thể thụ động chứa thị điều khiển máy tính thi hành tác vụ cụ thể Khi thực thị này, chương trình chuyển thành tiến trình thực thể hoạt động, với trỏ lệnh xác định kèm thêm tài nguyên phục vụ cho hoạt động Vậy nói tóm lại, tiến trình biến đổi từ trạng thái sang trạng thái khác tác động chương trình chương trình phải có khả thi hành thi hành máy tính 1.2 Phân loại tiến trình Có thể chia thành hai loại: tiến trình (MS_DOS) tiến trình song song (uniprocesser multiprocesser) • Tiến trình tuần tự: tiến trình mà điểm khởi tạo điểm kết thúc tiến trình trước • Tiến trình song song: tiến trình mà điểm khởi tạo tiến trình nằm thân tiến trình khác, tức khởi tạo tiến trình tiến trình trước chưa kết thúc.Trong tiến trình song song chia thành nhiều loại: 1.2.1 Tiến trình song song đợc lập: Các tiến trình hoạt động song song khơng có quan hệ thơng tin với nhau, trường hợp hệ điều hành phải thiết lập chế bảo vệ liệu tiến trình, cấp phát tài nguyên cho tiến trình cách hợp lý Hình 1.1 Mơ tiến trình song song độc lập 1.2.2 Tiến trình song song có quan hệ thơng tin : Trong q trình hoạt động tiến trình trao đổi thơng tin với Hai tiến trình A B gọi có quan hệ thơng tin với tiến trình có gửi thơng báo cho tiến trình Tiến trình gửi thơng báo khơng cần biết tiến trình nhận có tồn hay không? Ở đâu? Và giai đoạn nào? Hình 1.2: Mơ tiến song song có quan hệ thơng tin 1.2.3 Tiến trình song song phân cấp : Trong qua trình hoạt động tiến trình khởi tạo tiến trình khác hoạt động song song với nó, tiến trình khởi tạo gọi tiến trình cha, tiến trình tạo gọi tiến trình Trong mơ hình hệ điều hành phải giải vấn đề cấp phát tài nguyên cho tiến trình Tiến trình nhận tài nguyên đâu? Từ tiến trình cha hay từ hệ thống Ví dụ: Hình 1.3: Mơ tiến trình song song phân cấp 1.2.4 Tiến trình song song đờng mức: Là tiến trình hoạt động song song sử dụng chung tài nguyên theo nguyên tắc lần lượt, tiến trình sau khoảng thời gian chiếm giữ tài nguyên phải tự động trả lại tài nguyên cho tiến trình Hình 1.4: Mơ tiến trình song song đồng mức 1.3 Quan hệ tiến trình Các tiến trình hoạt động hệ thống tồn hai mối quan hệ: Độc lập hợp tác (song hành) 1.3.1 Quan hệ đợc lập: Tiến trình gọi độc lập hoạt động khơng gây ảnh hưởng khơng bị ảnh hưởng tiến trình khác hoạt động hệ thống.Tiến trình độc lập có đặc trưng sau: - Trạng thái khơng bị chia sẻ với tiến trình khác Việc thực tiến trình đơn định (kết phụ thuộc vào đầu vào) Tiến trình dừng bắt đầu lại mà không gây ảnh hưởng tới tiến trình khác hệ thống 1.3.2 Quan hệ hợp tác: Tiến trình gọi quan hệ hợp tác (song hành) hoạt động gây ảnh hưởng đến tiến trình khác hoạt động hệ thống Tiến trình hợp tác có đặc trưng sau: Trạng thái bị chia sẻ cho tiến trình khác Việc thực tiến trình khơng đơn định (kết phụ thuộc dãy thực tương ứng khơng dự báo trước) - Tiến trình khơng thể tái 1.4 Các trạng thái tiến trình - Trạng thái tiến trình thời điểm xác định hoạt động thời tiến trình thời điếm Trong q trình sống tiến trình thay đổi trạng thái nhiều nguyên nhân như: phải chờ kiện xảy ra, hay đợi thao tác nhập xuất hoàn tất, buộc phải dừng hoạt động hết thời gian xử lý…… Tại thời điểm tiến trình nhận trạng thái sau đây:  Mới tạo (New): Chương trình đưa vào hàng đợi  Running: Chương trình thi hành  Ready: Chương trình đưa vào hàng đợi trạng thái sẵn sàng thi hành  Waiting: Chương trình đưa vào trạng thái chờ  Kết thúc (Halt): Kết thúc tiến trình Các trạng thái tiến trình biểu diễn qua sơ đồ sau: Hình 1.2: Các trạng thái tiến trình Tại thời điểm có tiến trình nhận trạng thái running xử lý bất kỳ.Trong đó, nhiều tiến trình trạng thái waiting hay ready Các cung chuyển tiếp sơ đồ trạng thái biểu diễn chuyển trạng thái xảy điều kiện sau:  Tiến trình tạo đưa vào hệ thống  Bộ điều phối cấp phát cho tiến trình khoảng thời gian sử dụng     CPU Tiến trình kết thúc Tiến trình yêu cầu tài nguyên chưa đáp ứng tài nguyên chưa sẵn sàng để cấp phát thời điểm đó, tiến trình phải chờ kiện hay thao tác nhập xuất Bộ điều phối chọn tiến trình khác để chờ xử lý Tài nguyên mà tiến trình yêu cầu trở nên sẵn sàng để cấp phát, hay kiện thao tác nhập xuất tiến trình đợi hồn tất Theo thời gian hoạt động tiến trình thay đổi trạng thái Có cấp độ trạng thái là: 1.4.1 Trạng thái vĩ mô: hệ điều hành đặt để quản lý process - Trạng thái vĩ mô: trạng thái chi tiết sau lệnh máy thực thi - Trạng thái vĩ mô bao gồm: running (đang chiếm CPU chạy), ready (đang chờ CPU), blocked (bị giam chờ CPU) 10 - Sơ đồ trạng thái: Hình 1.3: Sơ đồ trạng thái tiến trình Thực CPU tốc độ chậm Chạy hết khe thời gian Được chọn để chạy khe thời gian kế I/O sẵn sàng phục vụ 1.4.2 Trạng thái vi mơ tiến trình: Để quản lý trạng thái process, HĐH dùng record liệu gồm nhiều field, field chứa thông tin trạng thái mà HĐH muốn quản lý Một field đặc biệt record quản lý field chứa mã trạng thái vĩ mô process tương ứng để HĐH biết process chạy hay Ready | Blocked Các record quản lý process hợp thành bảng quản lý: bảng quan trọng HĐH Bảng quản lý trạng thái thường thực danh sách liên kết để việc thêm/bớt record dễ dàng hiệu (vì tần suất tạo/xóa process cao theo thời gian) Các thao tác điều khiển tiến trình 2.1 Phân tích vai trị khối tiến trình 11 - Khối kiểm sốt tiến trình (Process Control Block - PCB) Hình 2.1: Bảng thơng tin môi trường trạng thái hoạt động tiến trình Chứa thơng tin ứng với process Process ID, parent process ID • Credentials (user ID, group ID, effective ID, ) • Trạng thái process : new, ready, running, waiting… • Program counter: địa lệnh thực thi • Các ghi CPU • Thông tin dùng để định thời CPU: priority, • Thông tin nhớ: base/limit register, page tables… • Thơng tin thống kê: CPU time, time limits… • Thơng tin trạng thái I/O: danh sách thiết bị I/O cấp phát, danh sách file mở, • Con trỏ (pointer) đến PCBs khác PCB đơn giản phục vụ kho chứa cho thông tin khác từ trình tới trình khác 2.2 Tạo lập tiến trình 12 Trong trình xử lý tiến trình tạo lập tiến trình cách gọi lời gọi hệ thống tương ứng Tiến trình gọi lời gọi hệ thống để tạo tiến trình gọi tiến trình cha, tiến trình tạo tiến trình Mỗi tiến trình đến lượt tạo tiến trình mới…q trình tiếp tục tạo tiến trình Các công việc hệ điều hành cần thực tạo lập tiến trình: • Định danh cho tiến trình phát sinh • Đưa tiến trình vào danh sách quản lý hệ thống • Xác định độ ưu tiên cho tiến trình • Tạo PCB cho tiến trình • Cấp phát tài ngun ban đầu cho tiến trình • Khi tiến trình tạo lập tiến trình con, tiến trình hệ điều hành trực tiếp cấp phát tài nguyên tiến trình cha cho thừa hưởng số tài nguyên ban đầu  Khi tiến trình tạo tiến trình mới, tiến trình ban đầu xử lý theo hai khả sau:  Tiến trình cha tiếp tục xử lý đồng hành với tiến trình  Tiến trình cha chờ đến tiến trình tất tiến trình có kết thúc xử lý  Các hệ điều hành khác lựa chọn cài đặt khác để thực thao tác lập trình tiến trình  Ví dụ tạo lập tiến trình: 13 Hình 2.2: Một tiến trình UNIX Hình 2.3: Trình bày mơ hình ln chuyển CPU hai tiến trình 2.3 Kết thúc tiến trình Một tiến trình kết thúc xử lý hồn tất thị cuối sử dụng lời gọi hệ thống để u cầu hệ điều hành hủy bỏ Đơi tiến trình u cầu hệ điều hành kết thúc xử lý tiến trình khác - Khi tiến trình kết thúc, hệ điều hành thực công việc:  Thu hồi tài nguyên hệ thống cấp phát cho tiến trình  Hủy tiến trình khỏi tất danh sách quản lý hệ thống  Hủy bỏ PCB tiến trình 14 Hầu hết hệ điều hành khơng cho phép tiến trình tiếp tục tồn tiến trình cha kết thúc.Trong hệ thống thế, hệ điều hành tự động phát sinh loạt thao tác kết thúc tiến trình - Một tiến trình cha kết thúc việc thực thi tiến trình với nhiều lý khác nhau:  Tiến trình sử dụng tài nguyên vượt mức cấp Điều u cầu tiến trình cha có chế để xem xét trạng thái tiến trình  Cơng việc gán tới tiến trình khơng cịn cần thiết  Quá trình cha kết thúc hệ điều hành khơng cho phép q trình tiếp tục trình cha kết thúc Trên hệ thống thế, trình kết thúc (bình thường khơng bình thường), tất trình phải kết thúc Trường hợp xem kết thúc xếp tầng (cascading termination) thường khởi tạo hệ điều hành Điều phối tiến trình 3.1 Giới thiệu  Mục đích: Sự cơng bằng: Các tiến trình chia sẻ CPU cách cơng bằng, khơng có tiến trình phải chờ đợi vơ hạn để cấp phát CPU Tính hiệu quả: Hệ thống phải tận dụng CPU 100% thời gian (thời gian chờ trung bình ngắn) Thời gian đáp ứng hợp lý: Cực tiểu hóa thời gian hồi đáp cho tương tác người sử dụng Thời gian lưu lại hệ thống: Cực tiểu hóa thời gian hồn tất tác vụ xử lý Thông lượng tối đa: Cực đại hóa số cơng việc xử lý đơn vị thời gian 15 Tuy nhiên thường thỏa mãn tất mục tiêu kể thân chúng có mâu thuẫn mà dung hịa chúng mức độ  Các đặc điểm tiến trình: Điều phối hoạt động tiến trình vấn đề phức tạp, đòi hỏi hệ điều hành giải phải xem xét yếu tố khác để đạt mục tiêu đề Một số đặc tính cần quan tâm tiêu chuẩn điều phối: Tính hướng nhập xuất tiến trình: tiến trình nhận CPU, chủ yếu sử dụng CPU phát sinh yêu cầu nhập xuất Hoạt động tiến trình thường bao gồm nhiều lượt sử dụng CPU, lượt thời gian ngắn - Tính hướng xử lý tiến trình: tiến trình nhận CPU, có khuynh hướng sử dụng CPU đến hết thời gian dành cho Hoạt động tiến trình thường bao gồm số lượt sử dụng CPU, lượt thời gian đủ dài - Tiến trình tương tác hay xử lý theo lô: người sử dụng theo kiểu tương tác thường yêu cầu hồi đáp tức thời yêu cầu họ, tiến trình tác vụ xử lý theo lơ nói chung trì hỗn thời gian chấp nhận - Độ ưu tiên tiến trình: Các tiến trình phân cấp theo đánh giá đó, cách hợp lý, tiến trình quan trọng (có độ ưu tiên hơn) cần ưu tiên - Thời gian sử dụng CPU tiến trình: Một số quan điểm ưu tiên chọn tiến trình sử dụng CPU nhiều thời gian hy vọng chúng cần thời gian để hồn tất rời khỏi hệ thống.Tuy nhiên có quan điểm cho tiến trình nhận CPU thời gian tiến trình phải chờ lâu nhất, ưu tiên chọn chúng Thời gian lại tiến trình cần để hồn tất: giảm thiểu thời gian chờ đợi trung bình tiến trình cách cho tiến trình cần thời gian để hoàn tất thực trước.Tuy nhiên đáng tiếc biết tiến trình cần thời gian để kết thúc xử lý 16 3.2 Cơ chế điều phối độc quyền không độc quyền 3.2.1 Cơ chế điều phối độc quyền Nguyên lý: chế cho phép tiến trình nhận CPU sẻ có quyền độc chiếm CPU đến hồn tất xử lý tự giải phóng CPU Khi định điều phối sẻ xảy trường hợp sau • Tiến trình chuyển từ trạng thái running  blockit • Kết thúc tiến trình Các giải thuật độc quyền dễ cài đặt thuật toán Tuy nhiên lại khơng thích hợp cho hệ thống tổng qt nhiều người dùng.Vì cho tiến trình thời gian chiếm giữ CPU tùy ý ngăn cản trình xử lý tiến trình cịn lại 3.2.2 Cơ chế điều phối không độc quyền Ngược với nguyên lý độc quyền, điều phối theo nguyên lý không đọc quyền cho phép tạm dừng hoạt động tiến trình sẵn sãng xử lý.Khi tiến trình nhận CPU sử dụng CPU hoàn tất tự nguyện giải phóng CPU, tiến trình khác có độ ưu tiên cao dành quyền sử dụng CPU tiến trình ban đầu Như tiến trình dừng hoạt động lúc mà khơng báo trước để tiến trình khác xử lý Các định điều phối xảy khi: • Tiến trình chuyển từ trạng thái running  blocked • Một tiến trình chờ trạng thái xử lý • Chuyển từ trạng thái chờ (blocked)  ready • Khi tiến trình kết thúc Các thuật tốn điều phối theo ngun tắc khơng độc quyền ngăn cản tình trạng tiến trình độc chiếm CPU 3.3 Tổ chức điều phối 17  Các loại danh sách sử dụng điều phối tiến trình Hệ điều hành sử dụng hai loại danh sách để thực điều phối tiến trình danh sách sẵn sàng (ready list) danh sách chờ đợi (waiting list) Khi tiến trình bắt đầu vào hệ thống, chèn vào danh sách tác vụ (job list) Danh sách bao gồm tất tiến trình hệ thống Nhưng tiến trình thường trú nhớ trạng thái sẵn sàng tiếp nhận CPU để hoạt động đưa vào danh sách sẵn sàng Bộ điều phối chọn tiến trình danh sách sẵn sàng cấp CPU cho tiến trình Tiến trình cấp CPU thực xử lý, chuyển sang trạng thái chờ xảy kiện đợi thao tác nhập/xuất hoàn tất, yêu cầu tài nguyên chưa thỏa mãn, u cầu tạm dừng…Khi tiến trình chuyển sang danh sách chờ đợi Hệ điều hành sử dụng danh sách sẵn sàng cho toàn hệ thống, tài nguyên (thiết bị ngoại vi) có danh sách chờ đợi riêng bao gồm tiến trình chờ cấp phát tài ngun Hình 3.1: Danh sách chờ tiến trình hệ thống 18 Quá trình xử lý tiến trình trải qua chu kì chuyển đổi qua lại danh sách sẵn sàng danh sách chờ đợi Sơ đồ mô tả điều phối tiến trình dựa danh sách hệ thống Thoạt đầu tiến trình đặt danh sách tiến trình sẵn sàng (ready list), đợi danh sách chọn để cấp phát CPU bắt đầu xử lý Sau xảy tình sau: Tiến trình phát sinh yêu cầu tài nguyên mà hệ thống chưa thể đáp ứng, tiến trình chuyển sang danh sách tiến trình chờ tài ngun tương ứng - Tiến trình bị bắt buộc tạm dừng xử lý lý ngắt xảy ra,khi tiến trình đưa trở lại vào danh sách sẵn sàng để chờ cấp CPU cho lượt - Hình 3.2: Sơ đồ chuyển đổi danh sách điều phối Trường hợp đầu tiên, tiến trình cuối chuyển từ trạng thái blocket sang trạng thái ready lại đưa vào danh sách sẵn sàng.Tiến trình lặp lại hồn tất tác vụ hệ thống hủy bỏ khỏi danh sách điều phối 19  Các cấp độ điều phối Thực công việc điều phối hệ điều hành thực hai mức độ: Điều phối tác vụ điều phối tiến trình • Điều phối tác vụ Quyết đinh lựa chọn tác vụ đưa vào hệ thống, nạp tiến trình tác vụ vào nhớ để thực Chức điều phối tác vụ định mức độ đa chương hệ thống (số lượng tiến trình nhớ chính) Khi hệ thống tạo lập tiến trình, hay có tiến trình kết thúc xử lý chức điều phối tác vụ có tần suất hoạt động thấp Để hệ thống hoạt động tốt, điều phối tác vụ cần biết tính chất tiến trình hướng nhập xuất hay hướng xử lý Một tiến trình gọi hướng nhập xuất chủ yếu sử dụng CPU để thực thao tác nhập xuất Ngược lại tiến trình gọi hướng xử lý chủ yếu sử dụng CPU để thực thao tác tính tốn Để cân hoạt động CPU thiết bị ngoại vi, điều phối tác vụ nên lựa chọn tiến trình để nạp vào nhớ cho hệ thống pha trộn hợp lý tiến trình hướng nhập xuất tiến trình hướng xử lý • Điều phối tiến trình Chọn tiến trình trạng thái sẵn sàng (đã nạp vào nhớ chính, có đủ tài ngun để hoạt động) cấp phát CPU cho tiến trình thực Bộ điều phối tiến trình có tần suất hoạt động cao, sau lần xảy ngắt (do đồng hồ báo giờ, thiết bị ngoại vi …) thường lần khoảng 100ms Do để nâng cao hiệu suất hệ thống, cần phải tăng tốc độ xử lý hệ điều phối tiến trình Chức điều phối tiến trình chức bản, quan trọng hệ điều hành Trong nhiều hệ điều hành, khơng có điều phối tác vụ tách biệt điều phối tiến trình Một vài hệ điều hành lại đưa cấp độ điều phối trung gian kết hợp hai cấp độ điều phối tác vụ tiến trình 20 Hình 3.3: Cấp độ điều phối  Các chiến lược điều phối Phân tích điều phối sử dụng chế hàng đợi tiến trình: • Chiến lược FCFS Nguyên tắc: CPU cấp phát cho tiến trình danh sách sẵn sàng có yêu cầu, tiến trình đưa vào hệ thống sớm Đây thuật toán điều phối theo nguyên tắc độc quyền Một CPU cấp phát cho tiến trình, CPU tiến trình tự nguyện giải phóng kết thúc xử lí hay có u cầu xuất/nhập Chiến lược thời gian chờ trung bình không đạt cực tiểu biến đổi đáng kể giá trị thời gian yêu cầu xử lí thứ tự khác tiến trình danh sách sẵn sàng Có thể xảy tượng tích luỹ thời gian chờ, tất tiến trình phải chờ đợi tiến trình có u cầu thời gian dài kết thúc xử lí Giải thuật đặc biệt không phù hợp với hệ phân chia thời gian, hệ này, cần cho phếp tiến trình cấp phát CPU đặn khoảng thời gian 21 Ví dụ: Tiến trình thời điểm vào t/g xử lý P1 24 P2 P3 Thứ tự cấp phát tiến trình: Tiến trình Thời điểm P1 0-24 P2 24-27 P3 27-30 Thời gian chờ trung bình: (0+24+27)/3=17 • Chiến lược xoay vòng (RR) Nguyên tắc: Danh sách sẵn sàng xử lí danh sách vịng, điều phối cấp phát cho tiến trình danh sách khoảng thời gian sử dụng CPU đến hết thời gian quantum dành cho nó, hệ điều hành thu hồi cấp phát cho trình danh sách Nếu tiến trình bị khố hay kết thúc trước sử dụng hết thời gian quantum, hệ điều hành cấp phát CPU cho tiến trình khác Khi tiến tình tiêu thụ hết thời gian CPU cấp phát dành cho mà chưa hồn tất, tiến trình đưa trở lại vào cuối danh sách sẵn sàng để cấp CPU lượt Vấn đề quan tâm giả thuật RR độ dài quantum bé phát sinh nhiều chuyển đổi tiến trình khiến cho việc sử dụng quantum lớn làm tăng thời gian hỏi đáp giảm khả tương tác hệ thống Ví dụ: Tiến trình thời điểm vào P1 24 P2 P3 22 t/g xử lý Quantum = Thì thứ tự cấp processor 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à: (6 + + 7)/3 = 5.56 Như RR có thời gian chờ đợi trung bình nhỏ so với FCFS Trong chiến lược này, vấn đề đặt công tác thiết kế là: nên chọn quantum thích hợp, quantum nhỏ hệ thống phải tốn nhiều thời gian cho việc cập nhật ready list chuyển trạng thái tiến trình, dẫn đến vi phạm mục tiêu: khai thác tối đa thời gian xử lý processor Nếu quantum lớn thời gian chờ đợi trung bình thời gian hồi đáp tăng lên, dẫn đến tính tương tác hệ thống bị giảm xuống • Chiến lược điều phối với độ ưu tiên SJF Trong chiến lược này, phận điều phối tiến trình dựa vào độ ưu tiên tiến trình để tổ chức cấp processor cho tiến trình Tiến trình chọn để cấp processor tiến trình có độ ưu tiên cao nhất, thời điểm Khi hệ thống phát sinh tiến trình ready mới, phận điều phối so sánh độ ưu tiên tiến trình phát sinh với độ ưu tiên tiến trình sở hữu processor (tạm gọi tiến trình tại) Nếu tiến trình có độ ưu tiên thấp tiến trình phận điều phối chèn vào ready list vị trí thích hợp Nếu tiến trình có độ ưu tiên cao tiến trình điều phối thu hồi processor từ tiến trình để cấp cho tiến trình yêu cầu, điều phối khơng độc quyền, chèn tiến trình vào ready list vị trí thích hợp, điều phối độc quyền 23 Chiến lược phải sử dụng ready list, ready list xếp theo thứ tự giảm dần độ ưu tiên kể từ đầu danh sách Điều có nghĩa tiến trình chọn để cấp processor tiến trình đầu ready list Ví dụ: Nếu hệ điều hành cần cấp processor cho tiến trình P1, P2, P3, P4 với độ ưu tiên khoảng thời gian tiến trình cần processor mơ tả bảng sau: Tiến trình Thời điểm đến thời gian xử lý P1 0.0 P2 2.0 P3 4.0 P4 5.0 Thì thứ tự cấp processor (theo nguyên tắc độc quyền) cho tiến trình là: Tiến trình Thời điểm P1 P2 P3 Thời gian chờ trung bình: (0+6+3+7)/4=4 24 P4 ... tuần tự: tiến trình mà điểm khởi tạo điểm kết thúc tiến trình trước • Tiến trình song song: tiến trình mà điểm khởi tạo tiến trình nằm thân tiến trình khác, tức khởi tạo tiến trình tiến trình trước... q trình tới trình khác 2.2 Tạo lập tiến trình 12 Trong q trình xử lý tiến trình tạo lập tiến trình cách gọi lời gọi hệ thống tương ứng Tiến trình gọi lời gọi hệ thống để tạo tiến trình gọi tiến. .. tiến trình cha, tiến trình tạo tiến trình Mỗi tiến trình đến lượt tạo tiến trình mới…quá trình tiếp tục tạo tiến trình Các cơng việc hệ điều hành cần thực tạo lập tiến trình: • Định danh cho tiến

Ngày đăng: 16/04/2017, 12:20

Từ khóa liên quan

Mục lục

  • Tiến trình tuần tự: là các tiến trình mà điểm khởi tạo của nó là điểm kết thúc của tiến trình trước đó.

  • Tiến trình song song: là các tiến trình mà điểm khởi tạo của tiến trình này nằm ở thân của các tiến trình khác, tức là có thể khởi tạo một tiến trình mới khi các tiến trình trước đó chưa kết thúc.Trong này tiến trình song song được chia thành nhiều loại:

  • 1.2.1. Tiến trình song song độc lập:

    • 1.3.1. Quan hệ độc lập:

    • 1.3.2. Quan hệ hợp tác:

    • Theo thời gian hoạt động tiến trình sẽ thay đổi trạng thái. Có 2 cấp độ trạng thái là:

    • Các công việc hệ điều hành cần thực hiện khi tạo lập tiến trình:

    • Mục đích:

    • Các đặc điểm của tiến trình:

    • 3.2.1 Cơ chế điều phối độc quyền

    • 3.2.2. Cơ chế điều phối không độc quyền.

    •  Các loại danh sách sử dụng điều phối tiến trình

    • Các cấp độ điều phối.

    • Điều phối tác vụ

    • Điều phối tiến trình

      • Các chiến lược điều phối

      • Chiến lược FCFS

      • Chiến lược xoay vòng (RR)

      • Chiến lược điều phối với độ ưu tiên SJF

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

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

Tài liệu liên quan