intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Hệ điều hành - Chương 3: Quản lý bộ nhớ

Chia sẻ: Cvcxbv Cvcxbv | Ngày: | Loại File: PDF | Số trang:79

316
lượt xem
52
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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ý.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Hệ điều hành - Chương 3: Quản lý bộ nhớ

  1. Chương 3 Quản lý bộ nhớ
  2. 1. TỔNG QUAN
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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ù
  13. Vò trí vaø Chöùc naêng cuûa MMU (MMU göûi caùc ñòa chæ vaät lyù sang Boä nhôù) 13
  14. SÖÛ DUÏNG BASE REGISTER VAØ LIMIT REGISTER (Ñòa chæ byte ñaàu cuûa Job2) (Soá byte cuûa Job2) 14 Memory
  15. 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æ)
  16. 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
  17. 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 70K 80K
  18. Cô cheá swapping  Moät process coù theå taïm thôøi bò swap ra khoûi boä nhôù chính vaø löu treân moät heä thoáng löu tröõ phuï. Sau ñoù, process coù theå ñöôïc naïp laïi vaøo boä nhôù ñeå tieáp tuïc quaù trình thöïc thi. Swapping policy: hai ví duï  Round-robin: swap out P1 (vöøa tieâu thuï heát quantum cuûa noù), swap in P2 , thöïc thi P3 ,…  Roll out, roll in: duøng trong cô cheá ñònh thôøi theo ñoä öu tieân (priority-based scheduling)  Process coù ñoä öu tieân thaáp hôn seõ bò swap out nhöôøng choã cho process coù ñoä öu tieân cao hôn môùi ñeán ñöôïc naïp vaøo boä nhôù ñeå thöïc thi  Hieän nay, ít heä thoáng söû duïng cô cheá swapping treân 18
  19. Minh hoïa cô cheá swapping 19
  20. Phaân maûnh (fragmentation)  Phaân maûnh ngoaïi (external fragmentation)  Kích thöôùc khoâng gian nhôù coøn troáng ñuû ñeå thoûa maõn moät yeâu caàu caáp phaùt, tuy nhieân khoâng gian nhôù naøy khoâng lieân tuïc  coù theå duøng cô cheá keát khoái (compaction) ñeå gom laïi thaønh vuøng nhôù lieân tuïc.  Phaân maûnh noäi (internal fragmentation)  Kích thöôùc vuøng nhôù ñöôïc caáp phaùt coù theå hôi lôùn hôn vuøng nhôù yeâu caàu.  Ví duï: caáp moät khoaûng troáng 18,464 bytes cho moät process yeâu caàu 18,462 bytes.  Hieän töôïng phaân maûnh noäi thöôøng xaûy ra khi boä nhôù thöïc ñöôïc chia thaønh caùc khoái kích thöôùc coá ñònh (fixed-sized block) vaø caùc process ñöôïc caáp phaùt theo ñôn vò khoái. Ví duï: cô cheá phaân trang (paging). 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2