Bài giảng Hệ điều hành - Chương 3: Quản lý bộ nhớ
Số trang: 79
Loại file: pdf
Dung lượng: 1.04 MB
Lượt xem: 15
Lượt tải: 0
Xem trước 8 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Trong nội dung của chương 3 Chương 3: Quản lý bộ nhớ nằm ở bài giảng Hệ điều hành nhằm trình bày câu trả lời Vì sao phải tổ chức, quản lý bộ nhớ? CPU chỉ có thể trao đổi thông tin với bộ nhớ chính, các chương trình muốn được thực thi cần được nạp vào bộ nhớ chính, tạo lập tiến trình tương ứng để xử lý.
Nội dung trích xuất từ tài liệu:
Bài giảng Hệ điều hành - Chương 3: Quản lý bộ nhớ Chương 3 Quản lý bộ nhớ 1. TỔNG QUAN 1.1 Vì sao phải tổ chức, quản lý bộ nhớ? CPU chỉ có thể trao đổi thông tin với bộ nhớ chính Các chương trình muốn được thực thi cần được nạp vào bộ nhớ chính, tạo lập tiến trình tương ứng để xử lý Các hệ thống đa chương trên bộ nhớ chính ngoài HĐH có thể có nhiều tiến trình đang hoạt động Kích thước bộ nhớ chính là hữu hạn nhưng yêu cầu bộ nhớ thì vô hạn … 3 1.1 Vì sao phải tổ chức, quản lý bộ nhớ? Như vậy, HĐH cần phải tổ chức quản lý bộ nhớ một cách hợp lý để có thể: Đưa bất kỳ một tiến trình nào đó vào bộ nhớ khi có yêu cầu, cho dù khi trên bộ nhớ không còn không gian trống Bảo vệ các tiến trình của hệ điều hành và các tiến trình trên bộ nhớ, tránh các trường hợp truy xuất bất hợp lệ xảy ra. 4 1.2 Nhiệm vụ quản lý bộ nhớ Tái định vị Bảo vệ bộ nhớ Chia sẻ bộ nhớ Tổ chức bộ nhớ logic Tổ chức bộ nhớ vật lý 5 Tái định vị (Relocation) Trong các hệ thống đa chương không gian bộ nhớ chính thường được chia sẽ cho nhiều tiến trình và yêu cầu bộ nhớ của các tiến trình luôn lớn hơn không gian bộ nhớ vật lý mà tiến trình mà hệ thống hiện có Cần thực hiện cơ chế hoán đổi (Swap): Một chương trình đang hoạt động trên bộ nhớ sẽ bị đưa ra đĩa (swap-out) và sẽ được đưa vào lại (swap-in) tại thời điểm thích hợp Khi thực hiện swap-in 1 chương trình vào lại bộ nhớ HĐH phải định vị nó đúng vào vị trí mà trước khi nó bị swap-out 6 Bảo vệ bộ nhớ (Protection) Mỗi tiến trình phải được bảo vệ để chống lại sự truy xuất bất hợp lệ vô tình hay có chủ ý của các tiến trình khác. Mỗi tiến trình chỉ được phép truy suất đến không gian địa chỉ mà HĐH đã cấp cho nó Bộ phận Qlý bộ nhớ phải biết không gian địa chỉ của tất cả các tiến trình trên bộ nhớ Khi tiến trình đưa ra địa chỉ truy xuất bộ phận Qlý bộ nhớ phải kiểm tra tất cả các yêu cầu truy xuất bộ nhớ của mỗi tiến trình 7 Chia sẻ bộ nhớ (Sharing) Bất kỳ một chiến lược nào được cài đặt đều phải có tính mềm dẻo để cho phép nhiều tiến trình có thể truy cập đến cùng một địa chỉ trên bộ nhớ chính Ví dụ, khi có nhiều tiến trình cùng thực hiện một chương trình thì việc cho phép mỗi tiến trình cùng truy cập đến một bản copy của chương trình sẽ thuận lợi hơn khi cho phép mỗi tiến trình truy cập đến một bản copy sở hữu riêng. 8 Tổ chức bộ nhớ logic (Logical organization) Bộ nhớ chính của hệ thống máy tính được tổ chức như là một dòng hoặc một mảng Không gian địa chỉ bao gồm một dãy có thứ tự các byte hoặc các word. Bộ nhớ phụ cũng được tổ chức tương tự Cách tổ chức này có sự kết hợp chặt chẻ với phần cứng máy tính nhưng lại không phù hợp với cách xây dựng của chương trình Đại đa số các chương trình được tổ chức thành các modul 9 Tổ chức bộ nhớ vật lý (Physical organization) Bộ nhớ máy tính được tổ chức theo 2 cấp: Bộ nhớ chính: tốc độ truy xuất nhanh, nhưng giá thành cao và dữ liệu không thể tồn tại lâu dài trên nó. Bộ nhớ phụ: giá rẻ, dung lượng lớn, dữ liệu được lưu trữ lâu dài nhưng tốc độ truy xuất chậm. Theo giản đồ 2 cấp này, việc tổ chức luồng thông tin giữa bộ nhớ chính và bộ nhớ phụ là nhiệm vụ quan trọng của hệ thống 10 1.3. Không gian địa chỉ và không gian vật lý Địa chỉ logic (logical address) – còn gọi là địa chỉ ảo , là tất cả các địa chỉ do bộ xử lý tạo ra. Địa chỉ vật lý (physical address) - là địa chỉ thực tế mà trình quản lý bộ nhớ nhìn thấy và thao tác. Không gian địa chỉ – là tập hợp tất cả các địa chỉ ảo phát sinh bởi một chương trình. Không gian vật lý – là tập hợp tất cả các địa chỉ vật lý tương ứng với các địa chỉ ảo. Việc ánh xạ tại thời điểm thực thi từ địa chỉ ảo tới địa chỉ vật lý được thực hiện bởi một thiết bị phần cứng được gọi là bộ quản lý bộ nhớ MMU (memory- management unit) 11 Sô ñoà taùi ñònh vò ñoäng (Dynamic Relocation) CPU saûn sinh Ñòa chæ loâ-gíc MMU thöïc hieän: Ñòa chæ loâ-gíc + Noäi dung thanh 12 ghi taùi ñònh vò ==> Ñòa chæ vaät lyù Vò trí vaø Chöùc naêng cuûa MMU (MMU göûi caùc ñòa chæ vaät lyù sang Boä nhôù) 13 SÖÛ DUÏNG BASE REGISTER VAØ LIMIT REGISTER (Ñòa chæ byte ñaàu cuûa Job2) (Soá byte cuûa Job2) 14 Memory THUAÄT GIAÛI BAÛO VEÄ BOÄ NHÔÙ Job i (CPU saûn sinh 1 ñòa chæ boä nhôù) 15 (Baét loãi truy caäp sai ñòa chæ) Cô cheá overlay Taïi moãi thôøi ñieåm, chæ giöõ laïi trong boä nhôù nhöõng leänh hoaëc döõ lieäu caàn thieát, giaûi phoùng caùc leänh/döõ lieäu chöa hoaëc khoâng caàn duøng ñeán. Cô cheá naøy raát höõu duïng khi kích thöôùc moät process lôùn hôn khoâng gian boä nhôù caáp cho process ñoù. Cô cheá naøy ñöôïc ñieàu khieån bôûi ngöôøi söû duïng (thoâng qua söï hoã trôï cuûa caùc thö vieän laäp trình) chöù khoâng caàn söï hoã trôï cuûa heä ñieàu haønh 16 Cô cheá overlay Pass 1 70K Ñôn vò: byte Pass 2 80K symbol 20K Symbol table 20K table Common routines 30K Assembler common 30K routines Total memory available = 150KB overlay 10K driver naïp vaø thöïc thi pass 1 pass 2 17 ...
Nội dung trích xuất từ tài liệu:
Bài giảng Hệ điều hành - Chương 3: Quản lý bộ nhớ Chương 3 Quản lý bộ nhớ 1. TỔNG QUAN 1.1 Vì sao phải tổ chức, quản lý bộ nhớ? CPU chỉ có thể trao đổi thông tin với bộ nhớ chính Các chương trình muốn được thực thi cần được nạp vào bộ nhớ chính, tạo lập tiến trình tương ứng để xử lý Các hệ thống đa chương trên bộ nhớ chính ngoài HĐH có thể có nhiều tiến trình đang hoạt động Kích thước bộ nhớ chính là hữu hạn nhưng yêu cầu bộ nhớ thì vô hạn … 3 1.1 Vì sao phải tổ chức, quản lý bộ nhớ? Như vậy, HĐH cần phải tổ chức quản lý bộ nhớ một cách hợp lý để có thể: Đưa bất kỳ một tiến trình nào đó vào bộ nhớ khi có yêu cầu, cho dù khi trên bộ nhớ không còn không gian trống Bảo vệ các tiến trình của hệ điều hành và các tiến trình trên bộ nhớ, tránh các trường hợp truy xuất bất hợp lệ xảy ra. 4 1.2 Nhiệm vụ quản lý bộ nhớ Tái định vị Bảo vệ bộ nhớ Chia sẻ bộ nhớ Tổ chức bộ nhớ logic Tổ chức bộ nhớ vật lý 5 Tái định vị (Relocation) Trong các hệ thống đa chương không gian bộ nhớ chính thường được chia sẽ cho nhiều tiến trình và yêu cầu bộ nhớ của các tiến trình luôn lớn hơn không gian bộ nhớ vật lý mà tiến trình mà hệ thống hiện có Cần thực hiện cơ chế hoán đổi (Swap): Một chương trình đang hoạt động trên bộ nhớ sẽ bị đưa ra đĩa (swap-out) và sẽ được đưa vào lại (swap-in) tại thời điểm thích hợp Khi thực hiện swap-in 1 chương trình vào lại bộ nhớ HĐH phải định vị nó đúng vào vị trí mà trước khi nó bị swap-out 6 Bảo vệ bộ nhớ (Protection) Mỗi tiến trình phải được bảo vệ để chống lại sự truy xuất bất hợp lệ vô tình hay có chủ ý của các tiến trình khác. Mỗi tiến trình chỉ được phép truy suất đến không gian địa chỉ mà HĐH đã cấp cho nó Bộ phận Qlý bộ nhớ phải biết không gian địa chỉ của tất cả các tiến trình trên bộ nhớ Khi tiến trình đưa ra địa chỉ truy xuất bộ phận Qlý bộ nhớ phải kiểm tra tất cả các yêu cầu truy xuất bộ nhớ của mỗi tiến trình 7 Chia sẻ bộ nhớ (Sharing) Bất kỳ một chiến lược nào được cài đặt đều phải có tính mềm dẻo để cho phép nhiều tiến trình có thể truy cập đến cùng một địa chỉ trên bộ nhớ chính Ví dụ, khi có nhiều tiến trình cùng thực hiện một chương trình thì việc cho phép mỗi tiến trình cùng truy cập đến một bản copy của chương trình sẽ thuận lợi hơn khi cho phép mỗi tiến trình truy cập đến một bản copy sở hữu riêng. 8 Tổ chức bộ nhớ logic (Logical organization) Bộ nhớ chính của hệ thống máy tính được tổ chức như là một dòng hoặc một mảng Không gian địa chỉ bao gồm một dãy có thứ tự các byte hoặc các word. Bộ nhớ phụ cũng được tổ chức tương tự Cách tổ chức này có sự kết hợp chặt chẻ với phần cứng máy tính nhưng lại không phù hợp với cách xây dựng của chương trình Đại đa số các chương trình được tổ chức thành các modul 9 Tổ chức bộ nhớ vật lý (Physical organization) Bộ nhớ máy tính được tổ chức theo 2 cấp: Bộ nhớ chính: tốc độ truy xuất nhanh, nhưng giá thành cao và dữ liệu không thể tồn tại lâu dài trên nó. Bộ nhớ phụ: giá rẻ, dung lượng lớn, dữ liệu được lưu trữ lâu dài nhưng tốc độ truy xuất chậm. Theo giản đồ 2 cấp này, việc tổ chức luồng thông tin giữa bộ nhớ chính và bộ nhớ phụ là nhiệm vụ quan trọng của hệ thống 10 1.3. Không gian địa chỉ và không gian vật lý Địa chỉ logic (logical address) – còn gọi là địa chỉ ảo , là tất cả các địa chỉ do bộ xử lý tạo ra. Địa chỉ vật lý (physical address) - là địa chỉ thực tế mà trình quản lý bộ nhớ nhìn thấy và thao tác. Không gian địa chỉ – là tập hợp tất cả các địa chỉ ảo phát sinh bởi một chương trình. Không gian vật lý – là tập hợp tất cả các địa chỉ vật lý tương ứng với các địa chỉ ảo. Việc ánh xạ tại thời điểm thực thi từ địa chỉ ảo tới địa chỉ vật lý được thực hiện bởi một thiết bị phần cứng được gọi là bộ quản lý bộ nhớ MMU (memory- management unit) 11 Sô ñoà taùi ñònh vò ñoäng (Dynamic Relocation) CPU saûn sinh Ñòa chæ loâ-gíc MMU thöïc hieän: Ñòa chæ loâ-gíc + Noäi dung thanh 12 ghi taùi ñònh vò ==> Ñòa chæ vaät lyù Vò trí vaø Chöùc naêng cuûa MMU (MMU göûi caùc ñòa chæ vaät lyù sang Boä nhôù) 13 SÖÛ DUÏNG BASE REGISTER VAØ LIMIT REGISTER (Ñòa chæ byte ñaàu cuûa Job2) (Soá byte cuûa Job2) 14 Memory THUAÄT GIAÛI BAÛO VEÄ BOÄ NHÔÙ Job i (CPU saûn sinh 1 ñòa chæ boä nhôù) 15 (Baét loãi truy caäp sai ñòa chæ) Cô cheá overlay Taïi moãi thôøi ñieåm, chæ giöõ laïi trong boä nhôù nhöõng leänh hoaëc döõ lieäu caàn thieát, giaûi phoùng caùc leänh/döõ lieäu chöa hoaëc khoâng caàn duøng ñeán. Cô cheá naøy raát höõu duïng khi kích thöôùc moät process lôùn hôn khoâng gian boä nhôù caáp cho process ñoù. Cô cheá naøy ñöôïc ñieàu khieån bôûi ngöôøi söû duïng (thoâng qua söï hoã trôï cuûa caùc thö vieän laäp trình) chöù khoâng caàn söï hoã trôï cuûa heä ñieàu haønh 16 Cô cheá overlay Pass 1 70K Ñôn vò: byte Pass 2 80K symbol 20K Symbol table 20K table Common routines 30K Assembler common 30K routines Total memory available = 150KB overlay 10K driver naïp vaø thöïc thi pass 1 pass 2 17 ...
Tìm kiếm theo từ khóa liên quan:
Quản lý bộ nhớ Tổ chức bộ nhớ Bảo vệ bộ nhớ Tái định vị Bài giảng hệ điều hành Tài liệu hệ điều hành Kiến thức hệ điều hànhTài liệu cùng danh mục:
-
Giáo trình Lý thuyết hệ điều hành: Phần 1 - Nguyễn Kim Tuấn
110 trang 434 0 0 -
Lecture Operating systems: Lesson 24 - Dr. Syed Mansoor Sarwar
29 trang 359 0 0 -
Bài giảng Xử lý sự cố phần mềm - Bài 4 Xử lý sự cố sử dụng Internet
14 trang 316 0 0 -
Lecture Operating systems: Lesson 21 - Dr. Syed Mansoor Sarwar
22 trang 310 0 0 -
3 trang 280 0 0
-
Làm việc với Read Only Domain Controllers
20 trang 268 0 0 -
80 trang 258 0 0
-
Lecture Operating systems: Lesson 13 - Dr. Syed Mansoor Sarwar
31 trang 255 0 0 -
Giáo trình Nguyên lý các hệ điều hành: Phần 2
88 trang 255 0 0 -
175 trang 252 0 0
Tài liệu mới:
-
4 trang 0 0 0
-
6 trang 0 0 0
-
26 trang 0 0 0
-
Kỹ thuật nuôi chồn nhung đen Phần 2
21 trang 0 0 0 -
Nghiên cứu sự biến đổi nồng độ H-FABP trong chẩn đoán sớm nhồi máu cơ tim cấp
7 trang 0 0 0 -
Bài giảng chuyên đề Cơ học chất điểm – GV. Phạm Nguyên Hoàng
57 trang 0 0 0 -
Thực trạng quản lý thuế đối với hoạt động thương mại điện tử ở Việt Nam
4 trang 0 0 0 -
Đề thi học kì 1 môn Tin học lớp 9 năm 2024-2025 có đáp án - Trường THCS Vĩnh Xương, Tân Châu
4 trang 0 0 0 -
10 trang 0 0 0
-
90 trang 0 0 0