bài tập lớn môn Kiến trúc máy tính Chuyên đề Bộ nhớ ảo

52 2.6K 0
bài tập lớn môn Kiến trúc máy tính Chuyên đề Bộ nhớ ảo

Đ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

Chuyên đề: Bộ nhớ ảo Giáo viên hướng dẫn: Lương Thị Hồng Lan Why virtual memory Người thực hiện: Đinh Hồng Phúc Khái niệm bộ nhớ ảo Bộ nhớ ảo là một vùng không gian lưu trữ gần giống như bộ nhớ trong (RAM) nhưng lại được đạt trên đĩa cứng và khoảng không gian được đạt cố định Bộ nhớ ảo là một kĩ thuật cho phép thực hiện của quá trình mà có thể qua trình đó hoàn toàn không nằm trong bộ nhớ Việc thực hiện qúa trình overlay một cách tự động có thể không đòi hỏi người lập trình phải biết điều gì đang xảy ra Tại sao phải dùng bộ nhớ ảo  Hầu hết các máy tính đều phải dùng một lượng bộ nhớ RAM để sử dụng cho CPU (khoảng 128 MB)  Ngoài ra còn phải dùng một lượng RAM nữa cho hệ điều hành  Vì vậy mà để máy hoạt động trơn tru thì cần RAM rất lớn và các nhà phát triển đã tạo ra một loại bộ nhớ đó là bộ nhớ ảo Công dụng của bộ nhớ ảo • Cho phép thực hiện cùng một luc nhiều tiến trình (process) mỗi một tiến trình có một không gian định vị riêng • Đơn giản hóa việc nạo chương trình vào bộ nhớ để thực hành nhờ vào một cơ chế được gọi là sự tái định địa chỉ (addeass relacation • Bộ nhớ ảo giúp giải phóng người lập trình từ việc quan tâm đến giới hạn kích thước bộ nhớ Virtual to physical address translation Người thực hiện: Nguyễn Thị Hằng Nguyễn Thị Hải Yến I GiỚI THIỆU  Bộ nhớ ảo là một kĩ thuật cho phép việc thực thi của quá trình mà quá trình có thể không hoàn toàn ở bộ nhớ  Bộ nhớ ảo là sự tách biệt bộ nhớ luận lý từ bộ nhớ vật lý  Bộ nhớ ảo là sự trừu tượng hóa của hệ điều hành nó cung cấp cho người lập trình một không gian địa chỉ lớn hơn không gian địa chỉ vật lý thật sự  Bộ nhớ ảo có thể cài đặt dựa vào 2 kĩ thuật: phân trang theo yêu cầu và phân đoạn theo yêu II BỘ NHỚ ẢO VỚI PHÂN TRANG Ý tưởng : Khởi tạo vùng nhớ trên bộ nhớ vật lý để xử lý, lưu giữ thông tin trong 1 bảng Mỗi tiến trình đều có 1 bảng riêng gồm N dòng, N là số trang ảo mà tiến trình cần Mỗi trang có 2 thuộc tính : bit và số trang Trang ảo cùng kích cỡ với trang vật lý Bộ nhớ tiến trình được chia thành những trang cùng kích cỡ cố định lưu giữ thông tin tiến trình để xử lý 1 KHÁI NIỆM Phân trang là cấp phát bộ nhớ cho phép không gian địa chỉ logic của một tiến trình có thể là không liên tục Hệ điều hành phải thiết lập một bảng phân trang để ánh xạ địa chỉ ảo thành địa chỉ thực 1 Giới thiệu translation lookaside buffer Mỗi mục trong TLB chứa 2 thành phần: 1 khóa (key) và 1 giá trị value Khi bộ nhớ được biểu diễn với một thành phần nó được so sánh với tất cả khóa cùng một lúc, nếu thành phần được tìm thấy thì trường giá trị tương ứng được trả về Số lượng mục trong TLB nhỏ thường là 64 – 1024 Phần cứng phân trang với TLB 2 Khái niệm translation lookaside buffer Một bộ đệm dịch ( TLB ) là một bộ nhớ cache phần cứng quản lý bộ nhớ sử dụng để cải thiện tốc độ dịch địa chỉ ảo Tất cả các máy tính để bàn hiện nay, máy tính xách tay, và bộ vi xử lý máy chủ sử dụng một TLB để lập bản đồ không gian địa chỉ ảo và vật lý, và nó gần như luôn luôn hiện diện trong bất kỳ phần cứng mà sử dụng bộ nhớ ảo 3 Tổng quan TLB có một số cố định của khe cắm có chứa bảng trang mục, bản đồ địa chỉ ảo đến các địa chỉ vật lý TLB có thể nằm giữa CPU và bộ nhớ cache CPU, giữa bộ nhớ cache CPU và bộ nhớ lưu trữ chính hoặc giữa các cấp của một bộ nhớ cache đa cấp Vị trí này xác định xem bộ nhớ cache sử dụng vật lý hay địa chỉ ảo 4 Cơ chế hoạt động Các bộ vi xử lý có tính năng Translation Lookaside Buffer – TLB hỗ trợ quá trình chuyển đổi dữ liệu từ bộ nhớ ảo tới bộ nhớ vật lý Khi quá trình truyền tải dữ liệu từ địa chỉ ảo tới địa chỉ vật lý được yêu cầu TLB sẽ tiến hành kiểm tra phần cache để xác định có chứa thông tin nạp hay không Nếu có thì phần địa chỉ vật lý của hệ thống phần cứng sẽ được cung cấp và truy cập dữ liệu Còn nếu không thì trang thông tin báo lỗi sẽ hiển thị và sau đó Windows sẽ tiến hành kiểm tra bảng trang (page table) để tìm dữ liệu nạp * Translation Lookaside Buffer – TLB bao gồm a Joint TLB (JTLB) b Instruction TLB c Data TLB 5 TLB bỏ lỡ xử l ý  Với TLB quản lý phần cứng CPU tự động đi các bảng trang đăng để xem nếu có một trang vào bảng hợp lệ cho địa chỉ ảo được chỉ định  Với TLB phần mềm quản lý một TLB bỏ lỡ tạo ra một "TLB bỏ lỡ" ngoại lệ và mã hệ điều hành chịu trách nhiệm cho việc đi bộ các bảng trang và thực hiện các bản dịch trong phần mềm Hệ thống điều hành sau đó tải các bản dịch vào TLB và khởi động lại chương trình từ các hướng dẫn gây ra TLB bỏ lỡ 6 Loại bỏ các mục cũ từ TLB Quá trình có thể ánh xạ một tập tin vào bộ nhớ truy cập vào một vài trang trong khu vực bản đồ và sau đó unmap các tập tin 7 Ảo hóa và TLB x86 Với sự ra đời của ảo hóa cho hợp nhất máy chủ rất nhiều nỗ lực đã đi vào làm cho kiến trúc x86 dễ dàng hơn để ảo hóa và đảm bảo hiệu suất tốt hơn của các máy ảo trên phần cứng x86 Trong một danh sách dài của những thay đổi như vậy thì x86 kiến trúc TLB là mới nhất Tài liệu tham khảo 1 Bản tiếng anh của trang Wikipedia 2 Các kiểu bộ nhớ - wikipedia tiếng việt 3 Bài giảng về bộ nhớ ảo- Trường Đại học Sài Gòn Kết Luận Người thực hiện: Nguyễn Thị Phương Thái Để thực thi một quá trình có không gian địa chỉ luận lý lớn hơn không gian địa chỉ vật lý sẵn có thì người lập trình có thể thực thi bằng cách cấu trúc lại nó dùng cơ chế phủ lắp, nhưng thực hiện điều này thường là một tác vụ lập trình khó Bộ nhớ ảo là một kỹ thuật cho phép không gian địa chỉ luận lý được ánh xạ vào bộ nhớ vật lý nhỏ hơn Bộ nhớ ảo cho phép những quá trình cực lớn được chạy và cũng cho phép cấp độ đa chương được gia tăng, tăng khả năng sử dụng CPU Thuần phân trang theo yêu cầu mang vào một trang cho tới khi trang đó được tham khảo Tham khảo đầu tiên gây ra lỗi trang tới hệ điều hành Hệ điều hành xem xét bảng trang bên trong để xác định nơi trang được định vị trên vùng bộ nhớ phụ Bảng trang được cập nhật để phản ánh sự thay đổi này, cho phép một quá trình chạy mặc dù toàn bộ hình ảnh bộ nhớ của nó không ở trong bộ nhớ chính Chúng ta có thể dùng phân trang theo yêu cầu để giảm số khung trang được cấp phát tới quá trình Sắp xếp này có thể tăng cấp độ đa chương Nó cũng cho phép các quá trình được thực thi mặc dù yêu cầu bộ nhớ vượt quá toàn bộ bộ nhớ vật lý sẳn có Nếu tổng số yêu cầu bộ nhớ vượt quá bộ nhớ vật lý, thì nó cần thay thế trang từ bộ nhớ tới các khung trang trống cho những trang mới Ngoài ra, để yêu cầu chúng ta giải quyết các vấn đề chính của thay thế trang và cấp phát khung trang, thiết kế hợp lý hệ thống phân trang yêu cầu chúng ta xem xét kích thước trang, nhập/xuất, khoá, phân lại trang, Bộ nhớ ảo có thể được xem như một cấp của cơ chế phân cấp trong các cấp lưu trữ trong hệ thống máy tính Mỗi cấp có thời gian truy xuất, kích thước và tham số chi phí của chính nó • Vì mỗi chương trình người dùng có thể lấy ít hơn bộ nhớ vật lý nên nhiều chương trình có thể được thực thi tại một thời điểm • Nó mang lại lợi ích lớn cho người dùng mà không phải trả chi phí cao • Do yêu cầu ít nhập/xuất hơn nên mỗi chương trình sẽ chạy nhanh hơn • Bộ nhớ ảo thực hiện tác vụ lập trình cũng dễ hơn nhiều • Nhược điểm của bộ nhớ ảo: • Bộ nhớ ảo không dễ cài đặt và về thực chất có thể giảm năng lượng nếu nó được dùng thiếu thận trọng • Sử dụng bộ nhớ ảo càng nhiều, càng làm giảm tuổi thọ của ổ cứng DANH MỤC CÁC TÀI LiỆU THAM KHẢO: • Bài giảng về bộ nhớ ảo- Trường Đại học Sài Gòn • Giáo trình Hệ điều hành- Khoa công nghệ thông tin- Đại học Cần Thơ • Giáo trình Kiến trúc máy tính và nguyên lí hệ điều hành – Lương Thị Hồng Lan- Trường ĐHSP Thái Nguyên ... Thị Hải Yến I GiỚI THIỆU  Bộ nhớ ảo kĩ thuật cho phép việc thực thi q trình mà q trình khơng hồn tồn nhớ  Bộ nhớ ảo tách biệt nhớ luận lý từ nhớ vật lý  Bộ nhớ ảo trừu tượng hóa hệ điều hành... Khái niệm nhớ ảo Bộ nhớ ảo vùng không gian lưu trữ gần giống nhớ (RAM) lại đạt đĩa cứng khoảng không gian đạt cố định Bộ nhớ ảo kĩ thuật cho phép thực trình mà qua trình hồn tồn khơng nằm nhớ Việc... ánh xạ tập tin vào nhớ truy cập vào vài trang khu vực đồ sau unmap tập tin Ảo hóa TLB x86 Với đời ảo hóa cho hợp máy chủ nhiều nỗ lực vào làm cho kiến trúc x86 dễ dàng để ảo hóa đảm bảo hiệu

Ngày đăng: 23/04/2015, 16:47

Từ khóa liên quan

Mục lục

  • Chuyên đề: Bộ nhớ ảo

  • Why virtual memory Người thực hiện: Đinh Hồng Phúc

  • Khái niệm bộ nhớ ảo

  • PowerPoint Presentation

  • Công dụng của bộ nhớ ảo

  • Virtual to physical address translation Người thực hiện: Nguyễn Thị Hằng Nguyễn Thị Hải Yến

  • Slide 7

  • Slide 8

  • Slide 9

  • 1. KHÁI NIỆM.

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • V. CẤU TRÚC BẢNG TRANG NGƯỢC

  • VI. KÍCH THƯỚC TRANG.

  • VII. DỊCH ĐỊA CHỈ VÀ QUẢN LÝ BỘ NHỚ.

  • Slide 18

  • Slide 19

  • Slide 20

Tài liệu cùng người dùng

Tài liệu liên quan