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

Mô phỏng giải thuật định thời biểu CPU

31 863 4

Đ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 31
Dung lượng 0,99 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mục tiêu của hệ phân chia thời gian time-sharing là chuyển đồi CPUqua 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ươngtác cùng lúc với từng chương trình

Trang 1

KHOA SƯ PHẠM TOÁN – TIN

NHÓM 4

BÁO CÁO TỔNG KẾT NGHIÊN CỨU CHUYÊN ĐỀ:

MÔ PHỎNG CÁC GIẢI THUẬT ĐỊNH THỜI CHO

PROCESS

NGÀNH: SƯ PHẠM LỚP: ĐHSTIN15L2

GIẢNG VIÊN HƯỚNG DẪN: Ths NGUYỄN THỊ THÙY LINH

Trang 2

DANH SÁNH SINH VIÊN NHÓM 4

E-mail:lthenam91@gmail.com

2 Tô Lâm Điền ĐT: 0986.980565E-mail: suyakupro@gmail.com

E-mail:tam_c2chaulangtt@angiang.edu.vn

4 Chau Sa Rath ĐT: 01666.435474E-mail: sarathngbk@gmail.com

Bảng phân công công việc:

Huỳnh Bửu Tâm

2 Trình bày quyển báo cáo, in ấn, ghi đĩa CD Tô Lâm ĐiềnChau Sa Rath

Trang 3

MỤC LỤC

Trang 4

1 MỞ ĐẦU

Hệ điều hành là môn học quan trọng và cần thiết Giúp người học hiểu về hệđiều hành của máy tính, hiểu cơ chế xử lý của các tiến trình đưa vào hệ điều hành củamột máy tính điện tử bất kì Quá trình xử lý của các tiến trình trong CPU là quá trìnhquan trọng, ảnh hưởng đến tốc độ, thời gian xử lý và công việc thường ngày trên máytính.Vì thế, tiến trình, quan hệ giữa các tiến trình và cách điều phối tiến trình rất quantrọng Đặc biệt hiện nay, trong môi trường xử lý đa chương, có thể xảy ra tình huốngnhiều tiến trình đồng thời sẵn sàng để xử lý Hiện nay em đang nhận được đề tài: môphỏng các giải thuật định thời cho process tiến trình chờ phân phối xử lý Trong chiếnlược một hàng đợi này có nhiều thuật toán xử lý, nhóm đã chọn 3 thuật toán chínhFCFS, SJF, độ ưu tiên để tìm hiểu Sau khi tìm hiểu về đề tài này giúp em hiểu thêm

vể các cơ chế điều phối tiến trình trong CPU,và cơ chế xử lý các tiến trình

Trang 5

2 NỘI DUNG ĐỀ TÀI

2.1 Đặt vấn đề

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ối tàinguyên một cách hợp lý, đồng thời giả lập một máy tính ở rộng và tạo giao diện tiệnlợ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 đượctrong môi một hệ thống máy tính

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 chương, có thể xảy ra tình huống nhiều tiến trình đồng thời sẵnsàng để xử lý Mục tiêu của hệ phân chia thời gian (time-sharing) là chuyển đồi CPUqua 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ươngtá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ềuphối là bộ điều phối (dispatcher) Bộ điều 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: mô phỏngcác giải thuật định thời cho process

2.2 Phương pháp giải quyết vấn đề

- Tìm hiểu rỏ về tiến trình:Tiến trình, các loại tiến trình, mô hình tiến trình, cách thực hiện mô hình, quản lý tiến trình

- Tìm hiểu cơ chế các chiến lược điều phối: First Come First Serve (FCFS), Short Job First (SJF), Độ ưu tiên

- 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ả demobằng ngôn ngữ lập trình C++

2.3 Giới thiệu tiến trình (process)

2.3.1 Tiến trình là gì?

Những hệ điều hành ban đầu cho phép chỉ một chương trình được thực thi tạimột thời điểm Chương trình này có toàn quyền điều khiển hệ thống và có thể truyxuất tới tất cả tài nguyên của hệ thống Những hệ điều hành hiện đại cho phép nhiềuchương trình được nạp vào bộ nhớ và được thực thi đồng hành Sự phát triển này yêucầu sự điều khiển mạnh mẽ hơn và phân chia tài nguyên nhiều hơn giữa các tiến trìnhsao cho cân bằng và hiệu quả Yêu cầu này dẫn đến khái niệm tiến trình Process

Trang 6

Hình 1: (a) đa

chương với 4 chương trình (b)Mô hình khái niệm với 4 chương trình độc lập (c)Tại một thời điểm chỉ có1 chương trình hoạt động Tiến trình là một chương trình đang xử lý, sở hữu một con trỏ lệnh, tập các thanh ghi

và các biến Để hoàn thành công việc của mình, một tiến trình có thể cần đến một số tài nguyên như CPU, bộ nhớ chính, các tập tin và thiết bị nhập/xuất.

Hình 2: Tiến trình (Process) Cần phân biệt hai khái niệm chương trình và tiến trình Một chương trình là một thực thể thụ động, chứa đựng các chỉ thị điều khiển máy tính để tiến hành một công việc nào đó; khi cho thực hiện các chỉ thị này, chương trình chuyển thành tiến trình là một thực thể hoạt động, với con trỏ lệnh xác định chỉ thị kế tiếp sẽ thi hành, kèm theo tập các tài nguyên phục vụ cho hoạt động của tiến trình.

Về mặt ý niệm, có thể xem như mỗi tiến trình sở hữu một bộ xử lý ảo cho riêng

nó, nhưng trong thực tế, chỉ có một bộ xử lý thật sự được chuyển đổi qua lại giữa cáctiến trình Sự chuyển đổi nhanh chóng này được gọi là sự đa chương

(multiprogramming) Hệ điều hành chịu trách nhiệm sử dụng một thuật toán định thời

CPU để quyết định thời điểm cần dừng hoạt động của tiến trình đang xử lý để phục vụmột tiến trình khác, và lựa chọn tiến trình tiếp theo sẽ được phục vụ Bộ phận thựchiện chức năng này của hệ điều hành được gọi là bộ định thời (scheduler)

Trang 7

Một hệ điều hành phức tạp hơn được mong đợi nhiều hơn trong việc thực hiệncác hành vi của người dùng Mặc dù quan tâm chủ yếu của hệ điều hành là thực thichương trình người dùng, nhưng nó cũng quan tâm đến các công việc khác nhau bênngoài nhân Do đó, một hệ thống chứa tập hợp các quá trình: quá trình hệ điều hànhthực thi mã hệ thống, quá trình người dùng thực thi mã người dùng Tất cả quá trìnhnày có tiềm năng thực thi đồng hành, với một CPU hay nhiều CPU được đa hợp giữachúng Bằng cách chuyển đổi CPU giữa các quá trình, hệ điều hành có thể làm chomáy tính hoạt động với năng suất cao hơn.

2.3.2 Phân loại tiến trình

Các tiến trình trong hệ thống có thể chia thành hai loại:

-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 mằn

ở 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ếntrình trước đó chưa kết thúc Tiến trình song song được chia thành nhiều loại:

+ Tiến trình song song độc lập: Các tiến trình hoạt động song song nhưng

không có quan hệ thông tin với nhau, trong trường hợp này hệ điều hành phải thiết lập

cơ chế bảo vệ dữ liệu của các tiến trình, và cấp phát tài nguyên cho các tiến trình mộtcách hợp lý

Hình 3: Mô phỏng tiến trình song song độc lập

- Tiến trình song song có quan hệ thông tin: Trong quá trình hoạt động các tiến

trình trao đổi thông tin với nhau.Hai tiến trình A và B được gọi là có quan hệ thông tinvới nhau nếu tiến trình này có gửi thông báo cho tiến trình kia Tiến trình gửi thôngbáo có thể không cần biết tiến trình nhận có tồn tại hay không? ở đâu? và đang ở giaiđoạn nào?

Trang 8

Hình 4: Mô phỏng tiến trình song song có quan hệ thông tin

- Tiến trình song song phân cấp: Trong qua trình hoạt động một tiến trình có thể

khởi tạo các tiến trình khác hoạt động song song với nó, tiến trình khởi tạo được gọi làtiến trình cha, tiến trình được tạo gọi là tiến trình con Trong mô hình này hệ điều hànhphải giải quyết vấn đề cấp phát tài nguyên cho các tiến trình con Tiến trình con nhậntài nguyên ở đâu? từ tiến trình cha hay từ hệ thống

Hình 5: Mô phỏng tiến trình song song phân cấp

- Tiến trình song song đồng mức: Là các 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, mỗi tiến trình sau một khoảng thời gianchiếm giữ tài nguyên phải tự động trả lại tài nguyên cho tiến trình kia

Hình 6: Sự thực hiện đồng thời của các tiến trình trong hệ thống đơn xử lý

Trang 9

Hình 7: Sự thực hiện đồng thời của các tiến trình trong hệ thống đa xử lý

Mỗi quá trình có thể ở một trong những trạng thái sau:

Mới (new): quá trình đang được tạo ra

Đang chạy (running): các chỉ thị đang được thực thi

Chờ (waiting): quá trình đang chờ sự kiện xảy ra (như hoàn thành việc

nhập/xuất hay nhận tín hiệu)

Sẵn sàng (ready): quá trình đang chờ được gán tới một bộ xử lý.

Kết thúc (terminated): quá trình hoàn thành việc thực thi.

Các tên trạng thái này là bất kỳ, và chúng khác nhau ở các hệ điều hành khácnhau Tuy nhiên, các trạng thái mà chúng hiện diện được tìm thấy trên tất cả hệ thống.Các hệ điều hành xác định mô tả trạng thái quá trình Chỉ một quá trình có thể đangchạy tức thì trên bất kỳ bộ xử lý nào mặc dù nhiều quá trình có thể ở trạng thái sẳnsàng và chờ

Hình 8: Lưu đồ các trạng thái của một quá trình

Trang 10

2.3.4 Chế độ xử lý của tiến trình

Để đảm bảo hệ thống hoạt động đúng đắn, hệ điều hành cần bảo vệ khỏi sự xâmphạm của các tiến trình Bản thâm các tiến trình cần được bảo vệ tránh khỏi sự ảnhhưởng qua lại giữa các tiến trình Một cách để phân biệt đó là sử dụng 2 chế độ xử lý

cho các tiến trình: chế độ xử lý đọc quyền và chế độ xử lý không đọc quyền nhờ vào sự

Hình 9 : Một cây tiến trình trong UNIX

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:

- Định danh cho tiến trinh mới phát sinh

- Đưa tiến trình vào dánh sách quản lý của 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 nguyên ban đầu cho tiến trình

 Khi một tiến trình tạo lập một tiến trình con,tiến trình con có thể sẽ được hệđiều hành trực tiếp cấp phát tài nguyên hoặc được tiến trình cha cho thừa hưởng một

số tài nguyên ban đầu

 Khi một tiến trình tạo tiến trình mới ,tiến trình ban đầu có thể xử lý theo một trong hai khả năng sau:

- Tiến trình cho tiếp tục xử lý đồng hành với tiến trình con

- Tiến trình cha chờ đến khi một tiến trình con nào đó hoặc tất cả các tiến trình con có kết thúc xử lý

Trang 11

Các hệ điều hành khác nhau có thể lựa chọn các cài đặt khác nhau để thực hiện một thao tác lập trình một cây tiến trình.

2.3.5.2 Kết thúc tiến trình

Một tiến trình kết thúc xử lý khi nó hoàn tất chỉ thị cuối cùng và sử dụng mộtlời gọi hệ thống để yêu cầu hệ điều hành hủy bỏ nó Đôi khi một tiến trình có thể yêu

cầu hệ điều hành kết thúc xử lý của một tiến trình khác Khi một tiến trình kết thúc, hệ

điều hành thực hiện các công việc:

 Thu hồi các tài nguyên của hệ thống đả cấp phát cho tiến trình

 Hủy tiến trình khỏi tất cả các danh sách quản lý của hệ thống

 Hủy bỏ PCB của tiên trình

Hầu hết các hệ điều hành không cho phép các tiến trình con tiếp tục tồn tại nếu tiến trình cha đả kết thúc.Trong những hệ thống như thế,hệ điều hành sẽ tự động phát sinh một loạt các thao tác kết thúc tiến trình con

2.4 Định thời biểu CPU

2.4.2 Mục đích:

Sự công bằng (Fairness): 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 chờ đợi vô hạn để được cấp phát CPU

Tính hiệu quả (Efficiency): Hệ thống phải tận dụng được 100% thời gianCPU

Thời gian đáp ứng hợp lý (Response time): Cực tiểu hoá thời gian hồi đáp cho

các tương tác của người dùng

Thời gian lưu lại trong hệ thống (Turnaround Time) : Cực tiểu hóa thời gian

hoàn tất các công việc xử lý theo lô

Thông lượng tối đa (Throughput): Cực đại hóa số lượng 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ânchúng có sự mâu thuẩn nhau mà chỉ có thể dung hòa chúng ở mức độ nào đó

2.4.3 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 các yếu tố khác nhau để có thể đạt được mụctiêu đề ra Một số đặc tính cần được quan tâm như tiêu chuẩn điều phối:

Trang 12

Tính hướng nhập xuất của tiến trình: khi một tiến trình nhận được CPU,chủ

yếu nó chỉ sử dụng CPU cho đến khi phát sinh một yêu cầu nhập xuất Hoạt động củacá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ộtthời gian khá ngắn

Tính hướng xử lý của tiến trình: khi một tiên trình nhận dược 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 tiếntrì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ộtthờ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 tiesntrình của tác vụ được xử lý theo lô nói chungcos thể trì hoãn trong một thời gian chấpnhậ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 đá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 hơn) cầnđược ưu tiên 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 thời giannhất đẻ hoàn tất và rời khỏi hệ thống Tuy nhiên củng có quan điểm cho rắng các tiếntrì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ờ

đợi 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ìnhcần bao nhiêu thời gian nữa để kết thúc xử lý

2.4.5 Cơ chế điều phối độc quyền và không độc quyền (preemptive /nopreemptive)

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

Nguyên lý: cơ chế này cho phép một tiến trì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ự giải phóng CPU Khi đó quyết địnhđiều phối sẽ xảy ra các 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 quát nhiều người dùng Vì nếu cho tiến trình thời gian chiếm giữ CPU tùy ý thì sẽ ngăn cản quá trình xử lý của các tiến trình còn lại

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ềncho phép tạm dừng hoạt động của tiến trình đang sẵn sang xử lý Khi một tiến trìnhnhận CPU nó vấn được sử dụng CPU cho đến khi hoàn tất hoặc tự nguyện giải phóngCPU, nhưng một tiến trình khác có độ ưu tiên cao hơn có thể dành quyền sử dụngCPU của tiến trình ban đầu Như vậy tiến trình có thể dừng hoạt động bắt cứ lúc nào

Trang 13

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 rakhi:

 Tiến trình chuyển từ trạng thái running  blocked

2.4.6.1 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 hiện điều phối các tiến trình là

danh sách sẵn sàng (ready list) và danh sách chờ đợi (waiting list).

Khi một tiến trình bắt đầu đi vào hệ thống, nó được chèn vào danh sách tácvụ(job list) Danh sách này bao gồm tất cả các tiền trình của hệ thống Nhưng chỉ cáctiến trình đang thường trú trong bộ nhớ chính và ở trạng thái sẵn sàng tiếp nhận CPU

để hoạt động mới được đưa vào danh sách sẵn sàng.

Bộ điều phối sẽ chọn một tiến trình trong danh sách sẵn sàng và cấp CPU chotiến trình đó Tiến trình được cấp CPU sẽ thực hiện xử lý, và có thể chuyển sang trạngthái chờ khi xảy ra các sự kiện như đợi một thao tác nhập/xuất hoàn tất, yêu cầu tàinguyên chưa được thỏa mãn, yêu cầu tạm dừng… Khi đó tiến trình sẽ được chuyểnsang một danh sách chờ đợi

Hệ điều hành chỉ sử dụng một danh sách sẵn sàng cho toàn hệ thống, nhưngmỗi một tài nguyên (thiết bị ngoại vi) có một danh sách chờ đợi riêng bao gốm cáctiến trình chờ được cấp phát tài nguyên đó

Trang 14

Quá trình xử lý của một tiến trình trải qua những chu kì chuyển đổi qua lại giữanhững danh sách sẵn sàng và danh sách chờ đợi Sơ đồ dưới đây mô tả sự điều phốicác tiến trình dựa trên các danh sách của hệ thống.

Thoạt đầu tiến trình mới được đặt trong danh sách các tiến trình sẵn sàng (readylist), nó sẽ đợi trong danh sách này cho đến khi được chọn để cập phát CPU và bắt xử

lý Sau đó có thể xảy ra một trong các tình huống sau:

 Tiến trình phát sinh một yêu cầu một tài nguyên mà hệ thống chưa thể đápứng, khi đó tiến trình sẽ được chuyển sang danh sách các tiến trình đang chờ tàinguyên tương ứng

 Tiến trình có thể bị bắt buộc tạm dừng xử lý do một lý do ngắt xảy ra, khi đótiến trình được đưa trở lại vào danh sách sẵn sàng để chờ được cấp CPU cho lượt tiếptheo

Hình

đồ

chuyển đổi giữa các danh sách định thời biểu

Trong trường hợp đầu tiên, tiến trình cuối cùng sẽ chuyển từ trạng thái blockedsang trạng thái ready và lại được đưa trở vào danh sách sẵn sàng Tiến trình lặp lại chu

kỳ này cho đến khi hoàn tất công việc thì đƣợc hệ thống hủy bỏ khỏi mọi danh sáchđịnh thời biểu

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

Thực ra công việc điều phối được hệ điều hành thực hiện ở hai mức độ: Điều

phối tác vụ 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ụ nào được đưa vào hệ thống, và nạp những tiến trìnhcủa tác vụ đó vào bộ nhớ chính để thực hiện Chức năng điều phối tác vụ quyết địnhmức độ đa chương của hệ thống (số lượng tiến trình trong bộ nhớ chính) Khi hệ thốngtạo lập tiến trinh,hay có một tiến trình kết thúc xử lý chức năng và điều phối tác vụ cótần suất hoạt động thấp

Trang 15

Để hệ thống hoạt động tốt, bộ điều phối tác vụ cần biết tính chất của tiến trình

là hướng nhập xuất hay hướng xử lý Một tiến trình được gọi là hướng nhập xuất nếu

nó chủ yếu chỉ sử dụng CPU để thực hiện thao tác nhập xuất Ngược lại một tiến trìnhđược gọi là hướng xử lý nếu nó chủ yếu chỉ sử dụng CPU để thực hiện các thao táctính toán Để cân bằng hoạt động của CPU và các thiết bị ngoại vi,bộ điều phối tác vụnên lựa chọn các tiến trình để nạp vào bộ nhớ sao cho hệ thống là sự pha trộn hợp lýgiữa các tiến trình hướng nhập xuất và các tiến trình hướng xử lý

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

Chọn một tiến trình ở trạng thái sẵn sàng (đã nạp vào bộ nhớ chính, và có đủ tàinguyên để hoạt động) và cấp phát CPU cho tiến trình đó thực hiện Bộ điều phối tiếntrình có tần suất hoạt động cao, sau mỗi lần xảy ra ngắt (do đồng hồ bào giờ, do cácthiết bị ngoại vi…) thường là 1 lần trong khoảng 100ms Do vậy để nâng cao hiệu suấtcủa hệ thống, cần phải tăng tốc độ xử lý của bộ hệ điều phối tiến trình Chức năng điềuphối tiến trình là một trong chức năng cơ bản, quan trọng nhất của hệ điều hành

Trong nhiều hệ điều hành, có thể không có bộ điều phối tác vụ hoặc tách biệtrất ít đối với bộ điều phối tiến trình Một vài hệ điều hành lại đưa ra một cấp độ điềuphối trung gian kết hợp cả hai cấp độ điều phối tác vụ và tiến trình

Hình 3: Cấp độ định thời biểu trung gian

2.4.7 Các chiến lược định thời biểu

Các chiến lược định thời biểu giải quyết vấn đề quyết định tiến trình nào tronghàng đợi sẵn sàng được cấp phát CPU

2.4.7.1 Chiến lược FCFS ( first-come, first-served-FCFS)

Giải thuật đơn giản nhất là đến trước, được phục vụ trước Với cơ chế này, quátrình yêu cầu CPU trước được cấp phát CPU trước Việc cài đặt chính sách FCFSđược quản lý dễ dàng với hàng đợi FIFO Khi một quá trình đi vào hàng đợi sẵn sàng,PCB của nó được liên kết tới đuôi của hàng đợi Khi CPU rảnh, nó được cấp phát tớimột quá trình tại đầu hàng đợi Sau đó, quá trình đang chạy được lấy ra khỏi hàng đợi

Mã của giải thuật FCFS đơn giản để viết và hiểu Tuy nhiên, thời gian chờ đợi trungbình dưới chính sách FCFS thường là dài

Ngày đăng: 20/06/2016, 14:31

HÌNH ẢNH LIÊN QUAN

Hình 2 :  Tiến trình (Process) - Mô phỏng giải thuật định thời biểu CPU
Hình 2 Tiến trình (Process) (Trang 6)
Hình 3: Mô phỏng tiến trình song song độc lập - Mô phỏng giải thuật định thời biểu CPU
Hình 3 Mô phỏng tiến trình song song độc lập (Trang 7)
Hình 4: Mô phỏng tiến trình song song có quan hệ thông tin - Mô phỏng giải thuật định thời biểu CPU
Hình 4 Mô phỏng tiến trình song song có quan hệ thông tin (Trang 8)
Hình 5: Mô phỏng tiến trình song song phân cấp - Mô phỏng giải thuật định thời biểu CPU
Hình 5 Mô phỏng tiến trình song song phân cấp (Trang 8)
Hình 8: Lưu đồ các trạng thái của một quá trình - Mô phỏng giải thuật định thời biểu CPU
Hình 8 Lưu đồ các trạng thái của một quá trình (Trang 9)
Hình  9 : Một cây tiến trình trong UNIX 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ô phỏng giải thuật định thời biểu CPU
nh 9 : Một cây tiến trình trong UNIX 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: (Trang 10)
Hình  1 :Các danh sách điều phối. - Mô phỏng giải thuật định thời biểu CPU
nh 1 :Các danh sách điều phối (Trang 13)
Bảng 7. Ví dụ về định thời biểu SJF - Mô phỏng giải thuật định thời biểu CPU
Bảng 7. Ví dụ về định thời biểu SJF (Trang 19)
Bảng thông tin xử lý các tiên trình. Thg đợi t.bình. - Mô phỏng giải thuật định thời biểu CPU
Bảng th ông tin xử lý các tiên trình. Thg đợi t.bình (Trang 21)
Hình 14: Người dùng nhập dữ liệu các tiến trtình - Mô phỏng giải thuật định thời biểu CPU
Hình 14 Người dùng nhập dữ liệu các tiến trtình (Trang 22)
Hình 13: Giao diện khi chạy chương trình - Mô phỏng giải thuật định thời biểu CPU
Hình 13 Giao diện khi chạy chương trình (Trang 22)
Hình 15: Giản đồ Gantt cho chiến lược - Mô phỏng giải thuật định thời biểu CPU
Hình 15 Giản đồ Gantt cho chiến lược (Trang 23)
Hình 16: Thông tin xử lý được trả về - Mô phỏng giải thuật định thời biểu CPU
Hình 16 Thông tin xử lý được trả về (Trang 23)
Hình 17: Kết quả chiến lược FCFS 3.1.1 Kết quả chiến lược độ ưu tiên độc quyền - Mô phỏng giải thuật định thời biểu CPU
Hình 17 Kết quả chiến lược FCFS 3.1.1 Kết quả chiến lược độ ưu tiên độc quyền (Trang 24)
Hình 18: Kết quả chiến lược SJF độc quyền - Mô phỏng giải thuật định thời biểu CPU
Hình 18 Kết quả chiến lược SJF độc quyền (Trang 25)

TỪ KHÓA LIÊN QUAN

w