1. Chức năng,nhiệm vụ,fân loại HDH
a. Chức năg
• Wản lý tiến trình, bộ nhớ chính, bộ nhớ fụ, hệ thốg nhập xuất, hệ thống tập tin, bv hệ thống, hệ thống dòng lệh & giao diện, wản lý mạg
b. Nhiệm vụ
• Đảm bảo tài nguyên được sử dụg hợp lý
c. Fân loại
• HT xử lý theo lô, đa chươg, đa nhiệm, đa xử lý(xử lý sog sog), xử lý fân tán, xử lý thời gian thực, nhúg.
2. Tiến trình,tiểu trình:nguyên lý chung, thông tin lưu trữ & fân loại tiểu trình.
a. Tiến trình (process)
• Tiến trình là một chương trình đang xử lý, sỡ hữu một con trỏ lệnh, tập các thanh ghi và các biến. Để hoàn thành công việc của mình, một tiến trình có thể cần đến một số tài nguyên – như CPU, bộ nhớ chính, các tập tin và thiết bị nhập/xuất.
• Cần phân biệt hai khái niệm chương trình và tiến trình. Một chương trình là một thực thể thụ động, chứa đựng các chỉ thị điều khiển máy tính để tiến hành một tác vụ nào đó ; khi cho thực hiện các chỉ thị này, chương trình chuyển thành tiến trình, là một thực thể hoạt động, với con trỏ lệnh xác định chỉ thị kế tiếp sẽ thi hành, kèm theo tập các tài nguyên phục vụ cho hoạt động của tiến trình.
b. Tiểu trình (Thread)
• Trong hầu hết các hệ điều hành, mỗi tiến trình có một không gian địa chỉ và chỉ có một dòng xử lý. Tuy nhiên, có nhiều tình huống người sử dụng mong muốn có nhiều dòng xử lý cùng chia sẻ một không gian địa chỉ, và các dòng xử lý này hoạt động song song tương tự như các tiến trình phân biệt (ngoại trừ việc chia sẻ không gian địa chỉ)
c. Nguyên lý chung :
• Một tiểu trình là một đơn vị xử lý cơ bản trong hệ thống . Mỗi tiểu trình xử lý tuần tự đoạn code của nó, sỡ hữu một con trỏ lệnh, tập các thanh ghi và một vùng nhớ stack riêng. Các tiểu trình chia sẻ CPU với nhau giống như cách chia sẻ giữa các tiến trình: một tiểu trình xử lý trong khi các tiểu trình khác chờ đến lượt. Một tiểu trình cũng có thể tạo lập các tiến trình con, và nhận các trạng thái khác nhau như một tiến trình thật sự. Một tiến trình có thể sỡ hữu nhiều tiểu trình.
d. Phân loại tiến trình
– Tiến trình tuần tự
– Tiến trình song song
– Tiến trình có quan hệ thông tin
– Tiến trình độc lập
– Tiến trình cha và tiến trình con
– Tiến trình đồng mức
3. Wản lý tiến trình:các trạng thái và chế độ xử lý tiến trình
a. Trạng thái
• New:mới được tạo
• Running:chỉ thị đang thực thi
• Waiting:chờ sự kiện nào đó(vd:hoàn thành I/O)
• Ready:chờ cấp CPU
• Terminated:kết thúc xử lý
b. Chế độ xử lý
• Tập lệh của CPU chia thàh lệh đặc quyền(ảh tới HT) và ko đặc quyền. Lệh đặc quyền hoạt động trog chế độ đặc quyền(thuờg chỉ là HDH). Khi tiến trìh gọi lời gọi HT,tiến trìh của HDH xử lý lệh này trog chế độ đặc quyền,sau khi hoàn tất thì trả quyền điều khiển cho tiến trìh trog chế độ ko đặc quyền.
4. Wản lý tiến trình:cấu trúc dữ liệu khối wản lý tiến trìh & thao tác on tiến trìh
a. Cấu trúc dữ liệu PCB(5 fần)
• Định danh tiến trìh
• Trạng thái tiến trìh
• Ngữ cảh tiến trìh:trạg thái CPU, số hiệu bộ xử lý, bộ nhớ chíh, tài nguyên sử dụng, tài nguyên tạo lập
• Thôg tin giao tiếp:tiến trìh cha, tiến trìh con, độ ưu tiên
• Thôg tin thốg kê
b. Thao tác on tiến trìh
• Tạo lập-kết thúc-tạm dừng-tái kíh hoạt-thay đổi độ ưu tiên
5. Điều fối tiến trìh: 5 mục tiêu điều fối,điều fối độc quyền và ko độc quyền
a. 5 tiêu chuẩn điều fối
• Sự công bằng:tiến trìh chia sẻ CPU công bằng
• Tính hiệu quả:tận dụng được 100% CPU
• Thời gian đáp ứng hợp lý:cực tiểu hóa thời gian hồi đáp
• Thời gian lưu lại trog hệ thốg:cực tiểu hóa thời gian hoàn tất xử lý
• Thông lượg tối đa:cực đại số côg việc xử lý trog 1 đv time
b. Điều fối độc quyền
• Cho fép 1 tiến trìh khi nhận CPU có quyền độc chiếm CPU tới khi hoàn tất hay tự nguyện giải fóg
• Có 2 tìh huốg:tiến trìh chuyển từ running ->blocked(vd:chờ nhập xuất) or khi tiến trìh kết thúc
• Đơn giản,dễ cài,ko thíh hợp vs hệ thốg nhìu người,có thể làm ảh tới các tiến trìh khác
c. Điều fối ko độc quyền
• Cho fép dừng 1 tiến trìh đag sẵn sàg xử lý
• Quyết địh điều fối xảy ra khi:tiến trìh chuyển từ running->blocked, từ running->ready, từ blocked->ready hay khi kết thúc
• Giải quyết việc độc chiếm CPU,có thể gây ra mâu thuẫn
6. Tổ chức điều fối tiến trìh:FIFO,xoay vòng
a. FIFO
• Tiến trìh được điều fối theo thứ tự trong ready queue,là điều fối độc quyền
b. Xoay vòng
• Bộ điều fối cấp cho mỗi tiến trìh 1 time sử dụng(quantum)
• Khi tiến trìh sử dụng hết quantum,CPU bị thu hồi và cấp cho tiến trìh tiếp theo
• Nếu tiến trìh bị blocked hay xog trước quantum,CPU cũng bị thu hồi cho tiến trìh khác
• Nếu sử dụg hết quantum,tiến trìh được đưa vào cuối ds,đợi cấp CPU
7. Tổ chức điều fối tiến trìh:ưu tiên,côg việc ngắn nhất,nhìu mức độ ưu tiên
a. Ưu tiên
• Mỗi tiến trìh được gán 1 độ ưu tiên
• Độ ưu tiên được địh ngĩa nội tại hay tùy vào yếu tố bên ngoài
1. Độ ưu tiên nội tại sử dụng đại lượg đo lườg để tíh độ ưu tiên(giới hạn time,..)
2. Độ ưu tiên gán từ ngoài dựa vào tiêu chuẩn do HDH và tầm quan trọg cuả tiến trìh,loại người sở hữu tiến trìh
b. Công việc ngắn nhất
• Độ ưu tiên p gán cho tiến trìh có p=1/t(time tiến trìh yêu cầu)
• CPU cấp cho tiến trìh yêu cầu time ngắn nhất
• Tiến trìh mới có thể yêu cầu time sử dụg cho lần kế ngắn hơn time còn lại mà tiến trìh cần
• Giải thuật ko độc quyền sẽ dừg hoạt độg của tiến trìh hiện hàh,giải thuật độc quyền cho tiến trìh hiện hàh tiếp tục xử lý
c. Nhìu mức độ ưu tiên
• Fân lớp các tiến trìh để có cáh điều fối cho từg nhóm
• Ds sẵn sàng được fân thành các ds theo độ ưu tiên,mỗi ds gồm các tiến trìh có cùng độ ưu tiên và có giải thuật điều fối thix hợp
• Còn có giải thuật điều fối giữa các nhóm(thuờg là ko độc quyền và độ ưu tiên 0 đổi). Một tiến trìh thuộc ds ưu tiên i chỉ được cấp CPU khi ds ưu tiên >i trốg
8. Liên lạc giữa các tiến trìh:các cơ chế liên lạc
a. Tín hiệu(signal),Pipe,Vùng nhớ chia sẻ,Trao đổi thông điệp,Sockets
9. Đồng bộ hóa:y/c độc quyền truy xuất,y/c fối hợp
a. Độc quyền truy xuất
• Tài nguyên được chia làm 2 loại:chia sẻ(cho fép nhìu tiến trìh truy xuất cùg lúc) & ko chia sẻ(chỉ 1 or vài tiến trìh được truy xuất cùg lúc)
• Tài nguyên ko chia sẻ do 2 nguyên nhân
1. Đặc tính cấu tạo fần cứg ko cho fép
2. Nếu nhiều tiến trìh sử dụng có thể gây ra kết wả ko dự đoán được bởi ảnh hưởg của các tiến trìh lẫn nhau
• Cần đảm bảo tiến trìh độc quyền truy xuất tài nguyên,kiểm soát sao cho chỉ 1 tiến trìh truy xuất tài nguyên ko chia sẻ cùg 1 lúc
b. Fối hợp
• Hai tiến trìh ko tươg wan về tốc độ,điều này fụ thuộc nhiều yếu tố
• Các tiến trìh ko đồg bộ vs nhau. Nhưg có một vài tìh huốg cần đồg bộ,vs 1 tiến trìh chỉ xử lý khi 1 tiến trìh khác kết thúc
10. Bài toán đồg bộ hóa:tranh điều khiển và miền găg
a. Tranh đoạt điều khiển
•
b. Miền găg
• Đoạn chươg trìh có thể xảy ra mâu thuẫn truy xuất tài nguyên chug
• Có thể giải quyết vấn đề nếu đảm bảo tại 1 thời điểm chỉ có 1 tiến trìh được xử lý trog miền găg
• Fươg fáp giải quyết miền găg fải có 4 đk
1. Ko có 2 tiến trìh trog miền găg cùg lúc
2. Ko đặt giả thuyết về tốc độ tiến trìh và bộ xử lý trog hệ thốg
3. Tiến trìh tạm dừg ngoài miền găg ko cản tiến trìh khác vào miền găg
4. Ko tiến trìh nào chờ vô hạn để vào miền găg
11. Giải fáp đồg bộ hóa:cờ hiệu
a. Tiến trìh chia sẻ biến chug (lock),khởi độg là 0
b. Tiến trìh vào miền găg fải kiểm tra lock
• If lock==0 cho tiến trìh vào miền găg
• If lock==1 tiến trìh chờ cho tới khi lock =0
c. Lock = 0 là ko có tiến trìh trog miền găg,lock = 1 là có tiến trìh trog miền găg
12. Giải fáp đồg bộ hóa:Kiểm tra luân fiên
a. Giải fáp dàh cho 2 tiến trìh. Hai tiến trìh sử dụg chug biến turn,khởi độg =0. If turn=0,tiến trìh A được vào miền găg. Nếu turn = 1,tiến trìh A đi 1 vòg lặp chờ khi turn thàh 0. Khi A rời miền găg,nó đặt turn về 1 cho fép B vào miền găg
b. Lỗi: if tiến trìh vào lâu sẽ ảh tới tiến trìh sau
13. Giải fáp đồg bộ hóa:giải fáp peterson
a. Kết hợp cả hai giải fáp,tiến trìh chia sẻ 2 biến chug
14. Giải fáp fần cứg:cấm ngắt,TSL
a. Cấm ngắt
• Cho fép tiến trìh cấm tất cả ngắt trước khi vào miền găg. Hệ thốg ko thể dừg tiến trìh đag xử lý để nhườg CPU cho tiến trìh khác. Ko sợ bị tiến trìh khác trah chấp
b. TSL
• Cần sự trợ giúp fần cứg
• Nhiều máy tíh cấp chỉ thị đặc biệt để kiểm tra và cập nhật nội dug vùg nhớ trog 1 thao tác ko thể fân chia
15. Đồng bộ bằg semaphore bỏ
16. Đồng bộ bằg monitors bỏ
17. Quản lý bộ nhớ:địa chỉ vật lý và địa chỉ logic
a. Địa chỉ logic(ảo)
• là địa chỉ do hệ thống tạo ra và được cấp phát cho các biến khi thực hiện chương trình.
b. Địa chỉ vật lý
• là địa chỉ cụ thể trong bộ nhớ,được cấp phát cho các biến khi thực hiện chương trình.
18. Cấp fát bộ nhớ liên tục
Tiến trình được nạp vào một vùng nhớ liên tục đủ lớn để chứa toàn bộ tiến trình. Không cho phép chương trình khác sử dụng vùng nhớ dành cho chương trình
a. Mô hình Linker_Loader
• Tiến trình được nạp vào một vùng nhớ liên tục đủ lớn để chứa toàn bộ tiến trình.
• Tại thời điểm biên dịch các địa chỉ bên trong tiến trình vẫn là địa chỉ tương đối.
• Tại thời điểm nạp, Hệ điều hành sẽ trả về địa chỉ bắt đầu nạp tiến trình, và tính toán để chuyển các địa chỉ tương đối về địa chỉ tuyệt đối trong bộ nhớ vật lý theo công thức địa chỉ vật lý = địa chỉ bắt đầu + địa chỉ tương đối.
b. Mô hình Base &Bound
• Tiến trình được nạp vào một vùng nhớ liên tục đủ lớn để chứa toàn bộ tiến trình.
• Tại thời điểm biên dịch các địa chỉ bên trong tiến trình vẫn là địa chỉ tương đối.
• Tuy nhiên bổ túc vào cấu trúc phần cứng của máy tính một thanh ghi nền (base register) và một thanh ghi giới hạn (bound register).
• Khi một tiến trình được cấp phát vùng nhớ, nạp vào thanh ghi nền địa chỉ bắt đầu của phân vùng được cấp phát cho tiến trình, và nạp vào thanh ghi giới hạn kích thước của tiến trình.
• Sau đó, mỗi địa chỉ bộ nhớ được phát sinh sẽ tự động được cộng với địa chỉ chứa trong thanh ghi nền để cho ra địa chỉ tuyệt đối trong bộ nhớ, các địa chỉ cũng được đối chiếu với thanh ghi giới hạn để bảo đảm tiến trình không truy xuất ngoài phạm vi phân vùng được cấp cho nó.
19. Cấp fát bộ nhớ fân đoạn
Phân đoạn (Segmentation)
• không gian địa chỉ là một tập các phân đoạn (segments) – các phân đoạn là những phần bộ nhớ kích thước khác nhau và có liên hệ logic với nhau.
• Mỗi phân đoạn có một tên gọi (số hiệu phân đoạn) và một độ dài. Người dùng sẽ thiết lập mỗi địa chỉ với hai giá trị : .
Cơ chế MMU trong kỹ thuật phân trang
• Cần phải xây dựng một ánh xạ để chuyển đổi các địa chỉ 2 chiều được người dùng định nghĩa thành địa chỉ vật lý một chiều.
• Sự chuyển đổi này được thực hiện qua một bảng phân đoạn.
• Mỗi thành phần trong bảng phân đoạn bao gồm một thanh ghi nền và một thanh ghi giới hạn.
• Thanh ghi nền lưu trữ địa chỉ vật lý nơi bắt đầu phân đoạn trong bộ nhớ,
• Thanh ghi giới hạn đặc tả chiều dài của phân đoạn
Chuyển đổi địa chỉ
• Mỗi địa chỉ ảo là một bộ :
• Số hiệu phân đoạn s : được sử dụng như chỉ mục đến bảng phân đoạn
• Địa chỉ tương đối d : có giá trị trong khoảng từ 0 đến giới hạn chiều dài của phân đoạn. Nếu địa chỉ tương đối hợp lệ, nó sẽ được cộng với giá trị chứa trong thanh ghi nền để phát sinh địa chỉ vật lý tương ứng.
Cài đặt bảng phân đoạn: xem tài liệu
20. Cấp fát bộ nhớ fân trang
Phân trang (paging)
• Phân bộ nhớ vật lý thành các khối (block) có kích thước cố định và bằng nhau, gọi là khung trang (page frame).
• Không gian địa chỉ cũng được chia thành các khối có cùng kích thước với khung trang, và được gọi là trang (page).
• Khi cần nạp một tiến trình để xử lý, các trang của tiến trình sẽ được nạp vào những khung trang còn trống.
• Một tiến trình kích thước N trang sẽ yêu cầu N khung trang tự do.
Cơ chế MMU trong kỹ thuật phân trang
• Cơ chế phần cứng hỗ trợ thực hiện chuyển đổi địa chỉ trong cơ chế phân trang là bảng trang (pages table).
• Mỗi phần tử trong bảng trang cho biết các địa chỉ bắt đầu của vị trí lưu trữ trang tương ứng trong bộ nhớ vật lý ( số hiệu khung trang trong bộ nhớ vật lý đang chứa trang ).
Cách đánh địa chỉ theo trang
• Địa chỉ được đánh một cách phân cấp:
• Số hiệu trang (Page number – p)– Được sử dụng làm chỉ số đến phần tử trong bảng trang chứa địa chỉ cơ sở của các frame trong bộ nhớ vật lý
• Offset trang (Page offset – d) – Địa chỉ tương đối trong trang
• Địa chỉ ảo có m bit, sử dụng m-n bit cao làm số hiệu trang và n bit thấp làm offset
• Không có phân mảnh ngoài, có phân mảnh trong:
• Giảm cỡ trang→Giảm phân mảnh trong→Giảm hiệu năng
• Tăng cỡ trang→Tăng hiệu suất→Tăng phân mảnh trong
Cài đặt bảng phân đoạn: xem tài liệu
21. Cấp fát bộ nhớ kết hợp fân đoạn vs fân trang bỏ
22. Bộ nhớ ảo:fân trang theo yêu cầu
Phân trang theo yêu cầu (demand paging)
• Một hệ thống phân trang theo yêu cầu là hệ thống sử dụng kỹ thuật phân trang kết hợp với kỹ thuật swapping. Một tiến trình được xem như một tập các trang, thường trú trên bộ nhớ phụ (thường là đĩa).
• Khi cần xử lý, tiến trình sẽ được nạp vào bộ nhớ chính.
• Thay vì nạp toàn bộ chương trình, chỉ những trang cần thiết trong thời điểm hiện tại mới được nạp vào bộ nhớ.
• Như vậy một trang chỉ được nạp vào bộ nhớ chính khi có yêu cầu.
• Với mô hình này, cần cung cấp một cơ chế phần cứng giúp phân biệt các trang đang ở trong bộ nhớ chính và các trang trên đĩa. Có thể sử dụng lại bit valid-invalid nhưng với ngữ nghĩa mới:
o valid : trang tương ứng là hợp lệ và đang ở trong bộ nhớ chính .
o invalid : hoặc trang bất hợp lệ (không thuộc về không gian địa chỉ của tiến trình) hoặc trang hợp lệ nhưng đang được lưu trên bộ nhớ phụ.
• Một phần tử trong bảng trang mộ tả cho một trang không nằm trong bộ nhớ chính, sẽ được đánh dấu invalid và chứa địa chỉ của trang trên bộ nhớ phụ.
Của bạn SƠn share (còn cập nhật tiếp):
http://www.mediafire.com/view/?m344co49hx5i8s3
http://www.mediafire.com/download.php?3x791ylageyy5p2
Last modified on December 4th, 2020 at 11:27 pm
Nam Le
lequocnam
nam oy của sơn vs của nam giống nhau ma dúng ko?