You are on page 1of 23

Họ tên : Đinh Trọng Hòa

MSSV : AT150717
Môn : Nguyên lý hệ điều hành
CÂU HỎI ÔN TẬP CUỐI KÌ
Câu 1: Nêu ba mục đích chính của hệ điều hành?
- Cung cấp giải pháp hợp lí để giải quyết các vấn đề về việc tạo và sử dụng hệ thống máy tính.
- Thực thi các chương trình của người dùng và làm cho việc khắc phục các lỗi phát sinh trong
quá trình sử dụng trở nên dễ dàng hơn (fundamental goal)
- Quản lí, điều khiển và cấp phát các tài nguyên phần cứng phù hợp cho từng phần mềm, từng
người dùng
Câu 2: Mục đích của lời gọi hệ thống là gì?
- Lời gọi hệ thống là việc một chương trình máy tính yêu cầu một dịch vụ từ nhân của hệ điều
hành mà nó được thực thi.
- Tác dụng:
 Dùng để giao tiếp giữa tiến trình và hệ điều hành
 Cung cấp giao diện giữa tiến trình và hệ điều hành
Câu 3: Các hoạt động chính của hệ điều hành nhằm quản lý tiến trình là gì?
- Các hoạt động: Tạo tiến trình, kết thúc tiến trình ( hoạt động phụ: Tạm dừng tiến
trình, Tái kích hoạt tiến trình, Thay đổi độ ưu tiên tiến trình)
a. Tạo tiến trình:
- Một tiến trình có thể tạo lập ra nhiều tiến trình mới bằng cách sử dụng lời gọi hệ
thống tương ứng.
 Tiến trình sử dụng lời gọi hệ thống để tạo lập là Tiến trình cha
 Tiến trình được tạo gọi là tiến trình con
- Một tiến trình con có thể tạo ra các tiến trình mới…quá trình này tạo ra cây tiến
trình
- Tạo tiến trình là một công việc "nặng nhọc" vì phải phân phối bộ nhớ và tài
nguyên.
- Ví dụ: Nhập 100 số, in ra các số nguyên tố => (1) Kiểm tra số nguyên tố => (2)
kiểm tra số dương => (3) In ra số nguyên tố
b. Kết thúc tiến trình:
- 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ột lời gọi hệ thống
để yêu cầu HĐH hủy bỏ
- Trong quá trình kết thúc:Dữ liệu ra từ tiến trình con đến tiến trình cha (qua lệnh wait).
- Tiến trình cha có thể chấm dứt việc thực hiện tiến trình con (abort).
 Tiến trình con dùng quá tài nguyên được phân phối.
 Nhiệm vụ mà tiến trình con thực hiện không còn cần thiết.
- Khi tiến trình kết thúc, HĐH thực hiện các công việc:
 Thu hồi các tài nguyên 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
 Các tài nguyên được phân phối lại
- 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

Câu 4: Các hoạt động chính của HĐH nhằm quản lý bộ nhớ là gì?

 Theo dõi thành phần nào của của bộ nhớ đang được sử dụng và tiến trình nào đang sử
dụng
 Quyết định tiến trình nào hoặc dữ liệu nào sẽ được di chuyển ra khỏi hoặc đưa vào bộ
nhớ
 Cấp phát và hủy không gian bộ nhớ nếu cần.

Câu 5: Tiến trình là gì, các trạng thái của tiến trình và sơ đồ mô tả mối quan hệ giữa
chúng?
1. Khái niệm tiến trình, tiểu trình
- Tiến trình (Process):
Tiến trình là chương trình đang thực hiện. Mỗi tiến trình có một tài nguyên và môi trường riêng.
Các tiến trình hoàn toàn độc lập với nhau, có thể liên lạc với nhau thông qua cơ chế truyền tin
giữa các tiến trình.
- Tiến trình hệ thống: được sinh ra khi thực hiện các lời gọi hệ thống
- Tiến trình người sử dụng: được sinh ra khi thực thi các thị chỉ của người sử dụng
- Tiến trình được chia làm 2 loại:
+ Tiến trình kế tiếp
+ Tiến trình song song

- Tiểu trình (Threads):


Tiều trình là một đơn vị cơ bản của hệ thống. Một tiểu trình cũng có thể tạo lập một tiến trình
con.
- Một tiến trình có thể sở hữu nhiều tiểu trình
- Các tiểu trình trong cùng một tiến trình có thể chia sẻ một không gian địa chỉ hoặc
truy xuất đến một Stack cùng nhau.
2. Các trạng thái của tiến trình

Trạng thái của tiến trình tại một thời điểm xác định bởi hoạt động của tiến trình tại thời điểm
đó.
Trong quá trình hoạt động, tiến trình có thể thay đổi trạng thái do các nguyên nhân:
- Phải dừng hoạt động do hết thời gian
- Đợi một thao tác I/O hoàn tất
- Phải chờ một sự kiện xảy ra
Tại 1 thời điểm, tiến trình có thể có một trong các trạng thái:
- new: tiến trình đang được tạo
- running: tiến trình đang chiếm hữu CPU và thực hiện các lệnh
- waiting: tiến trình đang chờ cũng được cấp tài nguyên hoặc chờ 1 sự kiện nào đó xuất
hiện để chuyển sang trạng thái sẵn sàng
- ready: tiến trình ở trạng thái sẵn sàng, được phân phối đủ tài nguyên cần thiết, đang chờ
đến lượt được thực hiện theo cơ chế lập lịch của hệ điều hành
- terminated: tiến trình kết thúc. Nó không biến mất cho đến khi 1 tiến trình khác đọc được
trạng thái thoát của nó

3.Sơ đồ mối liên hệ giữa các trạng thái của tiến trình tiến trình.

Câu 6: Cho các tiến trình sau


Tiến trình Thời gian xử lý
P1 17
P2 8
P3 9

Hãy cho biết kết quả điều phối theo chiến lược điều phối FCFS dùng biểu đồ gantt
Tính thời gian chờ trung bình
Tính thời gian hoàn thành trung bình

Câu 7: Hãy cho biết kết quả điều phối, tính thời gian chờ trung bình và thời gian hoàn
thành trung bình của các tiến trình sau theo chiến lược điều phối RR với thời lượng
quantum=4
Tiến trình Thời gian xử lý
P1 13
P2 8
P3 3
P4 5

0 4 8 11 15 19 23 24 28 29

|_________|_________|_________|_________|_________|_________|_____|_________|_____|
____

P1=13 P2=8 P3=3 P4=5 P1=9 P2=4 P4=1 P1=5 P1=1

P2=8 P3=3 P4=5 P1=9 P2=4 P4=1 P1=5

P3=3 P4=5 P1=9 P2=4 P4=1 P1=5

P4=5 P1=9 P2=4

Thời gian chờ: P1 = 16s, P2 = 15s, P3 = 8s, P4 = 19s


Thời gian chờ trung bình : (16+15+8+19)/4 = 14.5s
Thời gian hoàn thành : P1 = 29s, P2 = 23s , P3 = 11s , P4 = 24s
Thời gian hoàn thành trung bình : (29+23 + 11 + 24)/4 = 21.75s
Câu 8: Hãy cho biết kết quả điều phối, tính thời gian chờ trung bình và thời gian hoàn
thành trung bình của các tiến trình sau theo chiến lược điều phối SJF độc quyền
Tiến trình Thời gian xử lý Thời điểm vào RL
P1 6 0
P2 8 2
P3 7 4
P4 3 5

0 2 4 5 6 9 16 24

|_______|______|_______|______|______|_________|____________|

P1 P2=8 P2=8 P2=8 P2=8 P2=8 P2=8

P1=4 P3=7 P3=7 P3=7 P3=7

P1=2 P4=3 P4=3

P1=1

Tgian chờ trung bình: (0 + 6 + 9 + 16) / 4 = 7.75

Tgian hoàn thành trung bình: (6 + 9 + 16 + 24) / 4 = 13.75

Câu 9: Hãy cho biết kết quả điều phối, tính thời gian chờ trung bình và thời gian hoàn
thành trung bình của các tiến trình sau theo chiến lược điều phôi SJF không độc quyền
Tiến trình Thời gian xử lý Thời điểm vào RL
P1 8 0
P2 5 2
P3 1 4
P4 4 5
Câu 10: Hãy cho biết kết quả điều phối, tính thời gian chờ và thời gian hoàn thành trung
bình của các tiến trình sau theo chiến lược điều phối ưu tiên độc quyền
Tiến trình Chiều dài CPU Thời điểm vào RL Độ ưu tiên
burst
P1 2 0 2
P2 5 1 3
P3 3 2 1
P4 4 3 0
Lưu ý: ưu tiên nhỏ hơn thực hiện trước

Câu 11: Hãy cho biết kết quả điều phối và tính thời gian chờ trung bình cho các tiến trình
sau theo chiến lược điều phối ưu tiên không độc quyền
Tiến trình Chiều dài CPU Thời điểm vào RL Độ ưu tiên
burst
P1 2 0 2
P2 5 1 3
P3 3 2 1
P4 4 3 0
Lưu ý: ưu tiên nhỏ hơn thực hiện trước
Câu 12: Hãy cho biết kết quả điều phối và tính thời gian chờ trung bình của các tiến trình
sau theo các chiến lược điều phối FCFS, SJF, RR với q=2, ưu tiên độc quyền, ưu tiên không
độc quyền
Tiến trình Vào ready list Thời gian xử lý Ưu tiên
P1 0 10 3
P2 1 1 1
P3 2.5 2 3
P4 3 1 4
P5 4.5 5 2
Câu 13: Trong mô hình cấp phát bộ nhớ liên tục, có năm phân mảnh bộ nhớ theo thứ tự
với kích thước là 600KB, 500KB, 200KB, 300KB. Giả sử có 4 tiến trình đang chờ cấp phát
bộ nhớ theo thứ tự P1, P2, P3, P4. Kích thước tương ứng của các tiến trình trên là : 211KB,
416KB, 113KB, 426KB. Hãy cấp phát bộ nhớ cho các tiến trình trên theo thuận toán First-
fit, Best-first, worst-fit
First-fit: chọn ô phù hợp đầu tiên từ trên xuống
600 211KB
113KB
389
500 416KB

200
300

426KB phải chờ vì không còn ô trống để cấp


Best-first: Chọn cái phù hợp nhất

300 211KB
500 416KB

200 113KB
600 426KB

worst-fit: chọn cái lớn nhất từ trên xuống


600 211KB
113KB
389
500 416KB
200

300
426KB phải chờ vì không còn ô trống để cấp

Câu 14: Cho một bảng phân đoạn sau


Segment Limit Base
0 500 215
1 25 2100
2 100 110
Hãy xác định địa chỉ vật lý của các địa chỉ logic sau:
1. Vẽ vùng bộ nhớ vật lý dạng các đoạn segment: Từ bảng dữ liệu đề bài, ta vẽ được vùng bộ
nhớ vật lý như sau:

110
S2
210

215 S0
715

2100

2125
S1

Với segment 0: ta có
+ Địa chỉ vật lý cơ sở (basic) là 215
+ Limit là 500
==> địa chỉ vật lý của segment 0 là từ 215 -> 715
Với segment 1:
+ Địa chỉ vật lý cơ sở (basic) là 2100, nên ta sẽ vẽ bắt đầu từ 2100, như vậy từ 716->2099 là
trống, không có segment nào
+ Limit là 25
==> địa chỉ vật lý của segment 1 là từ 2100 -> 2125
Tính địa chỉ vật lý
Với segment 2:
+Địa chỉ vật lý cơ sở(basic) là 110 ,nên ta sẽ vẽ bắt đầu từ 110 ,như vậy từ 0->109 là
trống,không có segment nào.
+Limit là 100
==>địa chỉ vật lý của segment 2 là từ 110->210

a) 0.410->địa chỉ vật lý:215<=(215+410=625)<=715 (hợp lệ)


b) 1.12->địa chỉ vật lý:2100<=(2100+12=2112)<=2125 (hợp lệ)
c) 2.300->địa chỉ vật lý:120<=(120+300=420) >210 (không hợp lệ)

Câu 15: Một tiến trình được nạp vào bộ nhớ theo mô hình phân trang với kích thước trang
là 1024 byte. Bảng trang như sau:
1
5
3
6
Hãy chuyển các địa chỉ logic sau thành địa chỉ vật lý:
a) 1521
b) 3249
Câu 16: Xét chuỗi truy xuất bộ nhớ sau
1,2,3,4,,2,1,5,6,2,1,2,3,7,6,3,4
Giả sử bộ nhớ vật lý có 4 khung trang. Hãy minh họa kết quả trình bày thay thế trang và
số lỗi trang với các thuật toán thay thế sau:
a) FIFO
b) OPT
c) LRU

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
FIF 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 4
O
1 1 1 1 1 1 5 5 5 5 5 3 3 3 3 3
2 2 2 2 2 2 6 6 6 6 6 7 7 7 7
3 3 3 3 3 3 2 2 2 2 2 6 6 6
4 4 4 4 4 4 1 1 1 1 1 1 4
Số * * * * * * * * * * * *
lỗi:
12

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
OPT 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 4
1 1 1 1 1 1 1 1 1 1 1 1 7 7 7 7
2 2 2 2 2 2 2 2 2 2 2 2 2 2 4
3 3 3 3 3 3 3 3 3 3 3 3 3 3
4 4 4 5 6 6 6 6 6 6 6 6 6
Số * * * * * * * *
lỗi:
8

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
LRU 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 4
1 1 1 1 1 1 1 1 1 1 1 1 1 6 6 6
2 2 2 2 2 2 2 2 2 2 2 2 2 2 4
3 3 3 3 5 5 5 5 5 3 3 3 3 3
4 4 4 4 6 6 6 6 6 7 7 7 7
Số * * * * * * * * * *
lỗi :
10
Câu 17: Một hệ thống máy tính với bộ nhớ chính có kích thước 320MB. Hệ thống sử dụng 
địa chỉ logic 48 bit. Kích thước trang được sử dụng là 8
KB. Yêu cầu xác định các thông số sau: 
a. Cho biết số bit dùng cho địa chỉ offset 
b. Số khung trang vật lý 
c. Số trang logic trong không gian tiến trình 
d. Cho địa chỉ logic 20030, yêu cầu đổi sang dạng <p,d> 

a.
Số bit dung cho địa chỉ offset là số bít dung để mô tả tất cả các địa chỉ trong một trang .
Kích thước một trang: 8kb =213b.Suy ra số bít cần dùng là 13 bit.
b.
Số khung trang vật lý

Kích thước bộ nhớ vật lý 320 MB 320∗220 10


= = 10
=40∗2 =¿40960 trang
Kích thước trang 8 KB /trang 8∗2
c.
Số trang logic trong không gian tiến trình

Kích thước không gian tiến trình 248 B 248 35


= = 10
=2 trang
Kích thước trang 8 KB /trang 8∗2

d.
Đổi địa chỉ 20030 sang dạng <p,d>
20030 20030
= =2 dư 3646
Kích thước trang 8∗210

20030 được đổi thành <p,d>=<2,3646>

Câu 18: Một hệ thống máy tính với bộ nhớ chính có kích thước 800MB. Hệ thống sử dụng
địa chỉ logic 32 bit. Kích thước trang được sử dụng là 16 KB. Yêu cầu xác định các thông
số sau:
a) Cho biết số bit dùng cho địa chỉ offset
b) Số khung trang vật lý
c) Số trang logic trong không gian tiến trình
d) Cho địa chỉ logic 20030, yêu cầu đổi sang dạng <p,d>
a/ Số bit dung cho địa chỉ offset:
là số bít cần dung để mô tả tất cả các địa chỉ trong một trang
Kích thước một trang : 16KB=2^4*2^10B=16384B=2^14B
 Số bit ần dung là 14 bit
b/ Số khung trang vật lý :
=(kích thước bộ nhớ vật lý)/(kích thước trang)
=(800MB)/(16KB)=(800*2^20B)/(16*2^10B)=50*2^10 trang
c/Số trang logic trong không gian tiến trình:
=(kích thước không gian tiến trình)/(kích thước trang)
=(2^32B)/(16*2^10)=(2^32B)/(2^14B)=2^18 trang
d/ Đổi địa chỉ 20030 sang dạng <p,d.:
Do kích thước trang là 16384, lấy 20030 chia cho 16384 được 1 dư 3646.
 20030 được đổi thành <p=1,d=3646>

Câu 19: Giả sử trong quá trình quản lý bộ nhớ ảo dạng phân đoạn, HĐH duy trì bảng
phân đoạn như sau:
Segment Base Limit
0 300 700
1 1200 500
2 2000 600
Hãy tính địa chỉ vật lý cho mỗi địa chỉ logic như sau: (1,200); (1,0); (0,700); (2,0); (2,600) có
vẽ vùng bộ nhớ vật lý dạng đoạn segment.
BG:
- Segment 0: 300 -> 1000
- Segment 1: 1200 -> 1700
- Segment 2: 2000 -> 2600
(1, 200) = 1200 + 200 = 1400 => 1200 <= 1400 <= 1700 => hợp lệ
(1, 0) = 1200 + 0 = 1200 => 1200 <= 1200 <= 1700 => hợp lệ
(0, 700) = 300 + 700 = 1000 => 300 <= 1000 <= 1000 => hợp lệ
(2, 0) = 2000 + 0 = 2000 => 2000 <= 2000 <= 2600 => hợp lệ
(2, 600) = 2000 + 600 = 2600 => 2000 <= 2600 <= 2600 => hợp lệ
Câu 20: Giả sử trong quá trình quản lý bộ nhớ ảo dạng phân đoạn, HĐH duy trì bảng
phân đoạn như sau:
Segment Base Limit
0 219 600
1 2300 14
2 90 100
3 1327 580
4 1952 96
Hãy tính địa chỉ vật lý cho mỗi địa chỉ logic như sau: (0,430); (1,10); (2,500); (3,400);
(4,112) có vẽ vùng bộ nhớ vật lý dạng các đoạn segment

Tính địa chỉ vật lý + Với dữ liệu đề bài cho là


(0,430) = 219 +430 = 649 ( hợp lệ)
Vì nó nằm trong đoạn Segment 0.
+ (1,010) = 2300+ 10 = 2310 (hợp lệ)
+ (2,500) = 90 + 500 = 1400 (không hợp lệ)
+ (3,400) = 1327+ 400 = 1727 (hợp lệ)
+ (4,112) = 1952 + 112 = 2064 (không hợp lệ)
Câu 21: Một hệ thống có 4 tiến trình P1, P2, P3, P4 và có 5 loại tài nguyên R1, R2, R3, R4,
R5. Trong đó
R1 có 1 thể hiện, R2 có 2 thể hiện, R3 có 1 thể hiện, R4 có 3 thể hiện, R5 có 2 thể hiện.
P1 đang giữ 1 thể hiện của R2 và yêu cầu 1 thể hiện của R1
P2 đang giữ 1 thể hiện của R1 và yêu cầu 1 thể hiện của R3
P3 đang giữ 1 thể hiện của R3 và yêu cầu 1 thể hiện của R4
P4 đang giữ 1 thể hiện của R4 và yêu cầu 1 thể hiện của R2
a) Hãy vẽ đồ thị cấp phát tài nguyên như mô tả trên
b) Trạng thái trên có xảy ra deaklọc hay không, tại sao

a/

b/
Allocation Max Need Available
R R R R R R R R R R R R R R R R R R R R
1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
P 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 1 0 2 2 P
1 3
P 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 1 1 2 2 P
2 4
P 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 1 1 2 3 P
3 1
P 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 2 1 2 3 P
4 2
1 2 1 2 3

 Trạng thái không deadlook vì tồn tại chuỗi an toàn p3.p4.p1.p2

Câu 22: Trình bày ý tưởng thuật toán lập lịch SSTF. Cho hằng đợi yêu cầu: 98, 198, 37,
122, 14, 124, 65, 67. Đầu từ đĩa đang ở cylinder 53. Vẽ lược đồ và tính quãng đường khi sử
dụng lập lịch SSTF, SCAN, C-SCAN
Ý tưởng thuật toán SSTF (Shortest Seek Time First):
Di chuyển đầu đọc đến các khối cần thiết theo vị trí lần lượt gần với vị trí hiện tại của đầu đọc
nhất.
Nói cách khác: Chọn yêu cầu I/O mà đòi hỏi ít di chuyển nhất đầu đĩa từ vị trí hiện tại.
Luôn luôn cho ra seek time nhỏ nhất.
Lược đồ sử dụng lập dịch SSTF, SCAN, C-SCAN.
0 14 37 53 65 67 98 122 124 198 199

Tính quảng đường:


SSTF = (65-53) +(67-65)+(67-37)+(37-14)+(98-14)+(122-98)+(122-14)+(124-122)+(198-
124)=251
SCAN =(53-37)+(37-14)+(14-0)+(65-0)+(67-65)+(98-67)+(122-98)+(124-122)+(198-124)=251
C-SCAN= (65-53) +(67-65)+(98-67)+(122-98)+(124-122)+(198-124)+(199-198)+(199-0)+
(14-0) +(37-14)= 382
Câu 23: Một hệ thống có 3 loại tài nguyên (A,B,C) và 5 tiến trình (P0,P1,P2,P3,P4) kèm
theo các thông số được mô tả trong bảng sau:

Allocation Max Available


A B C A B C A B C
P0 3 0 1 10 7 4 6 2 2
P1 3 2 1 8 5 3
P2 2 1 3 6 3 4
P3 0 3 0 9 6 3
P4 1 1 2 7 4 5

 Tiến trình P1 yêu cầu tài nguyên là (2,0,1). Sử dụng giải thuật banker, cho biết có
thể thực hiện yêu cầu cấp phát tài nguyên này hay không?

Allocation Max Available


A B C A B C A B C
P0 3 0 1 10 7 4 6 2 2 P2
P1 3 2 1 8 5 3 8 3 5 P1
P2 2 1 3 6 3 4 11 5 6 P3
P3 0 3 0 9 6 3 11 8 6 P0
P4 1 1 2 7 4 5 14 8 7 P4
15 9 9 Ko xảy ra
deadlock
Allocation Max Available Need
A B C A B C A B C A B C
P0 3 0 1 10 7 4 6 2 2 7 7 3
P1 5 2 2 8 5 3 8 3 5 3 3 1
P2 2 1 3 6 3 4 11 5 6 4 2 1
P3 0 3 0 9 6 3 11 8 6 9 3 3
P4 1 1 2 7 4 5 14 8 7 6 3 3
15 9 9

Tiến trình P1 yêu cầu tài nguyên là (2,0,1). Sử dụng giải thuật banker, cho biết có thể thực hiện
yêu cầu cấp phát tài nguyên này hay không?
 Xác định Need(i) <= Work
o Với P0: 7 7 3 <= 4 2 1 -> false
o Với P1: 3 3 1 <= 4 2 1 -> false
o Với P2: 4 2 1 <= 4 2 1 -> true
 Thu hồi tài nguyên Work = Work + Alloc(P2) = (4,2,1)+(2,1,3) = (6,3,4)
 Xét lại vòng lặp
o Với P0: 7 7 3 <= 6 3 4 -> False
o Với P1: 3 3 1 <= 6 3 4 -> True
 Thu hồi tài nguyên Work= Work + Alloc(P1) = (6,3,4)+(5,2,2)=11,5,6
 Xét lại vòng lặp
o Với P0: 7 7 3 <= 11 5 6 -> False
o Với P3: 9 3 3 <= 11 5 6 -> True
 Thu hồi tài nguyên Work= Work + Alloc(P3) = 11 5 6 + 0 3 0 = 11 8 6
 Xét lại vòng lặp
o Với P0:7 7 3 <= 11 8 6 -> True
 Thu hồi tài nguyên Work= Work + Alloc(P3) = 11 8 6 + 3 0 1 = 14 8 7
 Xét lại vòng lặp
o Với P4:6 3 3 <= 14 8 7 -> True
 Thu hồi tài nguyên Work= Work + Alloc(P4) = 14 8 7 + 1 1 2 = 15 9 9-

 Tìm thấy chuỗi cấp phát an toàn {P2,P1,P3,P0,P4} nên có thể thực hiện cấp phát tài
nguyên cho P1 được
Câu 24: Cho hệ thống có 5 tiến trình và 3 loại tài nguyên (A,B,C). Giả sử hệ thống đang ở
trạng thái sau:
Max Allocation Available Need
A B C A B C A B C A B C
P1 2 3 2 0 1 2 2 3 3 2 2 0 P1
P2 3 7 5 0 0 1 2 4 5 3 7 4 P3
P3 3 4 3 2 0 0 4 4 5 1 4 3 P4
P4 2 2 2 1 1 1 5 5 6 1 1 1 P5
P5 2 9 0 2 4 0 7 9 6 0 5 0 P2
7 9 7
a) Tính số tài nguyên mỗi loại của hệ thống
b) Hãy tìm một trạng thái an toàn
Không xãy ra Deadlock
 Hệ thống an toàn
Chuỗi an toàn là : P1-P3-P4-P5-P2
c) Nếu tiến trình P3 có yêu cầu thêm tài nguyên (A;0, B:0, C:3) áp dụng giải thuật Banker
xét xem có nên cấp phát cho P3 hay không? Tại sao
Vì Requests P3(0,0,3) <= Need P3(3,4,3)
P3(0,0,3) <= Avail (2,3,3)
 Cấp phát được cho P3
Available = 2 3 3 – 0 0 3 = 2 3 0
Allocation P3 = 2 0 0 + 0 0 3 = 2 0 3
Need P3 = 3 4 3 – 2 0 3 = 1 4 0

Max Allocation Available Need


A B C A B C A B C A B C
P1 2 3 2 0 1 2 2 3 0 2 2 0 P1
P2 3 7 5 0 0 1 2 4 2 3 7 4 P3
P3 3 4 3 2 0 3 4 4 5 1 4 0 P4
P4 2 2 2 1 1 1 5 5 6 1 1 1 P5
P5 2 9 0 2 4 0 7 9 6 0 5 0 P2
7 9 7

Hệ thống không xãy ra deadlock => Hệ thống an toàn


Chuỗi an toàn : P1-P3-P4-P5-P2.
Câu 25: Giải thích vai trò của PCB
Khối điều khiển tiến trình – Process Control Block – PCB, là cấu trúc dữ liệu được tạo ra và
quản lí bởi HĐH.
Khi Process đang thực hiện, nó gồm có thành phần thông tin sau:
+ ID (Identifer): là đặc điểm nhận dạng từng process với nhau vì có nhiều process tồn tại đồng
thời.
+State(trạng thái): Là trạng thái hoạt động của Process, nếu đang được CPU thực thi thì state là
Running.(các trạng thái khác là Bloked, Ready, New, End).
+ Priority( độ ưu tiên): Mức ưu tiên của Process so với các Process khác đang được thực hiện
đồng thời.
+ Program Counter (bộ đếm chỉ thị): Mang địa chỉ của lệnh tiếp theo sẽ được thực thi.
+ Memory Pointer: Gồm có con trỏ đến địa chỉ của Program Code và data.
+ Context Data: dữ liệu lấy từ thanh ghi của CPU khi process đang ở trạng thái running
+ IO Status Information: danh sách các thiết bị IO cấp phát cho process, danh mục các file được
Process này sử dụng.
+ Acounting Information: Thông tin này là lượng CPU được phép sử dụng. Giới hạn thời gian
thực hiện,…

Chứa thông tin cần thiết để thực hiện công việt ngắt một process đang thực hiện để thực hiện một
process khác và có thể quay lại process đã ngắt để thực hiện tiếp tục. Khi một Process bị ngắt,
thông tin từ PC(program Counter) và thanh ghi (Context data) được lưu vào PCB của Process bị
ngắt. Khi đó Status của Process bị ngắt sẽ chuyển từ trạng thái Running sang trạng thái Blocked.
Lúc này OS giao Process khác cho CPU thực hiện. Lúc đó Process được quay trở lại trạng thái
running sẽ được CPU lấy các dữ liệu PC và Context Data để tiếp tục công việc.
Vậy tóm lại, PCB là cấu trúc dữ liệu cần thiết để lưu trữ các thông tin của process, và nhờ nó mà
OS có thể thực hiện cơ chế đa chương.
Câu 26: Nêu định nghĩa HDH ? Hệ điều hành thực hiện chức năng chính gì
Hệ điều hành là chương trình trung gian giữa phần cứng máy tính và người sử dụng, có chức
năng điều khiển và phối hợp việc sử dụng phần cứng và cung cấp các dịch vụ cơ bản cho các ứng
dựng
Chức năng chính:
 Phân chia thời gian xử lý và định thời CPU
 Phối hợp và đồng bộ hoạt động giữa các processes ( coordination & synchronization )
 quản lý tài nguyên hệ thống (thiết bị I/O, bộ nhớ, file chứa dữ liệu,..)
 Thực hiện 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
CUng cấp giao diện làm việc cho users
Câu 27: Trình bài khái niệm về bế tắc, cho ví dụ. Hãy nêu các điều kiện xảy ra bế tắc trong
hệ thống?
Deadlock là một trạng thái của hệ thống trong đó:
Một tập hợp các tiến trình đang bị nghẽn
Mỗi tiến trình đang giữ một tài nguyên bởi một tiến trình khác trong tập các tiến trình đang bị
nghẽn
Vd:
Giả sử hệ thống có 2 tiến trình P và Q và F1, F2 là 2 tập tin
Tiến trình P đang giữ F1 và cần truy xuất thêm F2
Tiến trình Q đang giữ F2 và cần truy xuất thêm F1.
Câu 28: Hệ thống thi hành tuần tự hết công việc này đến công việc khác:
a) Hệ thống đa chương
b) Hệ thống chia sẻ thời gian
c) Hệ thống đơn chương
d) Cả 3 đều sai
Câu 29: Hệ thống thực thi nhiều công việc cùng 1 lúc
a) Hệ thống đa chương
b) Hệ thống chia sẻ theo thời gian
c) Cả 2 câu a và b đều đúng
d) Cả 2 câu a và b đều sai
Câu 30: Cơ chế spooling thuộc thành phần của hệ điều hành?
a) Quản lý hệ thống I/O
b) Quản lý hệ thống lưu trữ thứ cấp
c) Quản lý bộ nhớ chính
d) Quản lý file
Câu 31: Hệ thống phân chia thành các module và chưa phân rõ các chức năng giữa các
thành phần của hệ thống:
a) Cấu trúc đơn giản
b) Cấu trúc vi nhân
c) Cấu trúc phân tầng
d) Cả 3 đều đúng
Câu 32: Hoạt động của CPU gọi là?
a) Task
b) Process
c) Job
d) Cả 3 đều đúng
Câu 33: Các thông tin lưu trữ trong khối process control block
a) PID (process identifier)
b) PSW (process status word)
c) PC (program counter)
d) Cả 3 đều đúng
Câu 34: Quá trình luôn ở trạng thái running
a) Quá trình hướng I/O
b) Quá trình hướng CPU
c) Cả 2 đều đúng
d) Cả 2 đều sai
Câu 35: Trạng thái của 1 tiến trình sau khi gặp chỉ thị I/O là?
a) Idle
b) Ready
c) Running
d) Waiting
Câu 36: Vấn đề gặp phải đối với bộ định thời dựa trên độ ưu tiên là:
a) Độ ưu tiên thấp
b) Bị khóa (block) mãi mãi
c) Đói tài nguyên
d) Cả 3 đều sai
Câu 37: Khi process chuyển từ trạng thái ready sang running thì dùng bộ lập lịch nào
a) Short-term
b) Long -term
c) Medium-term
d) Cả 3 đều sai
Câu 38: Chương trình .COM của ms-dos có thể gán địa chỉ tuyệt đối lúc nào?
a) Load time
b) Run time
c) Compile time
d) Linking time
Câu 39: Chương trình .COM của MS dos khi biên dịch thì kết quả gán địa chỉ:
a) Địa chỉ tương đối
b) Địa chỉ tuyệt đối
c) Địa chỉ luận lý
d) Các câu trên sai
Câu 40: Trong các thành phần của thiết bị vật lý, thì thành phần nào giúp chuyển đổi từ
địa chỉ luận lý sang địa chỉ vật lý
a) MAR (memory address register)
b) MDR ( Memory data register)
c) MMU ( Memory management Unit)
d) Program counter
Câu 41: Quá trình liên kết thư viện động vào chương trình diễn ra trong giai đoạn nào:
a) Compile
b) Linkin
c) Assembler
d) Loader
Câu 42: Trong các cơ chế sau, cơ chế nào cho phép bộ nhớ nạp kích thước của process lớn
hơn kích thước thực của bộ nhớ chính
a) Overlay
b) Swapping
c) Dynamic
d) Static
Câu 43: Cơ chế quản lý bộ nhớ nào sau đây gây ra hiện tượng phân mảnh nội:
a) Fixef partition
b) Dynamic partition
c) Simple paging
d) Simple segmentation
Câu 44: Trong các chiến lược placement, đưa 1 process vào 1 vùng nhớ trống của bộ nhớ
chính, thì chiến lược nào tối ưu nhất trong các chiến lược sau:
a) Best-fit
b) First-fit
c) Next-fit
d) Worst -fit
Câu 45: Chỉ số Hit-ratio trong việc sử dụng bảng TLB, ý nghĩa của hit-ratio:
a) Tỷ lệ tìm thấy
b) Tỷ lệ không tìm thấy
c) Số trang có trong TLB
d) Số trang không có trong TLB
Câu 46: Các tiêu chuẩn định thời CPU, tiêu chuẩn nào hướng đến hệ thống
a) Thông lượng
b) Thời gian quay vòng
c) Thời gian chờ
d) Thời gian đáp ứng
Câu 47: Chọn câu sai, trong đồ thị cấp phát tài nguyên thể hiện được:
a) Phát hiện deadlock khi có chu trình trong đồ thị
b) Một process yêu cầu 1 tài nguyên
c) Tất cả các process trong hệ thống
d) Tất cả các loại tài nguyên trong hệ thống
Câu 48: Giải thuật lập lịch round robin sử dụng độ ưu tiên nào
a) Thời gian sử dụng CPU
b) Theo thời điểm đến hệ thống của các process
c) Theo dung lượng bộ nhớ process sử dụng
d) Các process có cùng độ ưu tiên

You might also like