You are on page 1of 5

2.

Số lịch trình khác nhau có thể có cho n quy trình có thể tính bằng n!.

Ví dụ: với 3 quy trình, tổng số lịch trình có thể có là 3!.

2.2

Lập lịch chấm dứt: Trong lập lịch chấm dứt, một quy trình đang chạy có thể bị ngắt và tạm thời đình
chỉ để cho phép một quy trình khác có độ ưu tiên cao hơn chạy. Bộ lập lịch có quyền chấm dứt một
quy trình đang chạy và cấp phát CPU cho một quy trình khác. Điều này có nghĩa là quy trình có thể bị
dừng đột ngột giữa quá trình thực thi. Các thuật toán lập lịch chấm dứt phổ biến bao gồm Round
Robin, Shortest Remaining Time First (SRTF) và Priority Scheduling với chấm dứt.

Lập lịch không chấm dứt: Trong lập lịch không chấm dứt, một quy trình đang chạy tiếp tục thực thi
cho đến khi nó tự nguyện giải phóng CPU, chuyển sang trạng thái chờ I/O hoặc hoàn thành thực thi.
Bộ lập lịch không có quyền chấm dứt một quy trình đang chạy. Một khi một quy trình nhận được
CPU, nó giữ CPU cho đến khi hoàn thành thực thi hoặc vào trạng thái chờ. Các thuật toán lập lịch
không chấm dứt phổ biến bao gồm First-Come, First-Served (FCFS), Shortest Job Next (SJN) và Priority
Scheduling không chấm dứt.

2.6

Sử dụng các kích thước khung thời gian khác nhau trong hệ thống hàng đợi nhiều tầng mang lại lợi
ích bao gồm đáp ứng nhanh cho các quy trình ưu tiên cao, tăng hiệu suất xử lý, đảm bảo công bằng,
tối ưu bổ tài nguyên và cân bằng tải công việc.

2.7

a. Priority và SJF: Không có mối quan hệ trực tiếp giữa hai tập hợp thuật toán này.
b. Multilevel feedback queues và FCFS: Multilevel feedback queues có thể sử dụng FCFS làm một
trong các hàng đợi, nhưng không có mối quan hệ trực tiếp giữa hai tập hợp thuật toán này.
c. Priority và FCFS: Không có mối quan hệ trực tiếp giữa hai tập hợp thuật toán này.
d. RR và SJF: Không có mối quan hệ trực tiếp giữa hai tập hợp thuật toán này.

2.8
Thuật toán lập lịch CPU ưu tiên các quy trình đã sử dụng ít thời gian xử lý nhất trong quá khứ gần.
Điều này làm cho thuật toán ưu tiên các chương trình tập trung vào I/O, nhưng không gây đói tài
nguyên CPU vĩnh viễn cho các chương trình tập trung vào CPU. Điều này xảy ra nhờ cơ chế lão hóa,
gián đoạn và cân nhắc công bằng trong thuật toán.

2.9

Trong PCS, quy trình có thể bị gián đoạn và ưu tiên giữa các quy trình khác. Điều này cho phép quy
trình ưu tiên cao hơn được thực thi trước, ngay cả khi quy trình đang thực thi. PCS có thể tạm dừng
quy trình hiện tại và chuyển sang thực thi quy trình ưu tiên hơn.
Trong SCS, quy trình không bị gián đoạn và không xem xét mức ưu tiên. Quy trình được thực thi cho
đến khi hoàn thành hoặc gặp một sự kiện ngắt. SCS không cho phép ưu tiên giữa các quy trình và
không can thiệp vào quy trình đang thực thi.
PCS có thể gây ra độ trễ cao hơn và thời gian đáp ứng chậm hơn so với SCS. Điều này xảy ra do việc
gián đoạn và ưu tiên trong PCS có thể làm tạm dừng quy trình đang thực thi, dẫn đến mất thời gian
và sự chậm trễ trong việc xử lý quy trình.
2.10

P1:= (40 / 2) + 60 = 80
P2:= (18 / 2) + 60 = 69
P3:= (10 / 2) + 60 = 65

3.1

a. Số bit dùng cho địa chỉ offset:


Kích thước trang được sử dụng là 8KB, tương đương với 2^13 byte (8KB = 8 * 2^10 byte = 2^13
byte). Vì vậy, cần 13 bit để định vị offset trong một trang.
b. Số khung trang vật lý:
Bộ nhớ chính có kích thước 320MB, tương đương với 320 * 2^20 byte (1MB = 2^20 byte). Kích thước
trang là 8KB, tương đương với 2^13 byte. Số khung trang vật lý có thể tính bằng cách chia kích thước
bộ nhớ chính cho kích thước trang: (320 * 2^20) / (2^13) = 2^27 / 2^13 = 2^14.
c. Số trang logic trong không gian tiến trình:
Kích thước địa chỉ logic là 48 bit. Sử dụng 13 bit cho offset, còn lại 48 - 13 = 35 bit dùng để định vị
trang logic. Vì vậy, số trang logic trong không gian tiến trình là 2^35.

3.2

Số bit dùng để định vị trang logic = 64 - 12 = 52 bit.


Số trang logic = 2^(số bit định vị trang logic) = 2^52.
Dung lượng bộ nhớ là 64MB. Dung lượng trang vật lý cần phải chia bằng dung lượng bộ nhớ: Dung
lượng trang vật lý = 64MB.
Kích thước trang có thể tính bằng cách lấy kích thước bộ nhớ chia cho số trang vật lý:Kích thước
trang = Dung lượng bộ nhớ / Số trang vật lý = 64MB / (2^52).

3.3

a. Số bit dùng cho địa chỉ offset:


Kích thước trang được sử dụng là 16KB, tương đương với 2^14 byte (16KB = 16 * 2^10 byte = 2^14
byte). Vì vậy, cần 14 bit để định vị offset trong một trang.

b. Số khung trang vật lý:


Bộ nhớ chính có kích thước 800MB, tương đương với 800 * 2^20 byte (1MB = 2^20 byte). Kích thước
trang là 16KB, tương đương với 2^14 byte. Số khung trang vật lý có thể tính bằng cách chia kích
thước bộ nhớ chính cho kích thước trang: (800 * 2^20) / (2^14) = 800 * 2^6 = 51200.

c. Số trang logic trong không gian tiến trình:


Với địa chỉ logic 32 bit, số trang logic trong không gian tiến trình là 2^32 trang.

d.
Trang logic (p): Sử dụng 18 bit trang logic, ta có p = 203030 >> 14 = 12.

Offset (d): Sử dụng 14 bit cho offset, ta có d = 203030 & (2^14 - 1) = 203030 & 16383 = 4646.
3.4

a. Số bit dùng cho địa chỉ offset:


Với kích thước trang là 1024 bytes, ta cần 10 bit để định vị offset trong mỗi trang.
Số bit dùng cho số trang logic:
Với địa chỉ logic 16 bit, ta có thể định vị tối đa 2^16 trang logic.

b. . Địa chỉ logic 263168, chuyển sang dạng <p, d>:


Địa chỉ logic 263168 chia thành trang logic (p) và offset (d) như sau:

Trang logic (p): Sử dụng 6 bit để định vị trang logic, ta có p = 263168 >> 10 = 257.
Offset (d): Sử dụng 10 bit để định vị offset, ta có d = 263168 & (2^10 - 1) = 263168 & 1023 =
64.

3.5

Địa chỉ logic (1,200):


Segment Index (p): 1 ( đoạn thứ 1)
Offset (d): 200
Địa chỉ vật lý = (Segment 1) + Offset = 1200 + 200 = 1400

Địa chỉ logic (1,0):


Segment Index (p): 1 ( đoạn thứ 1)
Offset (d): 0
Địa chỉ vật lý = (Segment 1) + Offset = 1200 + 0 = 1200

Địa chỉ logic (0,700):


Segment Index (p): 0 ( đoạn thứ 0)
Offset (d): 700
Địa chỉ vật lý = (Segment 0) + Offset = 300 + 700 = 1000

Địa chỉ logic (2,0):


Segment Index (p): 2 ( đoạn thứ 2)
Offset (d): 0
Địa chỉ vật lý = (Segment 2) + Offset = 2000 + 0 = 2000

Địa chỉ logic (2,600):


Segment Index (p): 2 ( đoạn thứ 2)
Offset (d): 600
Địa chỉ vật lý = (Segment 2) + Offset = 2000 + 600 = 2600

3.6

a. Địa chỉ logic (0,430):

Chỉ số đoạn (p): 0 (đoạn thứ 0)


Offset (d): 430
Địa chỉ vật lý = (Segment 0) + Offset = 219 + 430 = 649 (hợp lệ)

b. Địa chỉ logic (1,010):

Chỉ số đoạn (p): 1 (đoạn thứ 1)


Offset (d): 010
Địa chỉ vật lý = (Segment 1) + Offset = 2300 + 010 = 2310 (hợp lệ)

c. Địa chỉ logic (2,500):

Chỉ số đoạn (p): 2 (đoạn thứ 2)


Offset (d): 500
Địa chỉ vật lý = (Segment 2) + Offset = 90 + 500 = 590 (không hợp lệ)

d. Địa chỉ logic (3,400):

Chỉ số đoạn (p): 3 (đoạn thứ 3)


Offset (d): 400
Địa chỉ vật lý = (Segment 3) + Offset = 1327 + 400 = 1727 (hợp lệ)

e. Địa chỉ logic (4,112):

Chỉ số đoạn (p): 4 (đoạn thứ 4)


Offset (d): 112
Địa chỉ vật lý = (Segment 4) + Offset = 1952 + 112 = 2064 (không hợp lệ)

3.7

a) Địa chỉ logic (0, 430):

Chỉ số đoạn (p): 0 (đoạn thứ 0)


Offset (d): 430
Địa chỉ vật lý = (Segment 0) + Offset - Length = 219 + 430 - 600 = 49 (không hợp lệ)

b) Địa chỉ logic (1, 10):

Chỉ số đoạn (p): 1 (đoạn thứ 1)


Offset (d): 10
Địa chỉ vật lý = (Segment 1) + Offset - Length = 2300 + 10 - 14 = 2296 (hợp lệ)

c) Địa chỉ logic (2, 500):

Chỉ số đoạn (p): 2 (đoạn thứ 2)


Offset (d): 500
Địa chỉ vật lý = (Segment 2) + Offset - Length = 90 + 500 - 100 = 490 (không hợp lệ)

d) Địa chỉ logic (3, 400):

Chỉ số đoạn (p): 3 (đoạn thứ 3)


Offset (d): 400
Địa chỉ vật lý = (Segment 3) + Offset - Length = 1327 + 400 - 580 = 1147 (hợp lệ)

e) Địa chỉ logic (4, 112):


Chỉ số đoạn (p): 4 (đoạn thứ 4)
Offset (d): 112
Địa chỉ vật lý = (Segment 4) + Offset - Length = 1952 + 112 - 96 = 1968 (hợp lệ)

You might also like