You are on page 1of 2

Chương 1:

- Khái niệm hệ điều hành


Chương II Chương III
Hđh là một chương trình/hệ chương trình hoạt
động giữa người dùng và phần cứng máy tính - Vai trò HĐH trong quản lý tiến trình - Deadlock là gì? Là tình trạng khi hệ thống tồn tại
- Mục tiêu HĐH: + Tạo tiến trình một tập hợp các TT bị khóa, trog đó mỗi TT đều
+ Trạng thái tiến trình – chuyển đổi trạng thái tiến đang chờ một sự kiện hay một tài nguyên mà chỉ
+ Làm cho máy tính dễ sử dụng, và hiệu quả hơn
trình một tài nguyên mà chỉ 1 TT khác tạo r => KQ là ko
+ Quản lý và cấp phát tài nguyên hệ thống một
+ Khối quản lý tiến trình (PCB – Process Control TT nào hoàn thành
cách hiệu quả
Block) + Nếu đồ thị có chu trình: có thể có dl
- Bản chất của hđh:
+ Các thao tác với tiến trình + Nếu 1 chu trình gồm 1 tập hợp các loại TN, mỗi
+ HĐH là một máy tính mở rộng: cung cấp khả
+ Cấp phát tài nguyên cho tiến trình TN có 1 thể hiện: có dl
năng trừu tượng hóa giúp thao tác của người
dùng dễ dàng hơn.
- Các trạng thái của tiến trình + Bài tập. - Điều kiện xảy ra deadlock:
+ HĐH là một hệ thống quản lý tài nguyên: Quản + New: tiến trình đang đc tạo mới + mutual exclution: loại trừ lẫn nhau
lý và cấp phát tài nguyên để các chương trình + Running: TT đang đc xử lý + hold and wait: giữ và chờ TN
hoạt động 1 cách chính xác và hiệu quả hơn. + Waiting – Blocked: TT chờ đc cấp phát + no preemption: ko đòi lại TN từ quá trình đang
- Các chức năng cơ bản HĐH tài nguyên, hay chờ một sự kiện giữ chúng
 Cung cấp một môi trường để người sử + Ready: TT chờ nhận CPU + circular wait: tồn tại chu trình trong đồ thị cấp
dụng thực thi các chương trình + Terminate: TT kết thúc xử lý phát TN
 Điều khiển và phối hợp việc sử dụng phần - Truyền thông giữa các tiến trình (các dạng chuyển - Các giải pháp xử lý Deadlock
cứng đổi trạng thái của TT): - Ngăn chặn deadlock: ngăn chặn các đk xảy ra dl
 Cung cấp các dịch vụ cơ bản cho các ứng + new -> ready: chờ CPU ở hàng đợi - Tránh deadlock + Bài tập. (đồ thị cấp TN, banker)
dụng + ready -> running: nhận CPU, có TN
 Phân chia thời gian xử lý, định thời CPU + running -> exit: hoàn thành/đang chạy bị tắt - Phát hiện deadlock + Bài tập.
 Phối hợp và đồng bộ hoạt động của các + running -> ready: trả CPU/hết time use CPU, có
tiến trình TN
 Quản lý tài nguyên hệ thống (bộ nhớ, file, + running -> waiting: trả CPU, chờ TN
…) + waiting -> ready: chờ CPU, có TN
 Kiểm soát lỗi, bảo vệ + ready -> exit: người dùng tắt
+ waiting -> exit: người dùng tắt

(C2 tt) Giải pháp đồng bộ hóa TT: (C2 tt) Chương IV
+ Cờ hiệu: n TT - Chức năng của hệ điều hành trong quản lý bộ nhớ:
while (TRUE) {
+ Theo dõi những phần nào của bộ nhớ đang đc
while (lock == 1); // wait
use.
lock = 1;
critical-section (); + Quyết định những tiến trình nào sẽ đc nạp vào bộ
lock = 0; nhớ
Noncritical-section (); + Định vị và tái định vị ko gian bộ nhớ khi cần thiết
- Miền găng (CS) - miền tranh chấp: là đoạn while (TRUE) { - Các khái niệm phân mảnh nội, phân mảnh ngoại vi,
chương trình có khả năng gây ra tính trạng race while (lock == 1); // wait Swapping.
condition lock = 1;
+ Phân mảnh nội: mỗi block đc cấp phát lớn hơn
- Đồng bộ hóa tiến trình: Có 4 mục tiêu: critical-section ();
yêu cầu bộ nhớ 1 ít
+ Mutual exclution: Ko có 2 TT cùng ở trong CS lock = 0;
+ Phân mảnh ngoại vi: tổng bộ nhớ trống thỏa yêu
Noncritical-section ();
(độc quyền truy xuất) cầu nhưng ko liên tục
while (TRUE) {
+ Progress: 1 TT bên ngoài CS ko đc ngăn cản các + Swaping: TT ở tr/thái chờ đc tạm thời chuyển ra
while (lock == 1); // wait
TT khác vào CS lock = 1; bộ nhớ phụ (swap out), sau đó đc chuyển vào bộ
+ Bounded waiting: ko có TT nào phải chờ vô critical-section (); nhớ chính (swap in) để tiếp tục xử lý
hạn để đc vào CS lock = 0;
+ Ko có giả định nào đặt ra về tốc độ of các TT or
- Phân vùng cố định:
Noncritical-section ();
+ Bộ nhớ đc chia thành n phân vùng(partition) có
số lượng CPU While (TRUE) {
kích thước cố định. Các TT có nhu cầu bộ nhớ sẽ đc
While (lock == 1); // wait
lưu trữ trong queue.
Lock = 1;
+ Kích thước TT ko vừa đúng = kích thước phân
CS(); Lock = 0;
vùng chứa nó, phần bộ nhớ còn lại sẽ lãng phí =>
NonCS();
phân mảnh nội
}
 Vi phạm Mutual
+ Kiểm tra luân phiên: 2 TT
P0: While (TRUE) {
While (turn != 0); // wait
CS(); Turn = 1;
Non-CS(); }
P1: While (TRUE) {
While (turn != 1); // wait
CS(); Turn = 0;
NonCS(); }
while (TRUE) {
while (lock == 1); // wait
lock = 1;
critical-section ();
lock = 0;
Noncritical-section ();}
 Bảo đảm Mutual, vi phạm Progress (P0 ko vào
đc CS lần 2 khi P1 dừng trong NonCS)
+ Peterson: 2 TT
Int turn;
Int interested[2]; …
 Đáp ứng đc cả 4 mục tiêu

- Phân vùng động: (C4 tt) - Quản lý bộ nhớ ảo: (C4 tt) Chương V
+ Khái niệm về mô hình quản lý bộ nhớ ảo? Ưu - Các thao tác với file cơ bản: tạo, xóa, ghi, đọc, tái
+ Cấp phát vùng nhớ vừa đúng với kích thức của
điểm? Phân trang theo yêu cầu. định vị, xóa nội dung
TT đc tạo
- Kn quản lý bộ nhớ ảo: - Các phương pháp cấp phát không gian cho file.
+ Thu hồi vùng nhớ khi end TT
* Cơ chế quản lý đc hiện thực trog hđh để cho + Cấp phát liên tục:
+ Cấp phát vùng nhớ mới, sau đó xóa đi những
phần vùng nhớ đã cấp phát một cách không thứ phép thực thi 1TT mà chỉ cần giữ trong bộ nhớ chính  Lưu trữ file trên dãy các khối liên tiếp
tự => phân mảnh ngoại vi 1 phần of ko gian địa chỉ luận lý của nó, còn phần còn  Mỗi phần tử trong bảng thư mục: tên file, vt
lại đc giữ trên bộ nhớ phụ (đĩa) khối (cluster) đầu tiên, kích thước (số khối)
- Phân trang * Cần kết hợp kỹ thuật swapping để chuyển  Ưu điểm: Đơn giản, dễ cài đặt, dễ thao tác vì
+ Trình bày cơ chế phân trang: các phần của TT từ bộ nhớ chính ra bộ nhớ phụ và toàn bộ file đc đọc từ đĩa = thao tác đơn giản
 Cơ chế phân trang cho phép KGĐC thực ngược lại khi cần thiết. ko cần định vị lại
(physical) của 1 TT có thể ko liên tục nhau + Ưu điểm:  Nhược điểm: ko linh động, phân mảnh ngoại vi
 Bộ nhớ VL đc chia thành các khối (block)  Tăng số lượng TT đồng thời đc nạp vào bộ + Cấp phát theo ds liên kết:
có k/t cố định và = nhau, gọi là khug trag nhớ  Các khối of file có thể nằm ở các vt ko liên tục
(pg frame), k/t của frame là lũy thừa của 2  1 TT có k/t > bộ nhớ thực vẫn có thể thực thi nhau
(512 bytes – 16MB)  Bộ nhớ ảo cho phép giảm nhẹ công việc of lt  Mỗi mục trog bảng thư mục: tên file, vt khối
 BNLL (KGĐCLL) cũng đc chia thành các viên vì ko cần bận tâm đến giới hạn của vùng đầu tiên(start), vt khối kt(end)
khoioso có cùng k/t với kh/trang, gọi là nhớ vật lý.  Mỗi khối trên đĩa: con trỏ (~4 bytes) trỏ đến vt
trang (page) + Lỗi trang là gì? Là khi có một tham chiếu đến một khối tiếp theo của file, dữ liệu của file
 Khi cần nạp 1 TT, các trang của TT sẽ đc trang không có trong bộ nhớ chính (present bit = 0) -  Ưu điểm: ko phân mảnh ngoại vi
nạp vào các kh/trag còn trống > phần cứng phát sinh một ngắt (page-fault trap) báo  Nhược điểm: truy xuất ngẫu nhiên chậm, tốn
+ Nhận xét về cơ chế phân trang: cho hđh xử lý bộ nhớ lưu các con trỏ, một con trỏ lỗi -> cả file
* Cấp phát ko liên tục: các trang của cùng 1 TT + Cách xử lý lỗi trag: KT truy xuất đến bộ nhớ; If tr.x + FAT
có thể nằm ở các vt ko liên tục trong bộ nhớ -> ko hợp lệ, end TT; Ngc lại: tìm vt chứa trag muốn tr.x + Cấp phát dùng chỉ số index
phân mảnh ngoại vi trên đĩa -> tìm 1 empt frame trong BN chính -> + I-nodes
* Có thể phân mảnh nội: khung cuối cùng có thể chuyển page từ BN phụ -> BN9 =’ nạp trag cần tr.x + NTFS
ko sử dụng hết kích thước. vào empt frame đã chọn, update nd bảng trag, bản
frame tg ứg; if ko còn empt frame -> thay trang

You might also like