Update

Câu 1: Ý nghĩa của System Call. Hãy giải thích bình thường các phần mềm ứng dụng “khai thác” phần cứng của máy như thế nào?

·         

+  HĐH cung cấp 1 giao tiếp sử dụng  được gọi là "System Call", mỗi system call là 1 hàm thực hiện 1 chức năng xác định.

+ Thông thường ở dạng thư viện nhị phân (binary libraries) Mỗi lời gọi hệ thống tương ứng với một thủ tục trong thư viện của hệ điều hành, do đó chương trình của người sử dụng có thể gọi thủ tục để thực hiện một lời gọi hệ thống. Lời gọi hệ thống còn được thiết dưới dạng các câu lệnh trong các ngôn ngữ lập trình cấp thấp. Lệnh gọi ngắt trong hợp ngữ (Int), và thủ tục gọi hàm API trong windows được xem là một lời gọi hệ thống.

Lời gọi hệ thống có thể được chia thành các loại: quản lý tiến trình, thao tác trên tập tin, thao tác trên thiết bị vào/ ra, thông tin liên tiến trình, ...

Cuộc gọi hệ thống cung cấp giao diện giữa một chương trình đang chạy và hệ thốngđiều hành.

Nói chung có sẵn như là ngôn ngữ hướng dẫn lắp ráp.

Ngôn ngữ định nghĩa để thay thế ngôn ngữ lắp ráp cho các hệ thống lập trình cho phéphệ thống các cuộc gọi được thực hiện trực tiếp (ví dụ, C. Bliss, PL/360)

Ba phương pháp thông thường được sử dụng để vượt qua các thông số giữa mộtchương trình đang chạy và hệ thống điều hành.

Pass thông số trong sổ đăng ký.

Lưu trữ các thông số trong một bảng trong bộ nhớ, và các bảng địa chỉ được thông quanhư một tham số trong sổ đăng ký.

Đẩy (cửa hàng) các thông số vào stack bằng chương trình, và bật ra khỏi ngăn xếp bởi hệ điều hành.

Mỗi hệ điều hành có của nó thiết lập của riêng các cuộc gọi hệ thống là hệ điều hành củaAPI

Câu 3: Nêu định nghĩa “Hệ điều hành”. Hệ điều hành thực hiện những chức năng chính

gì?

TL:

- Hệ điều hành là tập hợp các chương trình phần mềm chạy trên máy tính, dùng để điều hành, quản lý các thiết bị phần cứng, các tài nguyên, phần mềm trên máy tính. Hệ điều hành đóng vai trò trung gian trong việc giao tiếp giữa người sử dụng và phần cứng, phần mềm máy tính, 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.

- Chức năng của HĐH

+ Tổ chức giao tiếp giữa người sd và hệ thống

+ Cung cấp tài nguyên(bộ nhớ, các thiết bị ngoại vi…) cho các chương trình và tổ chức thực hiện các chương trình đó.

+ Tổ chức lưu trữ thông tin trên bộ nhớ ngoài, cung cấp các công cụ tìm kiếm và truy cập thông tin.

+ Hỗ trợ phần mềm cho các thiết bị ngoại vi.

+ cung cấp các dịch vụ tiện ích.

Câu 4: Multi-tasking là gì? Giải thích sự khác nhau giữa các hình thức Multi-tasking

(cooperative and pre-emtive multi-tasking).

TL: Multi-tasking (Đa tác vụ): Mỗi người sd có thể chạy nhiều chương trình tại cùng một thời điểm. Mỗi tác vụ là một tiến trình.Theo cách này người sd không cần phải đợi chờ một tiến trình kết thúc để khởi động một tiến trình khác.

Câu 5: Sự giống nhau và khác nhau giữa Chương trình, Tiến trình và Luồng (Program, Process and Thread).

TL:

- Giống nhau:

Đều có thông tin trạng thái

- Luồng còn được gọi là tiến trình nhẹ

- Nhiều luồng hoặc nhiều tiến trình có thể liên quan đến một chu trình

- Chia sẻ tài nguyên cho nhau, tăng tốc tính toán, đảm bảo tính đơn thể

-cả 3 đều là dơn vị xử lý cơ bản trong hệ thống, nó cũng xử lý tuần tự đoạn code của nó, nó cũng sở hữu một con trỏ lệnh, một tập thanh ghi và một vùng nhớ stạk riêng và cũng chia sẻ thời gian xử lý của tiến trình.

- Khác nhau:

+ Tiến trình: là 1 chương trình đang xử lý, sở hữ 1 tập các con trỏ lệnh, tập các thanh ghi, các biến và một tập các tài nguyên cần cho hoạt động của tiến trình.

+ Chương trình: là một thực thể thụ động chứa các chỉ thị diều khiển máy tính để tiến hành một hoạt động nào đó, khi thực hiện tác vụ này thì chương trình chuyển thành tiến trình.

+ Luồng: là tiến trình nhẹ, một đơn vị cơ bản sd cpu, cũng có thông tin về trạng thái giống với tiến trình và là một đơn vị nhỏ hơn của tiến trìh

Có thể có nhiều luồn cùng chia sẻ 1 tiến trình, hoạt động của luồng cũng giống hoạt động của tiến trình nhưng các luồng cùng chia sẽ các tài nguyên với các luồng khác, cùg chung 1 mã chương trình, còn tiến trình thì hoàn toàn độc lập.

Câu 7: hãy giải thích cơ chế CPU chuyển từ viêc thực hiện Process này sang Process khác. Làm sao có thể đảm bảo được việc thực hiện đúng các lệnh của prcess tương ứng?

Cơ chế:

_Tiến trình P1: vào hàng đợi Job-Queue ở trạng thái New, sẽ đợi 1 khoảng thời gian của quá trình điều phối chậm (Scheduler Long Term) của hệ điều hành(HĐH) để chọn tiến trình, sau khi được O.S chọn, P1 chuyển sang hàng đợi reday quueue và ở trạng thái Ready. Lúc này P1 chỉ đợi cấp CPU và running.

Sau một khỏang thời gian running, tiến trình P2 xuất hiện. Lúc này, hệ điều hành sẽ ghi lại thông tin của P1 vào thanh PCB1 bao gồm những thông tin: con trỏ, trạng thái của P1, số hiệu của tiến trình P1, Bộ đếm P1, nội dung của P1…Và chuyển P1 sang hàng đợi Waiting và chuyển trạng thái Ready. Lúc này, P2 sẽ được cấp CPU và running. Và sau một khỏang thời gian running, P2 cũng sẽ chuyển sang hàng đợi waiting và chuyển trạng thái ready, lúc này HĐH cũng ghi lại thông tin vào thanh ghi PCB2 như đã làm ở P1. Sau đó, HĐH sẽ load lại thông tin của PCB1 và P1 sẽ tiếp tục running. Quá trình này cũng sẽ lập lại cho P2. Đển khi P1 và P2 kết thúc.

Câu 8: Mục đích và nguyên tắc của việc lập lịch cho CPU (Process Scheduling)

Mục đích:  

+  Làm cho thời gian thực hiện của các tiến trình khác nhau tức là trong một khoảng thời gian sẽ có nhiều tiến trình thực hiện.

+ Khai thác CPU một cách hiệu quả tức là lúc nào CPU cũng ở trong trạng thái bận.

+ Tối thiểu hóa thời gian một tiến trình chờ trong hàng đợi.

+ Tối thiểu hóa thời gian từ khi gửi một yêu cầu tới hệ thống cho tới khi nhận được câu trả  lời từ hệ thống .

+ Đảm bảo tất cả các tiến trình đều được thực hiện.

Nguyên tắc: tổ chức dòng xếp hàng cho các tiến trình,sau đó xác lập một chính sách phục vụ cho các dòng xếp hàng đó.

Câu 9: Ý nghĩa căn bản của Lập lịch, Sự khác nhau giữa Lập lịch dài kì và lập lịch ngắn hạn?

- Ý nghĩa: tổ chức một hàng đợi tiến trình sẵn sàng để phân phối giờ CPU cho chúng dựa trên độ ưu tiên các tiến trình sao cho hiệu quả sử dụng là tối ưu nhất.

- Lập lịch dài kỳ: áp dụng với những tiến trình đã được lập danh sách và Spool

- Lập lịch dài kỳ: áp dụng với những tiến trình mà mã nguồn của nó được đẩy vào bộ nhớ trong (tiến trình đã sẵn sàng nhận giờ phân bổ của CPU)

Câu 10: Giới thiệu sơ lược 5 cách lựa chọn tiến trình từ “ready to run” để thực hiện.

Đánh giá thuật toán FCFS

- Ngay khi khởi tạo các tiến trình:

-> Đưa tiến trình vào hệ thống và cấp phát đầy đủ tài nguyên cho tiến trình.

-> Hệ điều hành đưa tiến trình vào trạng thái Ready.

Hay nói cách khác trạng thái ready là trạng thái của một tiến trình trong hệ thống đàn chờ cấp phát tiến trình để bắt đầu thực hiện.

- Đánh giá thuật toán FCFS: Thuật toán này là 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.

+ Ưu điểm: là giờ CPU không bị phân phối lại (không bị ngắt) và chi phí tổ chức thực hiện thấp nhất (vì không thay đổi thứ tự ưu tiên phục vụ, thứ tự ưu tiên là thứ tự của tiến trình tròng hàng đợi).

+ Nhược điểm: Thời gian trung bình chờ phục vụ  của các tiến trình là như nhau (không kể ngắn hay dài), do đó dẫn tới: thời gian chờ trung bình sẽ tăng vô hạn kho hệ thống tiếp cận tới hạn khả năng phục vụ của mình, Nếu đọ phát tán thời gian thực hiện tiến trình tăng thì thời gian chờ đợi trùng bình cũng tăng theo, Khi có tiến trình dài, ít bị ngắt thì tiến trình khác phải chờ đợi lâu hơn.

Câu 11: Giới thiệu sơ lược 5 cách lựa chọn tiến trình từ “ready to run” để thực hiện.

Đánh giá thuật toán SJF

- Ngay khi khởi tạo các tiến trình:

-> Đưa tiến trình vào hệ thống và cấp phát đầy đủ tài nguyên cho tiến trình.

-> Hệ điều hành đưa tiến trình vào trạng thái Ready.

Hay nói cách khác trạng thái ready là trạng thái của một tiến trình trong hệ thống đàn chờ cấp phát tiến trình để bắt đầu thực hiện.

- Đánh giá thuật toán SJF: thứ tự ưu tiên thực hiện tiến trình dựa vào tổng thời gia thực hiện tiến trình. Tiến trình nào có tổng thời gan thực hiện ngắn nhất sẽ được ưu tiên phục vụ trước

+ ưu điểm: thời gian chờ trung bình của các tiến trình ngắn hơn so với FCFS, SJF nhanh chóng loại bỏ các tiến trình ngắn, giảm số lượng các tiến trình trong hàng đợi.

+ Nhược điểm: Chế độ phân phối lại giờ CPU cũng được áp dụng trong trường hợp ngắt các tiến trình dài đang thực hiện đê phục vụ các tiến trình ngăn hơn mới xuất hiện trong hàng đợi.

Câu 12: Giới thiệu sơ lược 5 cách lựa chọn tiến trình từ “ready to run” để thực hiện.

Đánh giá thuật toán SRF

- Ngay khi khởi tạo các tiến trình:

-> Đưa tiến trình vào hệ thống và cấp phát đầy đủ tài nguyên cho tiến trình.

-> Hệ điều hành đưa tiến trình vào trạng thái Ready.

Hay nói cách khác trạng thái ready là trạng thái của một tiến trình trong hệ thống đàn chờ cấp phát tiến trình để bắt đầu thực hiện.

- Đánh giá thuật toán SRF:

Câu 13: Giới thiệu sơ lược 5 cách lựa chọn tiến trình từ “ready to run” để thực hiện.

Đánh giá thuật toán RR

- Ngay khi khởi tạo các tiến trình:

-> Đưa tiến trình vào hệ thống và cấp phát đầy đủ tài nguyên cho tiến trình.

-> Hệ điều hành đưa tiến trình vào trạng thái Ready.

Hay nói cách khác trạng thái ready là trạng thái của một tiến trình trong hệ thống đàn chờ cấp phát tiến trình để bắt đầu thực hiện.

- Đánh giá thuật toán RR: thuật toán này hệ thống quy định một lượng thời gian (time quantum) khoảng từ 10-100 ms.

- ưư điểm của phương pháp phục vụ đồng mức theo lớp sẽ cho phứp hệ thống ưu tiên những tiến trình ngắn (vì nó kết thúc sớm) nhưng không gây tổn hại lớn cho các tiến trình dài.

- Nhược điểm: do phải thường xuyên phân phối lại giơg CPU nên thời gian chờ trung bình của round robin có thể lớn hơ FCFS.

Câu 15: Giải thích ngắn gọn trạng thái của các tiến trình, các mô hình tiến trình hệ thống

(process models) chung.

-         Tại một thời điểm xác định chỉ có duy nhất một tiến trình ở trạng thái Runnig

·        Mới tạo : tiến trình đang được tạo lập.

·        Trạng thái Ready (sẵn sàng): Ngay sau khi khởi tạo tiến trình, đưa tiến trình vào hệ thống và cấp phát đầy đủ tài nguyên (trừ processor) cho tiến trình, hệ điều hành đưa tiến trình vào trạng thái ready. Hay nói cách khác, trạng thái ready là trạng thái của một tiến trình trong hệ thống đang chờ được cấp processor để bắt đầu thực hiện.

·        Trạng thái Running(thực hiện): Là trạng thái mà tiến trình đang được sở hữu processor để hoạt động, hay nói cách khác là các chỉ thị của tiến trình đang được thực hiện/ xử lý bởi processor.

·        Trạng thái Blocked(khoá): Là trạng thái mà tiến trình đang chờ để được cấp phát thêm tài nguyên, để một sự kiện nào đó xảy ra, hay một quá trình vào/ra kết thúc.

·        Kết thúc : tiến trình hoàn tất xử lý.

Câu 16: Giải thích vai trò của PCB (process control block)

Khối kiểm soát tiến trình(PCB) là một cấu trúc dữ liệu được hệ điều hành duy trì cho mỗi tiến trình dùng để chứa các thông tin cần thiết về vấn đề đó. PCB chứa "bản sao công việc của các tiến trình". Nó lưu lại trạng thái của tiến trình tại thời điểm đang xét. Trạng thái này bao gồm(các địa chỉ liên kết của tiến trình và dữ liệu, số hiệu tiến trình, bộ đếm lệnh, nội dung các thanh ghi, giới hạn bộ nhớ của tiến trình....).

- Nó có tác dụng lưu lại trạng thái của tiến trình tại thời điểm đang xét (thường xảy ra khi luân chuyển CPU) - Trạng thái của tiến trình này bao gồm : Các địa chỉ liên kết của tiến trình và dữ liệu, số hiệu tiến trình, bộ đếm lệnh, nội dung các thanh ghi, giới hạn bộ nhớ của tiến trình, danh sách các file đang mở, các thông tin về thời gian thống kê về tiến trình hiện

Câu 17: Giới thiệu và giải thích ngắn gọn các thành phần (components) của Hệ điều hành

. Các thành phần của HĐH

a.Hệ thống  quản lý tiến trình

- Tạo lập, hủy bỏ một tiến trình

- Tạm dừng, tái kích hoạt một tiến trình

- Cung cấp các cơ chế trao đổi thông tin giữa các tiến trình

- Cung cấp cơ chế đồng bộ hóa các tiến trình

b. Hệ thống quản lý bộ nhớ

- Cấp phát và thu hồi vùng nhớ cho các tiến trình khi cần thiết

- Ghi nhận tình trạng bộ nhớ chình: vùng đã cấp phát, vùng còn có thể sử dụng…

- Quyết định tiến trình nào được nạp vào bộ nhớ chính khi có một vùng nhớ trống.

c. Hệ thống quản lý nhập xuất

- Gửi các lệnh điều khiển đến các thiết bị

- Tiếp nhận các ngắt

- Xử lý lỗi

d. Hệ thống quản lý tập tin

- Tạo lập, hủy bỏ một tập tin hoặc một thư mục

- Cung cấp các thao tác xử lý tập tin và thư mục

- Tạo lập quan hệ tương ứng giữa tập tin và bộ nhở phụ chứa nó

e. Hệ thống bảo vệ

Xây dựng cơ chế bảo vệ thích hợp (Trong trường hợp nhiều người cùng sử dụng đồng thời các tiến trình)

f. Hệ thống dịch lệnh (Shell)

- Đóng vai trò giao diện giữa người sử dụng và HĐH

- Các lệnh được chuyển đến HĐH dười dạng chỉ thị điều khiển

- Shell nhận lệnh và thông dịch lệnh để HĐH có xử lý tương ứng

g. Quản lý mạng

- Một hệ thống phân bố nhiều bộ xử lý với các bộ nhớ độc lập

- Các tiến trình trong hệ thống có thể kết nối với nhau qua mạng truyền thông.

- Việc truy xuất đến tài nguyên mạng thông qua các trình điều khiển giao tiếp mạng.

Câu 18: Nêu vắn tắt các kĩ thuật cấp phát bộ nhớ (nạp chương trình vào bộ nhớ)

1. Kỹ thuật phân vùng cố định (Fixed Partitioning)

- Bộ nhớ được chia thành n phần, kích thước các phần không nhất thiết phải bằng nhau, mỗi phần sử dụng một bộ nhớ độc lập. Mỗi phần có thể nạp một chương trình và tổ chức thực hiện đồng thời. Vì mỗi phần được coi là một bộ nhớ độc lập, nên các chương trình sẽ có một danh sách quản lý không gian nhớ tự do riêng. Chương trình được nạp vào phần nào thì sẽ ở đó cho đến khi kết thúc.

- Ưu điểm: Đơn giản, dễ tổ chức, giảm thời gian tìm kiếm

- Nhược điểm: Lãng phí bộ nhớ và xảy ra hiện tượng phân mảnh nội vi

2. Kỹ thuật phân vùng động (Dynamic Partitioning)

- Bộ nhớ có một bảng quản lý không gian nhớ tự do thống nhất. Khi thực hiện chương trình, hệ thống dựa vào kích thước chương trình để phân bổ không gian nhớ thích hợp tạo thành một vùng nhớ độc lập và tạo bảng quản lý riêng. Khi các chương trình kết thúc, bộ nhớ dành cho chương trình sẽ bị thu hồi.

               - Ưu điểm: Tận dụng được không gian nhớ tự do.

               - Nhược điểm: Không gây ra hiện tượng phân mảnh nội vi nhưng lại xuất hiện phân mảnh ngoại vi.

3. Kỹ thuật phân trang

- Phân bộ nhớ vật lý thành các khối (Block) có kích thước cố định và bằng nhau, gọi là khung trang. Không gian địa chỉ cũng được chia thành các khối có cùng kích thước với khung trang và được gọi là trang. Khi cần nạp một tiến trình dể xử lý các trang của tiến trình sẽ được nạp vào những khung trang còn trống. Một tiến trình có kích thước N trang sẽ yêu cầu N khung trang tự do

- Cơ chế MMU (Memory Management Unit) là cơ chế phần cứng hỗ trợ thực hiện chuyển đổi địa chỉ  trong cơ chế phân trang gọi là bảng trang. Mỗi phần tử trong bảng trang cho biết địa chỉ bắt đầu của vị trí lưu trữ trang tương ứng trong bộ nhớ vât lý

- Mỗi địa chỉ phát sinh bởi CPU được chia làm 2 phần:

               + Số hiệu trang (p)

               + Địa chỉ tương ứng trong trang (d)

               + Địa chỉ vật lý của trang = d + địa chỉ bắt đầu của trang

Câu 19. Trong kỹ thuật cấp phát bộ nhớ phân vùng động, khi nạp tiến trình mới vào bộ nhớ cần lựa chọn một vùng còn “ rỗng” nào đó. Nêu các phương pháp/thuật toán lựa chọn

Khi có một tiến trình cần được nạp vào bộ nhớ mà trong bộ nhớ có nhiều hơn một khối nhớ trống (Free Block) có kích thước lớn hơn kích thước của tiến trình đó, thì hệ điều hành phải quyết định chọn một khối nhớ trống phù hợp nào để nạp tiến trình sao cho việc lựa chọn này dẫn đến việc sử dụng bộ nhớ chính là hiệu quả nhất. Có 3 thuật toán mà hệ điều hành sử dụng trong trường hợp này, đó là: Best-fit, First-fit, và worst-fit. Cả 3 thuật toán này đều phải chọn một khối nhớ trống có kích thước bằng hoặc lớn hơn kích thước của tiến trình cần nạp vào, nhưng nó có các điểm khác nhau cơ bản sau đây:

1        Best-fit: chọn khối nhớ có kích thước vừa đúng bằng kích thước của tiến trình cần được nạp vào bộ nhớ.

2        First-fit: trong trường hợp này hệ điều hành sẽ bắt đầu quét qua các khối nhớ trống bắt đầu từ khối nhớ trống đầu tiên trong bộ nhớ, và sẽ chọn khối nhớ trống đầu tiên có kích thước đủ lớn để nạp tiến trình.

3        Worst-fit: tương tự như First-fit nhưng ở đây hệ điều hành bắt đầu quét từ khối nhớ trống kế sau khối nhớ vừa được cấp phát và chọn khối nhớ trống kế tiếp đủ lớn để nạp tiến trình. 

Câu 20: Phân tích hai khái niệm Page và Paging (trang và phân trang).

-Page:  Một trong các cơ cấu đơn giản để thực thi không gian địa chỉ ảo thì bao gồm việc phân đoạn bộ nhớ thành những đơn vị có độ lớn bằng nhau: những đơn vị tách chia này gọi là những trang (pages). Các độ lớn trang tiện dụng thì khoảng 1kB, 4kB hay 8kB. Địa chỉ và trạng thái của mỗi trang được dẫn tới trong một bảng trang (pape table), bảng này tồn tại cho mỗi chương trình ở trong bộ nhớ chính.

  -Paging: Không gian địa chỉ logic của một tiến trình có thể không kề nhau tiến trình được phân phối bộ nhớ vật lý bất kỳ lúc nào khi bộ nhớ sẵn có.

Câu 21  Giải thích cơ chế phân đoạn (segmentation) trong quản lý bộ nhớ của hệ điều hành.

Dùng cơ chế phân đoạn để quản lý bộ nhớ có hỗ trợ user view

Không gian địa chỉ ảo là một tập các đoạn, mỗi đoạn có tên và kích thước riêng.

–Một địa chỉ luận lý được định vị bằng tên đoạn và độ dời (offset) bên trong đoạn đó (so sánh với phân trang!)

Hiện thực phân đoạn

qĐịa chỉ luận lý là một cặp giá trị (segment number, offset)

qBảng phân đoạn (segment table): gồm nhiều mục, mỗi mục chứa

–base, chứa địa chỉ khởi đầu của segment trong bộ nhớ

–limit, xác định kích thước của segment

qSegment-table base register (STBR): trỏ đến vị trí bảng phân đoạn trong bộ nhớ

qSegment-table length register (STLR): số lượng segment của chương trình

Þ Một chỉ số segment s là hợp lệ nếu s < STLR

Câu 22: Mô tả ngắn gọn “Bộ nhớ ảo” – Virtual memory. Bộ nhớ ảo có lợi và thiệt hại gì

đối với việc tối ưu hoá sử dụng CPU.

Kỹthuậtmáyảo

- Định nghĩa: Bộ nhở ảo là một kỹ thuật cho phép xử lý một tiên trình không được nạp toàn bộ vào bộ nhớ vật lý. Bộ nhớ ảo mô hình hóa bộ nhớ như một bảng luu trữ rất lớn và đồng nhất, tách biệt hẩn khái niệm không gian địa chỉ và không gian vật lý. Người sử dụng chỉ nhìn thấy và làm việc trong khong gian đia chỉ ảo, việc chuyển đổi sang không gian vật lý do HĐH thực hiện với sự trợ giúp các cơ chế phần cứng cụ thê

- Máy ảo là sự phát triển lô-gic của kiến trúc phân lớp.

- Bằng cách Điều phối CPU và kỹ thuật Bộ nhớ ảo, có thể tạo cho người dùng ảo giác rằng người đó đang dùng bộ xử lý và bộ nhớ của riêng mình.

- Nói cách khác: Máy tính ảo của người dùng được giả lập trên nền máy tính vật lý.

- Ví dụ: Trên nền CPU loại PowerPC, Motorola, Alpha,... có thể giả lập máy tính ảo Intel chạy HĐH Windows và ngược lại. Khi đó, các lệnh của Intel được chuyển đổi sang lệnh vật lý trước khi thực hiện.

- HĐH máy ảo thương mại đầu tiên: VM/370 của IBM.

Ưuđiểm:

- Tính bảo mật cao do các máy ảo độc lập với nhau. Các tài nguyên của máy vật lý được bảo vệ hoàn toàn vì các máy ảo có Thiết bị ảo (Một ổ đĩa ảo, thậm chí toàn bộ máy ảo thực tế chỉ là một tập tin của máy vật lý). Có thể lấy từ Internet về một chương trình lạ và thử vận hành trên máy ảo mà không sợ bị ảnh hưởng (ví dụ do virus) vì nếu có sao cũng chỉ hỏng máy ảo.

- Dễ phát triển hệ thống (System Development) mà không sợ làm ảnh hưởng đến công việc toàn hệ máy đang vận hành. HĐH là chương trình phức tạp, cần liên tục thử nghiệm, tinh chỉnh, hoàn thiện và nâng cấp. Có thể tiến hành Phát triển hệ thống trên một máy ảo thay vì làm trên máy thực. 

Nhượcđiểm:

- Vấn đề lưu trữ vật lý. Thông thường, mỗi máy ảo chỉ dùng một tập tin để lưu tất cả những gì diễn ra trong máy ảo. Do đó nếu bị mất tập tin này xem như mất tất cả.

- Nếu máy tính có cấu hình phần cứng thấp nhưng cài quá nhiều chương trình máy ảo, máy sẽ chậm và ảnh hưởng đến các chương trình khác.

- Do tập trung vào một máy tính, nếu máy bị hư thì toàn bộ các máy tính ảo đã thiết lập trên nó cũng bị ảnh hưởng theo.

- Ở góc dộ bảo mật, nếu hacker nắm quyền điều khiển máy tính chứa các máy ảo thì hacker có thể kiểm soát được tất cả các máy ảo trong nó.

Câu 23: Trong kỹ thuật bộ nhớ ảo thường sử dụng Phân trang theo yêu cầu (demand paging). Hãy giới thiệu cơ chế này.

Một hệ thống phân trang theo yêu cầu là hệ thống sử dụng kỹ thuật phân trang kết hợp với kỹ thuật swapping. Một tiến trình được xem như một tập các trang, thường trú trên bộ nhớ phụ ( thường là đĩa). Khi cần xử lý, tiến trình sẽ được nạp vào bộ nhớ chính. Nhưng thay vì nạp toàn bộ chương trình, chỉ những trang cần thiết trong thời điểm hiện tại mới được nạp vào bộ nhớ. Như vậy một trang chỉ được nạp vào bộ nhớ chính khi có yêu cầu.

Với mô hình này, cần cung cấp một cơ chế phần cứng giúp phân biệt các trang đang ở trong bộ nhớ chính và các trang trên đĩa. Có thể sử dụng lại bit valid-invalid nhưng với ngữ nghĩa mới:

valid : trang tương ứng là hợp lệ và đang ở trong bộ nhớ chính .

invalid : hoặc trang bất hợp lệ (không thuộc về không gian địa chỉ của tiến trình) hoặc trang hợp lệ nhưng đang được lưu trên bộ nhớ phụ.

Một phần tử trong bảng trang mộ tả cho một trang không nằm trong bộ nhớ chính, sẽ được đánh dấu invalid và chứa địa chỉ của trang trên bộ nhớ phụ

Câu 24: Trong kỹ thuật sử dụng Bộ nhớ ảo Hệ điều hành cần có bộ phận quản lý việc hoán chuyển các trang/đoạn giữa bộ nhớ thực và bộ nhớ ảo và có thể xảy ra “Lỗi trang” (page fault). Hệ điều hành giải quyết vấn đề đó như thế nào và mục tiêu cần đạt được?

Khi nhận được tín hiệu lỗi trang, hệ điều hành phải tạm dừng tiến trình hiện tại để tiến hành việc xử lý lỗi trang. Khi xử lý lỗi trang hệ điều hành có thể gặp một trong hai tình huống sau:

1        Hệ thống còn frame trống : Hệ điều hành sẽ thực hiện các bước sau:

1.  Tìm vị trí của page cần truy xuất trên đĩa.

2.  Nạp page vừa tìm thấy vào bộ nhớ chính.

3.  Cập nhật lại bảng trang (PCT) tiến trình.

4.  Tái kích hoạt tiến trình để tiến trình tiếp tục hoạt động.

2        Hệ thống không còn frame trống :

1.      Tìm vị trí của page cần truy xuất trên đĩa.

2.      Tìm một page không hoạt động hoặc không thực sự cần thiết tại thời điểm hiện tại để swap out nó ra đĩa, lấy frame trống đó để nạp page mà hệ thống vừa cần truy xuất. Page bị swap out sẽ được hệ điều hành swap in trở lại bộ nhớ tại một thời điểm thích hợp sau này.

3.      Cập nhật PCT của tiến trình có page vừa bị swap out.

4.      Nạp trang vừa tìm thấy ở trên (bước 1) vào frame trống ở trên (bước 2).

5.      Cập nhật lại bảng trang (PCT) của tiến trình.

6.      Tái kích hoạt tiến trình để tiến trình tiếp tục hoạt động.

Ø  Khi xử  lý lỗi  trang, trong trường hợp hệ thống không còn frame trống hệ điều hành phải chú ý đến các vấn đề sau:

3        Nên chọn page nào trong số các page trên bộ nhớ chính để swap out: 

4        “Neo” một số page

5        Phải tránh được trường hợp hệ thống xảy ra hiện tượng “trì trệ hệ thống”

6        Đánh dấu các trang bị thay đổi

Câu 25: Đánh giá các thuật toán thay trang (Page Replacement) trong kỹ thuật sử dụng Bộ nhớ ảo.

- Trong trường hợp này hệ điều hành đã đưa vào  sử dụng các thuật toán thay trang cụ thể như: Optinal, LRU, FIFO.

            Các thuật toán thay trang khác nhau có các tiêu chí để chọn trang swap out khác nhau, nhưng tất cả đều hướng tới mục tiêu là: đơn giản và ít xảy ra lỗi trang nhất. Nó không quan tâm đến việc page được chọn để swap out là trang của tiến trình gây ra lỗi trang hay trang của một tiến trình nào đó trong hệ thống. Các thuật toán thay trang không xem xét đến các trang bị đánh dấu “neo”.

Câu 26: Nêu ngắn gọn các thuật toán Thay thế trang trong kỹ thuật bộ nhớ ảo, Trình bàyvà giải thích bằng ví dụ thuật toán FIFO

- Thuật toán FIFO là thuật toán đơn giản và dễ cài đặt nhất. Với thuật toán này thì trang mà hệ điều hành chọn để swap out là trang được đưa vào bộ nhớ sớm nhất, hay ở trong bộ nhớ lâu nhất

VD:

2

3

2

1

5

2

4

5

3

2

5

2

Frame 1

2

2

2

2

5

5

5

5

3

3

3

3

Frame 2

3

3

3

3

2

2

2

2

2

5

5

Frame 3

1

1

1

4

4

4

4

4

2

F

F

F

F

F

F

Theo bảng trên thì trong trường hợp này đã xảy ra 6 lỗi trang, khi hệ điều hành cần nạp trang 5 vào bộ nhớ thì nó phải đưa trang 2 ra ngoài để lấy frame1 nạp trang 5, khi hệ điều hành cần nạp lại trang 2 vào bộ nhớ thì nó phải đưa trang 3 ra ngoài để lấy frame2 nạp trang 2, khi hệ điều hành cần nạp trang 4 vào bộ nhớ thì nó phải đưa trang 1 ra ngoài để lấy frame3 nạp trang 4, …

Câu 28: Nêu ngắn gọn các thuật toán Thay thế trang trong kỹ thuật bộ nhớ ảo, Trình bàyvà giải thích bằng ví dụ thuật toán Tối ưu LRU.

- Theo thuật toán này thì trang được hệ điều hành chọn để thay thế là trang có khoảng thời gian từ lúc nó được truy xuất gần đây nhất đến thời điểm hiện tại là dài nhất, so với các trang đang ở trên bộ nhớ chính. Như vậy trong trường hợp này hệ điều hành phải ghi nhận thời điểm cuối cùng trang được truy xuất. Bảng sau đây minh hoạ cho việc chọn trang để swap out và thay thế của thuật toán LRU:

2

3

2

1

5

2

4

5

3

2

5

2

Frame 1

2

2

2

2

2

2

2

2

3

3

3

3

Frame 2

3

3

3

5

5

5

5

5

5

5

5

Frame 3

1

1

1

4

4

4

2

2

2

F

F

F

F

            Theo bảng trên thì trong trường hợp này xảy ra 4 lỗi trang, khi hệ điều hành cần nạp trang 5 vào bộ nhớ thì nó phải đưa trang 3 ra ngoài để lấy frame2 nạp trang 5, vì hệ điều hành thấy rằng trang 3, chứ không phải là trang 2, là trang vừa được truy xuất cách đây lâu nhất.

Câu 27: Nêu ngắn gọn các thuật toán Thay thế trang trong kỹ thuật bộ nhớ ảo, Trình bàyvà giải thích bằng ví dụ thuật toán Tối ưu OPT.

- Theo thuật toán này thì trang được hệ điều hành chọn để thay thế là trang sẽ lâu được sử dụng nhất trong tương lai. Bảng sau đây minh hoạ cho việc chọn trang để swap out và thay thế của thuật toán Optinal:

2

3

2

1

5

2

4

5

3

2

5

2

Frame 1

2

2

2

2

2

2

4

4

4

2

2

2

Frame 2

3

3

3

3

3

3

3

3

3

3

3

Frame 3

1

1

5

5

5

5

5

5

5

5

F

F

F

            Theo bảng trên thì trong trường hợp này chỉ xảy ra 3 lỗi trang, khi hệ điều hành cần nạp trang 5 vào bộ nhớ thì nó phải đưa trang 1 ra ngoài để lấy frame3 nạp trang 5, vì hệ điều hành cho rằng trang 1 là trang sẽ lâu được s ử dụng trong t ương lai.

Câu 29: Phân biệt hai hiện tượng phân mảnh nội (internal fragmentation) và phân mảnh ngoài (external fragmentation), chúng xuất hiện khi nào và tại sao?

- Phân biệt:

Phân mảnh ngoại (external fragmentation)

–Kích thước không gian nhớ còn trống đủ để thỏa mãn một yêu cầu cấp phát, tuy nhiên không gian nhớ này không liên tục Þ có thể dùng cơ chế kết khối (compaction) để gom lại thành vùng nhớ liên tục.

+ Phân mảnh nội (internal fragmentation)

–Kích thước vùng nhớ được cấp phát có thể hơi lớn hơn vùng nhớ yêu cầu.

§Ví dụ: cấp một khoảng trống 18,464 bytes cho một process yêu cầu 18,462 bytes.

–Hiện tượng phân mảnh nội thường xảy ra khi bộ nhớ thực được chia thành các khối kích thước cố định (fixed-sized block) và các process được cấp phát theo đơn vị khối. Ví dụ: cơ chế phân trang (paging).

 Câu 30: Giải thích khái niệm “hoán chuyển” (swapping); Ý nghĩa, ứng dựng của việc áp dụng kĩ thuật này.

+ Một process có thể tạm thời bị swap ra khỏi bộ nhớ chính và lưu trên một hệ thống lưu trữ phụ. Sau đó, process có thể được nạp lại vào bộ nhớ để tiếp tục quá trình thực thi.

Swapping policy: hai ví dụ

Round-robin: swap out P1 (vừa tiêu thụ hết quantum của nó), swap in P2 , thực thi P3 ,…

Roll out, roll in: dùng trong cơ chế định thời theo độ ưu tiên (priority-based scheduling)

§Process có độ ưu tiên thấp hơn sẽ bị swap out nhường chỗ cho process có độ ưu tiên cao hơn mới đến được nạp vào bộ nhớ để thực thi

 Câu 31 Hãy giải thích vì sao DMA thường được “ưu ái” sử dụng như là phương thức thực thi trao đổi với ngoại vi? DMA có lợi điểm gì không đối với input thông qua bàn phím? Giải thích tại sao hoặc tại sao không?

TL:

- Vì Đa số các loại thiết bị, đặc biệt là các thiết bị dạng khối, hỗ trợ cơ chế DMA (direct memory access). Để hiểu về cơ chế này, trước hết phải xem xét quá trình đọc đĩa mà không có DMA.DMA sẽ sử dụng thêm 1 thiết bị phụ trợ điều khiển việc truy nhập dữ liệu DMAC (Direct Memory Access Controller). Sử dụng DMA trong những TH trao đổi thông tin . Cơ chế DMA giúp cho CPU không bị lãng phí thời gian. Khi sử dụng, CPU gửi cho bộ điều khiển một số các thông số như địa chỉ trên đĩa của khối, địa chỉ trong bộ nhớ nơi định vị khối, số lượng byte dữ liệu để chuyển. Sau khi bộ điều khiển đã đọc toàn bộ dữ liệu từ thiết bị vào buffer của nó và kiểm tra checksum. Bộ điều khiển chuyển byte đầu tiên vào bộ nhớ chính tại địa chỉ được mô tả bởi địa chỉ bộ nhớ DMA. Sau đó nó tăng địa chỉ DMA và giảm số bytes phải chuyển. Quá trình này lập cho tới khi số bytes phải chuyển bằng 0, và bộ điều khiển tạo một ngắt. Như vậy không cần phải copy khối vào trong bộ nhớ, nó đã hiện hữu trong bộ nhớ

-   DMA  có lợi điểm với input thông qua bàn phím .Vì DMA không sử dụng thiết bị ngoại vi trong  TH truy xuât chậm.

Câu 33: Khi học môn “Tin học đại cương” chúng ta đã được biết đến một cách chia cácthiết bị ngoại vi thành 2 hoặc 3 loại (nhóm) là “VÀO’, “RA” và/hoặc vừa “VÀOvừaRA”; Dưới góc nhìn người thiết kế Hệ điều hành chúng ta có thể chia thiết bị ngoại vi thành 2 loại. Đó là gì và cách chia này dựa trên căn cứ nào? Hãy nêu ví dụ một số ngọaivi thuộc từng loại trên.

Tl

   - Hệ điêu hành chia thiết bị ngoại vi làm 2 loại: Thiết bị tuần tự và thiết bị khối .

+ Thiết  bị khối(- Thiết bị tương tác trong hệ thống máy tính): là các thiết bị giao tiếp với nhau. Ví dụ : đĩa, băng từ, card giao tiếp...

+ Thiết bị tuần tự(Thiết bị tương tác được với con người : dùng để giao tiếp giữa người và máy. Ví dụ : màn hình, bàn phím, chuột, máy in ...)

Câu 34: Giải thích sự khác biệt giữa “polled I/O” và “interrupt-driven I/O”. Nêu những ưu điểm của “interrup-driven I/O” so với “polled I/O”.

Tl:

-         “Polled I/O”:Cpu định thăm dò các cổng gắn thiết bị xem có trao đổi dữ liệu hay không.

-         “interrupt-driven I/O”: Mỗi thiết bị có một đường tín hiệu đặc biệt báo cho Cpu khi cần trao đổi dữ liệu.

Câu 35: Hãy giải thích thuật toán Lập lịch cho đầu từ FCFS là gì, cho ví dụ để mô tả để tính được seek time.

Để truy nhập tới 1 file, hệ thống sẽ tổ chức một hàng đợi các yêu cầu phục vụ của các track(lưu trữ dữ liệu của file cần truy nhập)

Nội dung:track nào có yêu cầu phục vụ trước thì đầu đọc ghi sẽ dịch chuyển tới đó trước

Ví dụ:File F1 được phân bổ lần lượt các track số thứ tự :98,183,37,122,14,124,65,67

giả sử đầu đọc đang ở track 53

Sơ đồ dịch chuyển theo FCFS(640 bước dịch chuyển)

Ưu,nhược điểm

1-Ưu điểm:

+)Dễ lập trình

+)Các track cần truy xuất là liên tục

2-Nhược điểm

+)Số track mà đầu đọc phải di chuyển là nhiều

+)Hiệu quả của thuật toán phụ thuộc vào thứ tự của các track trong hàng đợi

Câu 36: Hãy giải thích thuật toán Lập lịch cho đầu từ SSTF là gì, cho ví dụ để mô tả để tính được seek time.

Nội dung: track nào có thời gian di chuyển đầu từ đọc ghi ngắn nhất thì phục vụ trước

Ví dụ:File F1 được phân bổ lần lượt các track số thứ tự :98,183,37,122,14,124,65,67

giả sử đầu đọc đang ở track 53

Sơ đồ dịch chuyển theo SSTF(Tổng quãng đường dịch chuyển là 360)

Ưu, nhược điểm SSTF

1-Ưu điểm

Số track mà đầu đọc phải đi chuyển giảm

2-nhược điểm

Có thể gây ra 1 số yêu cầu không bao giờ được phục vụ

Câu 37: Hãy giải thích thuật toán Lập lịch cho đầu từ SCAN là gì, cho ví dụ để mô tả để tính được seek time.

Nội dung:Đầu đọc của đĩa di chuyển từ một phía (ví dụ bên ngoài hoặc bên trong đĩa) sang phía kia để phục vụ các yêu cầu đọc, sau đó di chuyển ngược lại... quá trình này lặp đi lặp lại

Ví dụ:File F1 được phân bổ lần lượt các track số thứ tự :98,183,37,122,14,124,65,67

giả sử đầu đọc đang ở track 53

Tổng quãng đường dịch chuyển là 252

Đặc điểm

Phương thức h/đ như thang máy

Số bước đầu đọc phải di chuyển giảm

Câu 38: Hãy giải thích thuật toán Lập lịch cho đầu từ C-SCAN là gì, cho ví dụ để mô tả để tính được seek time.

Nội dung: Đầu đọc chuyển từ một phía (trong/ngoài)sang phía kia và phục vụ các yêu cầu. Khi sang đến phía kia, đầu đọc quay trở lại nhưng trong khi quay trở lại không phục vụ yêu cầu nào.(quét 1 chiều)

Ví dụ:File F1 được phân bổ lần lượt các track số thứ tự :98,183,37,122,14,124,65,67

giả sử đầu đọc đang ở track 53

Số bước dịch chuyển của đầu từ 252

Câu 39: Hãy giải thích thuật toán Lập lịch cho đầu từ LOOK là gì, cho ví dụ để mô tả để tính được seek time.

Nội dung:tương tự như Scan nhưng trong thuật toán này đầu đọc ghi chỉ quét trong phạm vi các track có nhu cầu phục vụ không quét tới track đầu tiên hoặc cuối cùng

Ví dụ:File F1 được phân bổ lần lượt các track số thứ tự :98,183,37,122,14,124,65,67

giả sử đầu đọc đang ở track 53

Số bước dịch chuyển của đầu từ 208

Câu 39: Hãy giải thích thuật toán Lập lịch cho đầu từ C-LOOK là gì, cho ví dụ để mô tả để tính được seek time.

6.C-Look

Nội dung:Tương tự như Look nhưng đầu đọc ghi không phục vụ đường về

Ví dụ:File F1 được phân bổ lần lượt các track số thứ tự :98,183,37,122,14,124,65,67

giả sử đầu đọc đang ở track 53

Lựa chọn một giải thuật lập lịch đĩa

FCFS là thuật toán phù hợp khi các track cần truy xuất là liên tục

SSTF phổ biến và có hiệu quả tốt.

SCAN và LOOK thích hợp cho những hệ thống phải truy xuất dữ liệu lớn

Câu 43: Nguyên tắc/ phương thức chung để nâng cao hiệu năng của hệ thống.

Câu 48: Tại sao ta có thể nói “Hệ điều hành thực hiện Vào/Ra”. Hãy giải thích cơ chế Chương trình ứng dụng thực hiện I/O như thế nào?

Vì đó là một trong các chức năng chính của hệ điều hành. Hệ điều hành là quản lý tất cả những thiết bị nhập/xuất của máy tính. Hệ điều hành phải ra các chỉ thị điều khiển thiết bị, kiểm soát các ngắt và lỗi. Hệ điều hành phải cung cấp một cách giao tiếp đơn giản và tiện dụng giữa các thiết bị và phần còn lại của hệ thống và giao tiếp này phải độc lập với thiết bị.

Cơ chế Chương trình ứng dụng thực hiện I/O: Trong một chương trình ứng dụng, người dùng muốn đọc một khối từ một tập tin, hệ điều hành được kích hoạt để thực hiện yêu cầu này. Phần mềm độc lập thiết bị tìm kiếm trong cache, nếu khối cần đọc không có sẵn, nó sẽ gọi chương trình điều khiển thiết bị gửi yêu cầu đến phần cứng. Tiến trình bị ngưng lại cho đến khi thao tác đĩa hoàn tất. Khi thao tác này hoàn tất, phần cứng phát sinh một ngắt. Bộ phận kiểm soát ngắt kiểm tra biến cố này, ghi nhận trạng thái của thiết bị và đánh thức tiến trình bị ngưng để chấm dứt yêu cầu I/O và cho tiến trình của người sử dụng tiếp tục thực hiện.

Câu 49: Phân biệt Device, Driver và Device Controller

Divice controler : Điều khiển công việc phần cơ của thiết bị , thuộc về phần cứng . Làm việc đồng thời song song và độc lập với CPU

- Phải nói về Device Controller như một mạch điện tử (phần cứng)

Divice driver : hổ trợ tương tác người dùng với thiết bị , thuộc về phần mềm .

+ Driver là các đoạn mã lệnh mà qua đó máy tính "hiểu" được mà điều khiển thiết bị đó nhằm phục vụ cho mục đích của mình.

Mỗi thiết bị có một Driver riêng biệt, thông qua driver người dùng có thể thao tác và cấu hình các thiết bị đó theo từng mục đích cá nhân riêng.

trình điều khiển thiết bị là phần mềm máy tính được viết riêng cho một thiết bị phần cứng cụ thể và một hệ điều hành cụ thể cho phép một chuơng trình, thường là hệ điều hành hoặc ứng dụng phần mềm, tương tác trong suốt với thiết bị đó. Trình điều khiển thiết bị cung cấp việc xử lý các ngắt cần thiết mà các giao tiếp phần cứng phụ thuộc thời gian bất đối xứng đòi hỏi.

Driver

Driver là chương trình điều khiển device. Khi hệ điều hành muốn tương tác với device nó phải thông qua driver. Các driver phổ biến thường được cài đặt sẵn trong nhân Linux, hoặc có thể được cài đặt như một module tách rời của nhân.

+Device

Phân loại device: block, character, virtual

Các device được phân chia thành 2 loại tùy thuộc vào cách thức đọc/ghi dữ liệu trên nó:

·    Block device như: HDD, CDROM, floppy disk, USB stick … tức là các thiết bị dung để lưu trữ dữ liệu lâu dài (thường được gọi là storage device). Dữ liệu trên các device này mỗi lần được đọc ghi theo từng block (khối) byte chẳng hạn 512 byte đối với FDD/HDD, chứ không phải theo từng bit một. Các khối dữ liệu trên các device này được đánh địa chỉ và có thể truy cập đến một địa chỉ bất kì.

·    Character device như: mouse, modem, printer, … Dữ liệu trên các device này được đọc/ghi theo từng bit một (chứ không phải từng khối byte). Các device này, chả hạn như mouse làm nhiệm vụ chuyển thao tác di chuột thành dữ liệu về vị trí của con trỏ trên màn hình, luôn có dư liệu thay đổi liên tục theo thời gian và không được lưu trữ để sau này dùng lại.

Ngoài ra Linux (cũng như các hệ điều hành khác) còn tạo thêm các “pseudo device” (device giả)

Câu 10+11+12+13..

c1) Độ ưu tiên:

- Mỗi process có độ ưu tiên.

- Process àcó độ ưu tiên cao nhất được cho thực thi: Không kể process mới   preemptive.ànonpreemptive. Kể cả process mới

- Process có độ ưu tiên thấp có thể chờ mãi mãi (starvation): Tăng độ ưu tiên của process chờ theo thời gian.

c2) First-In-First-Out (FIFO hay FCFS):

- Đến trước - Phục vụ trước (First-Come, First-Served Scheduling - FCFS)

- Đơn giản, dễ thực hiện.

- Các tiến trình trong Ready Queue được cấp CPU từ đầu dãy đến cuối dãy theo quy tắc FIFO (First-In, First-Out).

- Thời gian chờ trung bình khá lớn.

c3) Round Robin (RR):

- Dạng preemptive.

- Mỗi process được thực thi trong một đơn vị thời gian q (quantum)

- Nếu process chưa kết thúc trong thời gian q thì bị dừng, đưa về cuối hàng đợi ready.

- Process đang ở đầu của hàng đợi được chọn để thực thi (theo FIFO).

- Nếu q đủ lớn: trở thành FIFO.

- Nếu q nhỏ: chi phí chuyển trạng thái là đáng kể.

c4) Shortest Job First (SJF):

Ngắn hơn-Chạy trước (Shortest-Job-First Scheduling-SJFS)

- Đúng hơn phải được gọi là Shortest-Next-CPU-Burst, nghĩa là tiến trình có Khoảng CPU kế tiếp nhỏ hơn thì được chạy trước. Trong trường hợp bằng nhau, dùng thuật giải FCFS.

- Là giải thuật khá tối ưu, nhưng phải biết cách ước đoán khoảng CPU kế tiếp.

- SJFS không tiếm quyền (Non-Preemptive SJFS): Tiến trình hiện thời được thực hiện đến hết khoảng CPU của nó.

- SJFS có tiếm quyền (Preemptive SJFS): Tiến trình mới có Next CPU Burst nhỏ hơn khoảng thời gian CPU còn lại của tiến trình đang vận hành sẽ được chọn thay thế (Shortest Remaining First).

c5) Shortest Remaining Time (SRT):

- Dạng preemptive.

- Process có thời gian thực thi đến kết thúc (remaining time) nhỏ nhất được cho thực thi, kể cả process mới.

- Cần nhiều chi phí chuyển trạng thái, Process có thời gian thực thi lớn phải chờ lâu.

Bạn đang đọc truyện trên: AzTruyen.Top

Tags: #tin