1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo đồ án Hệ điều hành Định thời cho CPU & Full Source C#

37 5,5K 41

Đ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 37
Dung lượng 2,16 MB

Nội dung

- Báo cáo đồ án Nguyên lí Hệ điều hành: Định thời cho CPU- Full source code C# đồ án

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN MẠNG VÀ TRUYỀN THÔNG



ĐỒ ÁN HỆ ĐIỀU HÀNH

Đề tài:

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 : Nguyễn Văn Cương

LỚP : 10T4

GVHD : Nguyễn Võ Quang Đông

ĐÀ NẴNG 12/2013

MỤC LỤC

Trang 2

I TỔNG QUAN VỀ ĐỀ TÀI 3

I.1 BỐI CẢNH VÀ LÍ DO CHỌN ĐỀ TÀI 3

I.2 MỤC TIÊU ĐỀ TÀI 3

II CƠ SỞ LÝ THUYẾT 4

II.1 GIỚI THIỆU 4

II.1.1 Mục tiêu lập lịch 4

II.1.2 Các đặc điểm của tiến trình 4

II.1.3 Điều phối không độc quyền và điều phối độc quyền 5

II.2 CÁC KHÁI NIỆM CƠ BẢN 6

II.2.1 Khái niệm giờ CPU 6

II.2.2 Các trạng thái của tiến trình liên quan đến giờ CPU 9

II.2.3 Khái niệm lập lịch cho CPU 9

II.3 CÁC THUẬT TOÁN LẬP LỊCH 11

II.3.1 First Come First Served 11

II.3.2 Round Robin 12

II.3.3 Shortest Job First 13

II.3.4 Shortest Remain Time 14

III CÀI ĐẶT THUẬT TOÁN 14

III.1 MÔ HÌNH CÀI ĐẶT THUẬT TOÁN 14

III.1.1 Cấu trúc dữ liệu 14

III.1.2 Thuật toán xử lý chung 15

III.2 THUẬT TOÁN 17

III.2.1 First Come First Served 17

III.2.2 Round Robin 18

III.2.3 Shortest Job First 19

III.2.4 Shortest Remain Time 20

IV XÂY DỰNG CHƯƠNG TRÌNH DEMO 21

IV.1 CÁC MODUN CHÍNH 21

IV.2 MÔ TRƯỜNG PHÁT TRIỂN 21

IV.3 GIAO DIỆN CHƯƠNG TRÌNH 21

IV.4 ĐÁNH GIÁ VÀ NHẬN XÉT 26

Trang 3

Nguyễn Văn Cương – Lớp 10T4

Trang 4

I TỔNG QUAN VỀ ĐỀ TÀI

I.1 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 để chocá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ốità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 giaodiệ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 Trongmôi trường xử lý đa tiến trình, có thể xảy ra tình huống nhiều tiến trình đồng thờisẵ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ệnnhiệ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ộ phân 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, em quyết định chọn đề tài: Xây dựngchương trình mô phỏng các giải thuật định thời cho CPU Em xin chân thành cảm

ơn sự hướng dẫn, quan tâm nhiệt tình của Thầy giáo hướng dẫn đề tài Nguyễn VõQuang Đông, cũng như những giờ lên lớp với sự hướng dẫn lí thuyết của cô giáoTrần Hồ Thủy Tiên đã giúp em hoàn thành đồ án này

I.2 Mục tiêu của đề tài

 Hiểu các khái niệm cơ bản về định thời

 Tìm hiểu các giải thuật: First Come First Served, Round Robin, ShortestJob First, Shortest Remain Time

 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

Trang 5

 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ươngtá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

II.1.2 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 đượcnhữ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êuchuẩ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ụngCPU, 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

Nguyễn Văn Cương – Lớp 10T4

Trang 6

động của các tiến trình như thế thường bao gồm một số ít lượt sử dụngCPU, 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ácthườ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ọ, trongkhi 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ọnghơ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ọnnhữ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 thời 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 gianchờ 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ờigian nhất để hoàn tát được thực hiện trước Tuy nhiên đáng tiếc là rấthiế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ý

II.1.3 Đ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ữacá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ý đọcquyền hoặc 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ếntrình khi nhận được CPU sẽ có quyền độc chiếm CPU đến khi hoàn tất xử

lý hoặc 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:

o Khi tiến trình chuyển từ trạng thái đang xử lý (running) sang trạngthái bị blocked (ví dụ chờ một thao tác nhập xuất hay chờ một tiếntrình con kết thúc…)

o Khi tiến trình kết thúc

Trang 7

Các giải thuật độc quyền thường đơn giản và dễ cài đặt Tuy nhiên chúngthườ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ếntrình này đã giữ CPU một thời gian không xác định, có thể ngăn cảnnhữ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ốitheo nguyên lý không độc quyền cho phép tạm dừng hoạt động của mộttiế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 hoặc tự nguyện giải phóng CPU, nhưngkhí có một tiến trình khác có độ ưu tiên ao hơ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ạmdừng hoạt động bất cứ lúc nào mà không được báo trước, để tiến trìnhkhác xử lý Các quyết định điều phối xảy ra khi:

o Khi tiến trình chuyển từ trạng thái đang xử lý (running) sang trạngthái bị khóa blocked

o Khi tiến trình chuyển từ trạng thái đang xử lý (running) sang trạngthái ready (vì xảy ra một ngắt)

o 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)

o Khi tiến trình kết thúc

Trong các hệ thống sử dụng nguyên lý điều phối độc quyền có thể xảy ra tìnhtrạng các tác vụ cần thời gian xử lý ngắn phải chờ tác vụ xử lý với thời gian rất dàihoàn tất! Nguyên lý điều phối độc quyền thường chỉ thích hợp với các hệ xử lý theolô

Đối với các hệ thống tương tác (time sharing), các hệ thời gian thực (real time),cần phải sử dụng nguyên lý điều phối không độc quyền để các tiến trình quan trọng

có cơ hội hồi đáp kịp thời Tuy nhiên thực hiện hiện điều phối theo nguyên lýkhông độc quyền đòi hỏi nhưng cơ chế phức tạp trong việc phân định độ ưu tiên, vàphát sinh thêm chi phí khi chuyển đổi CPU qua lại giữa các tiến trình

Nguyễn Văn Cương – Lớp 10T4

Trang 8

II.2.Các khái niệm cơ bản

II.2.1 Hệ điều hành

a Định nghĩa hệ điều hành:

Hệ điều hành (HĐH): là một phần quan trọng của mọi hệ thống thông tin Mọi

hệ thống thông tin gồm 4 thành phần quan trọng: Phần cứng, hệ điều hành, chương trình ứng dụng và người sử dụng

 Phần cứng: Gồm CPU, bộ nhớ, thiết bị vào ra cung cấp các tài nguyên thông tin cơ sở

 Các chương trình ứng dụng: Gồm chương trình dịch, hệ thống cơ sở dữ liệu, trình soạn thảo văn bản,… quy định cách sử dụng các tài nguyên đó

để giải quyết những vấn đề của người sử dụng

 Hệ điều hành: Điều khiển và đồng bộ việc sử dụng phần cứng của cácchương trình ứng dụng phục vụ các người sử dụng khác nhau với cácmục đích phong phú đa dạng

 Người sử dụng: Hiểu theo nghĩa rộng bao gồm những người sử dụng thuần tuý và các cán bộ vận hành đặc biệt đối với các máy trung và các máy lớn

Ta có thể hiểu hệ điều hành là hệ thống các chương trình đảm bảo các chức năng giao tiếp người máy và và quản lý tài nguyên hệ thống tính toán

Tuy nhiên có nhiều người quan sát HĐH dưới các góc độ khác nhau vì thế tồntại nhiều định nghĩa về HĐH

Đối với người sử dụng : HĐH là tập hợp các chương trình, phục vụ khai thác

hệ thống tính toán một cách dễ dàng, thuận tiện

Người sử dụng khi thực hiện một chương trình nào đó trên máy tính thì chỉ quan tâm đến việc hệ thống có đáp ứng được nhu cầu của hộ hay không? Họ không quan tâm đến việc hệ điều hành làm như thế nào, nhằm mục đích gì, có cấu trúc như thế nào?

Đối với người làm công tác quản lý: HĐH là một tập các chương trình phục

vụ quản lý chặt chẽ và sử dụng tối ưu các tài nguyên của hệ thống

Trang 9

Đối với cán bộ kỹ thuật: HĐH là hệ thống chương trình bao trùm lên một máytính vật lý cụ thể để tạo ra một máy logic với những tài nguyên mới và khả năng mới.

b Các chức năng chính của hệ điều hành:

Hệ điều hành là một chương trình đóng vai trò trung gian trong việc giao tiếp giữa người sử dụng và phần cứng của máy tính Mục tiêu của hệ điều hành là cung cấp một môi trường cho phép người sử dụng phát triển và thực hiện các ứng dụng của họ một cách dễ dàng và hiệu quả Theo nguyên tắc, một hệ điều hành cần thoả mãn hai chức năng sau:

Quản lý chia sẻ tài nguyên:

Tài nguyên của hệ thống (CPU, bộ nhớ, thiết bị ngoại vi, ) vốn rất giới hạn, nhưng trong các hệ thống đa nhiệm, nhiều người sử dụng có thể đồng thời yêu cầu nhiều tài nguyên Để thỏa mãn yêu cầu sử dụng chỉ với tài nguyên hữu hạn và nâng cao hiệu quả sử dụng tài nguyên, hệ điều hành cần phải có cơ chế và chiến lược thích hợp để quản lý việc phân phối tài nguyên

Ngoài yêu cầu dùng chung tài nguyên để tiết kiệm chi phí, người sử dụng còn cần phải chia sẻ thông tin (tài nguyên phần mềm) lẫn nhau, khi đó hệ điều hành cầnđảm bảo việc truy xuất đến các tài nguyên này là hợp lệ, không xảy ra tranh chấp, mất đồng nhất,

Giả lập một máy tính:

Nguyễn Văn Cương – Lớp 10T4

Trang 10

Hệ điều hành làm ẩn đi các chi tiết phần cứng, người sử dụng được cung cấp một giao diện đơn giản, dễ hiểu, dễ sử dụng và không phụ thuộc vào thiết bị phần cứng cụ thể.

Thực tế, ta có thể xem Hệ điều hành như là một hệ thống bao gồm nhiều máy tính trừu tượng xếp thành nhiều lớp chồng lên nhau, máy tính mức dưới phục vụ cho máy tính mức trên Lớp trên cùng là giao diện trực quan nhất để chúng ta điều khiển

Ngoài ra có thể chia chức năng của Hệ điều hành theo bốn chức năng sau:

 Quản lý quá trình (process management)

 Quản lý bộ nhớ (memory management)

 Quản lý hệ thống lưu trữ

 Giao tiếp với người dùng (user interaction)

II.2.2 Khái niệm giờ CPU

CPU là một loại tài nguyên quan trọng của máy tính Mọi tiến trình muốn hoạtđộng được đều phải có sự phục vụ của CPU (để xử lý, tính toán…) Thời gian màCPU phục vụ cho tiến trình hoạt động được gọi là giờ CPU

Tại mỗi thời điểm nhất, chỉ có một tiến trình được phân phối giờ CPU để hoạtđộng

II.2.3 Các trạng thái của tiến trình liên quan đến giờ CPU

Trong chế độ đa chương trình, có ba trạng thái của tiến trình liên quan mật thiếtđến giờ CPU bao gồm:

Trang 11

 (1) Tiến trình mới tạo lập được đưa vào hệ thống

 (2) Bộ điều phối cấp phát cho tiến trình một khoảng thời gian sử dụngCPU

 (3) Tiến trình kết thúc, bộ điều phối thu lại CPU

 (4) Tiến trình yêu cầu tài nguyên nhưng chưa được đáp ứng, hoặc phảichờ một sự kiện hay thao tác nhập/xuất

 (5) Bộ điều phối chọn một tiến trình khác để xử lí

 (6) Tài nguyên mà tiến trình yêu cầu đã sẵn sàng cấp phát, hay sự kiện,thao tác nhập/xuất tiến trình đang đợi hoàn tất

Như vậy, trong suốt thời gian tồn tại của mình, các tiến trình sẽ tuân thủ theo sơ

đồ thực hiện sau:

Sử dụng CPU Sử dụng CPU Sử dụng CPU

Bắt đầu .……… .……… Kếtthúc

Một tiến trình đang trong trạng thái thực hiện, nó có thể rời khỏi trạng thái bởimột trong ba lý do:

 Tiến trình đã hoàn thành công việc, khi đó nó trải lại giờ CPU và chuyểnsang chờ xử lý kết thúc

 Tiến trình tự ngắt: Khi tiến trình chờ đợi một sự kiện nào đó, tiến trình sẽđược chuyển sang trạng thá thực hiện khi có xuất hiện sự kiện nó đangchờ

 Tiến trình sử dụng hết giờ CPU dành cho nó, khi đó nó sẽ được chuyểnsang trạng thái sẵn sàng

Việc chuyển tiến trình sang trạng thái sẵn sàng về bản chất là thực hiện vệc phânphối lại giờ CPU

II.2.4 Khái niệm lập lịch cho CPU

Để điều khiển tiến trình ở nhiều trạng thái khác nhau, hệ thống thường tổ chứccác từ trạng thái (thực chất là các khối điều khiển tiến trình) để ghi nhận tình trạng

Nguyễn Văn Cương – Lớp 10T4

Trang 12

sử dụng tài nguyên và trạng thái tiến trình Các từ trạng thái được tổ chức theo kiểuhàng đợi như sau:

Như vậy, lập lịch cho CPU có nghĩa là tổ chức một hàng đợi các tiến trình sẵnsàng để phân phối giờ CPU cho chúng dựa trên độ ưu tiên của các tiến trình, saocho hiệu suất sử dụng CPU là tối ưu nhất

Mỗi tiến trình ở trạng thái sẵn sàng sẽ được gắn với một thứ tự ưu tiên Thứ tự

ưu tiên này được xác định dựa vào các yếu tố như: thời điểm hình thành tiến trình,thời gian thực hiện tiến trình, thời gian kết thúc tiến trình…

II.3.Các Thuật Toán Lập Lịch

II.3.1 First Come First Served

Trong thuật toán này, độ ưu tiên phục vụ tiến trình căn cứ vào thời điểm hìnhthành tiến trình Hàng đợi các tiến trình được tổ chức theo kiểu vào trước ra trước.Mọi tiến trình đều được phục vụ theo trình tự xuất hiện cho đến khi kết thúc hoặc bịngắt

Ready list

Hình 2.3.1-1 Điều phối First Come First Served

Trang 13

Ưu điểm:

 Giờ CPU không bị phân phối lại (không bị ngắt)

 Chi phí thực hiện thấp nhất (vì không phải thay đổi thứ tự ưu tiênphục vụ, thứ tự ưu tiên là thứ tự của tiến trình trong hàng đợi)

 Thuật toán đơn giản

II.3.2 Round Robin

Giải thuật định thời luân phiên (round-robin scheduling algorithm-RR) được thiết kế đặc biệt cho hệ thống chia sẻ thời gian Tương tự như định thời FCFS nhưng sự trưng dụng CPU được thêm vào để chuyển CPU giữa các quá trình Đơn

vị thời gian nhỏ được gọi là định mức thời gian (time quantum) hay phần thời gian (time slice) được định nghĩa Định mức thời gian thường từ 10 đến 100 mili giây Hàng đợi sẵn sàng được xem như một hàng đợi vòng Bộ định thời CPU di chuyển vòng quanh hàng đợi sẵn sàng, cấp phát CPU tới mỗi quá trình có khoảng thời gian tối đa bằng một định mức thời gian

Để cài đặt định thời RR, chúng ta quản lý hàng đợi sẵn sàng như một hàng đợi FCFS của các quá trình Các quá trình mới được thêm vào đuôi hàng đợi Bộ định thời CPU chọn quá trình đầu tiên từ hàng đợi sẵn sàng, đặt bộ đếm thời gian để ngắtsau 1 định mức thời gian và gởi tới quá trình

Sau đó, một trong hai trường hợp sẽ xảy ra Quá trình có 1 chu kỳ CPU ít hơn 1 định mức thời gian Trong trường hợp này, quá trình sẽ tự giải phóng Sau đó, bộ định thời biểu sẽ xử lý quá trình tiếp theo trong hàng đợi sẵn sàng Ngược lại, nếu chu kỳ CPU của quá trình đang chạy dài hơn 1 định mức thời gian thì độ đếm thời gian sẽ báo và gây ra một ngắt tới hệ điều hành Chuyển đổi ngữ cảnh sẽ được thực

Nguyễn Văn Cương – Lớp 10T4

Trang 14

thi và quá trình được đặt trở lại tại đuôi của hàng đợi sẵn sàng Sau đó, bộ định thời biểu CPU sẽ chọn quá trình tiếp theo trong hàng đợi sẵn sàng.

 Thời gian chờ đợi trung bình dưới chính sách RR thường là quá dài

 Nếu thời gian định mức cho việc xử lý quá lớn thì RR thành FCFS

 Nếu thời gian quá ngắn so với thời gian xử lý của một tiến trình trong danh sách hàng đợi thì việc chờ đợi và xử lý luân phiên sẽ nhiều

 Qui tắc là định mức thời gian nên dài hơn 80% chu kỳ CPU

II.3.3 Shortest Job First

Một tiếp cận khác đối với việc định thời CPU là giải thuật định thời công việc ngắn nhất trước Shortest Job First (SJF) Giải thuật này gán với mỗi quá trình chiều dài của chu kỳ CPU tiếp theo cho quá trình sau đó Khi CPU sẵn dùng, nó được gántới quá trình có chu kỳ CPU kế tiếp ngắn nhất Nếu hai quá trình có cùng chiều dài chu kỳ CPU kế tiếp, định thời First Come First Served được dùng Chú ý rằng thuật

Trang 15

ngữ phù hợp hơn là chu kỳ CPU kế tiếp ngắn nhất (shortest next CPU burst) vì địnhthời được thực hiện bằng cách xem xét chiều dài của chu kỳ CPU kế tiếp của quá trình hơn là toàn bộ chiều dài của nó Chúng ta dùng thuật ngữ SJF vì hầu hết mọi người và mọi sách tham khảo tới nguyên lý của loại định thời biểu này như SJF.

Ưu điểm :

 Giải thuật được xem là tối ưu, thời gian chờ đợi trung bình giảm

 Tận dụng hết năng lực của CPU

Nhược điểm :

 Cài đặt thuật toán phức tạp,tốn nhiều xử lý cho quá trình quản lý

 Mặc dù SJF là tối ưu nhưng nó không thể được cài đặt tại cấp định thời CPU ngắn vì không có cách nào để biết chiều dài chu kỳ CPU tiếp theo

 Giải thuật SJF có thể trưng dụng hoặc không trưng dụng CPU, dẫn tới giải thuật này có nhiều dị bản khác nhau và sẽ tối ưu hay không tối ưu phụ thuộc vào trưng dụng CPU

II.3.4 Shortest Remain Time

Tương tự như SJF nhưng trong thuật toán này, độ ưu tiên thực hiện các tiến trìnhdựa vào thời gian cần thiết để thực hiện nốt tiến trình (bằng tổng thời gian trừ đithời gian đã thực hiện) Như vậy, trong thuật toán này cần phải thường xuyên cậpnhật thông tin về giời gian đã thực hiện của tiến trình Đồng thời, chế độ phân bổ lạigiờ CPU cũng phải được áp dụng nếu không sẽ làm mất tình ưu việc của thuật toán

Ưu điểm :

 Thời gian chờ đợi,tồn tại trong hệ thống của mỗi tiến trình đều ngắn

 Thuật toán tối ưu nhất

Nhược điểm :

 Việc cài đặt thuật toán khá phức tạp

 Cần quản lý chặt chẽ việc điều phối các tiến trình

 Quản lý thời gian đến của mỗi tiến trình

III CÀI ĐẶT THUẬT TOÁN

Nguyễn Văn Cương – Lớp 10T4

Trang 16

III.1 Mô hình cài đặt thuật toán

 name : Tên của tiến trình

 number : Số thứ tự của tiến trình

 time_arrival: thời gian đến của tiế trình

 time_run: thời gian xử lý của tiến trình

 time_wait: thời gian chờ của tiến trình

 time_exist: thời gian tồn tại của tiến trình

III.1.2.Thuật toán xử lý chung

Việc cài đặt thuật toán được mô phòng theo cách làm việc của CPU và tất các thuật toán con đều theo mô hình thuật toán này:

 Tiến trình ở đầu danh sách sẽ được ưu tiên xử lý trước và nó chiếm dụng CPU tại thời điểm đó

Trang 17

 Việc đi kèm thèo là xem xét thời gian xử lý các tiến trình đã hết chưa.Nếu đã hết thì nghĩa là hoàn thành việc xử lý, ngược lại thì tiếp tục xử

lý theo thuật toán

Hình 3.1.2-1 Sơ đồ thuật toán đề xuất chung cho các giải thuật.

Nguyễn Văn Cương – Lớp 10T4

Trang 18

III.2 Thuật toán

III.2.1.First Come First Served

Ngày đăng: 21/02/2014, 23:22

HÌNH ẢNH LIÊN QUAN

Trong thuật toán này, độ ưu tiên phục vụ tiến trình căn cứ vào thời điểm hình thành tiến trình - Báo cáo đồ án Hệ điều hành Định thời cho CPU & Full Source C#
rong thuật toán này, độ ưu tiên phục vụ tiến trình căn cứ vào thời điểm hình thành tiến trình (Trang 11)
Hình 3.1.2-1. Sơ đồ thuật toán đề xuất chung cho các giải thuật. - Báo cáo đồ án Hệ điều hành Định thời cho CPU & Full Source C#
Hình 3.1.2 1. Sơ đồ thuật toán đề xuất chung cho các giải thuật (Trang 16)
Hình 3.2.2-0. First Come First Serve. - Báo cáo đồ án Hệ điều hành Định thời cho CPU & Full Source C#
Hình 3.2.2 0. First Come First Serve (Trang 17)
Hình 3.2.3-1. Shortest Job First. - Báo cáo đồ án Hệ điều hành Định thời cho CPU & Full Source C#
Hình 3.2.3 1. Shortest Job First (Trang 19)
Hình 4.3.1-1.Hiển thị thơng tin về giao diện chính. - Báo cáo đồ án Hệ điều hành Định thời cho CPU & Full Source C#
Hình 4.3.1 1.Hiển thị thơng tin về giao diện chính (Trang 22)
Hình 4.3.2-2.Nhận dữ liệu từ file. - Báo cáo đồ án Hệ điều hành Định thời cho CPU & Full Source C#
Hình 4.3.2 2.Nhận dữ liệu từ file (Trang 23)
Hình 4.3.2-3.Nhập dữ liệu từ bàn phím. - Báo cáo đồ án Hệ điều hành Định thời cho CPU & Full Source C#
Hình 4.3.2 3.Nhập dữ liệu từ bàn phím (Trang 23)
Hình 4.3.4-1. First Come First Served. - Báo cáo đồ án Hệ điều hành Định thời cho CPU & Full Source C#
Hình 4.3.4 1. First Come First Served (Trang 24)
Hình 4.3.4-2.Round Robin. - Báo cáo đồ án Hệ điều hành Định thời cho CPU & Full Source C#
Hình 4.3.4 2.Round Robin (Trang 24)
Hình 4.3.4-3.Shortest Job First. - Báo cáo đồ án Hệ điều hành Định thời cho CPU & Full Source C#
Hình 4.3.4 3.Shortest Job First (Trang 25)
Hình 4.3.4-4.Shortest Remain Time. - Báo cáo đồ án Hệ điều hành Định thời cho CPU & Full Source C#
Hình 4.3.4 4.Shortest Remain Time (Trang 25)

TỪ KHÓA LIÊN QUAN

w