Đề cương ôn tập môn Hệ điều hành giữa kì I - Chương 1 | Trường Đại học sư phạm kỹ thuật TP Hồ Chí Minh

1.1. Khái niệm Hệ Điều Hành? - Hệ điều hành là một hệ thống chương trình 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 và các tài nguyên phần mềm trên máy tính. Tài liệu giúp bạn tham khảo, ôn tập và đạt kết quả cao. Mời bạn đọc đón xem!

Thông tin:
19 trang 4 tháng trước

Bình luận

Vui lòng đăng nhập hoặc đăng ký để gửi bình luận.

Đề cương ôn tập môn Hệ điều hành giữa kì I - Chương 1 | Trường Đại học sư phạm kỹ thuật TP Hồ Chí Minh

1.1. Khái niệm Hệ Điều Hành? - Hệ điều hành là một hệ thống chương trình 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 và các tài nguyên phần mềm trên máy tính. Tài liệu giúp bạn tham khảo, ôn tập và đạt kết quả cao. Mời bạn đọc đón xem!

67 34 lượt tải Tải xuống
Đề thi giữa kỳ 60 phút bao gồm:
1. Câu hỏi trắc nghiệm có 45 câu (6 điểm) (chiếm 60%)
2. Phần bài tập tự luận: Chọn 1 trong 2 câu đề của giải
thuật để làm (4 điểm) (chiếm 40%)
Đề cương
Nội dung ôn tập chương I
Câu 1:
1.1. Khái niệm Hệ Điều Hành?
- Hệ điều hành là một hệ thống chương trình 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 và các tài nguyên phần mềm trên máy tính.
- Hệ điều hành đứng trung gian giữa người sử dụng và
phần cứng máy tính. Nó tạo ra một môi trường để người
sử dụng có thể dùng máy tính tiện lợi, dễ dàng, hiệu
quả hơn.
- Hệ điều hành là một chương trình đặc biệt: tự động
được thực hiện khi khởi động máy tính và khi thoát thì
tự động tắt máy, hầu hết các chương trình khác khi
hoạt động đều nhờ đến sự hỗ trợ của hệ điều hành.
1.2. Phân loại Hệ Điều hành? (Dưới góc độ loại
máy tính, dưới góc độ chương trình sử dụng, dưới
góc độ người dùng, dưới góc độ hình thức xử lý)
Dưới góc độ loại máy tính
BC Hệ điều hành dành cho máy Mainframe
BC Hệ điều hành dành cho máy Server
BC Hệ điều hành dành cho máy nhiều CPU
BC Hệ điều hành dành cho máy tính cá nhân (PC)
BC Hệ điều hành dành cho máy PDA (Embedded OS - hệ
điều hành nhúng)
BC Hệ điều hành dành cho máy chuyên biệt
BC Hệ điều hành dành cho thẻ thông minh (Smart Card)
Dưới góc độ số chương trình được sử dụng cùng lúc
BC Hệ điều hành đơn nhiệm
BC Hệ điều hành đa nhiệm
Dưới góc độ người dùng (truy xuất tài nguyên cùng
lúc)
BC Một người dùng
BC Nhiều người dùng
Mạng ngang hàng
Mạng có máy chủ: LAN, WAN, …
1.2Dưới góc độ hình thức xử lý
BC Hệ thống xử lý theo lô (Batch systems)
Hệ thống đơn chương (uniprogramming OS)
Hệ thống đa chương (multiprogramming OS)
BC Hệ thống chia sẻ thời gian (time-sharing system)
BC Hệ thống song song (parallel system)
BC Hệ thống phân tán (distributed system)
BC Hệ thống xử lý thời gian thực (real-time system)
BC Hệ thống nhúng (embedded system)
1.3. Máy tính là gì?
Máy tính (Computer):
• Là các loại máy thông minh, biết tính toán và xử lý
(điện thoại di động,
Ipod, máy ATM, lò viba, ổ đĩa CD/DVD,…)
• Một số máy tính lúc hoạt động cần phối hợp với các
máy tính khác, tạo
thành một hệ thống máy tính (hệ thống máy PC)
1.4. Khái niệm Hệ Điều Hành với các chương trình
khác?
Sự khác biệt với các chương trình khác:
-Khả năng tự hoạt động ngay sau khi bật máy .
-Tác động đến máy tính khi chương trình kết thúc (tắt
máy).
-Là cần thiết bắt buộc đối với máy tính.
-Khả năng điều khiển tất cả phần cứng.
-Có thiết kế phức tạp hơn các phần mềm khác.
-Phải cài hệ điều hành trước các phần mềm khác.
-Mức độ sử dụng nhiều hơn hẳn (luôn luôn).
-Hệ điều hành quản lý các phần mềm khác.
-Một máy tính chỉ cài một hoặc vài hệ điều hành.
Câu 2:
2.1. Tiến trình là gì?
Chương trình đang thực thi trên máy
VD: mở 1 file word W
2.2. Tiểu trình là gì?
Một dòng xử lý trong 1 tiến trình
Một tiến trình có 1 hay nhiều tiểu trình
VD: trong tiến trình PW
Luồng nhận thao tác của người dùng
Luồng kiểm tra lỗi
2.3. Hệ thống là gì ?
các phần tử có quan hệ hữu cơ với nhau, táctập hợp
động chi phối lẫn nhau theo các quy luật nhất định để
trở thành một chỉnh thể. Từ đó xuất hiện thuộc tính mới
gọi là của hệ thống mà từng phần tử riêng lẻ tính trồi
không có hoặc có không đáng kể. (?)
2.4. Cấu trúc của hệ thống máy tính phân
chia thành mấy thành mấy thành phần?
Phần cứng (hardware)
Bao gồm các tài nguyên cơ bản của máy tính như CPU,
bộ nhớ, các thiết bị IO,...
Hệ điều hành (operating system)
Phân phối tài nguyên, điều khiển và phối hợp các hoạt
động của các chương trình trong hệ thống.
Chương trình ứng dụng (application programs)
Sử dụng tài nguyên hệ thống để giải quyết một số vấn
đề tính toán nào đó của người sử dụng, ví dụ:
compilers, database systems, video games.....
Dữ liệu
2.5. Các thành phần của một hệ thống nhập
xuất?
Một hệ thống nhập/xuất gồm ba thành phần sau:
+ Hệ thống bộ nhớ đệm (buffer-caching system)
+ Chương trình điều khiển thiết bị (Drivers for specific
hardware devices).
+ Chương trình giao tiếp với chương trình điều khiển
thiết bị (A
general device-driver interface).
2.6. Các chức năng chính của Hệ Điều Hành?
Phân chia thời gian xử lý và định thời CPU.
Phối hợp và đồng bộ các hoạt động giữa các
processes.
Quản lý tài nguyên của hệ thống (thiết bị IO, bộ nhớ,
file chứa dữ liệu...).
Thực hiện và kiểm soát access control, protection.
Duy trì sự nhất quán (integrity) của hệ thống kiểm
soát lỗi và phục hồi hệ thống khi có lỗi (erroe recovery).
Cung cấp giao diện làm việc cho users.
Câu 3:
3.1. Hệ thống xử lý theo lô là gì? (Hệ thống
đơn chương, Hệ thống đa chương)
Hệ thống đơn chương
BCTác vụ được thi hành tuần tự.
BCBộ giám sát thường trực
BCCPU và các thao tác nhập xuất:
Xử lý offline
Đồng bộ hóa các thao tác bên ngoài – Spooling
(Simultaneous Peripheral Operations Online)
Hệ thống đa chương
BC Nhiều công việc được nạp đồng thời vào bộ nhớ chính
BC Khi một tiến trình yêu cầu thực hiện I/O thì thời gian
chờ sẽ lâu, trong thời gian này một tiến trình khác sẽ
được thực thi.
BC Tận dụng được thời gian rảnh, tăng hiệu suất sử dụng
CPU
3.2. Hệ thống chia sẻ thời gian là gì?
Hệ thống đa nhiệm (multitasking)
BC Lập lịch CPU
BC Thời gian chuyển đổi giữa các tác vụ rất ngắn
3.3. Hệ thống song song? (Đa xử lý đối xứng,
đa xử lý bất đối xứng)
Bộ xử lý: Có hai hoặc nhiều bộ xử lý
Các bộ xử lý có vai trò ngang nhau hoặc
Các bộ xử lý có vai trò khác nhau (Master/Slave : một
bộ xử lý chính kiểm soát một số bộ xử lý I/O)
Bộ nhớ: Có nhiều hình thức
Hai hoặc nhiều bộ xử lý cùng chia sẻ một bộ nhớ
hoặc
Chia sẻ một phần hoặc không chia sẻ bộ nhớ
Phân loại hệ thống song song
BC Đa xử lý đối xứng (symmetric multiprocessor)
Mỗi processor vận hành một bản sao hệ điều hành
giống nhau
Các copy dữ liệu cho nhau khi cần (Windows NT, Solaris
5.0, Digital UNIX, OS/2, Linux)
BC Đa xử lý bất đối xứng (asymmetric multiprocessor)
Mỗi processor thực thi một công việc khác nhau Master
processor định thời và phân công việc cho các slave
processors (SunOS 4.0)
3.4. Hệ thống phân tán là gì?
Mỗi processor có bộ nhớ riêng, giao tiếp với nhau qua
các kênh nối như mạng, bus tốc độ cao.
BC Người dùng chỉ thấy một hệ thống đơn nhất.
Một ví dụ khác của hệ thống phân tán mà có thêm
“Shared Data”.
3.5. Hệ thống thời gian thực là gì?
BC Sử dụng trong các thiết bị chuyên dụng như điều
khiển cácthử nghiệm khoa
học, điều khiển trong y khoa, dây chuyền công nghiệp,
thiết bị gia dụng,
quân sự.
BC Ràng buộc về thời gian: :hard và soft real-time
*Hard real-time
Hạn chế (hoặc không có) bộ nhớ phụ, tất cả dữ liệu
nằm trong bộ nhớ
chính (RAM hoặc ROM)
Yêu cầu về thời gian đáp ứng/xử lý rất nghiêm ngặt,
thường sử dụng trong điều khiển công nghiệp, robotics
*Soft real-time
Thường được dùng trong lĩnh vực multimedia, virtual
reality với yêu
cầu mềm dẻo hơn về thời gian đáp ứng
3.6. Hê thống nhúng là gì?
Trong nhiều thiết bị điện tử (như điện thoại di động,
máy tính bảng, xe ô tô …)
BC Đặc trưng của các thiết bị này:
Bộ nhớ nhỏ (512 KB - 128 MB - 4GB)
Tốc độ processor thấp (để ít tốn pin)
Màn hình hiển thị có kích thước nhỏ
Có thể dùng các công nghệ kết nối như IrDA,
Bluetooth, wireless
Có thể có một hoặc nhiều cảm biến khác nhau
Câu 4:
4.1. Chức năng của Hệ Điều Hành?
Quản lý và phân phối tài nguyên 1 cách hợp lý
- Quản lý việc thực hiện các chương trình.
Tài nguyên phần cứng
Bộ xử lý
Bộ nhớ
Các thiết bị xuất nhập
Tài nguyên phần mềm
Các file, chương trình dùng chung....
4.2. Trình bày quản lý tiến trình?
Để hoàn thành công việc, một tiến trình cần:
o CPU
o Bộ nhớ, File
o Thiết bị I/O, …
Các nhiệm vụ chính:
o Tạo và hủy tiến trình
o Tạm dừng/ thực thi tiếp tiến trình
o Cung cấp các cơ chế
o Đồng bộ hoạt động các tiến trình
o Giao tiếp giữa các tiến trình
o Khống chế tắc nghẽn
4.2. Trình bày quản lý bộ nhớ chính?
Bộ nhớ chính là trung tâm của các thao tác, xử lý
Để nâng cao hiệu suất sử dụng CPU, hệ điều hành
cần có cách quản lý bộ nhớ thích hợp, tránh xung
đột
Các nhiệm vụ chính:
o Theo dõi, quản lý các vùng nhớ trống và đã cấp
phát
o Quyết định sẽ nạp chương trình nào khi có vùng
nhớ trống
o Cấp phát và thu hồi các vùng nhớ khi cần thiết
4.3. Trình bày quản lý bộ nhớ phụ?
Để lưu trữ dữ liệu lâu dài, dữ liệu cần lưu trên đĩa dạng
tập tin, ngoài ra đĩa còn lưu giữ các tiến trình khi bộ nhớ
RAM không còn đủ, vùng nhớ này gọi là bộ nhớ ảo.
Các chức năng của dịch vụ quản lý bộ nhớ phụ
+ Quản lý vùng trống trên đĩa (Free space
management)
+ Xác định vị trí cất giữ dữ liệu (Storage allocation).
+ Lập lịch cho đĩa (Disk scheduling)
4.4. Trình bày quản lý file?
Hệ thống file
File
Thư mục
Các dịch vụ chính:
Tạo và xóa file/ thư mục
Các thao tác xử lý file/ thư mục
“Ánh xạ” file/ thư mục vào thiết bị thứ cấp tương
ứng
Sao lưu và phục hồi dữ liệu
4.5. Dịch vụ bảo vệ hệ thống?
Trong hệ thống cho phép nhiều user hay nhiều process
diễn ra
đồng thời phải:
Kiểm soát tiến trình người dùng đăng nhập/xuất
và sử dụng hệ thống
Kiểm soát việc truy cập các tài nguyên trong hệ
thống
Bảo đảm những user/process chỉ được phép sử
dụng các tài nguyên dành
cho mình
Các nhiệm vụ của hệ thống bảo vệ:
o Cung cấp cơ chế kiểm soát đăng nhập/xuất
o Phân định được sự truy cập tài nguyên hợp pháp
bất hợp pháp (authorized/unauthorized)
o Phương tiện thi hành các chính sách (enforcement
of policies) (ví dụ: cần bảo vệ dữ liệu của ai đối với
ai)
4.6. Hệ thống thông dịch dòng lệnh?
Việc giao tiếp giữa người sử dụng và hệ điều hành
thông thường theo 2 cách cơ bản:
Dùng:
o Command
o Interpreters
Hoặc:
command-line interface (Hệ thống thông dịch lệnh)
Graphical User Interfaces (GUI; giao diện người dùng
đồ họa)
4.7. Quản lý mạng?
Cung cấp các chức năng phân quyền, chia xẻ tài
nguyên mạng, liên lạc giữa các
tiến trình trên mạng, …
4.8. Lời gọi hệ thống ?
Lời gọi hệ thống là tập lệnh do hệ điều hành cung cấp
dùng để giao tiếp giữa tiến
trình của người dùng và hệ điều hành, lời gọi hệ thống
còn gọi là ngắt. Các lời gọi
hệ thống có thể được chia thành các loại như là tập
lệnh quản lý tiến trình, tập lệnh
quản lý tập tin, tập lệnh quản lý thiết bị, tập lệnh dùng
để liên lạc giữa các tiến
trình.
Mỗi lời gọi hệ thống có một số hiệu duy nhất dùng để
phân biệt lời gọi này với lời
gọi khác. Các địa chỉ nơi chứa mã lệnh của các ngắt (lời
gọi hệ thống) được lưu
trong một bảng gọi là bảng vectơ ngắt.
4.9. Vị trí Hệ Điều Hành?
Operating System
một chương trình hoạt
động như một giao diện
giữa phần mềm và phần
cứng máy tính.
Nó là một tập hợp các
chương trình chuyên
dụng được tích hợp được sử dụng để quản lý tài nguyên
tổng thể và hoạt động của máy tính.
Nó là một phần mềm chuyên dụng kiểm soát và giám
sát việc thực hiện tất cả các chương trình khác nằm
trong máy tính, bao gồm các chương trình ứng dụng và
phần mềm hệ thống khác.
4.10. Các thành phần của Hệ Điều Hành?
- Bộ cấp phát tài nguyên (Resource allocator): Quản lý
và cấp phát tài nguyên.
- Chương trình kiểm soát (Control program):Kiểm soát
việc thực thi chương trình và kiểm soát hoạt động của
các thiết bị nhập/xuất.
- Phần nhân (Kernel):là chương trình “lõi” của hệ điều
hành, được thực thi trước tiên và tồn tại trong bộ nhớ
cho đến khi tắt máy (các chương trình khác gọi là
chương trình ứng dụng).
4.11.Vì sao nói quản lý tài nguyên là vai trò quan
trọng nhất của Hệ Điều Hành?
Quản lý tài nguyên là vai trò quan trọng nhất của HĐH,
do đó cần có một số thành phần quản lý CPU, quản lý
bộ nhớ, …
CPU : quản lý tiến trình(bao gồm quản lý CPU)
RAM: quản lý bộ nhớ chính
Input/Output : quản lý nhập/xuất (thấy rõ ở DOS)
Hệ thống tập tin :
Quản lý tập tin
Hệ thống bảo vệ
Quản lý mạng
Shell (giao tiếp người dùng)
Cơ chế cấp phát tài nguyên phải kết hợp chặt chẽ với
tiện ích quản lý tiến trình và tài nguyên. Cơ chế này bao
gồm việc biểu diễntài nguyên; thực hiện cấp phái và sử
dụng tài nguyên theo chính sách định trước.
Câu 5: Cấu trúc của Hệ Điều Hành?
5.1. Trình bày cấu trúc đơn giản (monolithic)?
MS-DOS: khi thiết kế, do giới hạn về dung lượng bộ nhớ
nên không phân chia thành các module
(modularization) và chưa phân chia rõ chức năng giữa
các phần của hệ thống.
5.2. Trình bày cấu trúc phức tạp (more
complex)?
UNIX: gồm hai phần có thể tách rời nhau
Nhân: Kernel, cung cấp file system, CPU scheduling,
memory management, và một số chức năng khác
System program
5.3. Trình bày cấu trúc phân tầng?
Lớp dưới cùng: hardware.
Lớp trên cùng là giao tiếp với user.
Lớp trên chỉ phụ thuộc lớp dưới.
Một lớp chỉ có thể gọi các hàm của lớp dưới và các
hàm của nó được gọi bởi lớp trên.
Mỗi lớp tương đương một đối tượng trừu tượng: cấu
trúc dữ liệu + thao tác.
Phân lớp có lợi ích gì?
o Gỡ rối (debugger).
o Kiểm tra hệ thống.
o Thay đổi chức năng.
5.4. Trình bày cấu trúc máy ảo?
Với hệ điều hành máy ảo, một máy được giả lập thành
nhiều máy, tài nguyên của hệ thống như là CPU, bộ
nhớ, đĩa,… được chia xẻ để tạo các máy ảo. Mỗi máy ảo
được cô lập với máy ảo khác nên tài nguyên dùng
chung được bảo vệ nhưng cũng dẫn đến việc không
được chia xẻ tài nguyên trực tiếp
5.5. Trình bày cấu trúc Client – Server
Hệ điều hành được chia thành nhiều phần (gọi là các
tiến trình server), mỗi tiến trình thực hiện một dịch vụ
như là dịch vụ quản lý tập tin, quản lý tiến trình, quản
lý bộ nhớ, … Các tiến trình yêu cầu (gọi là tiến trình
client) sẽ gửi yêu cầu đến một tiến trình server, tiến
trình server thực hiện và gửi kết quả trở lại cho tiến
trình client. Hạt nhân chỉ có nhiệm vụ kiểm soát quá
trình liên lạc giữa các tiến trình client và server.
Ưu điểm của cấu trúc client-server
o Hạt nhân rất nhỏ, chỉ gồm các lệnh cơ bản, nên dễ
bảo vệ, dễ nâng cấp.
o Mỗi dịch vụ của hệ điều hành do một tiến trình
server đảm nhận, các tiến trình này độc lập với
nhau nên khi một tiến trình server bị lỗi, hệ thống
vẫn hoạt động.
o Các tiến trình server được thực hiện ở chế độ người
dùng (user-mode), không phải ở chế độ hạt nhân
(kernel-mode), nên không truy xuất trực tiếp.
Nội dung ôn tập chương II
Câu 6: Phân loại quá trình (CPU-bound, I/O-
bound)?
CPU-bound process có thời gian sử dụng CPU nhiều hơn
thời gian sử dụng I/O
I/O-bound process dùng phần lớn thời gian để đợi I/O
Câu 7: Chiến lược định thời CPU?
Chiến lược định thời CPU là chiến lược giải quyết vấn đề
phân chia, lựa chọn tiến trình thực thi sao cho hiệu quả
nhất
Câu 8: Phân loại các hoạt động định thời?
Định thời dài hạn (long-term scheduling): xác định
process mới (new) nào được tiếp tục vào “sâu hơn
trong hệ thống.
– Thường chỉ có trong batch system
(medium-term scheduling): xác Định thời trung hạn
định process nào được đưa vào (swap in), đưa ra khỏi
(swap out) bộ nhớ chính.
– Swap in/out có thể tốn đến vài giây thời gian chu kỳ
định thời trung hạn có thể là vài phút.
(short-term scheduling): xác định Định thời ngắn hạn
process nào được thực thi tiếp theo.
Câu 9: Tiêu chí định thời?
1.Tiêu chí định thời.
• CPU utilization (% sử dụng CPU, ) Độ lợi CPU
• Throughput (Thông năng)
• Turnaround-time (Thời gian quay vòng)
• Response time (Thời gian đáp ứng)
• Waiting time (Thời gian chờ)
– Thời gian một process ở trong hàng đợi ready
• Average turn-around time (Thời gian quay vòng trung
bình)
2.Tiêu chí định thời.
• CPU utilization (% sử dụng CPU, ) Độ lợi CPU
– CPU utilization CPU: [0% - 100%]
– Lightly loaded system: < 40%, heavy-loaded: > 90%
– Maximize CPU utilization
• Thông năng (throughput)
– Số lượng process hoàn tất trong một đơn vị thời gian
– Maximize throughput
3.1.Tiêu chí định thời.
• Thời gian đáp ứng (response time)
– Thời gian từ lúc có yêu cầu của người dùng (user
request) đến khi có đáp
ứng đầu tiên
– Thường là vấn đề với các I/O-bound process
– Minimize response time
• Waiting time (Thời gian chờ)
– Thời gian một process ở trong hàng đợi ready
– Minimize waiting time
• Thời gian quay vòng (turn-around time)
• Thời gian quay vòng trung bình (average turnaround
time)
3.2.Tiêu chí định thời.
• Thời gian đáp ứng (response time)
• Waiting time (Thời gian chờ)
• Thời gian quay vòng (turn-around time)
– Thời gian để một process hoàn tất, kể từ lúc vào hệ
thống (submission) đến lúc kết thúc (termination)
– Là một trị đặc trưng cần quan tâm với các process
thuộc dạng CPUbound
– Minimize turn-around time
• Thời gian quay vòng trung bình (average turnaround
time)
4.Tiêu chí định thời.
• Độ lợi CPU – giữ CPU càng bận càng tốt
– Tối đa hóa
• Thông năng – số lượng process kết thúc việc thực thi
trong một đơn vị thời gian
• Turnaround time – thời gian kể từ lúc đưa vào
(submission) đến lúc kết thúc
– Tối thiểu hóa
• Thời gian chờ – thời gian một process chờ trong hàng
đợi ready
• Thời gian đáp ứng – thời gian từ khi đưa yêu cầu đến
khi có đáp ứng đầu tiên
Câu 10: Định thời CPU là gì?
Là việc chọn một process từ ready queue để thực thi.
Đối với một multithreaded kernel, việc định thời CPU
là do OS chọn kernel thread được chiếm CPU.
Câu 11: Cơ chế điều phối?
Preemptive (không độc quyền): Công việc đang thực thi
có thể bị ngắt và chuyển vào trạng thái Ready.
Non-preemptive (độc quyền): một khi tiến trình ở trong
trạng thái.
Running, nó sẽ tiếp tục thực thi cho đến khi kết thúc
hoặc bị block vì I/O hay các dịch vụ của hệ thống.
Câu 12: Giải thuật điều phối FCFS (Frist come
first served)
o Lập lịch các công việc theo thứ tự xuất hiện của
chúng.
Off-line FCFS lập lịch theo thứ tự xuất hiện trong dữ
liệu đầu vào của nó
o Thi hành lần lượt mỗi công việc cho đến khi hoàn
thành
Nguyên thủy: hoàn thành kể cả tính I/O
Hiện đại: dừng lại khi bị block (gặp I/O)
o Có cả on-line lẫn off-line
o Đơn giản, dùng làm cơ sở để phân tích các phương
pháp khác
o Thời gian phản hồi kém
Câu 13: Giải thuật điều phối Round Robin (RR)
Mỗi tiến trình sẽ nhận được một khoảng thời gian sử
dụng CPU khá nhỏ (time quantum), thường là 10-100
milli giây
Sau khi khoảng thời gian này kết thúc, tiến trình sẽ bị
cưỡng chế chuyển vào hàng đợi sẵn sàng (không cho
dùng CPU nữa).
Giả sử có n tiến trình trong hàng đợi và time quantum
là q:
◦ Mỗi lần chạy tiến trình sẽ có tối đa q đơn vị thời
gian
◦ Không có tiến trình nào phải đợi quá (n-1)q đơn vị
thời gian
Câu 14: Giải thuật điều phối Shortest Job First
(SJF)
Là thuật toán cải tiến từ FCFS.
Chọn tiến trình có thời gian chạy là ít nhất (không
phụ thuộc thứ tự vào)
Tất cả các công việc và thời gian thi hành phải
được biết trước
P
Độ ưu tiên được gán với mỗi tiến trình và CPU được
cấp phát tới tiến trình có độ ưu tiên cao nhất.
Các tiến trình có độ ưu tiên bằng nhau được điều phối
theo FCFS.
Giải thuật SJF là giải thuật ưu tiên đơn giản ở đó độ ưu
tiên là nghịch đảo với chu kỳ CPU đ c đoán tếếp theo. Chu kỳ CPU ượ
l n h n có đ u tến thấếp h n và ng c l i. ơ ư ơ ượ
| 1/19

Preview text:

Đề thi giữa kỳ 60 phút bao gồm:
1. Câu hỏi trắc nghiệm có 45 câu (6 điểm) (chiếm 60%)
2. Phần bài tập tự luận: Chọn 1 trong 2 câu đề của giải

thuật để làm (4 điểm) (chiếm 40%) Đề cương
Nội dung ôn tập chương I Câu 1:
1.1. Khái niệm Hệ Điều Hành?
- Hệ điều hành là một hệ thống chương trình 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 và các tài nguyên phần mềm trên máy tính.
- Hệ điều hành đứng trung gian giữa người sử dụng và
phần cứng máy tính. Nó tạo ra một môi trường để người
sử dụng có thể dùng máy tính tiện lợi, dễ dàng, hiệu quả hơn.
- Hệ điều hành là một chương trình đặc biệt: tự động
được thực hiện khi khởi động máy tính và khi thoát thì
tự động tắt máy, hầu hết các chương trình khác khi
hoạt động đều nhờ đến sự hỗ trợ của hệ điều hành.
1.2. Phân loại Hệ Điều hành? (Dưới góc độ loại
máy tính, dưới góc độ chương trình sử dụng, dưới

góc độ người dùng, dưới góc độ hình thức xử lý)
• Dưới góc độ loại máy tính
BC Hệ điều hành dành cho máy Mainframe
BC Hệ điều hành dành cho máy Server
BC Hệ điều hành dành cho máy nhiều CPU
BC Hệ điều hành dành cho máy tính cá nhân (PC)
BC Hệ điều hành dành cho máy PDA (Embedded OS - hệ điều hành nhúng)
BC Hệ điều hành dành cho máy chuyên biệt
BC Hệ điều hành dành cho thẻ thông minh (Smart Card)
• Dưới góc độ số chương trình được sử dụng cùng lúc
BC Hệ điều hành đơn nhiệm
BC Hệ điều hành đa nhiệm
• Dưới góc độ người dùng (truy xuất tài nguyên cùng lúc) BC Một người dùng BC Nhiều người dùng  Mạng ngang hàng
 Mạng có máy chủ: LAN, WAN, …
1.2• Dưới góc độ hình thức xử lý
BC Hệ thống xử lý theo lô (Batch systems)
 Hệ thống đơn chương (uniprogramming OS)
 Hệ thống đa chương (multiprogramming OS)
BC Hệ thống chia sẻ thời gian (time-sharing system)
BC Hệ thống song song (parallel system)
BC Hệ thống phân tán (distributed system)
BC Hệ thống xử lý thời gian thực (real-time system)
BC Hệ thống nhúng (embedded system) 1.3. Máy tính là gì? Máy tính (Computer):
• Là các loại máy thông minh, biết tính toán và xử lý (điện thoại di động,
Ipod, máy ATM, lò viba, ổ đĩa CD/DVD,…)
• Một số máy tính lúc hoạt động cần phối hợp với các máy tính khác, tạo
thành một hệ thống máy tính (hệ thống máy PC)
1.4. Khái niệm Hệ Điều Hành với các chương trình khác?
Sự khác biệt với các chương trình khác:
-Khả năng tự hoạt động ngay sau khi bật máy .
-Tác động đến máy tính khi chương trình kết thúc (tắt máy).
-Là cần thiết bắt buộc đối với máy tính.
-Khả năng điều khiển tất cả phần cứng.
-Có thiết kế phức tạp hơn các phần mềm khác.
-Phải cài hệ điều hành trước các phần mềm khác.
-Mức độ sử dụng nhiều hơn hẳn (luôn luôn).
-Hệ điều hành quản lý các phần mềm khác.
-Một máy tính chỉ cài một hoặc vài hệ điều hành. Câu 2:
2.1. Tiến trình là gì?
Chương trình đang thực thi trên máy  VD: mở 1 file word W
2.2. Tiểu trình là gì?
 Một dòng xử lý trong 1 tiến trình
 Một tiến trình có 1 hay nhiều tiểu trình
 VD: trong tiến trình PW
▪ Luồng nhận thao tác của người dùng ▪ Luồng kiểm tra lỗi
2.3. Hệ thống là gì ?
các phần tử có quan hệ hữu cơ v tập hợp ới nhau, tác
động chi phối lẫn nhau theo các quy luật nhất định để
trở thành một chỉnh thể. Từ đó xuất hiện thuộc tính mới
gọi là tính trồi của hệ thống mà từng phần tử riêng lẻ
không có hoặc có không đáng kể. (?)
2.4. Cấu trúc của hệ thống máy tính phân
chia thành mấy thành mấy thành phần? Phần cứng (hardware)
Bao gồm các tài nguyên cơ bản của máy tính như CPU,
bộ nhớ, các thiết bị IO,...
Hệ điều hành (operating system)
Phân phối tài nguyên, điều khiển và phối hợp các hoạt
động của các chương trình trong hệ thống.
 Chương trình ứng dụng (application programs)
Sử dụng tài nguyên hệ thống để giải quyết một số vấn
đề tính toán nào đó của người sử dụng, ví dụ:
compilers, database systems, video games..... Dữ liệu
2.5. Các thành phần của một hệ thống nhập xuất?
Một hệ thống nhập/xuất gồm ba thành phần sau:
+ Hệ thống bộ nhớ đệm (buffer-caching system)
+ Chương trình điều khiển thiết bị (Drivers for specific hardware devices).
+ Chương trình giao tiếp với chương trình điều khiển thiết bị (A
general device-driver interface).
2.6. Các chức năng chính của Hệ Điều Hành?
 Phân chia thời gian xử lý và định thời CPU.
Phối hợp và đồng bộ các hoạt động giữa các processes.
Quản lý tài nguyên của hệ thống (thiết bị IO, bộ nhớ, file chứa dữ liệu...).
Thực hiện và kiểm soát access control, protection.
Duy trì sự nhất quán (integrity) của hệ thống kiểm
soát lỗi và phục hồi hệ thống khi có lỗi (erroe recovery).
 Cung cấp giao diện làm việc cho users. Câu 3:
3.1. Hệ thống xử lý theo lô là gì? (Hệ thống
đơn chương, Hệ thống đa chương) Hệ thống đơn chương
BCTác vụ được thi hành tuần tự.
BCBộ giám sát thường trực
BCCPU và các thao tác nhập xuất: Xử lý offline
Đồng bộ hóa các thao tác bên ngoài – Spooling
(Simultaneous Peripheral Operations Online) Hệ thống đa chương
BC Nhiều công việc được nạp đồng thời vào bộ nhớ chính
BC Khi một tiến trình yêu cầu thực hiện I/O thì thời gian
chờ sẽ lâu, trong thời gian này một tiến trình khác sẽ được thực thi.
BC Tận dụng được thời gian rảnh, tăng hiệu suất sử dụng CPU
3.2. Hệ thống chia sẻ thời gian là gì?
Hệ thống đa nhiệm (multitasking) BC Lập lịch CPU
BC Thời gian chuyển đổi giữa các tác vụ rất ngắn
3.3. Hệ thống song song? (Đa xử lý đối xứng,
đa xử lý bất đối xứng)
Bộ xử lý: Có hai hoặc nhiều bộ xử lý
Các bộ xử lý có vai trò ngang nhau hoặc
Các bộ xử lý có vai trò khác nhau (Master/Slave : một
bộ xử lý chính kiểm soát một số bộ xử lý I/O)
Bộ nhớ: Có nhiều hình thức
 Hai hoặc nhiều bộ xử lý cùng chia sẻ một bộ nhớ hoặc
 Chia sẻ một phần hoặc không chia sẻ bộ nhớ
Phân loại hệ thống song song
BC Đa xử lý đối xứng (symmetric multiprocessor)
Mỗi processor vận hành một bản sao hệ điều hành giống nhau
Các copy dữ liệu cho nhau khi cần (Windows NT, Solaris
5.0, Digital UNIX, OS/2, Linux)
BC Đa xử lý bất đối xứng (asymmetric multiprocessor)
Mỗi processor thực thi một công việc khác nhau Master
processor định thời và phân công việc cho các slave processors (SunOS 4.0)
3.4. Hệ thống phân tán là gì?
Mỗi processor có bộ nhớ riêng, giao tiếp với nhau qua
các kênh nối như mạng, bus tốc độ cao.
BC Người dùng chỉ thấy một hệ thống đơn nhất.
Một ví dụ khác của hệ thống phân tán mà có thêm “Shared Data”.
3.5. Hệ thống thời gian thực là gì?
BC Sử dụng trong các thiết bị chuyên dụng như điều
khiển cácthử nghiệm khoa
học, điều khiển trong y khoa, dây chuyền công nghiệp, thiết bị gia dụng, quân sự.
BC Ràng buộc về thời gian: hard và soft real-time: *Hard real-time
Hạn chế (hoặc không có) bộ nhớ phụ, tất cả dữ liệu nằm trong bộ nhớ chính (RAM hoặc ROM)
Yêu cầu về thời gian đáp ứng/xử lý rất nghiêm ngặt,
thường sử dụng trong điều khiển công nghiệp, robotics … *Soft real-time
Thường được dùng trong lĩnh vực multimedia, virtual reality với yêu
cầu mềm dẻo hơn về thời gian đáp ứng
3.6. Hê thống nhúng là gì?
Trong nhiều thiết bị điện tử (như điện thoại di động,
máy tính bảng, xe ô tô …)
BC Đặc trưng của các thiết bị này:
 Bộ nhớ nhỏ (512 KB - 128 MB - 4GB)
 Tốc độ processor thấp (để ít tốn pin)
 Màn hình hiển thị có kích thước nhỏ
 Có thể dùng các công nghệ kết nối như IrDA, Bluetooth, wireless
 Có thể có một hoặc nhiều cảm biến khác nhau Câu 4:
4.1. Chức năng của Hệ Điều Hành?
Quản lý và phân phối tài nguyên 1 cách hợp lý
- Quản lý việc thực hiện các chương trình.
Tài nguyên phần cứng Bộ xử lý  Bộ nhớ 
 Các thiết bị xuất nhập Tài nguyên phần mềm
Các file, chương trình dùng chung....
4.2. Trình bày quản lý tiến trình?
Để hoàn thành công việc, một tiến trình cần: o CPU o Bộ nhớ, File o Thiết bị I/O, …
Các nhiệm vụ chính:
o Tạo và hủy tiến trình
o Tạm dừng/ thực thi tiếp tiến trình o Cung cấp các cơ chế
o Đồng bộ hoạt động các tiến trình
o Giao tiếp giữa các tiến trình o Khống chế tắc nghẽn
4.2. Trình bày quản lý bộ nhớ chính?
 Bộ nhớ chính là trung tâm của các thao tác, xử lý
 Để nâng cao hiệu suất sử dụng CPU, hệ điều hành
cần có cách quản lý bộ nhớ thích hợp, tránh xung đột  Các nhiệm vụ chính:
o Theo dõi, quản lý các vùng nhớ trống và đã cấp phát
o Quyết định sẽ nạp chương trình nào khi có vùng nhớ trống
o Cấp phát và thu hồi các vùng nhớ khi cần thiết
4.3. Trình bày quản lý bộ nhớ phụ?
Để lưu trữ dữ liệu lâu dài, dữ liệu cần lưu trên đĩa dạng
tập tin, ngoài ra đĩa còn lưu giữ các tiến trình khi bộ nhớ
RAM không còn đủ, vùng nhớ này gọi là bộ nhớ ảo.
Các chức năng của dịch vụ quản lý bộ nhớ phụ
+ Quản lý vùng trống trên đĩa (Free space management)
+ Xác định vị trí cất giữ dữ liệu (Storage allocation).
+ Lập lịch cho đĩa (Disk scheduling)
4.4. Trình bày quản lý file?Hệ thống file  File  Thư mục
Các dịch vụ chính:
 Tạo và xóa file/ thư mục
 Các thao tác xử lý file/ thư mục
 “Ánh xạ” file/ thư mục vào thiết bị thứ cấp tương ứng
 Sao lưu và phục hồi dữ liệu
4.5. Dịch vụ bảo vệ hệ thống?
Trong hệ thống cho phép nhiều user hay nhiều process diễn ra đồng thời phải:
 Kiểm soát tiến trình người dùng đăng nhập/xuất và sử dụng hệ thống
 Kiểm soát việc truy cập các tài nguyên trong hệ thống
 Bảo đảm những user/process chỉ được phép sử
dụng các tài nguyên dành cho mình
 Các nhiệm vụ của hệ thống bảo vệ:
o Cung cấp cơ chế kiểm soát đăng nhập/xuất
o Phân định được sự truy cập tài nguyên hợp pháp
bất hợp pháp (authorized/unauthorized)
o Phương tiện thi hành các chính sách (enforcement
of policies) (ví dụ: cần bảo vệ dữ liệu của ai đối với ai)
4.6. Hệ thống thông dịch dòng lệnh?
Việc giao tiếp giữa người sử dụng và hệ điều hành
thông thường theo 2 cách cơ bản: Dùng: o Command o Interpreters Hoặc:
command-line interface (Hệ thống thông dịch lệnh)
Graphical User Interfaces (GUI; giao diện người dùng đồ họa) 4.7. Quản lý mạng?
Cung cấp các chức năng phân quyền, chia xẻ tài
nguyên mạng, liên lạc giữa các
tiến trình trên mạng, …
4.8. Lời gọi hệ thống ?
Lời gọi hệ thống là tập lệnh do hệ điều hành cung cấp
dùng để giao tiếp giữa tiến
trình của người dùng và hệ điều hành, lời gọi hệ thống
còn gọi là ngắt. Các lời gọi
hệ thống có thể được chia thành các loại như là tập
lệnh quản lý tiến trình, tập lệnh
quản lý tập tin, tập lệnh quản lý thiết bị, tập lệnh dùng
để liên lạc giữa các tiến trình.
Mỗi lời gọi hệ thống có một số hiệu duy nhất dùng để
phân biệt lời gọi này với lời
gọi khác. Các địa chỉ nơi chứa mã lệnh của các ngắt (lời
gọi hệ thống) được lưu
trong một bảng gọi là bảng vectơ ngắt.
4.9. Vị trí Hệ Điều Hành? Operating System là một chương trình hoạt
động như một giao diện giữa phần mềm và phần cứng máy tính.
Nó là một tập hợp các chương trình chuyên
dụng được tích hợp được sử dụng để quản lý tài nguyên
tổng thể và hoạt động của máy tính.
Nó là một phần mềm chuyên dụng kiểm soát và giám
sát việc thực hiện tất cả các chương trình khác nằm
trong máy tính, bao gồm các chương trình ứng dụng và
phần mềm hệ thống khác.
4.10. Các thành phần của Hệ Điều Hành?
- Bộ cấp phát tài nguyên (Resource allocator): Quản lý và cấp phát tài nguyên.
- Chương trình kiểm soát (Control program):Kiểm soát
việc thực thi chương trình và kiểm soát hoạt động của
các thiết bị nhập/xuất.
- Phần nhân (Kernel):là chương trình “lõi” của hệ điều
hành, được thực thi trước tiên và tồn tại trong bộ nhớ
cho đến khi tắt máy (các chương trình khác gọi là chương trình ứng dụng).
4.11.Vì sao nói quản lý tài nguyên là vai trò quan
trọng nhất của Hệ Điều Hành?
Quản lý tài nguyên là vai trò quan trọng nhất của HĐH,
do đó cần có một số thành phần quản lý CPU, quản lý bộ nhớ, …
CPU : quản lý tiến trình(bao gồm quản lý CPU)
RAM: quản lý bộ nhớ chính
Input/Output : quản lý nhập/xuất (thấy rõ ở DOS)
Hệ thống tập tin :  Quản lý tập tin  Hệ thống bảo vệ  Quản lý mạng
 Shell (giao tiếp người dùng)
Cơ chế cấp phát tài nguyên phải kết hợp chặt chẽ với
tiện ích quản lý tiến trình và tài nguyên. Cơ chế này bao
gồm việc biểu diễntài nguyên; thực hiện cấp phái và sử
dụng tài nguyên theo chính sách định trước.
Câu 5: Cấu trúc của Hệ Điều Hành?
5.1. Trình bày cấu trúc đơn giản (monolithic)?
MS-DOS: khi thiết kế, do giới hạn về dung lượng bộ nhớ
nên không phân chia thành các module
(modularization) và chưa phân chia rõ chức năng giữa
các phần của hệ thống.
5.2. Trình bày cấu trúc phức tạp (more complex)?
UNIX: gồm hai phần có thể tách rời nhau
Nhân: Kernel, cung cấp file system, CPU scheduling,
memory management, và một số chức năng khác System program
5.3. Trình bày cấu trúc phân tầng? Lớp dưới cùng: hardware.
 Lớp trên cùng là giao tiếp với user.
 Lớp trên chỉ phụ thuộc lớp dưới.
 Một lớp chỉ có thể gọi các hàm của lớp dưới và các
hàm của nó được gọi bởi lớp trên.
 Mỗi lớp tương đương một đối tượng trừu tượng: cấu trúc dữ liệu + thao tác.
Phân lớp có lợi ích gì? o Gỡ rối (debugger). o Kiểm tra hệ thống. o Thay đổi chức năng.
5.4. Trình bày cấu trúc máy ảo?
Với hệ điều hành máy ảo, một máy được giả lập thành
nhiều máy, tài nguyên của hệ thống như là CPU, bộ
nhớ, đĩa,… được chia xẻ để tạo các máy ảo. Mỗi máy ảo
được cô lập với máy ảo khác nên tài nguyên dùng
chung được bảo vệ nhưng cũng dẫn đến việc không
được chia xẻ tài nguyên trực tiếp
5.5. Trình bày cấu trúc Client – Server
Hệ điều hành được chia thành nhiều phần (gọi là các
tiến trình server), mỗi tiến trình thực hiện một dịch vụ
như là dịch vụ quản lý tập tin, quản lý tiến trình, quản
lý bộ nhớ, … Các tiến trình yêu cầu (gọi là tiến trình
client) sẽ gửi yêu cầu đến một tiến trình server, tiến
trình server thực hiện và gửi kết quả trở lại cho tiến
trình client. Hạt nhân chỉ có nhiệm vụ kiểm soát quá
trình liên lạc giữa các tiến trình client và server.
Ưu điểm của cấu trúc client-server
o Hạt nhân rất nhỏ, chỉ gồm các lệnh cơ bản, nên dễ bảo vệ, dễ nâng cấp.
o Mỗi dịch vụ của hệ điều hành do một tiến trình
server đảm nhận, các tiến trình này độc lập với
nhau nên khi một tiến trình server bị lỗi, hệ thống vẫn hoạt động.
o Các tiến trình server được thực hiện ở chế độ người
dùng (user-mode), không phải ở chế độ hạt nhân
(kernel-mode), nên không truy xuất trực tiếp.
Nội dung ôn tập chương II
Câu 6: Phân loại quá trình (CPU-bound, I/O- bound)?
CPU-bound process có thời gian sử dụng CPU nhiều hơn thời gian sử dụng I/O
I/O-bound process dùng phần lớn thời gian để đợi I/O
Câu 7: Chiến lược định thời CPU?
Chiến lược định thời CPU là chiến lược giải quyết vấn đề
phân chia, lựa chọn tiến trình thực thi sao cho hiệu quả nhất
Câu 8: Phân loại các hoạt động định thời?
Định thời dài hạn (long-term scheduling): xác định
process mới (new) nào được tiếp tục vào “sâu hơn” trong hệ thống.
– Thường chỉ có trong batch system
Định thời trung hạn (medium-term scheduling): xác
định process nào được đưa vào (swap in), đưa ra khỏi (swap out) bộ nhớ chính.
– Swap in/out có thể tốn đến vài giây thời gian chu kỳ 
định thời trung hạn có thể là vài phút.
Định thời ngắn hạn (short-term scheduling): xác định
process nào được thực thi tiếp theo.
Câu 9: Tiêu chí định thời? 1.Tiêu chí định thời.
• CPU utilization (% sử dụng CPU, Độ lợi CPU) • Throughput (Thông năng)
• Turnaround-time (Thời gian quay vòng)
• Response time (Thời gian đáp ứng)
• Waiting time (Thời gian chờ)
– Thời gian một process ở trong hàng đợi ready
• Average turn-around time (Thời gian quay vòng trung bình) 2.Tiêu chí định thời.
• CPU utilization (% sử dụng CPU, Độ lợi CPU)
– CPU utilization CPU: [0% - 100%]
– Lightly loaded system: < 40%, heavy-loaded: > 90% – Maximize CPU utilization • Thông năng (throughput)
– Số lượng process hoàn tất trong một đơn vị thời gian – Maximize throughput 3.1.Tiêu chí định thời.
• Thời gian đáp ứng (response time)
– Thời gian từ lúc có yêu cầu của người dùng (user request) đến khi có đáp ứng đầu tiên
– Thường là vấn đề với các I/O-bound process – Minimize response time
• Waiting time (Thời gian chờ)
– Thời gian một process ở trong hàng đợi ready – Minimize waiting time
• Thời gian quay vòng (turn-around time)
• Thời gian quay vòng trung bình (average turnaround time) 3.2.Tiêu chí định thời.
• Thời gian đáp ứng (response time)
• Waiting time (Thời gian chờ)
• Thời gian quay vòng (turn-around time)
– Thời gian để một process hoàn tất, kể từ lúc vào hệ
thống (submission) đến lúc kết thúc (termination)
– Là một trị đặc trưng cần quan tâm với các process thuộc dạng CPUbound – Minimize turn-around time
• Thời gian quay vòng trung bình (average turnaround time) 4.Tiêu chí định thời.
• Độ lợi CPU – giữ CPU càng bận càng tốt – Tối đa hóa
• Thông năng – số lượng process kết thúc việc thực thi
trong một đơn vị thời gian
• Turnaround time – thời gian kể từ lúc đưa vào
(submission) đến lúc kết thúc – Tối thiểu hóa
• Thời gian chờ – thời gian một process chờ trong hàng đợi ready
• Thời gian đáp ứng – thời gian từ khi đưa yêu cầu đến
khi có đáp ứng đầu tiên
Câu 10: Định thời CPU là gì?
Là việc chọn một process từ ready queue để thực thi.
 Đối với một multithreaded kernel, việc định thời CPU
là do OS chọn kernel thread được chiếm CPU.
Câu 11: Cơ chế điều phối?
Preemptive (không độc quyền): Công việc đang thực thi
có thể bị ngắt và chuyển vào trạng thái Ready.
Non-preemptive (độc quyền): một khi tiến trình ở trong trạng thái.
Running, nó sẽ tiếp tục thực thi cho đến khi kết thúc
hoặc bị block vì I/O hay các dịch vụ của hệ thống.
Câu 12: Giải thuật điều phối FCFS (Frist come first served)
o Lập lịch các công việc theo thứ tự xuất hiện của chúng.
 Off-line FCFS lập lịch theo thứ tự xuất hiện trong dữ liệu đầu vào của nó
o Thi hành lần lượt mỗi công việc cho đến khi hoàn thành
 Nguyên thủy: hoàn thành kể cả tính I/O
 Hiện đại: dừng lại khi bị block (gặp I/O)
o Có cả on-line lẫn off-line
o Đơn giản, dùng làm cơ sở để phân tích các phương pháp khác
o Thời gian phản hồi kém
Câu 13: Giải thuật điều phối Round Robin (RR)
 Mỗi tiến trình sẽ nhận được một khoảng thời gian sử
dụng CPU khá nhỏ (time quantum), thường là 10-100 milli giây
 Sau khi khoảng thời gian này kết thúc, tiến trình sẽ bị
cưỡng chế chuyển vào hàng đợi sẵn sàng (không cho dùng CPU nữa).
 Giả sử có n tiến trình trong hàng đợi và time quantum là q:
◦ Mỗi lần chạy tiến trình sẽ có tối đa q đơn vị thời gian
◦ Không có tiến trình nào phải đợi quá (n-1)q đơn vị thời gian
Câu 14: Giải thuật điều phối Shortest Job First (SJF)
 Là thuật toán cải tiến từ FCFS.
 Chọn tiến trình có thời gian chạy là ít nhất (không
phụ thuộc thứ tự vào)
 Tất cả các công việc và thời gian thi hành phải được biết trước P
 Độ ưu tiên được gán với mỗi tiến trình và CPU được
cấp phát tới tiến trình có độ ưu tiên cao nhất.
 Các tiến trình có độ ưu tiên bằng nhau được điều phối theo FCFS.
Giải thuật SJF là giải thuật ưu tiên đơn giản ở đó độ ưu
tiên là nghịch đảo với chu kỳ CPU đ c đoán tếếp theo. Chu kỳ CPU ượ l n h ớ n có đ ơ ộ u ưtến thấếp hơn và ng c l ượ i. ạ