1. Trang chủ
  2. » Công Nghệ Thông Tin

Chuong 09 - Bo nho chinh ppt

63 250 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • 9. Quản lý bộ nhớ

  • Khái niệm cơ sở

  • Các kiểu đòa chỉ nhớ

  • Các kiểu đòa chỉ nhớ (tt)

  • Nạp chương trình vào bộ nhớ

  • Cơ chế thực hiện linking

  • Chuyển đổi đòa chỉ

  • Chuyển đổi đòa chỉ (tt)

  • Sinh đòa chỉ tuyệt đối vào thời điểm dòch

  • Sinh đòa chỉ thực vào thời điểm nạp

  • Slide 11

  • Dynamic linking

  • Ưu điểm của dynamic linking

  • Dynamic loading

  • Cơ chế overlay

  • Cơ chế overlay (tt)

  • Cơ chế swapping

  • Minh họa cơ chế swapping

  • Mô hình quản lý bộ nhớ

  • Phân mảnh (fragmentation)

  • Phân mảnh nội

  • Fixed partitioning

  • Chiến lược placement

  • Chiến lược placement (tt)

  • Slide 25

  • Dynamic partitioning

  • Slide 27

  • Cơ chế phân trang (paging)

  • Cơ chế phân trang (tt)

  • Slide 30

  • Chuyển đổi đòa chỉ trong paging

  • Paging hardware

  • Chuyển đổi đòa chỉ nhớ trong paging

  • Hiện thực bảng phân trang

  • Associative register (hardware)

  • Paging hardware với TLB

  • Effective access time (EAT)

  • Effective access time (tt)

  • Bảo vệ bộ nhớ

  • Bảo vệ bằng valid/invalid bit

  • Bảng phân trang 2 mức

  • Bảng phân trang 2-mức (tt)

  • Slide 43

  • Bảng phân trang 2 mức (tt)

  • Slide 45

  • Bảng phân trang đa mức

  • Bảng phân trang băm (hashed page table)

  • Hashed page table (tt)

  • Chia sẻ các trang nhớ

  • Phân đoạn (segmentation)

  • User view của một chương trình

  • Phân đoạn

  • Phân đoạn (tt)

  • Hiện thực phân đoạn

  • Một ví dụ về phân đoạn

  • Phần cứng hỗ trợ phân đoạn

  • Chuyển đổi đòa chỉ trong cơ chế phân đoạn

  • Chia sẻ các đoạn

  • Kết hợp phân trang và phân đoạn

  • Kết hợp phân trang và phân đoạn (tt)

  • Segmentation with paging (1)

  • Segmentation with paging (2)

  • Segmentation with paging (3)

Nội dung

Khoa Kỹ thuật Máy tính – Trường Đại học Công nghệ Thông tin 9. Quản lý bộ nhớ  Các kiểu đòa chỉ nhớ  Chuyển đổi đòa chỉ nhớ  Overlay và swapping  Mô hình quản lý bộ nhớ đơn giản – Fixed partitioning – Dynamic partitioning – Cơ chế phân trang (paging) – Cơ chế phân đoạn (segmentation) – Segmentation with paging 9.1 Khoa Kỹ thuật Máy tính – Trường Đại học Công nghệ Thông tin Khái niệm cơ sở  Quản lý bộ nhớ là công việc của hệ điều hành với sự hỗ trợ của phần cứng nhằm phân phối, sắp xếp các process trong bộ nhớ sao cho hiệu quả.  Mục tiêu cần đạt được là nạp càng nhiều process vào bộ nhớ càng tốt (gia tăng mức độ đa chương)  Trong hầu hết các hệ thống, kernel sẽ chiếm một phần cố đònh của bộ nhớ; phần còn lại phân phối cho các process.  Các yêu cầu đối với việc quản lý bộ nhớ – Cấp phát bộ nhớ cho các process – Tái đònh vò (relocation): khi swapping,… – Bảo vệ: phải kiểm tra truy xuất bộ nhớ có hợp lệ không – Chia sẻ: cho phép các process chia sẻ vùng nhớ chung – Kết gán đòa chỉ nhớ luận lý của user vào đòa chỉ thực 9.2 Khoa Kỹ thuật Máy tính – Trường Đại học Công nghệ Thông tin Các kiểu đòa chỉ nhớ  Đòa chỉ vật lý (physical address) (đòa chỉ thực) là một vò trí thực trong bộ nhớ chính.  Đòa chỉ luận lý (logical address) là một vò trí nhớ được diễn tả trong một chương trình – Các trình biên dòch (compiler) tạo ra mã lệnh chương trình mà trong đó mọi tham chiếu bộ nhớ đều là đòa chỉ luận lý – Đòa chỉ tương đối (relative address) (đòa chỉ khả tái đònh vò, relocatable address) là một kiểu đòa chỉ luận lý trong đó các đòa chỉ được biểu diễn tương đối so với một vò trí xác đònh nào đó trong chương trình.  Ví dụ: 12 byte so với vò trí bắt đầu chương trình,… – Đòa chỉ tuyệt đối (absolute address): đòa chỉ tương đương với đòa chỉ thực. 9.3 Khoa Kỹ thuật Máy tính – Trường Đại học Công nghệ Thông tin Các kiểu đòa chỉ nhớ (tt)  Khi một lệnh được thực thi, các tham chiếu đến đòa chỉ luận lý phải được chuyển đổi thành đòa chỉ thực. Thao tác chuyển đổi này thường có sự hỗ trợ của phần cứng để đạt hiệu suất cao. 9.4 Khoa Kỹ thuật Máy tính – Trường Đại học Công nghệ Thông tin Nạp chương trình vào bộ nhớ  Bộ linker: kết hợp các object module thành một file nhò phân khả thực thi gọi là load module.  Bộ loader: nạp load module vào bộ nhớ chính 9.5 System library System library System library System library static linking dynamic linking Cô cheá thöïc hieän linking 9.6 Module A CALL B Return length L Module B CALL C Return length M Module C Return length N 0 L − 1 Module A JMP “L” Return Module B JMP “L+M” Return Module C Return L L + M − 1 L + M L + M + N − 1 relocatable object modules load module 0 L − 1 0 M − 1 0 N − 1 Khoa Kỹ thuật Máy tính – Trường Đại học Công nghệ Thông tin Chuyển đổi đòa chỉ  Chuyển đổi đòa chỉ: quá trình ánh xạ một đòa chỉ từ không gian đòa chỉ này sang không gian đòa chỉ khác.  Biểu diễn đòa chỉ nhớ – Trong source code: symbolic (các biến, hằng, pointer,…) – Thời điểm biên dòch: thường là đòa chỉ khả tái đònh vò  Ví dụ: a ở vò trí 14 bytes so với vò trí bắt đầu của module. – Thời điểm linking/loading: có thể là đòa chỉ thực. Ví dụ: dữ liệu nằm tại đòa chỉ bộ nhớ thực 2030 9.7 0 250 2000 2250 relocatable address physical memory symbolic address int i; goto p1; p1 Khoa Kỹ thuật Máy tính – Trường Đại học Công nghệ Thông tin Chuyển đổi đòa chỉ (tt)  Đòa chỉ lệnh (instruction) và dữ liệu (data) được chuyển đổi thành đòa chỉ thực có thể xảy ra tại ba thời điểm khác nhau – Compile time: nếu biết trước đòa chỉ bộ nhớ của chương trình thì có thể kết gán đòa chỉ tuyệt đối lúc biên dòch.  Ví dụ: chương trình .COM của MS-DOS, phát biểu assembly org xxx  Khuyết điểm: phải biên dòch lại nếu thay đổi đòa chỉ nạp chương trình – Load time: tại thời điểm biên dòch, nếu chưa biết quá trình sẽ nằm ở đâu trong bộ nhớ thì compiler phải sinh mã khả tái đònh vò. Vào thời điểm loading, loader phải chuyển đổi đòa chỉ khả tái đònh vò thành đòa chỉ thực dựa trên một đòa chỉ nền (base address).  Đòa chỉ thực được tính toán vào thời điểm nạp chương trình ⇒ phải tiến hành reload nếu đòa chỉ nền thay đổi. 9.8 Sinh ủũa chổ tuyeọt ủoỏi vaứo thụứi ủieồm dũch 9.9 Symbolic addresses PROGRAM JUMP i LOAD j DATA i j Source code Absolute addresses 1024 JUMP 1424 LOAD 2224 1424 2224 Absolute load module Compile Link/Load Physical memory addresses 1024 JUMP 1424 LOAD 2224 1424 2224 Process image Sinh ủũa chổ thửùc vaứo thụứi ủieồm naùp 9.10 Relative (relocatable) addresses 0 JUMP 400 LOAD 1200 400 1200 Relative load module Symbolic addresses PROGRAM JUMP i LOAD j DATA i j Source code Compile Link/Load Physical memory addresses 1024 JUMP 1424 LOAD 2224 1424 2224 Process image [...]... phát khối bộ nhớ trống nào cho một process Mục tiêu: giảm chi phí compaction Các chiến lược placement – Best-fit: chọn khối nhớ trống nhỏ nhất – First-fit: chọn khối nhớ trống phù hợp đầu tiên kể từ đầu bộ nhớ – Next-fit: chọn khối nhớ trống phù hợp đầu tiên kể từ vò trí cấp phát cuối cùng – Worst-fit: chọn khối nhớ trống lớn nhất 9.27 Cơ chế phân trang (paging)   Cơ chế phân trang cho phép không gian... Khoa Kỹ thuật Máy tính – Trường Đại học Công nghệ Thông tin 9.15 Cơ chế overlay (tt) Pass 1 Pass 1 Pass 2 Pass 2 70K 70K 80K 80K Symbol table Symbol table Common routines Common routines 20K 20K 30K 30K Assembler Total memory available = 150KB pass 1 70K Đơn vò: byte symbol table 20K common routines 30K overlay driver 10K nạp và thực thi pass 2 80K 9.16 Cơ chế swapping  Một process có thể tạm thời... frame number frame offset f, l-n bits d, n bits 9.32 Chuyển đổi đòa chỉ nhớ trong paging Ví dụ: Khoa Kỹ thuật Máy tính – Trường Đại học Công nghệ Thông tin 9.33 Hiện thực bảng phân trang  Bảng phân trang thường được lưu giữ trong bộ nhớ chính – Mỗi process được hệ điều hành cấp một bảng phân trang – Thanh ghi page-table base (PTBR) trỏ đến bảng phân trang – Thanh ghi page-table length (PTLR) biểu thò... lưu trữ phụ Sau đó, process có thể được nạp lại vào bộ nhớ để tiếp tục quá trình thực thi Swapping policy: hai ví dụ – Round-robin: swap out P1 (vừa tiêu thụ hết quantum của nó), swap in P2 , thực thi P3 ,… – Roll out, roll in: dùng trong cơ chế đònh thời theo độ ưu tiên (priority-based scheduling)  Process có độ ưu tiên thấp hơn sẽ bò swap out nhường chỗ cho process có độ ưu tiên cao hơn mới đến được... process – Cần sự hỗ trợ của phần cứng cho việc ánh xạ đòa chỉ  Ví dụ: trường hợp đòa chỉ luận lý là relocatable thì có thể dùng thanh ghi base và limit,… – Sử dụng trong đa số các OS đa dụng (general-purpose) trong đó có các cơ chế swapping, paging, segmentation Relative (relocatable) addresses 0 JUMP 400 400 LOAD 1200 1200 MAX = 2000 9.11 Dynamic linking  Quá trình link đến một module ngoài (external... vùng nhớ yêu cầu  Ví dụ: cấp một khoảng trống 18,464 bytes cho một process yêu cầu 18,462 bytes – Hiện tượng phân mảnh nội thường xảy ra khi bộ nhớ thực được chia thành các khối kích thước cố đònh (fixed-sized block) và các process được cấp phát theo đơn vò khối Ví dụ: cơ chế phân trang (paging) Khoa Kỹ thuật Máy tính – Trường Đại học Công nghệ Thông tin 9.20 Phân mảnh nội operating system yêu cầu kế... page offset d để truy xuất dữ liệu/lệnh trong frame – Thường dùng một bộ phận cache phần cứng có tốc độ truy xuất và tìm kiếm cao, gọi là thanh ghi kết hợp (associative register) hoặc translation look-aside buffers (TLBs) Khoa Kỹ thuật Máy tính – Trường Đại học Công nghệ Thông tin 9.34 Associative register (hardware)  hay TLB, là thanh ghi hỗ trợ tìm kiếm truy xuất dữ liệu với tốc độ cực nhanh Page . (tt) 9.16 Pass 1 70K Pass 2 80K Symbol table 20K Common routines 30K Pass 1 70K Pass 2 80K Symbol table 20K Common routines 30K Assembler Total memory available = 150KB symbol table 20K common routines 30K overlay driver 10K pass. ví dụ – Round-robin: swap out P 1 (vừa tiêu thụ hết quantum của nó), swap in P 2 , thực thi P 3 ,… – Roll out, roll in: dùng trong cơ chế đònh thời theo độ ưu tiên (priority-based scheduling)  Process. chương trình thì có thể kết gán đòa chỉ tuyệt đối lúc biên dòch.  Ví dụ: chương trình .COM của MS-DOS, phát biểu assembly org xxx  Khuyết điểm: phải biên dòch lại nếu thay đổi đòa chỉ nạp chương

Ngày đăng: 10/08/2014, 08:22

TỪ KHÓA LIÊN QUAN

w