Professional Documents
Culture Documents
1) Khái niệm về tiến trình-process, các trạng thái cơ bản của tiến trình
3) Sự tạm dừng và kích hoạt, biến đổi trạng thái khi có tạm dừng, kích hoạt
5) Hạt nhân của hệ điều hành, Hai mô hình kiến trúc hệ điều hành: monolithic và
micro kernel
Bài làm
1. - Tiến trình là một thực thể của máy tính thực thi một hay nhiều luồng
- Các trạng thái cơ bản của tiến trình :
+ Ready :
. Tiến trình sẵn sàng thực thi chờ BXL khi : số lượng BXL < số
lượng tiến trình
. Quản lý bằng ready process list , có quan tâm đến thứ tự
+ Running :
Tiến trình thực sự được thực thi
+ Blocked :
Tiến trình chờ sự kiện để thực thi
2. Sự biến đổi trạng thái của tiến trình :
- Khi chạy chương trình : HĐH tạo tiến trình , cấp phát tài nguyên -
> ready -> ready process list
- Bộ xử lý trống : Tiến trình thực thi
Ready -> Running : dispath
- Thực thi xong : HĐH can thiệt
Running -> Ready : thời gian lượng tử
- Qúa trình chờ : Sau khi thực thi xong
+ Giải phóng BXL về ready
+ Tiến trình được blocking về blocked
- Xảy ra sự kiện
Blocked -> Ready
3. - Sự tạm dừng (Suspending): Khi tiến trình không thể tiếp tục thực thi
đến khi có 1 tiến trình khác kích hoạt nó
- Sự kích hoạt (activate) : Là thao tác chuẩn bị để tiến trình có thể
tiếp tục thực thi kể từ trạng thái dừng trước đó.
- Biến đổi trạng thái khi có dừng hoặc kích hoạt :
Khi bộ xử lý đang thực thi tiến trình , có sự kiện dừng thì sẽ dừng
tiến trình và xử lý yêu cầu . Sau khi xử lý xong , có yêu cầu kích
hoạt sẽ tiếp tục thực thi từ thời điểm ngắt quãng.
4. – Ngắt : Là sự kiện làm thay đổi trình tự của BXL
- Xử lý ngắt :
+ Điều khiển HĐH
+ HĐH lưu lại trạng thái của tiến trình hiện tại
+ HĐH xử lý và phân loại ngắt cho bộ xử lý ngắt tương ứng
- Cơ chế chuyển đổi ngữ cảnh :
+ Chuyển sang thực thi tiến trình khác
+ Lưu lại ngữ cảnh của tiến trình hiện tại
+ Thiết lập ngữ cảnh cho tiến trình mới (register , ip , stack ,..)
5. – Tất cả các thao tác của tiến trình được thực hiện bởi một phần của
HĐH gọi là hạt nhân – kernel.
+ Cơ chế : . user mode : app : cơ chế ưu tiên thấp
. kernel mode : HĐH : cơ chế ưu tiên cao
+ Vai trò : . Quản lý tiến trình
. Quản lý bộ nhớ
. Lập lịch BXL
. Xử lý ngắt
- Có kiến trúc của HĐH :
+ Monolithic kernel
2) Thuật toán Dekker cài đặt loại trừ cho 2 tiến trình
P1,f1 P2,f2
While true While true;
p1 = true ; p2=true
while p1=true do: while p2=true do:
testAndset(p1,a) testAndset(p2,a)
<C> <C>
a=false a = false
end; end;
3) Ngăn chặn dealock theo các chiến lược của Havender, ưu/nhược điểm
1. Khái niệm deadlock : Là trạng thái xảy ra trong môi trường đa chương , khi
hai hay nhiều tiến trình đi vào vòng lặp chờ tài nguyên mãi mãi .
Vd :
D/ Bộ nhớ
- Bộ nhớ ảo là một kĩ thuật quản lý bộ nhớ được giả lập bởi HĐH , nó liên kết với
địa chỉ ô nhớ bởi địa chỉ ảo . Nó không tương ứng 1-1 với bộ nhớ thực và có không
gian bộ nhớ lớn , giúp chương trình không bị giới hạn bộ nhớ.
Ưu điểm :
+ Có thể chạy nhiều chương trình một lúc , kích thước chương trình có thể lớn hơn
kích thước bộ nhớ chính .
+ Cho phép chia sẽ mã và dữ liệu , số lượng đa chương trình không giới hạn. +
Khắc phục và hạn chế việc phân mảnh.
+ Giữ cho chương trình an toàn
Nhược điểm :
+ Tăng chi phí để xử lí ngắt phân trang , độ phức tạp của phần mềm và chi phí
phần cứng
+ Tốc độ giảm , ứng dụng chạy chậm hơn
2 . Ánh xạ địa chỉ theo khối - Các địa chỉ trong các hệ thống ánh xạ theo khối là
các địa chỉ gồm 2 thành phần . Để truy cập đến 1 dữ liệu cụ thể , chuong trình chỉ
ra block và offset của dũ liệu trong block đó.
- Địa chỉ ảo V được chỉ ra bởi cặp số v=(b,d) , r=b+d : địa chỉ phẳng
=> Ánh xạ địa chỉ theo khối được thực hiện động ngay trong thời gian thực hiện
process . Nếu cơ chế biến đổi địa chỉ không hiệu quả thì chi phí của nó có thể làm
giảm hiệu suất của hệ thống tới mức vượt quá ưu thế mà bộ nhớ ảo mang lại .
3 . Tổ chức bộ nhớ theo trang
+ Bộ nhớ ảo chia thành trang có kích thước cố định
+ Địa chỉ ảo trong hệ thống theo trang được thể hiện bằng cặp v=(p,d) , p_ thứ tư
trang , d_offset trong trang p
+ Các trang được ghi từ bộ nhớ ngoài vào bộ nhớ thực theo các block , gọi là page
frame và có kích thước đúng bằng kích thước trang.
+ Biến đổi địa chỉ trang trực tiếp bằng ánh xạ - RAM , hoặc sử dụng bộ nhớ tốc độ
cao – cache bằng ánh xạ trang – cache . Hoặc sử dụng kết hợp associative với ánh
xạ trực tiếp.
4. Tổ chức bộ nhớ theo đoạn
+ Bộ nhớ ảo : chia thành các đoạn kích thước khác nhau
+ Địa chỉ ảo trong hệ thống segment là cặp v=(s,d) , s_ số segment , d_offset trong
đoạn +
Segment được nạp từ bộ nhớ ngoài vào bộ nhớ vật lý theo cả segment một cách
liên tục và được nạp vào bất kỳ vùng trống liên tục nào đủ lớn .
+ Biến đổi địa chỉ bằng : . Điều khiển truy nhập trong hệ thống tổ chức segment .
Dùng ánh xạ trực tiếp . Chia sẻ chương trình và dữ liệu trong các hệ thống theo
segment
5. Tổ chức bộ nhớ kết hợp trang , đoạn
- Chia thành các trang bộ nhớ có kích thước bằng nhau - Không gian địa chỉ là tập
các đoạn , mỗi đoạn gồm nhiều trang liên tục
- Khi 1 tiến trình được đưa vào hệ thống , HĐH sẽ cấp phát cho tiến trình các trang
cần thiết để chứa đủ các phân đoạn của process
- Đỉa chỉ ảo v=(s,p,d) trong đó s là số segment , p là số page và d là offset - Biến
đổi địa chỉ
+ Dùng ánh xạ trực tiếp (sử dụng bộ nhớ tốc độ cao và kết hợp)
+ Chia sẻ bộ nhớ , chương trình trong tổ chức trang và đoạn
6. Chiến lược loại bỏ trang bộ nhớ Khi bộ nhớ hết chỗ trống , chương trình điều
khiển bộ nhớ sẽ xác định trang bị loại bỏ theo 7 nguyên tắc :
- Nguyễn tắc tối ưu : + Để hạn chế số lầm missing page fault và đặc biệt là hiện
tượng “trì trệ hệ thống ”
+ Tăng hiệu quả sử dụng tài nguyên , loại bỏ trang mà trong tương lai không có
yêu cầu truy cập đến .
- Loại bỏ ngẫu nhiên (Random page Replacemanet):
+ Bất kỳ trang nào cũng có thể swap out , xác suất xảy ra giữa các trang là như
nhau , kể cả các trang thường xuyên được sử dụng
+ Gây ra hiện tượng missing page fault và làm trì trệ hệ thống
- FIFO : Gán cho mỗi trang khi được nạp vào bộ nhớ 1 chỉ số , khi loại bỏ trang sẽ
chọn trang nằm trong bộ nhớ lâu nhất theo dòng thời gian
- LRU(Least recently used) : + HĐH ghi nhận lại thời điểm cuối cùng trang được
truy xuất + Sử dụng cơ chế phần cứng để hỗ trợ ghi lại thời điểm truy xuất cuối
cùng
- LFU(List Frequency used) :
+ Trang ít được sử dụng nhất sẽ bị swap out
+ Đo số lần truy cập , nếu số lần truy cập bằng nhau thì sử dụng FIFO hoặc
Random
- NUR(not used recently) : Các trang chia làm 4 nhóm , khi cần loại bỏ xét các
mức ưu tiên G1->G4 , trang được chọn để thay thế thông thường sử dụng FIFO
cho lớp (trang đầu tiên trong lớp)
- Working set of pages : + Working set là tập hợp các trang bộ nhớ được thường
xuyên truy cập tới , nó sử dụng tham số delta để định nghĩa cho kích thước cửa sổ
của working set
+ HĐH giám sát working set của mỗi tiến trình và cấp phát cho process tối
thiểu các khung trang để chứa working set
7 . Chiến lược nạp trang
- Nạp trang theo yêu cầu : Các trang của bộ nhớ chỉ được nạp vào bộ nhớ chính khi
được yêu cầu . Giúp tiết kiệm bộ nhớ , sử dụng bộ nhớ hiệu quả , tuy nhiên thời
gian process chờ sẽ lớn do chiếm bộ nhớ
- Nạp trang trước : HĐH dự đoán các trang mà process sẽ cần đến và nạp các trang
đó khi bộ nhớ có dư chỗ trống
- Vấn đề về kích thước trang : + Kích thước nhỏ , số lượng page frame sẽ lớn dẫn
đến bảng ánh xạ lớn -> sử dụng không hiệu quả bộ nhớ .
+ Kích thước trang lớn sẽ làm việc nạp trang vào bộ nhớ cần nạp khối lượng thông
tin lớn (I/O sẽ bị chậm).
- Giải phóng bộ nhớ : Việc giải phóng bộ nhớ rất quan trọng để có không gian
trống nạp dữ liệu cho process hoạt động và tránh các tình trạng thrashing .
Lập lịch cho BXL
1. Khái niệm lập lịch cho BXL, lượng tử thời gian, mức ưu tiên
2. Các cơ chế lập lịch cho BXL
1. Khái niệm lập lịch cho BXL, lượng tử thời gian , mức ưu tiên
- Khái niệm lập lịch cho BXL : Là việc phân phối BXL cho các process để
chúng hoạt động , gồm các mức
+ Lập lịch mức cao : Xác định process đủ điều kiện thực thi
+ Lập lịch mức giữa : Xác định process ở trạng thái ready process list , BXL
sẽ suspend hoặc activate các process để đảm bảo hệ thống hoạt động ổn
định.
+ Lập lịch mức thấp : Xác định xem khi BXL trống thì ready process nào sẽ
được sử dụng BXL .
- Thời gian lượng tử : Là thời gian lớn nhất mà tiến trình chiếm BXL , HĐH
sẽ thiết lập 1 đồng hồ để đo quantum và sinh ra các tín hiệu ngắt thời gian .
Gía trị của quantum phụ thuộc vào tần suất hoạt động và số lượng của
process , nó thường ko đổi tuy nhiên trong 1 số trường hợp thay đổi tạm thời
để phục vụ cho mục đích ngắn hạn
- Mức ưu tiên :
+ Mức độ quan trọng của process được thể hiện qua mức ưu tiên , process có
mức ưu tiên cao sẽ được sử dụng nhiều tài nguyên .
+ HĐH gán cho process 1 mức ưu tiên theo những tiêu chuẩn xác định
-Hoạt động : Để có thể truy nhập đến dữ liêu trên đĩa với các đầu từ
đọc/ghi ,trước tiên các đầu từ cần phải được định vị trên cylinder cần thiết
(seek cylinder). Sau đó cần phải chờ đến khi điểm bắt đầu của bản ghi đến
đúng vị trí dưới đầu từ (tìm bản ghi-gắn với thời gian trễ), tiếp theo là bản
thân bản ghi, về nguyên tắc có thể có kích thước tuỳ ý (đến toàn bộ rãnh-
track), cần phải đi qua dưới đầu từ (gọi la thời gian truyền- transmission
time).
2. Các cơ chế tối ưu thời gian định vị (seek time)
- FCFS :Các yêu cầu được thực hiện theo thứ tự xuất hiện
- SSTF : Yêu cầu cần sự dịch chuyển đầu từ ít nhất được thực hiện trước
- SCAN : Thực hiện các yêu cầu trên đường đi và về
- C-SCAN : Phục vụ các yêu cầu theo 1 hướng từ ngoài vào trong
- N-step-SCAN : Các yêu cầu được nhóm lại để phục vụ nhanh (theo cách di
chuyển của SCAN)
- Sơ đồ ESCHENBACH : Khi phục vụ môi cylinder thì chỉ thực hiện truy
nhập đến một track mà không để ý đến việc có thể có yêu cầu khác cũng
thuộc Cylinder đó (đầu từ di chuyển theo cách của C-SCAN
Hệ thống File
1. Khái niệm hệ thống file, Chức năng của hệ thống file
2. Hệ thống file dùng danh sách khối dữ liệu (block data)
3. Hệ thống file dùng danh sách khối chỉ số (block index)
4. Hệ thống file dùng bảng ánh xạ các block.
5. Kiểm soát truy cập: ma trận kiểm soát truy cập, danh sách kiểm soát truy cập
1. Khái niệm hệ thống file , chức năng
- Hệ thống file là một tập hợp các dịch vụ mà HDH cung cấp , cho người sử dụng và chương
trình người sử dụng để các đối tượng này sử dụng các File trên hệ thống
- Chức năng :
+ Người dùng phải có khả năng tạo , thay đổi , xóa file
+ Cung cấp khả năng chia sẻ file
+ Cơ chế chia sẻ phải xem xét hình thức truy cập cần kiểm soát
+ Người dùng phải có khả năng thao tác dễ dàng với cấu trúc file , độc lập với phần cứng + Đảm
bảo sự trao đổi thông tin giữa ccs file
+ Cần có các công cụ khắc phục , khôi phục lại thông tin khi có sự cố + Với các thông tin quan
trọng cần có cơ chế kiểm soát truy cập
+ Cung cấp giao diện than thiện với người dùng , cho phép người dùng làm việc với các cấu trúc
dữ liệu logic của mình.
2.Hệ thống file dùng danh sách khối dữ liệu
- Mỗi block (có độ dài cố định) gồm hai phần: phần header chứa con trỏ đến block tiếp theo, và
phần dữ liệu. Block cuối cùng Đơn vị cấp phát nhỏ nhất là block. Để đọc bản ghi, đầu tiên cần
tìm đến block sau đó đến sector trong block chứa bản ghi.
- Quá trình tìm kiếm phải bắt đầu duyệt từ block đầu tiên, theo các con trỏ đến block cần tìm.
3. Hệ thống file dùng danh sách khối chỉ số
- Mỗi block chỉ số chứa số lượng cố định các phần tử, mỗi phần tử chứa con trỏ đến block dữ
liệu. - Nếu một index block không đủ, hệ thống dùng chuỗi các index block để chứa thông tin
của file, mỗi index block có con trỏ đến index block tiếp theo trong chuỗi.