1. Trang chủ
  2. » Công Nghệ Thông Tin

Câu hỏi và đáp án môn hệ điều hành

8 127 3

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 251,15 KB

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

Nội dung

Cho biết số bit dùng cho địa chỉ offset và số trang logic tối đa trong không gian tiến trình.. Tại sao phải điều độ tiến trình qua đoạn găng: Để hạn chế các lỗi có thể xảy ra do sử dụng

Trang 1

Câu 1:

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à 8KB 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>

Đáp án:

a Cho biết số bit dùng cho địa chỉ offset

Là số bit cần dùng để mô tả tất cả các địa chỉ trong một trang

Kích thước một trang: 8KB = 23.210B = 8192B = 213B  Số bit cần dùng là 13 bit

b Số khung trang vật lý

Kích thước bộ nhớ vật lý

Kích thước trang =

320 MB

8 KB/trang=

320∗220B

8∗210B /trang=40∗2

10

=40906 trang

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

Kích thước không giantiếntrình

Kích thước trang =

248B

8 KB/trang=

248B

213B /trang=2

35trang

d Cho địa chỉ logic 20030, yêu cầu đổi sang dạng <p, d>

Do kích thước trang là 8192, lấy 20030 chia cho 8192 được 2 dư 3646

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

Câu 2:

Một máy tính sử dụng địa chỉ logic 64bit có dung lượng bộ nhớ 64MB Hệ điều hành

sử dụng 12 bit để làm địa chỉ offset Yêu cầu tính số trang logic, số trang vật lý và kích thước trang

Đáp án:

a Số trang logic

Kích thước không giantiếntrình

Kích thước trang =

264B

4 KB/trang=

264B

212B/trang=2

52

trang

b Số trang vật lý

Kích thước bộ nhớ vật lý

Kích thước trang =

64 MB

4 KB/trang=

64∗220B

4∗210B/trang=16∗2

10=16384 trang

c Kích thước trang

Kích thước 1 trang: Số bit làm địa chỉ offset là 12 bit  22.210B= 4096 B = 4KB

Câu 3:

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à 16KB 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 203030, yêu cầu đổi sang dạng <p, d>

Đáp án:

a Cho biết số bit dùng cho địa chỉ offset

Trang 2

Là số bit cần dùng để mô tả tất cả các địa chỉ trong một trang

Kích thước một trang: 16KB = 24.210B = 16384B = 214B  Số bit cần dùng là 14 bit

b Số khung trang vật lý

Kích thước bộ nhớ vật lý

Kích thước trang =

800 MB

16 KB/trang=

800∗220B

16∗210B /trang=50∗2

10

=51200 trang

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

Kích thước không giantiếntrình

Kích thước trang =

248B

16 KB /trang=

248B

214B/trang=2

34

trang

d Cho địa chỉ logic 203030, yêu cầu đổi sang dạng <p, d>

Do kích thước trang là 16384, lấy 203030 chia cho 16384 được 12 dư 6422

Vậy, 203030 được đổi thành <p = 12, d = 6422>

Câu 4:

Cho một hệ thống máy tính sử dụng bộ nhớ ảo với cơ chế toàn cục (nghĩa là khi chọn

trang nạn nhân, hệ thống có thể chọn trang của một tiến trình khác) Hệ thống có 3 khung trang, kích thước của mỗi trang là 1024 bytes Hệ thống sử dụng địa chỉ logic 16 bit.

a Cho biết số bit dùng cho địa chỉ offset và số trang logic tối đa trong không gian tiến trình

b Cho địa chỉ logic 263168, yêu cầu đổi sang dạng <p,d>, nêu nhận xét về tính hợp lệ của

địa chỉ trên

Đáp án:

a + Cho biết số bit dùng cho địa chỉ offset.

Là số bit cần dùng để mô tả tất cả các địa chỉ trong một trang

Kích thước một trang: 10KB = 210B = 1024B = 210B  Số bit cần dùng là 10 bit

+ Số trang logic trong không gian tiến trình

Kích thước không giantiếntrình

Kích thước trang =

216B

10 KB/trang=

216B

210B /trang=2

6

trang

+ Số trang logic tối đa trong không gian tiến trình = 26 * 3 = 218

b Cho địa chỉ logic 263168, yêu cầu đổi sang dạng <p,d>,

Do kích thước trang là 1024, lấy 263168 chia cho 1024 được 257 dư 0

Vậy, 263168 được đổi thành <p = 257, d = 0>

Câu 5 :

Một hệ thống máy tính với bộ nhớ chính có kích thước 640MB Hệ thống sử dụng địa chỉ logic 32 bit Kích thước trang được sử dụng là 16KB 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>.

Đáp án:

a Cho biết số bit dùng cho địa chỉ offset

Là số bit cần dùng để mô tả tất cả các địa chỉ trong một trang

Kích thước một trang: 16KB = 24.210B = 16384B = 214B  Số bit cần dùng là 14 bit

b Số khung trang vật lý

2

Trang 3

Kích thước bộ nhớ vật lý

Kích thước trang =

640 MB

16 KB/trang=

640∗220B

16∗210B /trang=40∗2

10

=40906 trang

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

Kích thước không giantiếntrình

Kích thước trang =

232B

16 KB/trang=

232B

214B/trang=2

18trang

d Cho địa chỉ logic 20030, yêu cầu đổi sang dạng <p, d>

Do kích thước trang là 8192, lấy 20030 chia cho 8192 được 2 dư 3646

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

Câu 6:

Một hệ thống máy tính với bộ nhớ chính có kích thước 512MB Hệ thống sử dụng địa chỉ logic 32 bit Kích thước trang được sử dụng là 32KB 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 23032, yêu cầu đổi sang dạng <p, d> p là số trang, d là độ lệch trong

trang

Đáp án:

a Cho biết số bit dùng cho địa chỉ offset

Là số bit cần dùng để mô tả tất cả các địa chỉ trong một trang

Kích thước một trang: 32KB = 25.210B = 32768B = 215B  Số bit cần dùng là 15 bit

b Số khung trang vật lý

Kích thước bộ nhớ vật lý

Kích thước trang =

512 MB

32 KB/trang=

512∗220B

32∗210B /trang=16∗2

10

=16384 trang

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

Kích thước không giantiếntrình

Kích thước trang =

232B

32 KB/trang=

232B

215B/trang=2

17trang

d Cho địa chỉ logic 23032, yêu cầu đổi sang dạng <p, d>.

Do kích thước trang là 32768, lấy 23032 chia cho 32768 được 0 dư 23032

Vậy, 23032 được đổi thành <p = 0, d = 23032 >

Trang 4

Câu 7 :

Tại sao phải điều độ tiến trình qua đoạn găng? Hãy trình bày phương pháp sử dụng cặp chỉ thị STI và CLI

Đáp án:

a Tại sao phải điều độ tiến trình qua đoạn găng:

Để hạn chế các lỗi có thể xảy ra do sử dụng tài nguyên găng, hệ điều hành phải điều khiển các tiến trình sao cho, tại một thời điểm chỉ có một tiến trình nằm trong đoạn găng, nếu

có nhiều tiến trình cùng muốn vào (thực hiện) đoạn găng thì chỉ có một tiến trình được vào, các tiến trình khác phải chờ, một tiến trình khi ra khỏi (kết thúc) đoạn găng phải báo cho hệ điều hành và/hoặc các tiến trình khác biết để các tiến trình này vào đoạn găng, vv Các công

tác điều khiển tiến trình thực hiện đoạn găng của hệ điều hành được gọi là điều độ tiến trình qua đoạn găng Để công tác điều độ tiến trình qua đoạn găng được thành công, thì cần phải

có sự phối hợp giữa vi xử lý, hệ điều hành và người lập trình Vi xử lý đưa ra các chỉ thị, hệ điều hành cung cấp các công cụ để người lập trình xây dựng các sơ đồ điều độ hợp lý, để đảm bảo sự độc quyền trong việc sử dụng tài nguyên găng của các tiến trình

b Hãy trình bày phương pháp sử dụng cặp chỉ thị STI và CLI.

Một số vi xử lý cung cấp cặp chỉ thị CLI và STI để người lập trình thực hiện các thao tác

mở ngắt (STI: Setting Interrupt) và cấm ngắt (CLI: Clean Interrupt) của hệ thống trong lập trình Người lập trình có thể dùng cặp chỉ thị này để tổ chức điều độ cho các tiến trình như sau: Trước khi vào đoạn găng tiến trình thực hiện chỉ thị CLI, để yêu cầu cấm các ngắt trong

hệ thống, khi đó ngắt đồng hồ không thể phát sinh, nghĩa là không có một tiến trình nào khác

có thể phát sinh, nhờ đó mà tiến trình trong đoạn găng toàn quyền sử dụng tài nguyên găng cho đến hết thời gian xử lý của nó Khi kết thúc truy xuất tài nguyên găng, tiến trình ra khỏi đoạn găng, tiến trình thực hiện chỉ thị STI để cho phép ngắt trở lại Khi đó các tiến trình khác

có thể tiếp tục hoạt động và có thể vào đoạn găng

Trong sơ đồ điều độ này tiến trình Pi được viết như sau:

Procedure P(i: integer);

Begin

Repeat

<Đoạn găng của P>;

<Đoạn không găng>;

Until F

End;

{ }

4

Trang 5

Câu 8 :

Trình bày sơ đồ điều độ chung cho các tiến trình Trình bày phương pháp điều độ sử dụng khóa chung

Đáp án:

Trang 6

Câu 9 :

Tại sao phải điều độ tiến trình qua đoạn găng? Hãy trình bày phương pháp sử dụng chỉ thị Test and Set (TSL)

Đáp án:

a Để hạn chế các lỗi có thể xảy ra do sử dụng tài nguyên găng, hệ điều hành phải điều khiển các tiến trình sao cho, tại một thời điểm chỉ có một tiến trình nằm trong đoạn găng, nếu

có nhiều tiến trình cùng muốn vào (thực hiện) đoạn găng thì chỉ có một tiến trình được vào, các tiến trình khác phải chờ, một tiến trình khi ra khỏi (kết thúc) đoạn găng phải báo cho hệ điều hành và/hoặc các tiến trình khác biết để các tiến trình này vào đoạn găng, vv Các công

tác điều khiển tiến trình thực hiện đoạn găng của hệ điều hành được gọi là điều độ tiến trình qua đoạn găng Để công tác điều độ tiến trình qua đoạn găng được thành công, thì cần phải

có sự phối hợp giữa vi xử lý, hệ điều hành và người lập trình Vi xử lý đưa ra các chỉ thị, hệ điều hành cung cấp các công cụ để người lập trình xây dựng các sơ đồ điều độ hợp lý,

b Để tổ chức điều độ cho những trường hợp như vậy, một số vi xử lý cung cấp một chỉ thị đặc biệt cho phép kiểm tra và cập nhật nội dung một vùng nhớ trong một thao tác không thể phân chia đươc, gọi là Test and Set lock (TSL) TSL được định nghĩa như sau:

Function TestAndSetLock (Var:Integer):Boolean;

Begin

IF I = 0 Then

Begin End

TestAndSetLock:=True; {thể tách rời}

End;

Else

TestAndSetLock := False

{ }

Để tổ chức điều độ tiến trình với TSL chương trình phải sử dụng biến chia sẻ Lock, khời gán bằng 0 Theo đó, mỗi tiến trình trước khi vào đoạn găng phải kiểm tra giá trị của Lock Nếu Lock = 0 thì vào đoạn găng Nếu Lock = 1 thì phải đợi cho đến khi Lock = 0 Như vậy, trước khi vào đoạn găng tiến trình phải gọi hàm TestAndSetLock, để kiểm tra giá trị trả về của hàm này:

1 Nếu bằng False, là đang có một tiến trình trong đoạn găng, thì phải chờ cho đến khi hàm trả

về True, có một tiến trình vừa ra khỏi đoạn găng

2 Nếu bằng True, thì tiến trình sẻ vào đoạn găng để sử dụng tài nguyên găng Khi kết thúc sử dụng tài nguyên găng ra khỏi đoạn găng thì tiến trình phải đặt lại gía trị của Lock, Lock =

0, để các tiến trình khác có thể vào đoạn găng

Câu 10 :

Trình bày sơ đồ điều độ chung cho các tiến trình Trình bày phương pháp điều độ sử dụng khóa riêng

6

Trang 7

Đáp án:

b Mỗi tiến trình sử dụng một biến khoá Lock riêng, tương ứng với một tài nguyên găng trong hệ thống Biến khoá riêng của tất cả các tiến trình đều được khởi gán bằng 0, tức là chưa vào đoạn găng

Theo đó, mỗi tiến trình trước khi vào đoạn găng ứng với một tài nguyên găng nào đó thì trước hết phải kiểm tra biến khoá riêng, tương ứng với tài nguyên găng mà tiến trình muốn truy xuất, của tất cả các tiến trình còn lại:

1 Nếu tồn tại một biến khoá riêng của một tiến trình nào đó bằng 1, Lock = 1, tức là đã

có một tiến trình nào đó ở trong đoạn găng, thì tiến trình phải chờ ngoài đoạn găng cho đến khi tất cả biến khoá riêng = 0

2 Nếu tất cả các biến khóa riêng của các tiến trình đều = 0, Lock = 0, tức là không có tiến trình nào trong đoạn găng, thì tiến trình thiết lập quyền vào đoạn găng, đặt Lock = 1, và vào đoạn găng Tiến trình vừa ra khỏi đoạn găng phải đặt Lock = 0, để các tiến trình khác có thể vào đoạn găng

Sau đây là sơ đồ điều độ dùng biến khoá riêng cho hai tiến trình đồng thời P1 và P2

Hai tiến trình này dùng hai biến khoá riêng là Lock1 và Lock2:

Trang 8

8

Ngày đăng: 16/11/2021, 14:49

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w