Ngân hàng câu hỏi Môn Hệ điều hành kèm đáp án - Pdf 29

1. HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA: Công nghệ thông tin……………………………………… …�� �
NGÂN HÀNG CÂU HỎI THI TỰ LUẬN
Tên học phần: Hệ điều hành Mã học phần:…………
Ngành đào tạo : .Công nghệ thông tin Trình độ đào tạo: .Đại học.
1. Ngân hàng câu hỏi thi
● Câu hỏi loại 1 điểm
Chương 1 :
Câu hỏi 1.1: Chương trình ứng dụng gọi dịch vụ của hệ điều hành bằng cách nào? Hãy lấy một ví dụ về
giao diện lập trình cho một hệ điều hành thông dụng.
Câu hỏi 1.2: Trình bày kỹ thuật xử lý theo mẻ (lô) và ưu điểm của kỹ thuật này. Hệ thống xử lý theo mẻ
có cần hệ điều hành không ?
Câu hỏi 1.3: Đa chương trình là gì ? Lý do sử dụng đa chương trình trong máy tính ? Yêu cầu đối với
phần cứng khi sử dụng đa chương trình?
Chương 2 :
Câu hỏi 1.4 : Trình bày khái niệm tiến trình và chỉ rõ điểm khác nhau giữa tiến trình với chương trình.
Nêu tên ít nhất bốn thao tác liên quan tới quản lý tiến trình (chỉ cần nêu tên, không cần trình bày chi
tiết).
Câu hỏi 1.5 : Trình bày về thao tác tạo mới tiến trình. Tiến trình có thể bị kết thúc trong những trường
hợp nào ?
Câu hỏi 1.6 : Trình bầy về thao tác và quá trình chuyển đổi giữa các tiến trình.
Câu hỏi 1.7: Thế nào là dòng (thread) mức người dùng và mức nhân. Nêu ưu nhược điểm của mỗi loại.
Câu hỏi 1.8 : Trình bày về điều độ quay vòng. Cho ví dụ minh họa về tính thời gian chờ đợi trung bình
khi điều độ theo kiểu này.
Câu hỏi 1.9 : Thế nào là bế tắc ? Điều kiện xẩy ra bế tắc là gì ?
Chương 3 :
Câu hỏi 1.10 : Thế nào là địa chỉ lô gic và địa chỉ vật lý ?
Câu hỏi 1.11 : Trình bầy kỹ thuật phân chương cố định bộ nhớ.
Câu hỏi 1.12 : Trình bày cơ chế ánh xạ địa chỉ khi sử dụng kỹ thuật phân chương bộ nhớ.
Câu hỏi 1.13 : Trình bày phương pháp kết hợp phân trang với phân đoạn. Vẽ sơ đồ và giải thích cơ chế
ánh xạ địa chỉ.

Câu hỏi 2.13 : Trình bày các cấu trúc dữ liệu dùng cho tổ chức bên trong của thư mục.
Câu hỏi 2.14 : Trình bày cách kiểm soát truy cập file sử dụng mật khẩu và sử dụng danh sách quản lý
truy cập
Câu hỏi 2.15 : Trình bày các thao tác cơ bản với file. Phân tích rõ một hệ thống file có nhất thiết phải có
thao tác mở file hay không.
● Câu hỏi loại 3 điểm
Chương 1 :
Câu hỏi 3.1: Trình bày khái niệm hệ điều hành. Phân tích rõ hai chức năng cơ bản của hệ điều hành.
Câu hỏi 3.2 : Dịch vụ của hệ điều hành là gì ? Trình bày những dịch vụ điển hình mà hệ điều hành cung
cấp. Làm rõ về quá trình tải và chạy hệ điều hành khi mới khởi động.
Chương 2 :
Câu hỏi 3.3 : Trình bày khái niệm dòng (thread) và mô hình đa dòng. Vấn đề sở hữu tài nguyên của tiến
trình và dòng. Phân tích ưu điểm của mô hình đa dòng.
Câu hỏi 3.4 : Phân tích các vấn đề cần quan tâm trong sử dụng và quản lý tiến trình đồng thời
(concurrent processes) đối với ba dạng tiến trình : tiến trình độc lập có cạnh tranh tài nguyên, tiến trình
hợp tác nhờ chia sẻ tài nguyên, và tiến trình hợp tác nhờ trao đổi thông điệp.
Câu hỏi 3.5 : Trình bày giải thuật Peterson cho đoạn nguy hiểm. Phân tích ưu nhược điểm của phương
pháp này.
Câu hỏi 3.6 : Trình bày phương pháp phát hiện và xử lý bế tắc bằng cách sử dụng đồ thị. Phân tích ưu
điểm của phương pháp này so với phương pháp ngăn ngừa bế tắc.
Chương 3 :
Câu hỏi 3.7 : Trình bày kỹ thuật tải trong quá trình thực hiện. Trình bày kỹ thuật liên kết động và thư
viện dùng chung. Phân tích rõ ưu điểm mà từng phương pháp đem lại.
Câu hỏi 3.8 : Trình bày kỹ thuật phân chương động bộ nhớ. Phân tích ưu nhược điểm của phương pháp
này so với phân chương cố định. Khi di chuyển chương sang vị trí khác cần thay đổi thông tin gì trong
khối ánh xạ địa chỉ.
Câu hỏi 3.9 : Trình bày kỹ thuật phân chương sử dụng phương pháp kề cận (buddy). Phân tích rõ các
điểm giống/khác nhau và ưu nhược điểm của phương pháp này so với phân chương cố định và phân
chương động (lưu ý không cần trình bầy lại hai phương pháp sau).
Câu hỏi 3.10 : Trình bày kỹ thuật phân đoạn bộ nhớ bao gồm cả cấu trúc và cách ánh xạ địa chỉ. Phân

c) Cho các tiến trình với độ dài và thời điểm xuất hiện như trong bảng sau
Tiến trình Thời điểm xuất hiện Độ dài
P1 8
P2 2 4
P3 4 2
Vẽ biểu đồ thể hiện thứ tự và thời gian cấp phát CPU cho các tiến trình khi sử dụng thuật toán : 1) điều
độ ưu tiên tiến trình ngắn nhất ; 2) điều độ ưu tiên thời gian còn lại ngắn nhất. Tính thời gian chờ đợi
trung bình cho từng trường hợp.
Câu hỏi 4.3:
a) Trình bày về các giải pháp phần cứng (cấm ngắt, sử dụng lệnh máy đặc biệt) cho vấn đề loại trừ
tương hỗ và đoạn nguy hiểm.
b) Sử dụng Test_and_Set để thực hiện loại trừ tương hỗ cho bài toán các triết gia ăn cơm.
c) Phân tích rõ giải pháp sử dụng Test_and_Set sử dụng ở trên có thể gây bế tắc hoặc đói không.
Câu hỏi 4.4 :
a) Trình bày phương pháp sử dụng cờ hiệu (semaphore) cho vấn đề loại trừ tương hỗ và đoạn nguy
hiểm.
b) Sử dụng cờ hiệu để thực hiện đồng bộ hóa cho bài toán Người sản xuất, người tiêu dùng với bộ đệm
hạn chế.
Câu hỏi 4.5 :
a) Trình bày giải pháp sử dụng monitor cho vấn đề loại trừ tương hỗ và đoạn nguy hiểm
b) Sử dụng monitor để thực hiện loại trừ tương hỗ cho bài toán Người sản xuất, người tiêu dùng với bộ
đệm hạn chế.
Câu hỏi 4.6 :
a) Phòng tránh bế tắc là gì ? Phân tích ưu điểm của việc phòng tránh bế tắc so với ngăn ngừa bế tắc.
b) Trình bày phương pháp phòng tránh bế tắc sử dụng thuật toán người cho vay (banker’s algorithm),
cho ví dụ minh họa cụ thể.
Chương 3 :
Câu hỏi 4.7 :
a) Trình bày khái niệm phân trang bộ nhớ.
b) Trình bày về ánh xạ địa chỉ khi phân trang bộ nhớ.

của file đó.
Ghi chú
:
Ký hiệu (mã) câu hỏi được quy định X.Y
Trong đó : + X tương đương số điểm câu hỏi (X chạy từ 1 đến 5).
+
Y là câu hỏi thứ Y (Y chạy từ 1 trở đi)
2. Đề xuất các phương án tổ hợp câu hỏi thi thành các đề thi
(Nếu thấy cần thiết)
: -
Tổ hợp 1 câu 1 điểm, 1 câu 2 điểm, 1 câu 3 điểm, 1 câu 4 điểm.
3. Hướng dẫn cần thiết khác:
Nên tổ hợp để câu hỏi trong
một đề thi phân bố đều theo cả 4 chương
Ngân hàng câu hỏi thi này đã được thông qua bộ môn và nhóm cán bộ giảng dạy học phần.
Hà Nội, ngày . . . tháng . . . . năm 20 . .
Trưởng
khoa
Trưởng bộ môn Giảng viên chủ trì biên soạn
Còn đây là bài giải thằng bạn gửi cho mình.
1.1: Chương trình ứng dụng gọi dịch vụ của hệ điều hành bằng cách nào? Hãy lấy một ví dụ
về giao diện lập trình cho một hệ điều hành thông dụng.+Các chương trình ứng dụng gọi dịch vụ
của HDH thông qua lời gọi hệ thống đc chứa trong giao diện lập trình mà HDH cung cấp+ lời gọi hệ
thống là dạng lệnh đặc biệt, đc thực hiện qua thư viện hàm gọi và các hàm hệ thống khác+Ví dụ một
hàm của Win32 API cho phép yêu cầu dịch vụ ghi ra file của Windows:BOOL WINAPI WriteFile(__in
HANDLE hFile,__in LPCVOID lpBuffer,__in DWORD nNumberOfBytesToWrite,__out-opt LPDWORD
lpNumberOfBytesWritten,__inout-opt LPOVERLAPPED lpOverlapped
1.2: Trình bày kỹ thuật xử lý theo mẻ (lô) và ưu điểm của kỹ thuật này. Hệ thống xử lý theo
mẻ có cần hệ điều hành không ?
Sau khi nhận dc chương trình kĩ thuật viên sẽ phân ct thành các mẻ,mỗi mẻ gồm những ct có yêu cầu

cập nhật và lưu vào PCB khi chuyển tiến trình? ♣ => Tùy từng trường hợp: ♣ Hệ thống chuyển sang
thực hiện ngắt vào/ra rồi quay lại thực hiện tiếp tiến trình: ♣Ngữ cảnh gồm thông tin có thể bị hàm xử lý
ngắt thay đổi ♣=> nội dung thanh ghi, trạng thái CPU♣ Sau khi thực hiện ngắt, hệ thống thực hiện tiến
trình khác ♣Thay đổi trạng thái tiến trình ♣Cập nhật thông tin thống kê trong PCB ♣Chuyển liên kết PCB
của tiến trình vào danh sách ứng với trạng thái mới ♣Cập nhật PCB của tiến trình mới được chọn ♣Cập
nhật nội dung thanh ghi và trạng thái CPU ♣ => Chuyển đổi tiến trình đòi hỏi thời gian.
1.7: Thế nào là dòng (thread) mức người dùng và mức nhân. Nêu ưu nhược điểm của mỗi
loại.dòng mức người dùng do trình ứng dụng tự tạo ra và quản lí HDH ko biết về sự tồn tại của những
dòng như vậy.Để tạo ra dòng mức người dùng trình ứng dụng sử dụng thư viện ngôn ngữ lập trình cung
cấp VD như trên java.+ưu điểm :-do dòng tạo ra và quản lí trong không gian người dùng nên việc
chuyển đổi dòng ko đòi hỏi phải chuyển sang chế độ nhân và do vậy tiết kiệm (t) hơn-trình ứng dụng có
thể điều độ dòng theo đặc điểm riêng của mình ko phụ thuộc vào phương thức điều độ của HDH-có thể
sử dụng dòng mức người dùng cả trên những HDH ko hỗ trợ đa dòng bằng cách bổ sung thư viện dòng
mà các ứng dụng có thể dùng chung.+ nhc đ: không tận dụng ưu đ về tính đáp ứng của mô hình đa
luông, k tận dụng kiến truc n` CPU
Dòng mức nhân được hệ điều hành tạo ra và quản lí.HDH sẽ cung cấp giao diện lập trình bao gồm một
số lời gọi hệ thống mà trình ứng dụng có thể gọi để yêu cầu tạo/xóa dòng thay đổi tham số liên quan tới
quản lý dòng .HDH windows và linux là hai VD trong việc hỗ trợ dòng mức nhân.
+ưu điểm : khắc phục được các nhược điểm của dòng mức người dùng.Cụ thể là việc sử dụng dòng mức
nhân cho phép tăng tính đáp ứng và khả năng thực hiện đồng thời của các dòng trong cùng 1 tiến
trình .Trên hệ thống với nhiều CPU dòng mức nhân có thể được cấp CPU khác nhau để thực hiện //+ nhc
đ : tốc độ chậm
1.8 : Trình bày về điều độ quay vòng. Cho ví dụ minh họa về tính thời gian chờ đợi trung bình
khi điều độ theo kiểu này.♣ Sửa đổi FCFS dùng cho các hệ chia sẻ thời gian ♣ Có thêm cơ chế phân
phối lại bằng cách sử dụng ngắt của đồng hồ ♣ Hệ thống xác định những khoảng thời gian nhỏ gọi là
lượng tử/ lát cắt thời gian t ♣ Khi CPU được giải phóng, HDH đặt thời gian của đồng hồ bằng độ dài
lượng tử, lấy tiến trình ở đầu hàng đợi và cấp CPU cho nó ♣ Tiến trình kết thúc trước khi hết thời gian t:
trả quyền điều khiển cho HDH♣ Hết lượng tử thời gian mà tiến trình chưa kết thúc: ♣Đồng hồ sinh ngắt
♣Tiến trình đang thực hiện bị dừng lại ♣Quyền điều khiển chuyển cho hàm xử lý ngắt của HDH ♣HDH
chuyển tiến trình về cuối hàng đợi, lấy tiến trình ở đầu và tiếp tục ♣ Cải thiện thời gian đáp ứng so với

tiến trình hoạt động Kích thước chương thiết lập trước: không hiệu quả
1.12 : Trình bày cơ chế ánh xạ địa chỉ khi sử dụng kỹ thuật phân chương bộ nhớ
Sử dụng 2 thanh ghi của Processor : thanh ghi giới hạn và thanh ghi cơ sở+ Thanh ghi giới hạn chứa độ
dài chương chưa tiến trình+ Thanh ghi cơ sở chứa vị trí bắt đầu của tiến trìnhKhi 1 địa chỉ logic được
nạp vào, CPU sẽ kiểm tra xem nó có nhơ hơn thanh ghi giới hạn không. Nếu có thì nó sẽ được cộng với
thanh ghi cơ sở để tìn được địa chỉ vật lý
1.14 : Việc định nghĩa và sử dụng khái niệm file đem lại những ưu điểm gì ? Khi đặt tên cho
file cần quan tâm tới những quy định gì ?Ưu điểm: ♣ Các thao tác với file sẽ dễ dàng hơn đối với
người lập trình ứng dụng ♣ HDH có thể kiểm soát được các thao tác với file Đặt tên cho file: ♣ Cho phép
xác định file ♣ Là thông tin người dùng thường sử dụng nhất khi làm việc với file ♣ Quy tắc đặt tên cho
file của một số HDH: Hệ điều hành, Độ dài tối đa ,Phân biệt chữ hoa chữ thường Cho phép sử dụng dấu
cách ,Các ký tự cấm
1.15 : Trình bày khái niệm thư mục ? Thông tin trong các khoản mục có nhất thiết phải lưu
trữ gần nhau không ?+Thư mục = ∑ các khoản mục ~ files|Khoản mục chứa các thông tin về file:
tên, kích thước, vị trí, kiểu file,…hoặc con trỏ tới nơi lưu trữ thông tin này.Coi thư mục như 1 bảng, mỗi
dòng là khoản mục ứng với 1 file.+ Thông tin trong các khoản mục phải nhất thiết lưu trữ gần nhau vì :
Toàn bộ thuộc tính của File dc lưu trong thư mục, file chỉ chứa data=> kích thước khoản mục, thư mục
lớn Thư mục chỉ lưu thông tin tối thiểu cần thiết cho việc tìm kiếm vị trí file trên đĩa=> kích thước giảm.
2.1: Trình bày ngắn gọn về các thành phần cơ bản của hệ điều hành.Các thành phần cơ bản của
hệ điều hành:+ Quản lý tiến trình : Tiến trình là chương trình đang thực hiệnQuản lý tiến trình bao gồm
một số thao tác : tạo và xóa tiến trình, treo và khôi phục tiến trình, đồng bộ hóa liên lạcgiua các tiến
trình, giải quyết bế tắcquản lý bộ nhớ : HDH được phân phối và cấp phát bộ nhớ cho các tiến trình, tạo
ra va ánh xạ bộ nhớ ảo vào bộ nhớ thực, cung cấp và giải phóng bộ nhớ theo yêu cầu của tiến trình,
quản lý bộ nhớ đã cấp và còn trống+ Quản lý vào ra : nhằm đơn giản hóa và tăng hiệu quả quá trình
trao đổi thông tin với thiết bị vào ra + Quản lý tệp và thư mục : giúp người dung sử dụng thông tin mà
không cần quan tâm đến các đặc điểm cảu bộ nhớ ngoài bằn việc sử ụng các khái niệm tệp và thư mục.
Các chức năng chủ yếu là tạo, xóa tệp hoặc thư mục ; đọc ghi tệp ; ánh xạ tệp vào thư mục ra bộ nhơ
ngoài+ Hỗ trợ mạng và quản lý phân tán : giúp kết nối máy tính với các mạng máy tính+ Giao diện với
người dùng : là giao diện giữa HDH với người dùng+ Các chương trình tiện ích và ứng dụng : là các
thành phần ko sẵn có trong HDH, không bắt buộc phải có

người cầm được cả 2 chiế đũa để ăn cơm. Khi người này ăn xong thì sẽ phải đứng dậy rời khỏi bàn để
người kia được ngồi vào bàn.Để thực hiện được phương pháp này chúng ta chỉ cần thêm 1 semaphore
cho table để kiểm soát số người vào bàn trước khi lấy đũa
Câu hỏi 2.9 : Trình bày kỹ thuật giúp tăng tốc độ truy cập bảng trang và bảng trang nhiều
mức.Do mỗi thao tác truy cập bộ nhớ đều đòi hỏi truy cập bản phân trang=>Cần có cơ chế tổ chức
bảng phân trang làm tăng tốc độ truy cập+ Ta có thể sử dụng thanh ghi làm bảng phân trang vì các
thanh ghi có tốc độ truy cập cao nhưng số lượng lại có hạn+ Ta cũng có thể lưu bảng trang ở bộ nhớ
chính và sử dụng 1 con trỏ
để trỏ tới bảng phân trang. Vì tốc độ bộ nhớ châm nên ta có thể sửdụng bộ nhớ cache để tăng tốc độ
truy cập-Do hệ thống máy tính hiện đại có không gian địa chỉ lgic rất lớn nên việc truy cập bộ nhớ từ bản
trang sẽ rất tốn thời gian. Để giải quyết vấn đề này ta có thể chia nhỏ mỗi khoản mục của bảng trên là
chỉ tới bảng dưới mà hông chỉ tới trang
2.10: Trình bày lý do phải đổi trang, và các bước tiến hành khi đổi trang Vì mỗi bộ nhớ được
cấp phát 1 số khung trang nhất định để chứa trang, Khi tiến trình được thực hiện thì từng trang của
trang tiến trình đuộc nạp vào bộ nhớ. Việc nạp trang vào bộ nhớ có thể xảy ra thường hợp thiếu trang và
HDH phải tìm khung trống để thêm trang thiếu vào, nhưng khi bộ nhớ hế khung thì HDH phải đẩy 1
trang khỏi bộ nhớ theo 1 chiến lược nào đó để nạp trang mới vào. Do đó dẫn tới việc đổi trang.Quá trình
đổi trang: B1: Xác định trang cần nạp vào trên đĩa B2: Nếu có khung trống thì chuyển sang B4 B3: Lựa
chọn 1 khung để giải phóng, theo 1 thuật toán nào đó Ghi nội dung khung bị đổi ra đĩa (nếu cần), cập
nhật bảng trang và bảng khung B4: Đọc trang cần nạp vào khung vừa giải phóng; cập nhật bảng trang
và bảng khung B5: Thực hiện tiếp tiến trình từ điểm bị dừng trước khi đổi trang
2.11: Trình bày kỹ thuật đổi trang tối ưu và đổi trang vào trước ra trước.
Đổi trang tối ưu (OPT):
Chọn trang sẽ không được dùng tới trong khoảng thời gian lâu nhấtđể đổi Cho phép giảm tối thiểu sự
kiện thiếu trang và do đó là tối ưu theo
tiêu chuẩn này HDH không đoán trước được nhu cầu sử dụng các trang trong tương lai => không áp
dụng trong thực tế mà chỉ để so sánh với các chiến lược khácVào trước ra trước (FIFO): Trang nào
được nạp vào trước thì bị đổi ra trước Đơn giản nhất Trang bị trao đổi là trang nằm lâu nhất trong bộ
nhớ -> không cần tới nữa
2.12 : Trình bày các phương pháp xác định số lượng khung trang tối đa cấp cho mỗi tiến

mục +Xóa file: ♣ Giải phóng không gian mà dữ liệu của file chiếm ♣ Giải phóng chỗ của file trong thư
mục +Mở file: ♣ Thực hiện trước khi ghi và đọc file ♣ Đọc các thuộc tính của file vào MEM để tăng tốc
độ +Đóng file: ♣ Xóa các thông tin về file ra khỏi bảng trong MEm+Ghi vào file +Đọc file1 hệ thống k
nhất thiết phải có thao tác mở file vì khi đọc, ghi file nếu file chứa đc mở thì HDH sẽ tự động tìm kiếm
file trong thư mục, đọc các thuộc tính của file và xd vị trí của file
3.1 Trình bày khái niệm hệ điều hành. Phân tích rõ hai chức năng cơ bản của hệ điều hành.Hệ
điều hành là hệ thống phần mềm đóng vai trò trung gian giữa người sử dụng và phần cứng máy tính
nhằm tạo môi trường giúp thực hiện chương trình thuận tiện và hiệu quảHDH gồm 2 chức năng chính là
quản lý tài nguyên và quản lý việc chạy chương trìnhQuản lý tài nguyên là đảm bảo cho tài nguyên hệ
thống sử dụng có ích và hiệu quả.Tài nguyên phần cứng bao gồm CPU,bộ nhớ chính,bộ nhớ thứ
cấp,thiết bị vào ra.Quản lý tài nguyên trước hết là phân phối tài nguyên tới các ứng dụng hiệu quả.yêu
cầu được hdh thu nhận và đáp ứng bằng cách cấp phát tài nguyên cho chương trình tương ứng,để cấp
phát đc tài nguyên hdh cần phải lưu giữ tình trạng tài nguyên để biết được hiện tại tài nguyên nào còn
trống,tài nguyênnào đang đc sd.Quản lý tài nguyên còn đảm bảo cho chương trình không xâm phạm đến
tài nguyên đã cấp cho chương trình khácNhiệm vụ quan trọng của máy tính là chạy chương trình,1
chương trình đang chạy gọi là tiến trình.HDH giúp việc chạy chương trình dễ dàng hơn.Để môi trường
thuận lợi cho chương trình hdh tạo ra các máy ảo.Máy ảo là máy logic với những tài nguyên ảo có tính
chất và khả năng khác tài nguyên thực:dễ sd hơn,dẽ lập trình hơn,số lượng nhiều hơn,khả năng có thể
vượt qua khả năng tài nguyên thực.tài nguyên ảo là bản mô phỏng tài nguyên thực đc thực hiện bằng
phần mềm.tài nguyên ảo cung cấp các dịch vụ giống tài nguyên thực nhưng nó đẽ sd hơn và số lượng
nhiều hơn.để sử dụng tài nguyên phần cứng dễ dàng người ta trừu tượng hóa chúng bằng cách loại bỏ
những chi tiết không quan trọng,chỉ giữ lại những khía cạnh mà người sd quan tâm,sau khi trừu tượng
hóa tài nguyên phần cứng vẫn cung cấp chức năng như ban đầu nhưng dễ sd hơn vì những chi tiết cụ
thể đã đc dấu đi.
3.2 Dịch vụ của hệ điều hành là gì ? Trình bày những dịch vụ điển hình mà hệ điều hành cung
cấp. Làm rõ về quá trình tải và chạy hệ điều hành khi mới khởi độngDịch vụ hdh là những công
việc mà hdh đã thực hiện giúp người dùng hoặc chương trình ứng dụng.Những dv chính mà hdh cc:+Tải
và chạy chương trình+Giao diện với người dùng:gd dòng lệnh,gd đồ họa+Thực hiện vào ra dữ liệu+Làm
việc với file+Phát hiện và xử lý lỗi:phát hiện và sử lý kịp thời những lỗi xảy ra với phần cứng cũng như
phần mềm đảm bảo chô hệ thống hoạt động ổn định an toàn+Truyền thông:cc dịch vụ cho phép thiết

nguyên chung :Các t.trình hợp tác vs nhau trao đổi t.tin vs nhau thông qua cse vùng nhớ dùng chung.vc
các tiến trình truy cập đồng thời d.liệu dùng chung đòi hỏi đảm bảo tính nhất quán d.liệu.vc cập nhập
dlieu chung cung yc đb loại trừ tương hỗ, ngoài ra có thể xảy ra tình trạng bế tắc và đói.Đk chạy đua là
tình huống 1 dòng or tiến trình đọc và ghi dl và kết quả phụ thuộc vào thứ tự các thao tác vào ra.vấn đề
xảy ra khi có dik chạy đua có thể gq bằng cách đặt toàn bộ thao tác vào đoạn nguy hiểm và sd loại trừ
tương hỗ đẻ thao tác này k bị tiến trình khác xen ngangTiến trình có liên lạc nhờ gửi thông điệp :Các
tiến trình hợp tác vs nhau có thể ll trực tiếp với nhau bằng cách gửi thông điệp.vc gửi thông điệp các
t.trình k c.sẻ hay cạnh tranh lãn nhau nên k yc loại trừ tương hỗ,nhưng có thể xảy ra bế tắc và đói
3.5 : Trình bày giải thuật Peterson cho đoạn nguy hiểm. Phân tích ưu nhược điểm của
phương pháp này.Thuật toán petersonBool flag[2] ;Int turn ;Void P0(){// tien trinh P0For( {//lap vo
hanFlag[0]=true ;turn =1 ;while(flag[1]&&turn==1) ;//lap den khi dk không thỏa mãn<đoạn nguy
hiểm>Flag[0]=false ;<phan con lai cua tien trinh>}}Void P1(){// tien trinh P1For( {//lap vo
hanFlag[1]=true ;turn =0 ;while(flag[0]&&turn==0) ;//lap den khi dk k thỏa mãn<đoạn nguy
hiểm>Flag[1]=false ;<phan con lai cua tien trinh>}}Void main(){Flag[0]=flag[1]=0 ;Turn=0 ;//tắt tiến
trình chính,chạy đồng thời P1 và P2Startprocess(P0) ;Startprocess(P1) ;}+ Ưu điểm :Thỏa mãn các
y/c :Đk loại trừ tương hỗ Đk tiến triển :+P0 chỉ có thể bị P1 ngăn cản vào đoạn nguy hiểm nếu
flag[1]=true và turn =1 luôn đúng+Có 2 khả năng với P1 ở ngoài đoạn nguy hiểm :-P1 chưa sẵn sàng
vào đoạng nguy hiểm=>flag[1]=false, P0 có thể vào ngay đoạn nguy hiểm- P1 đã đặt flag[1]=true và
đang trong vòng lặp while => turn =1 hoặc 0:Turn = 0 0 vào đoạn nguy hiểm ngayTurn =1: P1 vào
đoạn nguy hiểm, sau đó đặt flag[1]=false=>quay lại kn 1- Chờ đợi giới hạn+ Nhược điểm-sd trên thực
tế tương đối phức tạp-Đòi hỏi tiến trình đang yêu cầu vào đoạn nguy hiểm phải nằm trong trạng thái
chờ đợi tích cực.Chờ đợi tích cực; tiến trình vẫn phải sd CPU để ktra xem có thể vào đoạn nguy hiểm?
=>lãng phí CPU
3.6 : Trình bày phương pháp phát hiện và xử lý bế tắc bằng cách sử dụng đồ thị. Phân tích
ưu điểm của phương pháp này so với phương pháp ngăn ngừa bế tắc. Trả lời :+ Phát hiện bế
tắc :-TH mỗi dạng tài nguyên chỉ có một tài nguyên duy nhất=> sd đồ thị bd quan hệ chờ đợi lẫn nhau
giữa tiến trình-Xây dựng đồ thị cấp phát tài nguyên :+Các nút là tiến trình và tài nguyên +Tài nguyên dc
nối với tiến trình bằng cung có hướng nếu tài nguyên đc cấp cho tiến trình đó.+Tiến trình dc nối với tài
nguyên trình bằng cung có hướng nếu tiến trình đang đc cấp cho tài nguyên đó.+Đồ thị chờ đợi :-Đc xd
từ đồ thị cấp phát tài nguyên = cách bỏ đi các nút t/ứ với tài nguyên và nhập các cung đi đi qua nút bị

tiến trình kt sẽ tạo vùng trống trong MEM-Các vùng trống nằm cạnh nhau đc nhập lại thành vùng lớn
hơn-Sd các chiến lược cấp chương :+Chọn vunf thích hợp đầu tiên+Vùng thich hợp nhất+Vùng ko thích
hợp nhất+ Ưu điêm : Tránh phân mảnh trong+ Nhược điểm : Gây phân mảng ngoài : dồn những vùng
trống nhỏ thành lớn(nén)+ Nếu chương bị di chuyển thì nội dung của thanh ghi cơ sở bị thay đổi chứa
địa chỉ vị trí mớ
3.9 : Trình bày kỹ thuật phân chương sử dụng phương pháp kề cận (buddy). Phân tích rõ các
điểm giống/khác nhau và ưu nhược điểm của phương pháp này so với phân chương cố định
và phân chương động (lưu ý không cần trình bầy lại hai phương pháp sau).Trả lời :+ Trình bày
kĩ thuật :-Các chương và khối trống có kích thước là lũy thừa của 2^k(L<=k<=H) : 2^L : kích thước nhỏ
nhất của chương ; 2^H ; kích thước MEM-Đầu tiên, toàn bộ ko gian nhớ là 2^H, y/c cấp vùng nhớ
S+2^H-1<S<=2^H ; cấp cả 2^H+Chia đôi thành 2 vùng 2^H-1+Tiếp tục chia đôi tới khi tìm đc vùng
thảo mãn 2^k+1<s<=2^k-Sau 1 thời gian xuất hiện các khối trống có kích thước 2^k-Tạo ds móc nối
các vùng có cùng kích thước-Nếu có 2 khối trống cùng kích thước và kề nhau thì ghép lại thành 1-Khi
cần cấp, sẽ tìm trong danh sách khối phù hợp nhất; nếu ko tìm khối lớn hơn và cắt đôi.
3.10 : Trình bày kỹ thuật phân đoạn bộ nhớ bao gồm cả cấu trúc và cách ánh xạ địa chỉ. Phân
tích so sánh ưu nhược điểm của phân đoạn với phân trang.Trả lời :+ Kỹ thuật phân đoạn bộ
nhớ :-Cấu trúc :+Chương trình thường dc chia thành nhiều phần : dữ liệu, lệnh, ngăn xếp+Chia chương
trình thành các đoạn theo cấu trúc logic+Mỗi đoạn đc phân vào 1 vùng nhớ, có kích thước ko bằng
nhau.+Mỗi đoạn t/ứ với ko gian địa chỉ riêng, đc phân biệt bởi tên (STT) và độ dài của mình.+Các vùng
nhớ thuộc các đoạn khác nhau có thể nằm ở vị trí khác nhau.+Bộ nhớ đc cấp phát theo từng vùng kich
thích thay đổi(giống phân chương động)+Chương trình có thể chiếm nhìu hơn 1 đoạn và ko cần liên tiếp
nhau trong MEM(khác phân chương động)
+Tránh hiện tượng phân trang mảng trong+Có phân mảnh ngoài+Dễ sắp xếp bộ nhớ+Dễ chia sr các
đoạn giữa các tiến trình khác nhau+Kích thước mỗi đoạn có thể thay đổi mà ko a/h tới các đoạn khác-
Ánh xạ địa chỉ;+Sd bảng đoạn cho mỗi tiến trình. Mỗi ô tương ứng với 1 đoạn chứa:-Địa chỉ có sở: vị trí
bắt đầu của đoạn trong bộ nhớ-Điịa chỉ giới hạn: độ dài đoạn, sd để chống truy cập trái phép ra ngoài
đoạn+ Địa chỉ logic gồm 2 thành phần(s,o):-S: số thứ tự/tên đoạn-O: độ dịch trong đoạn
3.11 : Trình bày kỹ thuật nạp trang theo nhu cầu dùng cho bộ nhớ ảo. Phân tích rõ cùng một
lệnh có thể xẩy ra nhiều sự kiện lỗi trang khôngTrả lời :+ Trình bày kĩ thuật :/*-Tiến trình dc phân
trang và chứa trên đĩa-Khi thực hiện, nạp tiến trình vao MEM : chỉ nạp những trang cần dùng-Tiến trình

dc chạy khi ht khởi động, db là sau sự cố.+ Các pp đảm bảo tính toàn vẹn- Giao tác là 1 tập hợp các
thao tác cần phải dc thực hiện trọn vẹn cùng nhau Với ht file : mỗi giao tác sẽ bao gồm những thao tác
thay đổi lk cần thực hiện cùng nhau- Toàn bộ trạng thái ht file dc ghi lại trong file log- Nếu giao tác ko đc
thực hiện trọn vẹn, HDH sd thông tin từ log để khôi phục ht file về trạng thái ko lỗi trc khi thực hiện giao
tác
Post added at 05:18 PM Previous post was at 04:57 PM
Loại 4đ
Câu 4.1:
a) Trình bày các tiêu chí đánh giá thuật toán điều độ.
b) Trình bày thuật toán điều độ đến trước phục vụ trước và điều độ có mức ưu tiên.
c) Cho các tiến trình với thời gian (độ dài) chu kỳ CPU tiếp theo và số ưu tiên như trong bảng
sau (số ưu tiên nhỏ ứng với độ ưu tiên cao). Biết rằng các tiến trình cùng xuất hiện vào thời
điểm 0 theo
Vẽ biểu đồ thể hiện thứ tự và thời gian cấp phát CPU cho các tiến trình khi sử dụng thuật
toán : 1) điều độ quay vòng với độ dài lượng tử = 1 ;
2) điều độ theo mức ưu tiên không có phân phối lại. Tính thời gian chờ đợi trung bình cho
từng trường hợp.
Giải:
A, Các tiêu chí đánh giá điều độ:
- Lượng tiến trình thực hiện xong đc đánh giá bằng số lg tiến trình thực hiện xog trong 1 thời gian. Tiêu
chí này mang tính TB và là 1 độ đo tính hiệu quả của hệ thống
- Hiệu suất sử dụng CPU : 1 trong những g/c sử dụng hiệu quả hệ thống là càng để CPU càng ít phải
nghỉ càng tốt. % tgian CPY trong trạng thái hđ thay đổi tùy hệ thống
- Thời gian vòng đợi TB tiến hành = thời gian y/c tạo tiến trình đến khi kết thúc tiến trình= tổng thời gian
tải tiến trình + thời gian chờ đợi, chạy ,vào/ra
- Thời gian chờ đợi= tổng thời gian tiến trình ở trạng thái sẵn sang và chờ đc cấp CPU, chịu ảnh hưởng
của thuật toán điều độ
- Thời gian đáp ứng: tiêu chí hướng tới ng dùng thường sd trong hệ thống tương tác, = thời gian nhận
y/c khi hệ thống có pư đáp ứng
B, Thuật toán điều độ đến trc phục vụ trc

Giải :
A, Điều độ ưu tiên tiến trình ngắn nhất
+ Pp này lựa chọn trong hàng đợi tiến trình có thời gian sd CPU ngắn nhất để cấp phát CPU
+ trong TH n` tiến trình có cùng tg sd CPY thì tiến trình đứng trc đc phục vụ trc
+ thời gian chờ đợi TB thấp nhất trong các pp
+ có y/c là phải biết trc độ dài chu kì sd, có 2 cách giải quyết vấn đề này :1, trong hệ thống xử lý mẻ :
dựa vào thgian đăng kí tối đa do lập trình viên cung cấp.2, dự đoán độ đài chu kì sd CPU tiếp theo, dựa
vào độ dài TB các CPU trc đó
+ là thuật toán điều độ k phân phối lại
- Thuật toán điều độ ưu tiên thời gian còn lại ngắn nhất :
+ pp này là pp tương tự như pp điều độ ưu tiên tiến trình ngắn nhất nhưng có thêm cơ chế phân phối lại
+khi 1 tiến trình mới xh trong hàng đợi, HDH so sánh thời gian còn lại của tiến trình đang chạy vs thời
gian còn lại của tiến trình mới xh. Nếu tiến trình mới có tg còn lại nhỏ hơn thì HDH thu hồi CPU của tiến
trình đang chạy cấp cho tiến trình mới này
+ đòi hỏi phải biết trc độ dài chu kỳ sd CPU
+ thời gian chờ đợi TB nhỏ
+ việc chuyển đổi tiến trình ít hơn điều độ quay vòng
B, Điều độ theo mức ưu tiên có phân phối lại khác điều độ theo mức ưu tiên nên k phân phối lại ở chỗ :
khi có tiến trình mới xuất hiện có mức ưu tiên cao hơn tiến trình đang chạy thì HDH sẽ ngắt CPU của tiến
trình đang chạy và cấp cho tiến trình mới xuất hiện
C, 1, Biểu đồ
2 6
2 4 8
P3 P2 P1
Thời gian chờ đợi của P1 : 6, P2=2, P3=0
Thời gian chờ đợi TB= (6+2+0)/3=2,67
2, biểu đồ
2 4 6 8
2 2 2 2 6
P1 P2 P3 P2 P1

Có thể sd cho TH đã xử lý vs n` CPU nhưng có bộ nhớ chung
+ nhc đ : các tiến trình phải chờ đợi tích cực
Gây bế tắc và đói
B, đoạn chương trình :
Bool chopstick[5]={false, false, false, false, false}
Void philosopher(int i)
{ for (jj)
{
While(test_and_set(chopstick[i])) ;
While(test_and_set(chopstick[(i+1)%5])) ;
<ăn cơm>
Chopstick[i]=false ;
Chopstick[(i+1)%5]=false ;
<suy nghĩ>
}
Void main()
{
Start process(philosopher(1)) ;
Start process(philosopher(2)) ;

Start process(philosopher(5)) ;
}
c, sử dụng test_and_set có thể gây ra bế tắc cho bài toán triết gia ăn cơm khi mà cả 5 ng đều cầm đũa
bên trái, Khi đó k ai chịu nhường đũa xuống=> xảy ra chờ đợi vòng tròn
- Sử dụng test_and_set có thể gây ra đói khi 1 triết gia thực hiện việc lấy đũa chậm hơn so vs triết gia
khác=> triết gia chưa kịp lấy đũa thì triết gia khác đã lấy mất => đói tài nguyên
Câu hỏi 4.8 :
a) Trình bày chiến lược đổi trang ít sử dụng trong thời gian cuối.
b) Trình bày chiến lược đổi trang sử dụng thuật toán đồng hồ.
c) Giả sử tiến trình được cấp 4 khung nhớ vật lý, các trang của tiến trình được truy cập theo


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status