Professional Documents
Culture Documents
wWw.K57C.cOm 1
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
này bắt đầu có hệ điều hành, lúc này chỉ là các HDH đơn chương trình, mỗi lúc chỉ
cho phép thực hiện một chương trình của người sử dụng. Đây là loại hệ điều hành
xử lý theo lô đơn giản.
(Trong chế độ sử lý theo lô, nhiệm vụ xử lý (JOB) là một hoặc nhiều công việc
liên hoàn. Các JOB của nhiều công việc được sắp xếp liên tiếp nhau. Hệ điều hành
xử lý theo lô đơn giản nhằm loại trừ thời gian chết của CPU khi chuyển tiếp giữa
các công đoạn trong một công việc là nét chủ đạo của hệ điều hành đối với các
máy tính thế hệ 2.)
Thế hệ máy tính thứ 3 (1965 – 1980): các máy tính xây dựng với công
nghệ mạch tích hợp. Chế độ bộ nhớ ảo được đưa vào bắt đầu từ thế hệ này.
Cải tiến quan trọng ở thế hệ này là chế độ đa chương trình (Multi-program). Chế
độ đa chương trình nhằm song song hóa các thiết bị ngoại vi để tận dụng thời gian
CPU, trong chế độ này nhiều chương trình cùng được nạp vào trong bộ nhớ. Hệ
điều hành đa chương trình sử dụng cơ chế đa chương và Spooling (Simultaneous
Peripheral Operation On Line – nghĩa là thao tác ngoại vi đồng thời theo kiểu
thường trực).
Hệ điều hành chia sẻ thời gian (Time Sharing) xuất hiện thay thế được
những bất tiện khi xử lý các chương trình có thứ tự ưu tiên trong cơ chế đa
chương. Vì tính năng cùng tiến triển giúp cho nhiều nhiệm vụ có thể thực hiện một
cách có ý nghĩa mà hệ điều hành có cơ chế phân chia thời gian còn gọi là hệ điều
hành đa nhiệm (Multi-task). Nói đúng hơn, phân chia thời gian là cách thức để
thực hiện chế độ đa nhiệm trên các máy tính chỉ có một bộ xử lý. Do nhu cầu phục
vụ nhiều người dùng nên xuất hiện cơ chế đa người dùng, một hệ thống đa người
dùng (Multi-users) đương nhiên phải là hệ thống đa nhiệm, tuy nhiên nếu chỉ có
một người dùng người ta cũng thực hiện chế độ đa nhiệm. Điểm khác nhau giữa
một hệ thống đa nhiệm và một hệ thống nhiều người sử dụng là vấn đề quản lý
giao tiếp với nhiều người sử dụng ở nhiều trạm cuối (terminal) có thể từ xa.
Thế hệ máy tính thừ 4 (1980 đến hiện tại): xuất hiện hệ điều hành cho
máy tính cá nhân (PC OS) và hệ điều hành của các máy tính lớn (mini và
mainframe OS). PC OS lúc này là DOS, WINDOWS, MAC/OS. Mini và
mainframe OS chủ yếu là UNIX.
Phân loại theo nguyên lý hoạt động thì hệ điều hành MSDOS được xếp vào loại
hệ điều hành xử lý theo lô đơn giản, đơn người sử dụng.
Windows 98, 2000, XP: là hệ điều hành chia sẻ thời gian, đa nhiệm, đa người sử
dụng.
Câu 2: Mô tả các thành phần hệ thống cơ bản của hệ điều hành. Nêu các chương
trình hệ thống của hệ điều hành windows có chức năng quản lí bộ nhớ trong, bộ
nhớ phụ.
Các thành phần của hệ điều hành (Gồm 8 thành phần cơ bản sau):
Quản lý tiến trình,
Quản lý bộ nhớ chính,
wWw.K57C.cOm 2
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Vai trò của hệ điều hành trong việc quản lý tiến trình là :
Tạo và hủy các tiến trình của người sử dụng và của hệ thống.
Ngưng và thực hiện lại một tiến trình.
Cung cấp cơ chế đồng bộ tiến trình.
Cung cấp cách thông tin giữa các tiến trình.
Cung cấp cơ chế kiểm soát deadlock
wWw.K57C.cOm 3
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
dụ CPU truy xuất dữ liệu từ đĩa, những dữ liệu này được chuyển vào bộ nhớ qua
lời gọi hệ thống nhập/xuất.
Một chương trình muốn thi hành trước hết phải được ánh xạ thành địa chỉ
tuyệt đối và nạp vào bộ nhớ chính.Khi chương trình thi hành, hệ thống truy xuất
các chỉ thị và dữ liệu của chương trình trong bộ nhớ chính. Ngay cả khi tiến trình
kết thúc, dữ liệu vẫn còn trong bộ nhớ cho đến khi một tiến trình khác được ghi
chồng lên.
Để tối ưu hóa quá trình hoạt động của CPU và tốc độ của máy tính, một số
tiến trình được lưu giữ trong bộ nhớ. Có rất nhiều kế hoạch quản trị bộ nhớ do có
nhiều ứng dụng bộ nhớ khác nhau và hiệu quả của các thuật toán phụ thuộc vào
tùy tình huống cụ thể. Lựa chọn một thuật toán cho một hệ thống được mô tả trước
phụ thuộc vào nhiều yếu tố, đặc biệt là phần cứng của hệ thống.
Hệ điều hành có những vai trò như sau trong việc quản lý bộ nhớ chính:
Lưu giữ thông tin về các vị trí trong bộ nhớ đã được sử dụng và ai sử dụng.
Quyết định tiến trình nào được nạp vào bộ nhớ chính, khi bộ nhớ đã có thể
dùng được.
Cấp phát và thu hồi bộ nhớ khi cần thiết.
wWw.K57C.cOm 4
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Vai trò của hệ điều hành trong việc quản lý tập tin:
Tạo và xoá một tập tin.
Tạo và xoá một thư mục.
Hỗ trợ các thao tác trên tập tin và thư mục.
Ánh xạ tập tin trên hệ thống lưu trữ phụ.
Backup tập tin trên các thiết bị lưu trữ.
wWw.K57C.cOm 5
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Một số hệ điều hành đặt cơ chế dòng lệnh bên trong hạt nhân, số khác như
MS-DOS và UNIX thì xem hệ điều hành như là một chương trình đặc biệt, được
thi hành khi các công việc bắt đầu hoặc khi người sử dụng login lần đầu tiên.
Các lệnh đưa vào hệ điều hành thông qua bộ điều khiển lệnh. Trong các hệ thống
chia xẻ thời gian một chương trình có thể đọc và thông dịch các lệnh điều khiển
được thực hiện một cách tự động. Chương trình này thường được gọi là bộ thông
dịch điều khiển card, cơ chế dòng lệnh hoặc Shell. Chức năng của nó rất đơn giản
đó là lấy lệnh kế tiếp và thi hành.
Mỗi hệ điều hành sẽ có những giao tiếp khác nhau, dạng đơn giản theo cơ
chế dòng lệnh, dạng thân thiện với người sử dụng như giao diện của Macintosh có
các biểu tượng, cửa sổ thao tác dùng chuột.
Các lệnh có quan hệ với việc tạo và quản lý các tiến trình, kiểm soát nhập
xuất, quản lý bộ lưu trữ phụ, quản lý bộ nhớ chính, truy xuất hệ thống tập tin và cơ
chế bảo vệ.
Các chương trình hệ thống của hệ điều hành windows có chức năng quản lí
bộ nhớ trong, bộ nhớ phụ:
Quản lý bộ nhớ là một trong những nhiệm vụ quan trọng và phức tạp nhất
của hệ điều hành. Bộ phận quản lý bộ nhớ xem bộ nhớ chính như là một tài
nguyên của hệ thống dùng để cấp phát và chia sẻ cho nhiều tiến trình đang ở trong
trạng thái active. Các hệ điều hành đều mong muốn có nhiều hơ n các tiến trình
trên bộ nhớ chính. Công cụ cơ bản của quản lý bộ nhớ là sự phân trang (paging) và
sự phân đoạn (segmentation). Với sự phân trang mỗi tiến trình được chia thành
nhiều phần nhỏ có quan hệ với nhau, với kích thước của trang là cố định. Sự phâ n
đoạn cung cấp cho chương trình người sử dụng các khối nhớ có kích thước khác
nhau. Hệ điều hành cũng có thể kết hợp giữa phân trang và phân đoạn để có được
một chiến lược quản lý bộ nhớ linh hoạt hơn.
Câu 3: (Mô tả
sơ đồ, chức năng và quan hệ giữa các mođun.)
Quá trình khởi động máy tính. Hệ điều hành thực sự nắm quyền kiểm soát máy
tính ở giai đoạn nào? Trình bày cách thức tổ chức hoạt động giữa CPU và các
thiết bị I/O
a) Lược đồ cơ bản về tổ chức hoạt động của phần cứng máy tính
- Các thiết bị kết nối với nhau bằng các đường bus.
- Một hoặc nhiều CPU, thiết bị điều khiển kết nối thông qua đường truyền
chung cùng truy nhập đến bộ nhớ được chia sẻ.
- Sự thực hiện đồng thời của CPU và các thiết bị dẫn đến cạnh tranh sử
dụng bộ nhớ
- Màn hình sử dụng bộ nhớ thông qua card đồ hoạ
- Bàn phím, chuột, máy in thô ng qua các bản mạch điều khiển để sử dụng
bộ nhớ.
- CPU trực tiếp sử dụng bộ nhớ.
wWw.K57C.cOm 6
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
c) Hệ điều hành thực sự nắm quyền kiểm soát máy tính khi nạp hạt nhân của
hệ điều hành và thực thi .
d) Cách thức tổ chức hoạt động của CPU và các thiết bị I/O:
- Thiết bị I/O và CPU có thể thực hiện đồng thời.
- Mỗi bộ phận điều khiển thiết bị đảm nhận một thiết bị riêng biệt.
- Mỗi thiết bị điều khiển có một bộ đệm (buffer) cục bộ.
- CPU chuyển dữ liệu từ (đến) bộ nhớ chính đến (từ) bộ đệm cục bộ.
- I/O chuyển dữ liệu từ thiết bị đến bộ đệm cục bộ của bộ điều khiển .
- Bộ điều khiển thiết bị báo cho CPU biết để CPU dừng hoạt động và
phục vụ cho nó bằng một interrupt (ngắt).
Câu 4: Hãy mô tả hoạt động của ngắt (interrupt ), các phương pháp điều khiển
ngắt (sơ đồ mô tả điều khiển đồng bộ và không đồng bộ) và giải thích về sơ đồ và
ý nghĩa của bảng các trạng thái của thiết bị I/O.
wWw.K57C.cOm 7
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Định nghĩa: Ngắt (interrupt) là hiện tượng tạm ngừng thực hiện 1 tiến trình để
chuyển sang thực hiện 1 tiến trình khác khi có 1 sự kiện xảy ra trong hệ thống tính
toán.
Đồng bộ (synchronous): Sau khi I/O bắt đầu, điều khiển (quyền kiểm soát) được
chuyển tới chương trình của người sử dụng chỉ khi I/O đó hoàn thành.
- Yêu cầu I/O đc đưa ra, chương trình của người sử dụng chờ dấu hiệu
ngắt I/O hoàn thành. CPU sẽ trong trạng thái chờ cho đến khi có một
ngắt tiếp.
- Mỗi thời điểm chỉ có 1 yêu cầu I/O được giải quyết, ko xử lý đồng thời.
- Không có sự chồng chéo trong xử lý I/O.
wWw.K57C.cOm 8
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
như vậy: tiến trình đang chạy, nếu gặp ngắt thì dừng lại, k xử lý nữa để nhận tín
hiệu từ I/O. I/O hoàn thành thì tiến trình lại chạy tiếp. Các tiến trình chờ được xử
lý xếp hàng thành dòng đợi.
Không đồng bộ (asynchronous): Sau khi I/O bắt đầu, điều khiển được chuyển tới
chương trình của người sử dụng mà không chờ I/O hoàn thành.
- System call là một yêu cầu của user chuyển tới hệ điều hành đòi hỏi đáp
ứng I/O.
- I/O không đồng bộ cho phép I/O đồng thời.
như vậy: khi tiến trình đang chạy, HĐH vẫn có thể nhận I/O bên ngoài mà
không cần dừng vì có nhiều luồng (thread) để xử lý các ngắt khác nhau.
Bảng trạng thái (device-status table) chứa các entry của mỗi thiết bị I/O ghi
kiểu, địa chỉ và trạng thái. (bảng xem trong slide)
Hệ điều hành tra cứu vào bảng thiết bị I/O để xác định trạng thái thiết bị và sửa đổi
bảng nhập vào bao gồm thêm thông tin ngắt I/O mới.
Sơ đồ:
Câu 5: Giải thích lược đồ các thiết bị lưu trữ, phân tích nguyên lý hoạt động và
đặc tính của từng loại thiết bị lưu trữ?
Trình bày nguyên lý và hoạt động của kỹ thuật caching?
wWw.K57C.cOm 9
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 10
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
⌂ Cache:
- Nguyên lý hoạt động -> khi 1 chương trình cần truy xuất dữ liệu từ ổ
đĩa: đầu tiên bộ nhớ cache được kiểm tra
Nếu có, dữ liệu được lấy trực tiếp từ cache.
Không có, dữ liệu đc sao tới cache và đc sử dụng.
- Đặc tính: tốc độ truy xuất nhanh, bộ nhớ dung lượng nhỏ
⌂ Main memory:
- Nguyên lý hoạt động: ->khi CPU thực thi 1 chỉ thị trước tiên nó đọc các
chỉ thị từ bộ nhớ và nạp vào bộ nhớ chính sau đó nó đọc và viết dữ liệu
từ bộ nhớ chính trong chu kỳ lấy dữ liệu.
- Đặc tính: tốc độ truy xuất nhanh CPU có thể truy xuất trực tiếp, bộ nhớ
dung lượng lớn.
⌂ Electronic disk:
- Nguyên lý hoạt đông ->theo cơ chế đọc ghi dữ liệu nhanh chóng bằng
một tập hợp các phần tử từ hóa trên các đĩa quay.
- Đặc tính: tốc độ truy xuất trung bình là thiết bị lưu trữ mở rộng cung
cấp khả năng lưu trữ lớn và lâu dài.
⌂ Magnetic disk:
- Nguyên lý hoạt động ->theo cơ chế di chuyển đầu đọc (ghi) đến trực
tiếp vị trí lưu trữ dữ liệu.
- Đặc tính: kim loại cứng hoặc khối phủ các vật liệu ghi từ tính tốc độ
truy xuất chậm, Khả năng lưu trữ lớn.
⌂ Optical disk:
- Nguyên lý hoạt động ->đọc ghi dữ liệu trên nguyên tắc quang học, dùng
tia sáng laser.
- Đặc tính: lưu trữ dữ liệu dạng số dùng phương tiện quang học để lưu
thông tin tốc độ truy xuất chậm, khả năng lưu trữ lớn.
⌂ Magnetic tapes:
- Nguyên lý hoạt động ->theo cơ chế đọc ghi tuần tự phải đợi để băng từ
quay đến phần cần đọc hoặc ghi dữ liêu.
- Đặc tính: dải nhựa tổng hợp hẹp đc phủ các vật liệu ghi từ tính, tốc độ
truy xuât chậm, lưu trữ lớn, đc sử dụng rộng rãi.
wWw.K57C.cOm 11
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Câu 6: Trình bày cấu trúc phân lớp của hệ điều hành OS/2.
Sơ đồ:
wWw.K57C.cOm 12
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Trong sơ đồ trên ta thấy hệ điều hành được chia thành các lớp (bậc) mỗi lớp
được xây dựng trên 1 lớp bên dưới.Lớp dưới cùng(lớp 0) là phần cứng ,lớp cao
nhất là giao tiếp người sử dụng.Với Khả năng mô đun hóa ,các lớp được chon 1 số
thao tác và được phục vụ bởi chỉ lớp bậc dưới của nó.
Các ứng dụng của người sử dụng giao tiếp với hệ điều hành thông qua lớp
giao tiếp các chương trình ứng dụng đã được lập trình sẵn,ngoài ra hệ điều hành
còn cung cấp thư viện API (giao diện lập trình ứng dụng)được thiết kế theo kiểu
hướng đối tượng và là giao tiếp cho người lập trình.Kế đó là các hệ thống con.
Dưới các hệ thống con là phần nhân của hệ thống,phần này gồm quản li bộ
nhớ,gửi các tác vụ,quản lí thiết bị.Lớp dưới cùng là phần cứng nó cũng được chia
thành các mô đun độc lập.Do cấu trúc phân lớp nên khi các chương trình ứng dụng
được gửi xuống hệ điều hành nó trở thành các chương trình độc lập điều này làm
cho hệ điều hành có tính đa nhiệm.
Câu7: Hãy trình bày cấu trúc phân lớp của hệ điều hành UNIX. Sự khác biệt cơ
bản về cấu trúc của 2 loại hệ điều hành OS2 là gi?
Trong cấu trúc phân lớp hãy chỉ ra thành phần làm cho hệ điều hành này trở
thành hệ điều hành đa người dùng.
UNIX giống như các hệ điều hành khác nó là lớp nằm giữa phần cứng và ứng
dụng. Nó có chức năng quản lý phần cứng và quản lý các ứng dụng thực thi.
wWw.K57C.cOm 13
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Câu 8: Các kỹ thuật quản lý các khối còn trống, các khối bị hỏng trên bộ nhớ lưu
trữ ngoài.
wWw.K57C.cOm 14
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Câu 9: Các phương pháp quản lý tệp trên bộ lưu trữ ngoài:
Định vị liên tục: mỗi tệp chiếm một tập hợp liên tục các khối trên đĩa.
Để định vị tệp cần biết địa chỉ bắt đầu và số lượng các khối( block) trên file.
Sử dụng việc truy cập ngẫu nhiên.
Ưu điểm: không gian tự do còn lại lớn.
Nhược điểm: không lưu trữ được các tệp lớn.
Câu 10: Hệ điều hành UNIX và MSDOS sử dụng phương pháp nào để định vị tệp,
mô tả bằng sơ đồ.
I.MS-DOS
MS-DOS sử dụng bảng FAT (File Allocation Table), lưu giữ tất cả không
gian trên đĩa theo phương pháp danh sách liên kết có chỉ mục. Thông thường có từ
hai FAT trở lên để phòng hờ. Mỗi entry của FAT quản lý một khối (còn gọi là
wWw.K57C.cOm 15
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
cluster được đánh số bắt đầu từ 2) trên đĩa. Kích thước khối được lưu trong
bootsector thông thường từ 1 đến 8 sector. Có hai loại FAT là FAT 12 và FAT 16.
FAT 12 có thể quản lý được 4096 khối còn FAT 16 có thể quản lý 64 K khối trên
một partition.
wWw.K57C.cOm 16
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Có một ánh xạ một một giữa entry và khối ngoại trừ hai entry đầu tiên, dùng cho
đĩa.
Khi hệ thống mở một tập tin, MS-DOS tìm trong bảng mô tả tập tin trong PSP, sau
đó kiểm tra tên tập tin xem có phải là con, lpt, ... tiếp theo kiểm tra các đường dẫn
để xác định vị trí trong bảng thư mục.
Tên tập tin (8bytes)
Giờ (2bytes)
Ngày (2bytes)
wWw.K57C.cOm 17
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
làm việc trong cùng một đề án, họ cần truy cập tập tin lẫn nhau. Giả sử fred cần
truy cập tập tin x của lisa, anh ta sẽ tạo một entry mới trong thư mục của anh ta và
sau đó có thể dùng x với nghĩa là /usr/lisa/x.
Ngoài ra UNIX cho phép một đĩa có thể được mount thành một thành phần của hệ
thống cây thư mục của một đĩa khác.
Một đặc tính thú vị khác của hệ thống tập tin của UNIX là khóa (locking). Trong
một số ứng dụng, một số tiến trình có thể sử dụng cùng một tập tin cùng lúc. Có
hai loại khóa là chia xẻ hay loại trừ. Nếu tập tin đã chứa khóa chia xẻ thì có thể đặt
thêm một khóa chia xẻ nữa, nhưng không thể đặt một khoá loại trừ nhưng nế u đã
được đặt khóa loại trừ thì không thể đặt thêm khóa nữa. Vùng khóa có thể được
ghi chồng.
Hệ thống tập tin của UNIX thông thường được cài đặt trên đĩa như ở hình sau :
wWw.K57C.cOm 18
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Câu 11: Ý nghĩa của các chế độ thực thi chương trình: User Mode và Kernel
Mode? Lời gọi hệ thống (System Call)?
Nêu khái niệm và các đặc điểm của Tiến trình (Process).
Vẽ và giải thích Sơ đồ trạng thái của tiến trình.
wWw.K57C.cOm 19
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Ý nghĩa của chế độ thực thi chương trình user mode và kernel mode:
Để bảo vệ hệ điều hành tránh sự truy cập và/hoặc thay đổi bất hợp lệ của các
chương trình ứng dụng của người sử dụng, hệ điều hành phân ra hai chế độ xử lý
truy cập: Kernel mode và User mode. Các chương trình ứng dụng của người sử
dụng chạy trong user mode, trong khi đó các dịch vụ hệ thống và các chương trình
điều khiển thiết bị của hệ điều hành chạy trong kernel mode. Kernel mode chỉ đến
một chế độ của việc thực hiện trong processor mà ở đó nó có toàn quyền truy cập
đến tất cả hệ thống bộ nhớ và tất cả các chỉ thị của CPU. Trong cấu trúc này phần
mềm hệ điều hành được cung cấp một mức đặc quyền cao hơn so với mức đặc
quyền của các chương trình ứng dụng của người sử dụng. Processor cung cấp các
cơ sở cần thiết để người thiết kế hệ điều hành đảm bảo rằng các ứng dụng không
thể phá vỡ trạng thái ổn định của hệ thống và làm hỏng nó.
wWw.K57C.cOm 20
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Giải thích:
New: tiến trình đang được tạo lập
Running: Các chỉ thị của tiến trình đang được xử lý
Bocked: tiến trình chờ được cấp phát một tài nguyên hay chờ một sự kiện xảy ra
Ready: tiến trình chờ được cấp phát CPU để xử lý.
Tại một thời điểm, chỉ có một tiến trình có thể nhận trạng thái running trên một bộ
xử lý bất kì. Trong khi đó, nhiều tiến trình có thể ở trạng thái Blocked hay Ready.
Các cung chuyển tiếp trong sơ đồ trạng thái biểu diễn sáu sự chuyển trạng thái cs
thế xảy ra trong các điều kiện sau:
Tiến trình mới tạo được đưa vào hệ thống
Bộ điều phối cấp phát cho tiến trình một khoảng thời gian sử dụng CPU
Tiến trình kết thúc
Tiến trình yêu cầu 1 tài nguyên nhưng chưa được đáp ứng vì tài nguyên chưa sẵn
sàng để cấp phát tại thời điểm đó, hoặc tiến trình phải chờ 1 sự kiện h ay 1 thao tác
nhập/ xuất.
Bộ điều phối chọn 1 tiến trình khác để cho xử lý
Tài nguyên mà tiến trình yêu cầu trở nên sẵn sàng để cấp phát, hay sự kiện hoặc
thao tác nhập/ xuất tiến trình đang đợi hoàn tất.
Câu 12: Hãy trình bày cấu trúc phân lớp của hệ điều hành Windows XP. Trong
cấu trúc phân lớp hãy chỉ ra các thành phần làm cho hệ điều hành này trở thành
hệ điều hành tương thích với các ứng dụng của một số hệ điều hành khác?.
Cấu trúc phân lớp của hệ điều hành của hệ điều hành Windows XP
Hệ thống phân lớp là:
wWw.K57C.cOm 21
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Các thành phần làm cho hệ điều hành Windows XP trở thành hệ điều hành
tương thích với các ứng dụng của một số hệ điều hành khác
Các tiến trình trong user-mode được phân lớp dựa trên các dịch vụ thực thi
của XP, cho phép XP chạy các chương trình được phát triển cho các hệ
điều hành khác.
XP dùng tiểu hệ thống Win32 (Win32 subsystem) làm môi trường điều
hành chính; Win32 được dùng để khởi động tất cả các tiến trình.
Môi trường MS-DOS được cung cấp bởi một ứng dụng Win32 được gọi là
máy ảo DOS (Virtual DOS Machine – VDM), một tiến trình trong user-
mode được phân trang và giải quyết giống như bất kỳ c ác luồng (thread)
của XP.
Môi trường Windows 16bit:
- Được cung cấp bởi một VDM mà VDM đó tổ chức thành Windows on
Windows.
- Cung cấp các thủ tục và thủ tục con của trong nhân của Windows 3.1
cho trình quản lý cửa sổ (window manager) và các chức năng GDI.
Tiểu hệ thống POSIX được thiết kế để chạy các ứng dụng POSIX theo tiêu
chuẩn POSIX.1 dựa trên nền tảng UNIX.
Tiểu hệ thống OS/2 dùng để chạy các ứng dụng OS/2
Tiểu hệ thống đăng nhập và bảo mật (Logon and sercurity) xác nhận người
dùng đăng nhập vào hệ thống.
- Yêu cầu người dùng phải có tên tài khoản và mật khẩu.
- Gói xác nhận sẽ xác nhận người dùng bất cứ khi nào họ cố gắng truy
cập vào một đối tượng trong hệ thống.
wWw.K57C.cOm 22
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Câu 13. Hãy trình bày các phương pháp bảo vệ CPU, I/O và bộ nhớ chủ từ
cấu trúc phần cứng của máy tính? Để bảo đảm quyền điều hành hệ thống của
Hệ điều hành người ta đã sử dụng kĩ thuật nào?
Trả lời
Phương pháp bảo vệ CPU:
Timer - đồng hồ ngắt giờ để đảm bảo quyền điều khiển của hệ điều hành
Đồng hồ ngắt sẽ giảm đều đặn theo một chu kì nhất định
Khi đồng hồ ngắt giờ giảm đến giá trị 0 thì một số ngắt xảy ra, ngắt này trả lại
quyền điều khiển cho OS
Timer thông thường được sử dụng cho những OS chia sẻ thời gian
Timer cũng còn được sử dụng cho các máy tính thời gian thực
Load-timer là một privikege d instruction
Phương pháp bảo vệ I/O:
Tất cả các chỉ thị I/O là chỉ thị đặc quyền
Phải chắc chắn một chương trình của user không bao giờ giành được điều khiển
của máy tính trong monitor mode ( chẳng hạn nó không bao giờ có thể thay đổi
địa chỉ trong vecto ngắt).
Bảo vệ bộ nhớ chủ:
wWw.K57C.cOm 23
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Để bảo đảm quyền điều hành hệ thống của Hệ điều hành người ta đã sử dụng kĩ
thuật timer
Câu 14. Hãy trình bày khái niệ m về các hàng đợi của tiến trình trong quá trình
hoạt động? Trình bày mô hình lập lịch và các tiêu chuẩn dùng cho lập lịch tiến
trình?
Trả lời
Khái niệm về các hàng đợi của tiến trình trong quá trình hoạt động
Có 3 loại hàng đợi cơ bản:
- Hàng đợi công việc: tập tất cả các tiến trình trong hệ thống.
- Hàng đợi sẵn sàng: tập tất cả các tiến trình đã nạp trong bộ nhớ, sẵn sàng và
chờ thực hiện.
Hàng đợi sẵn sàng bao gồm các hàng đợi khác nhau (hàng đợi đa cấp), phân
loại:
+ hàng đợi tương tác (interactive)
wWw.K57C.cOm 24
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
CÂU 15: Khái niệm không gian địa chỉ logic và không gian địa chỉ vật lý?
Chức năng và mô hình của bộ quản lý bộ nhớ MMU?
Trả lời:
wWw.K57C.cOm 25
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Không gian địa chỉ logic (Logical Address Spaces): Một địa chỉ được tạo ra bởi
CPU được gọi là địa chỉ logic (logical address), nó chính là địa chỉ ảo ( virtual
address). Tập hợp tất cả địa chỉ logic là không gian địa chỉ logic.
Không gian điạ chỉ vật lý (Physical Address Spaces): Một địa chỉ được nạp vào
thanh ghi địa chỉ bộ nhớ được gọi là địa chỉ vật lý (physical address), nó là địa chỉ
thật trong bộ nhớ. Tập hợp tất cả địa chỉ vật lý tương ứng với mỗi địa chỉ logic là
không gian địa chỉ vật lý.
wWw.K57C.cOm 26
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Câu 16. Hãy trình bày mô hình quản lý bộ nhớ theo kiểu phân trang?
Trình bày lược đồ chuyển đổi địa chỉ trong kĩ thuật phân trang?
Trả lời
Mô hình quản lý bộ nhớ theo kiểu phân trang
Trong mô hình này, bộ nhớ vật lý được phân thành các khối có kích thước cố
định bằng nhau, được đánh số địa chỉ bắt đầu từ 0 và được gọi là các khung trang
(Page Frame ).
Không gian địa chỉ của các tiến trình cũng được chia thành các phần có kích
thước bằng nhau và bằng kích thước của 1 khung trang, được gọi là các trang
(page) của tiến trình.
Khi một tiến trình được nạp vào bộ nhớ thì các trang của tiến trình được nạp
vào các khung trang còn trống bất kì (có thể không liên tiếp nhau) của bộ nhớ.
Trên bộ nhớ có thể tồn tại các trang của nhiều tiến trình khác nhau. Khi 1 tiến
trình bị swap – out thì các khung trang mà tiến trình các khung trang mà tiến trình
này chiếm giữ sẽ được giải phóng để hệ điều hành có thể nạp các trang tiến trình
khác vào.
Trong kỹ thuật này, HĐH phải đưa ra các cơ chế thích hợp để theo dõi trạng
thái của các khung trang (còn trống hay đã cấp phát) trên bộ nhớ và các khung
trang đang chứa các trang của 1 tiến trình của các tiến trình khác nhau trên bộ nhớ.
HĐH sử dụng 1 danh sách để ghi số hiệu của các khung trang còn trống tr ên bộ
nhớ, HĐH dựa vào danh sách này để tìm các khung trang trống trước khi quyết
định nạp một tiến trình vào bộ nhớ, danh sách này được cập nhật ngay sau khi
HĐH nạp 1 tiến trình vào bộ nhớ, được kết thúc hoặc bị swap – out ra bên ngoài.
wWw.K57C.cOm 27
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
HĐH sử dụng bảng trang (pages table) để theo dõi vị trí các trang tiến trình
trên bộ nhớ, mỗi tiến trình có 1 bảng trang riêng. Bảng trang bao gồm nhiều phần
tử, thường là bằng số lượng trang của 1 tiến trình mà bảng trang này theo dõi, các
phần tử được đánh số bắt đầu từ 0.
Lược đồ chuyển đổi địa chỉ trong kĩ thuật phân trang:
Trong kĩ thuật phân trang, khi cần truy xuất bộ nhớ địa chỉ CPU phát ra gồm:
- số hiệu (p) – chỉ số trong bảng trang chứa địa chỉ cơ sở của nó trong bộ
nhớ vật lý.
- Vị trí trang (d) – tổ hợp với địa c hỉ cơ sở để xác định địa chỉ vật lý và
được gửi tới bộ nhớ.
Kích thước của mỗi trang hay khung trang do phần cứng quy định và thường là
lũy thừa của 2, biến đổi từ 512 byte đến 8192 byte. Nếu kích thước của không gian
địa chỉ là 2m và kích thước của trang là 2n thì m-n bít cao của địa chỉ logic là số
hiệu trang (p) và n bít còn lại là địa chỉ tương đối trong trang (d).
Việc chuyển từ địa chỉ logic sang địa chỉ vật lý được thực hiện theo các bước :
- Trích ra m-n bit trái nhất (thấp nhất) của địa chỉ logic để xác định số
hiệu trang cần truy xuất.
- Sử dụng số hiệu trang ở trên để chỉ đến phần tử tương ứng trong bảng
trang của tiến trình, để xác định khung trang tương ứng, vd là k.
Địa chỉ vật lý bắt đầu của khung trang là k*2n, và địa chỉ vật lý của byte cần
truy xuất là số hiệu trang cộng với giá trị địa chỉ tương đối trong trang (d). Địa chỉ
vật lý không cần tính toán, nó có được bằng cách nối số hiệu khung trang với địa
chỉ tương đối của trang (d).
Câu 17. Hãy trình bày khái niệm chia sẻ bộ nhớ dùng chung trong mô hình
phân trang?
Trình bày lược đồ chuyển đổi địa chỉ trong kĩ thuật sử dụng bảng phân trang
dịch chuyển?
Trả lời:
Khái niệm chia sẻ bộ nhớ dùng chung trong mô hình phân trang:
Chia sẻ code:
một bản sao code chỉ đọc được chia sẻ giữa các tiến trình (chẳng hạn bộ soạn thảo
văn bản, bộ dịch, hệ thống cửa sổ…)
code được chia sẻ phải đặt ở cùng vị trí trong không gian địa chỉ logic của tất cả
các tiến trình
code và dữ liệu không chia sẻ
mỗi tiến trình lưu trữ một bản sao code và dữ liêu phân biệt
các trang code và dữ liệu dùng riêng có thể đặt ở bất cứ vị trí nào trong không gian
địa chỉ logic
Bảng phân trang dịch chuyển:
Một điểm truy cập cho mỗi trang thực của bộ nhớ
Điểm truy nhập chứa địa chỉ ảo của trang được lưu trữ tại vị trí địa chỉ thật trong
bảng trangvà tên tiến trình đang sở hữu bảng trang này
Bộ nhớ dành cho bảng trang tăng lên, nhưng thời gian tìm kiếm giảm đi
sử dụng bảng băm để giới hạn tìm kiếm một hoặc một vài điểm truy nhập
wWw.K57C.cOm 28
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Lược đồ chuyển đổi địa chỉ trong kĩ thuật sử dụng bảng phân trang dịch
chuyển:
Câu 18: Hãy trình bày mô hình quản lý bộ nhớ theo kiểu phân đoạn?
Trình bày lược đồ chuyển đổi địa chỉ trong mô hình phân đoạn?
Trả lời
Tóm lược:
Kỹ thuật phân đoạn bộ nhớ là chia bộ nhớ thành những đoạn nhỏ, mỗi đoạn có
số hiệu đoạn, nhờ vào các thanh ghi đoạn limit và thanh ghi nền base để biết đoạn
nhớ nào trong bộ nhớ vật lý.
Để xác định ô nhớ trong đoạn nhớ nào thì phải nhờ vào địa chỉ tương đối của
mỗi đoạn đó là địa chỉ offset (độ lệch) là địa chỉ tươ ng đối cho mỗi đoạn.
Mỗi chương trình có thể có nhiều phân đọan, bây giờ được kết hợp thành bảng
phân đọan thay bảng trang. Bảng phân đọan đơn giản là tập hợp những cặp cơ sở
cho mỗi phân đọan.
Trong quá trình phân đoạn bộ nhớ ta phải giải quyết 2 vấn đề đ ó là chuyển đổi
địa chỉ và cài đặt bằng phân đoạn.
Bảo vệ các đoạn nhớ: ngăn chặn sự xâm nhập trái phép giữa 2 đoạn nhớ nhờ
vào 2 thanh ghi offset và base.
wWw.K57C.cOm 29
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Chia sẻ phân đoạn: kỹ thuật phân đoạn có ưu điểm là khả năng chia sẻ với từng
phần chương trình, các tiến trình có thể chia sẻ với nhau, với từng phần chương
trình không nhất thiết phải chia sẻ toàn bộ chương trình như kỹ thuật phân trang.
Phân đoạn có thể gây ra sự phân mảnh, khi tất cả khối bộ nhớ trống là quá nhỏ
để chứa một phân đoạn. Thông thường, nếu kích thước phân đoạn trung bình là
nhỏ, phân mảnh ngoài cũng sẽ nhỏ.
Kỹ thuật phân đoạn chỉ áp dụng ở hệ điều hành đa nhiệm.
Chi tiết:
Bộ nhớ là trung tâm để điều hành hệ thống máy tính hiện đại. Bộ nhớ chứa một
mảng lớn các từ (words) hay các bytes, mỗi phần tử với địa chỉ của chính nó. CPU
lấy các chỉ thị từ bộ nhớ dựa theo giá trị của thanh đếm chương trình. Các chỉ thị
này có thể gây việc nạp bổ sung các từ và lưu trữ tới các địa chỉ bộ nhớ xác định.
Phân đoạn là một cơ chế quản lý bộ nhớ hỗ trợ tầm nhìn bộ nhớ của người
dùng. Không gian địa chỉ logic là tập hợp các phân đoạn. Mỗi phân đoạn có tên và
chiều dài. Các địa chỉ xác định tên phân đoạn và độ dời trong phân đoạn. Do đó,
người dùng xác định mỗi địa chỉ bằng hai lượng: tên phân đoạn và độ dời. (tương
phản cơ chế này với cơ chế phân trang, trong đó người dùng chỉ xác định một địa
chỉ đơn, được chia bởi phần cứng thành số trang và độ dời, tất cả không thể nhìn
thấy đối với người lập trình).
Để đơn giản việc cài đặt, các phân đoạn được đánh số và được tham chiếu tới
bởi số phân đoạn, hơn là bởi tên phân đoạn. Do đó, địa chỉ logic chứa một bộ hai:
<số phân đoạn, độ dời>
Thông thường, chương trình người dùng được biên dịch, và trình biên dịch tự
động tạo ra các phân đoạn phản ánh chương trình nhập. Một trình biên dịch có thể
tạo một phân đoạn riêng cho mỗi khối chung. Các mảng có thể được gán các phân
đoạn riêng. Bộ nạp có thể mang tất cả phân đoạn này và gán chúng số phân đoạn.
Mặc dù người dùng có thể tham chiếu tới các đối tượng trong chương trình bởi
một địa chỉ hai chiều, bộ nhớ vật lý là chuỗi một chiều các byte. Do đó, chúng ta
phải xác định việc cài đặt để ánh xạ địa chỉ hai chiều được định nghĩa bởi người
dùng vào địa chỉ vật lý một chiều. Ánh xạ này được tác động bởi một bảng phân
đoạn. Mỗi mục từ của bảng phân đoạn có một nền phân đoạn (segment base) và
giới hạn phân đoạn (segment limit). Nền phân đoạn chứa địa chỉ vật lý bắt đầu, nơi
phân đoạn định vị trong bộ nhớ, ngược lại giới hạn phân đoạn xác định chiều dài
của phân đoạn.
wWw.K57C.cOm 30
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
wWw.K57C.cOm 31
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Xét trường hợp như hình trên. Chúng ta có năm phân đoạn được đánh số từ 0
đến 4. Các phân đoạn được lưu trong bộ nhớ vật lý như được hiển thị. Bảng phân
đoạn có một mục từ riêng cho mỗi phân đoạn, cho địa chỉ bắt đầu của phân đoạn
trong bộ nhớ vật lý (hay nền) và chiều dài của phân đoạn đó (hay giới hạn). Thí
dụ, phân đoạn 2 dài 400 bytes và bắt đầu tại vị trí 4300. Do đó, một tham chiếu
byte 53 của phân đoạn 2 được ánh xạ tới vị trí 4300 + 53 = 4353. Một tham chi ếu
tới phân đoạn 3, byte 852, được ánh xạ tới 3200 (giá trị nền của phân đoạn 3)
+852=4052. Một tham chiếu tới byte 1222 của phân đoạn 0 dẫn đến một trap tới
hệ điều hành, khi phân đoạn này chỉ dài 1000 byte.
Câu 19. Định nghĩa hệ điều hành. Lấy ví dụ thực tế để minh họa cho các đặc
điểm trong định nghĩa. Trình bày sơ đồ phân lớp của hệ thống máy tính?
Ý nghĩa của sự phân lớp?
Trả lời
Hệ điều hành:
- Là một tập hợp các phần mềm hệ thống điều khiển mọi hoạt động của máy
tính và tạo môi trường giao diện giữa người sử dụng và máy tính.
- Là tài nguyên quản lý các tài nguyên khác.
- Là trung gian điều khiển các chương trình ngăn ngừa lỗi và sự sử dụng không
thích hợp.
wWw.K57C.cOm 32
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
- Làm trung gian giữa những mâu thuẫn về hiệu năng của tài nguyên và việc sử
dụng một cách thuận tiện.
Ví dụ:
Trong một công ty các trưởng phòng là một hệ thống điều khiển mọi hoạt động
của công ty và là trung gian giữa nhân viên làm việc và giám đốc công ty.
- Các trưởng phòng quản lý các nhân viên trong công ty.
- Các hoạt động hay công tác của nhân viên đều do người trưởng phòng quản
lý và điều hành. Ngăn các lỗi hay các việc làm không đúng của nhân viên .
- Làm trung gian giải quyết các vấn đề mâu thuẫn giữa người làm việc và
công ty.
Phân lớp của hệ thống máy tính:
Gồm có 4 lớp:
Phần cứng.
Hệ điều hành.
Các chương trình ứng dụng.
Người sử dụng.
Hệ điều hành
Phần cứng.
Câu 20:
dead .
wWw.K57C.cOm 33
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Trả lời:
:
:
- .
.
-
.
/O.
:
:
) = 12;
.
- Bây giờ chúng ta xem giao thức sau để ngăn chặn deadlock: mỗi quá trình có
thể yêu cầu tài nguyên chỉ trong thứ tự tăng của số lượng. Nghĩa là, một quá
trình ban đầu có thể yêu cầu bất cứ số lượng thể hiện của một loại tài nguyên
Ri. Sau đó, một quá trình có thể yêu cầu các thể hiện của loại tài nguyên Rj
nếu và chỉ nếu F(Rj) > F(Ri). Nếu một số thể hiện của cùng loại tài nguyên
được yêu cầu, thì một yêu cầu cho tất cả thể hiện phải được cấp phát. Thí dụ,
sử dụng hàm được định nghĩa trước đó, một quá trình muốn dùng ổ băng từ
và máy in tại cùng một lúc trước tiên phải yêu cầu ổ băng từ và sau đó yêu
cầu máy in.
- Nói một cách khác, chúng ta yêu cầu rằng, bất cứ khi nào một quá trình yêu
cầu một thể hiện của loại tài nguyên Rj, nó giải phóng bất cứ tài nguyên Ri
sao cho F(Ri) ≥F(Rj).
wWw.K57C.cOm 34
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
- Nếu có hai giao thức được dùng thì điều kiện tồn tại chu trình không thể xảy
ra.
- Chúng ta có thể giải thích điều này bằng cách cho rằng tồn tại chu trình trong
đồ thị cấp phát tài nguyên tồn tại. Gọi tập hợp các quá trình chứa tồn tại chu
trình trong đồ thị cấp phát tài nguyên là {P0, P1, … , Pn}, ở đây Pi đang chờ
một tài nguyên Ri, mà Ri được giữ bởi quá trình Pi+1. Vì sau đó quá trình
Pi+1 đang giữ tài nguyên Ri trong khi yêu cầu tài nguyên Ri+1, nên chúng ta
có F(Ri) < F(Ri+1) cho tất cả i. Nhưng điều kiện này có nghĩa là F(R0) <
F(R1) < …< F(Rn) < F(R0). Bằng qui tắc bắt cầu F(R0) < F(R0), điều này là
không thể. Do đó, không thể có chờ chu trình.
Chú ý rằng hàm F nên được định nghĩa dựa theo thứ tự tự nhiên của việc sử dụng
tài nguyên trong hệ thống. Thí dụ, vì ổ băng từ thường được yêu cầu trước máy
min nên có thể hợp lý để định nghĩa F( ổ băng từ) < F(máy in).
Câu 21. ?
Trả lời
Trạng thái an toàn của hệ thống tại một thời điểm nếu dãy tiến trình song hành
tại thời điểm đó có thể được sắp xếp thành một dãy an toàn. Một trạng thái an toàn
là một trạng thái không có bế tắc( deadlock).
Cách điều khiển phân phối tài nguyên cho một dãy an toàn:
Một dãy P1, P2, …, Pn là một dãy an toàn nếu với mọi tiến trình Pi, tài nguyên mà
Pi cần có thể được thỏa mãn bởi tài nguyên của hệ thống. Tài nguyên mà Pi đòi
hỏi có thể thỏa mãn bởi tài nguyên còn tự do và tài nguyên bị giữ bởi Pj với j>i.
- Nếu Pi không có tài nguyên ngay tức thì Pi có thể chờ cho đến khi các Pj kết
thúc.
- Khi Pj kết thúc thì Pi thu được tài nguyên mà nó cần, thực hiện và khi kết
thúc sẽ trả lại tài nguyên cho hệ thống.
- Khi Pi kết thúc thì tiến trình Pi+1 sẽ được thu được tài nguyên mà nó cần.
Ví dụ:
wWw.K57C.cOm 35
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Câu 22.
?
Trả lời
Deadlock là quá trình yêu cầu tài nguyên không sẵn dùng tại thời điểm đó.quá
trình vào trạng thái chờ.Quá trình chờ có thể không chuyển trạng thái trở lại vì tài
nguyên chúng yêu cầu bị giữ bởi những quá trình đang chờ khác.Trường hợp này
gọi là deadlock
Phương phát điều khiển khoá chết :
- Ngăn ngừa
- Thoát khỏi
- Phát hiện
- Khôi phục
- Tổ hợp các biện pháp
Trạng thái an toàn: nếu hệ thống có thể cấp phát tài nguyên tới mỗi tiến trình trong
một thứ tự và vẫn tránh deadlock
Hệ thống ở trạng thái an toàn nếu nó tồn tại dãy an toàn của tất cả các tiến trình
Dãy <p1,p2…..,pn>là an toàn nếu mỗi pi các tài nguyên mà vẫn đòi hỏi có thể
thoả mãn bởi tài nguyên tự do và tài nguyên bị giữ bởi bởi tất cả các pj,với j<i : pi
chờ,nhận ,kết thúc(trả)
Trình bày giải thuật kiểm tra sự an toàn của hệ thống: Ta di tìm hiểu 3 giải thuật
dẫn đén sự an toàn hê thống
Giải thuật về phân phối tài nguyên
Giải thuật ông chủ nhà hàng
Giải thuật an toàn
1:Giải thuật đồ thị phân phối tài nguyên:
- pi→rj:cung mong muốn <pi yêu cầu rj trong tương lai>
- rj→pi:cung yêu cầu<pi yêu cầu tài nguyên rj >
- tài nguyên được báo trước trong yêu cầu hệ thống
2:giải thuật ông chủ ngân hàng :
- tiến trình báo trước nhu cầu tối đa về tài nguyên
- tiến trình yêu cầu có thể phải chờ
- tiến trình lấy được tài nguyên trả lại chúng ngay khi kết thúc
*AVAILABLE:vecto độ dài m
availlable[j]=k có đơn vị thuộc về kiểu tài nguyên còn được tự do.Vi dụ
availlable[j]=5
wWw.K57C.cOm 36
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
*MAX:ma trận n*m.nếu MAX[ i,j]=k:tiến trình yêu cầu k đơn vị thuộc kiểu
tài nguyên j
*ALLOCATION:ma trận n*m.nếu ALLOCATION[ i,j]=k tức là tiến trình
nhiều nhất là k đơn vị thuộc kiểu tài nguyên rj
NEED:ma trận n*m.Nếu NEED[ i,j]=k túc la tiến trình cần k đơn vị cua rj
NEED[ i,j]=MAX[ i,j]-ALLOCATION[ i,j]
3:Giải thuật an toàn:
B1:đặt Work và Finish là các vecto lần lượt có độ dài m,n.Khởi động
Work= AVAILABLE
Finish[i]=false với i=1,2,3,…,n
B2: tìm pi thỏa mãn cả hai điều kiện:
Finish[i]=false
Needi≤Work
Nếu không tìm thấy i chuyển tới B4
B3:Work=Work+ALLOCATION
Finish[i]=true
Chuyển sang B2
B4 :Nếu Finish[i]=true với mọi i,thì hệ thống trong trạng thái an toàn
Ví dụ:cho tiến trình từ p0 dên p4 co 3 kiểu tài nguyên A(10 đơn vị),
B(5 đơn vị),C(3 đơn vị)
Trạng thái tại thời điểm T0
ALLOCATION MAX AVAILABLE
A B C A B C A B C
P0 0 1 0 7 5 3 3 3 2
P1 2 0 0 3 2 2
P2 3 0 2 9 0 2
P3 2 2 1 2 2 2
P4 0 0 2 4 3 3
wWw.K57C.cOm 37
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Câu 23: Trình bày giải thuật “ông chủ ngân hàng “ về phân phối tài nguyên
của hệ thống? Cho ví dụ minh họa.
Trả lời
Giải thích
wWw.K57C.cOm 38
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Tại thời điểm P0 : A,C không được cấp phát ,B được cấp phát Allocation[0,B] =
1=> cái còn cần là:
Need [i,j] = Max [i,j] - Allocation [i,j].
Need
ABC
743
Làm tương tự đối với P1,P2,P3,P4 ta sẽ được kết quả như ở cột 5.
Minh họa:
Một ông chủ ngân hàng X ,ông ta có 10 tỉ đồng.
Tại 1 thời điểm nào đó có 1 đối tượng Y tới vay tiền, yêu cầu tối đa là Y được vay
5 tỉ, nhưng ngân hàng mới cấp cho ông ta được 3 tỉ. Vậy là số tiền ông ta còn cần
là : Need = 5 – 3 = 2 (tỉ).
Câu 24:Trình bày giải thuật phát hiện khóa chết? ví dụ minh họa.
Trả lời:
Giải thuật phát hiện khóa chết:
Ta có:
A là một vecto có độ dài m xác định số tài nguyên có thể sử dụng.
B là một ma trận nx m xác định số tài nguyên đã phân bố cho các tiến trình.
R là một ma trận nx m xác định các yêu cầu hiện tại của mỗi tiến trình.
Bước 1: đặt w, f là các vecto có độ dài m, n lần
w= A.
for i=1, 2, 3, …, n.
if B ≠0 then f[i] = false
else f[i] = true.
wWw.K57C.cOm 39
Đề cương Nguyên lý Hệ điều hành K57C – CNTT
Process B R A
D E D E D E
P0 3 0 7 0 3 3
P1 2 1 9 2
P2 2 1 2 5
wWw.K57C.cOm 40