Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 29 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
29
Dung lượng
796,79 KB
Nội dung
Cấp hệ điều hành Mục tiêu: - Tìm hiểu kỹ thuật bộ nhớ ảo (Virtual Memory) - Các chỉ thò I/O ảo - Kỹ thuật xử lý tiến trình song song Caỏp heọ ủieu haứnh Trong cu trỳc Overlay, cỏc module chng trỡnh sau khi biờn dch c chia thnh cỏc mc: Mc 0: mc cha module gc dựng np chng trỡnh Mc 1: cha cỏc module c gi bi mc 0 Mc 2: cha cỏc module c gi bi mc 1 . Mc i: cha cỏc module c gi bi mc i-1 B nh dnh cho chng trỡnh cng c chia thnh cỏc mc tng ng vi cỏc mc chng trỡnh. Kớch thc mi mc trong b nh bng kớch thc module ln nht ca mc chng trỡnh tng ng. M 0 (80Kb) M 1 (50Kb) M 2 (90Kb) M 3 (50Kb) M 4 (100Kb) M 5 (70Kb) Mc 0: 80Kb Mc 1: 90Kb Mc 2: 100Kb CPU Cu trỳc chng trỡnh Cu trỳc Overlay Caỏp heọ ủieu haứnh Cu trỳc chng trỡnh Cu trỳc Overlay * u im: - Cu trỳc Overlay cú tớnh cht nh v ng cho phộp s dng b nh nhiu hn phn b nh m h thng dnh cho chng trỡnh. Cu trỳc chng trỡnh mang tớnh cht tnh, khụng thay i trong tt c cỏc ln thc hin chng trỡnh. - So vi cu trỳc ng, cu trỳc Overlay ũi hi cung cp thụng tin n gin, khụng gn cu trỳc vo chng trỡnh ngun - Vi s Overlay tt v cỏc module di khụng quỏ ln thỡ hiu qu khụng kộm so vi cu trỳc ng * Nhc im: hiu qa tit kim b nh ph thuc cỏch t chc, b trớ cỏc module chng trỡnh Cấp hệ điều hành Bộ nhớ ảo Khó khăn: - Bộ nhớ có dung lượng nhỏ và giá thành rất cao - Lập trình viên phải mất nhiều thời gian để xử lý kích thước chương trình - Khó sử dụng các giải thuật tốt đòi hỏi không gian bộ nhớ lớn Giải pháp truyền thống: - Chia chương trình thành các mảng nhỏ (overlay) có thể đặt vừa bộ nhớ - Chương trình thực thi lần lượt các overlay Nhược điểm: Người lập trình tự thao tác bằng tay các công việc: - Tách chương trình - Quyết đònh vò trí cất overlay trong bộ nhớ phụ - Sắp xếp chuyển đổi overlay giữa bộ nhớ chính và phụ Khắc phục: Phương pháp tự động hóa toàn bộ quá trình overlay Phương pháp bộ nhớ ảo Cấp hệ điều hành Bộ nhớ ảo * Kỹ thuật phân trang - Tách riêng không gian đòa chỉ và các vò trí ô nhớ - Ví dụ: máy tính với trường đòa chỉ 16 bit trong các chỉ thò và 4096 từ nhớ Chương trình máy tính đòa chỉ hóa 2 16 = 65536 từ nhớ 64K không gian đòa chỉ 4K bộ nhớ chính Đòa chỉ 0 4096 8191 0 4095 12287 65535 nh xạ đòa chỉ từ không gian đòa chỉ lên bộ nhớ chính 1. Nội dung bộ nhớ chính được cất vào bộ nhớ phụ 2. Các từ nhớ được đặt từ 4096 đến 8191 3. Các từ nhớ từ 4096 đến 8191 nạp vào bộ nhớ chính 4. nh xạ đòa chỉ từ 4096 đến 8191 lên các vò trí nhớ từ 0 đến 4095 Cấp hệ điều hành Bộ nhớ ảo * Kỹ thuật phân trang - Yêu cầu: Bộ nhớ phụ có thể chứa được toàn bộ chương trình - Khái niệm: + Bản sao chương trình trong bộ nhớ phụ là bản gốc + Các mảng chương trình mang vào bộ nhớ chính ỡ những thời điểm khác nhau là bản sao - Thiết kế: + Không gian đòa chỉ ảo tách thành nhiều trang kích thước bằng nhau và luôn là lũy thừa của 2 + Không gian đòa chỉ vật lý cũng tách thành từng mảng có kích thước bằng kích thước các trang và cất vào khung trang Cấp hệ điều hành Bộ nhớ ảo * Kỹ thuật phân trang Ví dụ: Page 0 0-4095 Page 1 4096-8191 Page 2 8192-12287 Page 3 12288-16383 Page 4 Page 5 Page 6 Page 7 Page 8 Page 9 Page 10 Page 11 Page 12 Page 13 Page 14 57344-61139 Page 15 61140-65536 64K không gian đòa chỉ ảo 0 4096 8192 12288 16384 20480 24576 28672 32768 36864 40960 45056 49152 53248 57344 61140 4K Page 0 0-4095 Page 1 4096-8191 Page 2 8192-12287 Page 3 12288-16383 Page 4 Page 5 Page 6 24576-28671 Page 7 28672-32767 32K không gian vật lý 0 4096 8192 12288 16384 20480 24576 28672 4K 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 0 4 bit Sô trang ảo = 3 12 bit Đòa chỉ chọn trên trang ảo = 22 (12310) Cấp hệ điều hành Bộ nhớ ảo * Kỹ thuật phân đoạn + Kỹ thuật phân trang: Nếu kích thước chương trình/dữ liệu không bằng đúng một trang Khoảng trống không dùng đến Hiện tượng phân mảnh Hao phí bộ nhớ + Kỹ thuật phân đoạn: - Thiết kế: * Tạo các không gian đòa chỉ độc lập (gọi là segment) * Mỗi segment có chiều dài khác nhau và có thể thay đổi theo thời gian thực * Để xác đònh đòa chỉ trong bộ nhớ phân đoạn, chương trình cung cấp đòa chỉ có 2 phần: số segment và đòa chỉ trong segment - Ưu điểm: * Đơn giản hóa việc quản lý cấu trúc dữ liệu * Dễ dàng dùng chung dữ liệu cho các chương trình * Tiết kiệm bộ nhớ Cấp hệ điều hành Bộ nhớ ảo * Kỹ thuật phân đoạn - Nhược điểm: Bộ nhớ được chia, một số chứa segment và một số chứa lỗ trống Hiện tượng bàn cờ lãng phí bộ nhớ Segment 0 (4K) Segment 1 (8K) Segment 2 (5K) Segment 3 (8K) Segment 4 (7K) Segment 0 (4K) Segment 7 (5K) (3K) Segment 2 (5K) Segment 3 (8K) Segment 4 (7K) Segment 0 (4K) Segment 7 (5K) (3K) Segment 2 (5K) Segment 3 (8K) Segment 5 (4K) (3K) Segment 0 (4K) Segment 7 (5K) (3K) Segment 2 (5K) Segment 6 (4K) (4K) Segment 5 (4K) (3K) Cấp hệ điều hành Bộ nhớ ảo * Kỹ thuật phân đoạn: khắc phục hiện tượng bàn cờ Phương pháp 1: Mỗi lần xuất hiện lỗ trống, di chuyển segment về vò trí 0 của bộ nhớ Segment 0 (4K) Segment 1 (8K) Segment 2 (5K) Segment 3 (8K) Segment 4 (7K) Segment 0 (4K) Segment 7 (5K) (3K) Segment 2 (5K) Segment 3 (8K) Segment 4 (7K) Segment 0 (4K) Segment 7 (5K) Segment 2 (5K) Segment 3 (8K) Segment 4 (7K) (3K) Segment 0 (4K) Segment 7 (5K) Segment 2 (5K) Segment 6 (4K) (4K) Segment 4 (7K) (3K) Segment 0 (4K) Segment 7 (5K) Segment 2 (5K) Segment 6 (4K) Segment 4 (7K) (7K) Tốn nhiều thời gian để di chuyển [...]... thò WRITE ghi bản ghi lên tập tin Vùng đệm Cấp hệ điều hành Tổ chức các chỉ thò I/O ảo Tập tin được cấp phát liên tiếp Hệ điều hành cần biết: - Vò trí bắt đầu của tập tin - Kích thước các bản ghi vật lý Tính toán vò trí các bản ghi logic Đơn vò cấp phát là SECTOR: 1 sector dành cho tập tin và các sector khác trên cùng track dành cho các tập tin khác Đơn vò cấp phát là TRACK: toàn bộ track dành cho... kết:Đơn vò cấp phát chứa đòa chỉ đơn vò kế tiếp Cấp hệ điều hành Tổ chức các chỉ thò I/O ảo Cấp phát không gian cho tập tin - Phương pháp 1: Sử dụng danh sách trống Track 0 0 12 1 0 10 2 3 2 2 7 1 2 10 2 3 0 3 3 4 7 4 1 9 4 - Sector Số sector trống 11 1 Ưu điểm: dễ quản lý Nhược điểm: Khó khăn khi có sự biến động Cấp hệ điều hành Tổ chức các chỉ thò I/O ảo Cấp phát không gian cho tập tin - Phương pháp... lý SCB Mỗi đoạn chƣơng trình lại đƣợc biên tập theo sơ đồ phân trang và tạo ra từng bảng PCB riêng cho mỗi đoạn Khi chƣơng trình đƣợc nạp vào hệ thống, hệ điều hành sẽ cấp phát cho chƣơng trình các trang cần thiết để chứa đủ các đoạn chƣơng trình Cấp hệ điều hành Bộ nhớ ảo SƠ ĐỒ KẾT HỢP PHÂN TRANG VÀ PHÂN ĐOẠN Gọi trƣờng địa chỉ A của phần tử thứ I trong SCB với SCB là nơi chứa bảng quản lý trang thứ... chỉ đơn giản là thay đổi 1 bit Nhược điểm: Tìm một khối có kích thước cho trước sẽ khó khăn Cấp hệ điều hành Xử lý song song Tiến trình 3 đang chờ Tiến trình 3 CPU 3 Tiến trình 2 CPU 2 Tiến trình 1 CPU 1 CPU Time Time Tiến trình 1 đang chạy Xử lý song song với nhiều CPU Xử lý song song với một CPU Cấp hệ điều hành Xử lý song song Phƣơng pháp khóa trong THUẬT TỐN DEKKER: Dùng thêm một biến khóa TT để... tin khác Đơn vò cấp phát là CYLINDER: toàn bộ cylinder dành cho 1 tập tin Track 0 Track 4 Hướng đọc đóa Cấp hệ điều hành Tổ chức các chỉ thò I/O ảo Tập tin không được cấp phát liên tiếp Để đònh vò bản ghi: 11 - Track 0 Track 4 Hướng đọc đóa Phương pháp 1: Sử dụng bảng chỉ số tập tin cho biết đòa chỉ trên đóa từng bản ghi - Phương pháp 2: Tổ chức tập tin như một danh sách liên kết:Đơn vò cấp phát chứa... d: địa chỉ tƣơng đối tính từ đầu trang Cấp hệ điều hành Bộ nhớ ảo SƠ ĐỒ KẾT HỢP PHÂN TRANG VÀ PHÂN ĐOẠN Để truy nhập tới dữ liệu, hệ thống trải qua 3 bƣớc: * Bƣớc 1: Lấy nội dung thanh ghi Rs cộng với s và truy nhập tới phần tử thứ s trong SCB * Bƣớc 2: Nếu D=0 thì thực hiện thủ tục nạp PCB tƣơng ứng vào bộ nhớ và cập nhật nội dung trƣờng A Khi nạp xong PCB, hệ thống cộng nội dung trƣờng A với p để... sử dụng 2 2 Chỉ thò READ tuần tự lấy bản ghi logic liên tiếp và ghi lên vùng đệm 3 4 Bộ nhớ chính 5 6 7 8 9 10 11 12 Bản ghi logic Vùng đệm Cấp hệ điều hành Các chỉ thò I/O ảo Các tập tin truy xuất tuần tự Chỉ thò xuất ảo cơ bản: Số các bản ghi logic 1 Cung cấp chỉ thò OPEN để mở tập trước khi sử dụng Hướng di chuyển của tập tin 1 2 3 4 Bộ nhớ chính 5 6 7 Xác đònh vò trí bản ghi logic kế tiếp được... tiếp lên tập tin Mất nhiều thời gian để đọc tuần tự từ đầu Cấp hệ điều hành Các chỉ thò I/O ảo Các tập tin truy xuất ngẫu nhiên Hướng di chuyển của tập tin Chỉ thò xuất ảo cơ bản: Chỉ thò phải xác đònh được thông tin: - Tập tin được đọc - Đòa chỉ bộ nhớ chính lưu giữ bản ghi - Vò trí bản ghi logic trong tập tin 1 Số các bản ghi logic 1 Cung cấp chỉ thò OPEN để mở tập trước khi sử dụng 2 3 4 5 6 7 2... (7K) Segment 4 (7K) Segment 8 (3K) 1 Segment 2 (5K) Segment 8 (3K) 2 Segment 6 (4K) (4K) Segment 4 (7K) Cấp hệ điều hành Bộ nhớ ảo SƠ ĐỒ KẾT HỢP PHÂN TRANG VÀ PHÂN ĐOẠN * Vì sao cần kết hợp?: Sơ đồ phân trang đảm bảo hiệu quả sử dụng bộ nhớ mà khơng phụ thuộc vào cấu trúc chƣơng trình của ngƣời sử dụng, điều khiển trang thuận tiện, đơn giản Tuy nhiên khi chƣơng trình có kích thƣớc lớn thì kích thƣớc bảng... nhớ Sơ đồ phân đoạn linh hoạt hơn về độ dài các đoạn nhƣng vì độ dài các đoạn khác nhau phức tạp trong vấn đề thực hiện và cấp phát bộ nhớ Để phát huy ƣu điểm và hạn chế nhƣợc điểm của các sơ đồ trên, ngƣời ta thƣờng sử dụng sơ đồ kết hợp phân trang và phân đoạn Cấp hệ điều hành Bộ nhớ ảo SƠ ĐỒ KẾT HỢP PHÂN TRANG VÀ PHÂN ĐOẠN Trong sơ đồ này, chƣơng trình đƣợc biên dịch theo sơ đồ phân đoạn và có . đoạn. Khi chƣơng trình đƣợc nạp vào hệ thống, hệ điều hành sẽ cấp phát cho chƣơng trình các trang cần thiết để chứa đủ các đoạn chƣơng trình Cấp hệ điều hành Bộ nhớ ảo SƠ ĐỒ KẾT HỢP PHÂN. vấn đề thực hiện và cấp phát bộ nhớ Để phát huy ƣu điểm và hạn chế nhƣợc điểm của các sơ đồ trên, ngƣời ta thƣờng sử dụng sơ đồ kết hợp phân trang và phân đoạn Cấp hệ điều hành Bộ nhớ ảo SƠ. kim b nh ph thuc cỏch t chc, b trớ cỏc module chng trỡnh Cấp hệ điều hành Bộ nhớ ảo Khó khăn: - Bộ nhớ có dung lượng nhỏ và giá thành rất cao - Lập trình viên phải mất nhiều thời gian để