good_friends801
New Member
Download miễn phí Đồ án Hệ điều hành Định thời cho CPU & Full Source C#
MỤC LỤC
Báo cáo đồ án Hệ điều hành Định thời cho CPU & Full Source C#
TỔNG QUAN VỀ ĐỀ TÀI
CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI 5
1.1. BỐI CẢNH VÀ LÝ DO THỰC HIỆN ĐỀ TÀI 5
1.2. MỤC TIÊU CỦA ĐỀ TÀI 5
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT 6
2.1. GIỚI THIỆU 6
2.1.1. Mục tiêu lập lịch 6
2.1.2. Các đặc điểm của tiến trình 6
2.1.3. Điều phối không độc quyền và điều phối độc quyền 7
2.2. CÁC KHÁI NIỆM CƠ BẢN 9
2.2.1. Khái niệm giờ CPU 9
2.2.2. Các trạng thái của tiến trình liên quan đến giờ CPU 9
2.2.3. Khái niệm lập lịch cho CPU 11
2.3. CÁC THUẬT TOÁN LẬP LỊCH 12
2.3.1. First Come First Served(FCFS) 12
2.3.2. Round robin(RR) 13
2.3.3. Shortest Job First(SJF) 14
2.3.4. Shortest Remain Time(SRT) 15
CHƯƠNG 3. CÀI ĐẶT THUẬT TOÁN 16
3.1. MÔ HÌNH CÀI ĐẶT THUẬT TOÁN 16
3.1.1. Cấu trúc dữ liệu 16
3.1.2. Thuật toán xử lý chung 17
3.2. THUẬT TOÁN 19
3.2.1. First In First Out(FIFO) 19
3.2.2. Round Robin(RR) 21
3.2.3. Shortest Job First(SRT) 23
3.2.4. Shortest Remain Time(SRT) 25
CHƯƠNG 4. XÂY DỰNG CHƯƠNG TRÌNH DEMO 27
4.1. CÁC MODUN CHÍNH 27
4.2. MÔI TRƯỜNG PHÁT TRIỂN 27
4.3. GIAO DIỆN CỦA CHƯƠNG TRÌNH 27
4.3.1. About 27
4.3.2. Input 28
4.3.3. Output 30
4.3.4. Control 30
4.4. ĐÁNH GIÁ VÀ NHẬN XÉT 32
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí
Tóm tắt nội dung tài liệu:
Xây dựng chương trình mô phỏng các giải thuật định thời cho CPU
Sinh viên : Lê Phương Tiến 07T2
Hà Phước Việt 07T1
Cán bộ hướng dẫn : Ths Nguyễn Văn Nguyên
Đà Nẵng 2010
MỤC LỤC
TỔNG QUAN VỀ ĐỀ TÀI
TỔNG QUAN VỀ ĐỀ TÀI
Bối cảnh và lý do thực hiện đề tài
Hệ điều hành là phần gắn bó trực tiếp với phần cứng và là môi trường để cho các chương trình ứng dụng khác chạy trên nó. Với chức năng quản lý và phân phối tài nguyên một cách hợp lý, đồng thời giả lập một máy tính mở rộng và tạo giao diện tiện lợi với người sử dụng, hệ điều hành là một thành phần then chốt không thể thiếu được trong mỗi một hệ thống máy tính điện tử.
Một trong những chức năng quan trọng của hệ điều hành là quản lý CPU. Trong môi trường xử lý đa chương, có thể xảy ra tình huống nhiều tiến trình đồng thời sẵn sàng để xử lý. Mục tiêu của các hệ phân chia thời gian(time-sharing) là chuyển đổi CPU qua lại giữa các tiến trình một cách thường xuyên để nhiều người sử dụng có thể tương tác cùng lúc với từng chương trình trong quá trình xử lý.
Để thực hiện được mục tiêu này, hệ điều hành phải lựa chọn tiến trình được xử lý tiếp theo. Bộ điều phối sẽ sử dụng một giải thuật điều phối thích hợp để thực hiện nhiệm vụ này. Một thành phần khác của hệ điều hành cũng tiểm ẩn trong công tác điều phối là bộ điều phối(dispatcher). Bộ phân phối sẽ chịu trách nhiệm chuyển đổi ngữ cảnh và trao CPU cho tiến trình được chọn bởi bộ điều phối để xử lý.
Vì những lợi ích lơn lao mà giải thuật điều phối CPU đem lại và để tìm hiểu kĩ hơn về nguyên tắc hoạt động của chúng, chúng em quyết định chọn đề tài: Xây dựng chương trình mô phỏng các giải thuật định thời cho CPU.
Mục tiêu của đề tài
Tìm hiểu các giải thuật: First In First Out(FIFO), Round Robin(RR), Shortest Job First(SJF), Shortest Remain Time(SRT).
Chỉ ra được ưu và nhược điểm cả các giải thuật lập lịch CPU.
Xây dựng chương trình mô phỏng các giải thuật đã tìm hiểu và kết quả demo.
CƠ SỞ LÝ THUYẾT
Giới thiệu
Mục tiêu lập lịch
Bộ điều phối không cung cấp cơ chế, mà đưa ra các quyết định. Các hệ điều hành xây dựng nhiều chiến lượt khác nhau để thực hiện việc điều phối, nhưng tựu chung cần đạt được các mục tiêu sau:
Sự công bằng: các tiến trình chia sẻ CPU một cách công bằng không có tiến trình nào phải đợi vô hạn để được cấp phát CPU
Tính hiệu quả: Hệ thống phải tận dụng được CPU 100% thời gian
Thời gian đáp ứng hợp lý: cực tiểu hóa thời gian hồi đáp cho các tương tác của người sử dụng
Thời gian lưu lại trong hệ thống: cực tiểu hóa thời gian hoàn tất các tác vụ xử lý theo lô
Thông lượng tối đa: cực đại hóa số công việc được xử lý trong một đơn vị thời gian
Tuy nhiên thường không thể thỏa mãn tất cả các mục tiêu kể trên vì bản thân chũng có sự mâu thuẩn với nhau mà chỉ có thể thể dung hòa chúng ở mức độ nào đó.
Các đặc điểm của tiến trình
Điều phối hoạt động của các tiến trình là một vấn đề rất phức tạp, đòi hỏi hệ điều hành khi giải quyết phải xem xét nhiều yếu tố khác nhau để có thể đạt được những mục tiêu đề ra. Một số đặc tính của tiến trình cần được quan tâm như tiêu chuẩn điều phối:
Tính hướng xuất/ nhập của tiến trình: Khi một tiến trình được nhận CPU, chủ yếu nó chỉ sử dụng CPU đến khi phát sinh một yêu cầu nhập xuất? Hoạt động của các tiến trình như thế thường bao gồm nhiều lượt sử dụng CPU, mỗi lượt trong một thời gian khá ngắn.
Tính hướng xử lý của tiến trình: Khi một tiến trình được nhận CPU, nó có khuynh hướng sử dụng CPU đến khi hết thời gian dành cho nó? Hoạt động của các tiến trình như thế thường bao gồm một số ít lượt sử dụng CPU, nhưng mỗi lượt trong mộ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 được hồi đáp tức thời đối với các yêu cầu của họ, trong khi các tiến trình của các tác vụ được xử lý theo lô nói chung có thể trì hoãn trong một thời gian chấp nhận được.
Độ ưu tiên của tiến trình: Các tiến trình có thế được phân cấp theo một số tiêu chuẩn đánh giá nào đó, một cách hợp lý, các tiến trình quan trọng hơn(có độ ưu tiên cao hơn) cần được ưu tiên cao hơn.
Thời gian đã sử dụng CPU của tiến trình: một số quan điểm ưu tiên chọn những tiến trình đã sử dụng CPU nhiều thời gian nhất vì hy vọng chúng sẽ cần ít thowig gian nhất để hoàn tất và rời khỏi hệ thống. Tuy nhiên cũng có quan ddierm cho răng các tiến trình nhận được CPU trong ít thời gian là những tiến trình đã phải chờ lâu nhất, do vậy ưu tiên chọn chúng.
Thời gian còn lại tiến trình cần để hoàn tất: Có thể giảm thiểu thời gian chờ trung bình của các tiến trình bằng cách cho các tiến trình cần ít thời gian nhất để hoàn tát được thực hiện trước. Tuy nhiên đáng tiếc là rất hiếm khi biết được tiến trình cần bao nhiêu thời gian nữa để kết thúc xử lý.
Điều phối không độc quyền và điều phối độc quyền
Thuật toán điều phối cần xem xét và quyết định thời điểm chuyển đổi CPU giữa các tiến trình. Hệ điều hành các thể thực hiện cơ chế điều phối theo nguyên lý đọc quyền hay không đọc quyền:
Điều phối độc quyền: Nguyến lý điều phối độc quyền cho phép một tiến trình khi nhậ được CPU sẽ có quyền độc chiếm CPU đến khi hoàn tất xử lý hay tự nguyện giải phóng CPU. Khi đó quyết định điều phối CPU sẽ xảy ra trong các tình huống sau:
Khi tiến trình chuyển từ trạng thái đang xử lý (running) sang trạng thái bị blocked (ví dụ chờ một thao tác nhập xuất hay chờ một tiến trình con kết thúc…).
Khi tiến trình kết thúc.
Các giải thuật độc quyền thường đơn giản và dễ cài đặt. Tuy nhiên chúng thường không thích hợp với các hệ thống tổng quát nhiều người dùng, vì nếu cho phép một tiến trình có quyền xử lý bao lâu tùy ý, có nghĩa là tiến trình này đã giữ CPU một thời gian không xác định, có thể ngăn cản những tiến trình còn lại trong hệ thống có một cơ hội để xử lý.
Đ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 của một tiến trình sẵn sàng xử lý. Khi một tiến trình nhận được CPU, nó vẫn được sử dụng CPU đến khi hoàn tất hay tự nguyện giải phóng CPU, nhưng khí có một tiến trình khác có độ ưu tiên có thể dành quyền sử dụng CPU của tiến trình ban đầu. Như vậy là tiến trình có thế bị tạm dừng hoạt động bất cứ lúc nào mà không được báo trước, để tiến trình khác xử lý. Các quyết định điều phối xảy ra khi:
Khi tiến trình chuyển từ trạng thái đang xử lý(running) sang trạng thái bị khóa blocked.
Khi tiến trình chuyển từ trạng thái đang xử lý(running) sang trạng thái ready(vì xảy ra một ngắt).
Khi tiến trình chuyển từ trạng thái chờ (blocked) sang trạng thái ready (ví dụ một thao tác nhập xuất hoàn tất).
Do Drive thay đổi chính sách, nên một số link cũ yêu cầu duyệt download. các bạn chỉ cần làm theo hướng dẫn.
Password giải nén nếu cần: ket-noi.com | Bấm trực tiếp vào Link để tải:
Download:
MỤC LỤC
Báo cáo đồ án Hệ điều hành Định thời cho CPU & Full Source C#
TỔNG QUAN VỀ ĐỀ TÀI
CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI 5
1.1. BỐI CẢNH VÀ LÝ DO THỰC HIỆN ĐỀ TÀI 5
1.2. MỤC TIÊU CỦA ĐỀ TÀI 5
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT 6
2.1. GIỚI THIỆU 6
2.1.1. Mục tiêu lập lịch 6
2.1.2. Các đặc điểm của tiến trình 6
2.1.3. Điều phối không độc quyền và điều phối độc quyền 7
2.2. CÁC KHÁI NIỆM CƠ BẢN 9
2.2.1. Khái niệm giờ CPU 9
2.2.2. Các trạng thái của tiến trình liên quan đến giờ CPU 9
2.2.3. Khái niệm lập lịch cho CPU 11
2.3. CÁC THUẬT TOÁN LẬP LỊCH 12
2.3.1. First Come First Served(FCFS) 12
2.3.2. Round robin(RR) 13
2.3.3. Shortest Job First(SJF) 14
2.3.4. Shortest Remain Time(SRT) 15
CHƯƠNG 3. CÀI ĐẶT THUẬT TOÁN 16
3.1. MÔ HÌNH CÀI ĐẶT THUẬT TOÁN 16
3.1.1. Cấu trúc dữ liệu 16
3.1.2. Thuật toán xử lý chung 17
3.2. THUẬT TOÁN 19
3.2.1. First In First Out(FIFO) 19
3.2.2. Round Robin(RR) 21
3.2.3. Shortest Job First(SRT) 23
3.2.4. Shortest Remain Time(SRT) 25
CHƯƠNG 4. XÂY DỰNG CHƯƠNG TRÌNH DEMO 27
4.1. CÁC MODUN CHÍNH 27
4.2. MÔI TRƯỜNG PHÁT TRIỂN 27
4.3. GIAO DIỆN CỦA CHƯƠNG TRÌNH 27
4.3.1. About 27
4.3.2. Input 28
4.3.3. Output 30
4.3.4. Control 30
4.4. ĐÁNH GIÁ VÀ NHẬN XÉT 32
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí
Tóm tắt nội dung tài liệu:
Xây dựng chương trình mô phỏng các giải thuật định thời cho CPU
Sinh viên : Lê Phương Tiến 07T2
Hà Phước Việt 07T1
Cán bộ hướng dẫn : Ths Nguyễn Văn Nguyên
Đà Nẵng 2010
MỤC LỤC
TỔNG QUAN VỀ ĐỀ TÀI
TỔNG QUAN VỀ ĐỀ TÀI
Bối cảnh và lý do thực hiện đề tài
Hệ điều hành là phần gắn bó trực tiếp với phần cứng và là môi trường để cho các chương trình ứng dụng khác chạy trên nó. Với chức năng quản lý và phân phối tài nguyên một cách hợp lý, đồng thời giả lập một máy tính mở rộng và tạo giao diện tiện lợi với người sử dụng, hệ điều hành là một thành phần then chốt không thể thiếu được trong mỗi một hệ thống máy tính điện tử.
Một trong những chức năng quan trọng của hệ điều hành là quản lý CPU. Trong môi trường xử lý đa chương, có thể xảy ra tình huống nhiều tiến trình đồng thời sẵn sàng để xử lý. Mục tiêu của các hệ phân chia thời gian(time-sharing) là chuyển đổi CPU qua lại giữa các tiến trình một cách thường xuyên để nhiều người sử dụng có thể tương tác cùng lúc với từng chương trình trong quá trình xử lý.
Để thực hiện được mục tiêu này, hệ điều hành phải lựa chọn tiến trình được xử lý tiếp theo. Bộ điều phối sẽ sử dụng một giải thuật điều phối thích hợp để thực hiện nhiệm vụ này. Một thành phần khác của hệ điều hành cũng tiểm ẩn trong công tác điều phối là bộ điều phối(dispatcher). Bộ phân phối sẽ chịu trách nhiệm chuyển đổi ngữ cảnh và trao CPU cho tiến trình được chọn bởi bộ điều phối để xử lý.
Vì những lợi ích lơn lao mà giải thuật điều phối CPU đem lại và để tìm hiểu kĩ hơn về nguyên tắc hoạt động của chúng, chúng em quyết định chọn đề tài: Xây dựng chương trình mô phỏng các giải thuật định thời cho CPU.
Mục tiêu của đề tài
Tìm hiểu các giải thuật: First In First Out(FIFO), Round Robin(RR), Shortest Job First(SJF), Shortest Remain Time(SRT).
Chỉ ra được ưu và nhược điểm cả các giải thuật lập lịch CPU.
Xây dựng chương trình mô phỏng các giải thuật đã tìm hiểu và kết quả demo.
CƠ SỞ LÝ THUYẾT
Giới thiệu
Mục tiêu lập lịch
Bộ điều phối không cung cấp cơ chế, mà đưa ra các quyết định. Các hệ điều hành xây dựng nhiều chiến lượt khác nhau để thực hiện việc điều phối, nhưng tựu chung cần đạt được các mục tiêu sau:
Sự công bằng: các tiến trình chia sẻ CPU một cách công bằng không có tiến trình nào phải đợi vô hạn để được cấp phát CPU
Tính hiệu quả: Hệ thống phải tận dụng được CPU 100% thời gian
Thời gian đáp ứng hợp lý: cực tiểu hóa thời gian hồi đáp cho các tương tác của người sử dụng
Thời gian lưu lại trong hệ thống: cực tiểu hóa thời gian hoàn tất các tác vụ xử lý theo lô
Thông lượng tối đa: cực đại hóa số công việc được xử lý trong một đơn vị thời gian
Tuy nhiên thường không thể thỏa mãn tất cả các mục tiêu kể trên vì bản thân chũng có sự mâu thuẩn với nhau mà chỉ có thể thể dung hòa chúng ở mức độ nào đó.
Các đặc điểm của tiến trình
Điều phối hoạt động của các tiến trình là một vấn đề rất phức tạp, đòi hỏi hệ điều hành khi giải quyết phải xem xét nhiều yếu tố khác nhau để có thể đạt được những mục tiêu đề ra. Một số đặc tính của tiến trình cần được quan tâm như tiêu chuẩn điều phối:
Tính hướng xuất/ nhập của tiến trình: Khi một tiến trình được nhận CPU, chủ yếu nó chỉ sử dụng CPU đến khi phát sinh một yêu cầu nhập xuất? Hoạt động của các tiến trình như thế thường bao gồm nhiều lượt sử dụng CPU, mỗi lượt trong một thời gian khá ngắn.
Tính hướng xử lý của tiến trình: Khi một tiến trình được nhận CPU, nó có khuynh hướng sử dụng CPU đến khi hết thời gian dành cho nó? Hoạt động của các tiến trình như thế thường bao gồm một số ít lượt sử dụng CPU, nhưng mỗi lượt trong mộ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 được hồi đáp tức thời đối với các yêu cầu của họ, trong khi các tiến trình của các tác vụ được xử lý theo lô nói chung có thể trì hoãn trong một thời gian chấp nhận được.
Độ ưu tiên của tiến trình: Các tiến trình có thế được phân cấp theo một số tiêu chuẩn đánh giá nào đó, một cách hợp lý, các tiến trình quan trọng hơn(có độ ưu tiên cao hơn) cần được ưu tiên cao hơn.
Thời gian đã sử dụng CPU của tiến trình: một số quan điểm ưu tiên chọn những tiến trình đã sử dụng CPU nhiều thời gian nhất vì hy vọng chúng sẽ cần ít thowig gian nhất để hoàn tất và rời khỏi hệ thống. Tuy nhiên cũng có quan ddierm cho răng các tiến trình nhận được CPU trong ít thời gian là những tiến trình đã phải chờ lâu nhất, do vậy ưu tiên chọn chúng.
Thời gian còn lại tiến trình cần để hoàn tất: Có thể giảm thiểu thời gian chờ trung bình của các tiến trình bằng cách cho các tiến trình cần ít thời gian nhất để hoàn tát được thực hiện trước. Tuy nhiên đáng tiếc là rất hiếm khi biết được tiến trình cần bao nhiêu thời gian nữa để kết thúc xử lý.
Điều phối không độc quyền và điều phối độc quyền
Thuật toán điều phối cần xem xét và quyết định thời điểm chuyển đổi CPU giữa các tiến trình. Hệ điều hành các thể thực hiện cơ chế điều phối theo nguyên lý đọc quyền hay không đọc quyền:
Điều phối độc quyền: Nguyến lý điều phối độc quyền cho phép một tiến trình khi nhậ được CPU sẽ có quyền độc chiếm CPU đến khi hoàn tất xử lý hay tự nguyện giải phóng CPU. Khi đó quyết định điều phối CPU sẽ xảy ra trong các tình huống sau:
Khi tiến trình chuyển từ trạng thái đang xử lý (running) sang trạng thái bị blocked (ví dụ chờ một thao tác nhập xuất hay chờ một tiến trình con kết thúc…).
Khi tiến trình kết thúc.
Các giải thuật độc quyền thường đơn giản và dễ cài đặt. Tuy nhiên chúng thường không thích hợp với các hệ thống tổng quát nhiều người dùng, vì nếu cho phép một tiến trình có quyền xử lý bao lâu tùy ý, có nghĩa là tiến trình này đã giữ CPU một thời gian không xác định, có thể ngăn cản những tiến trình còn lại trong hệ thống có một cơ hội để xử lý.
Đ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 của một tiến trình sẵn sàng xử lý. Khi một tiến trình nhận được CPU, nó vẫn được sử dụng CPU đến khi hoàn tất hay tự nguyện giải phóng CPU, nhưng khí có một tiến trình khác có độ ưu tiên có thể dành quyền sử dụng CPU của tiến trình ban đầu. Như vậy là tiến trình có thế bị tạm dừng hoạt động bất cứ lúc nào mà không được báo trước, để tiến trình khác xử lý. Các quyết định điều phối xảy ra khi:
Khi tiến trình chuyển từ trạng thái đang xử lý(running) sang trạng thái bị khóa blocked.
Khi tiến trình chuyển từ trạng thái đang xử lý(running) sang trạng thái ready(vì xảy ra một ngắt).
Khi tiến trình chuyển từ trạng thái chờ (blocked) sang trạng thái ready (ví dụ một thao tác nhập xuất hoàn tất).
Do Drive thay đổi chính sách, nên một số link cũ yêu cầu duyệt download. các bạn chỉ cần làm theo hướng dẫn.
Password giải nén nếu cần: ket-noi.com | Bấm trực tiếp vào Link để tải:
Download:
You must be registered for see links