A : Tìm Hiểu Về Bộ Nhớ Ảo I. Cơ chế bộ nhớ ảo II. Định nghĩa về bộ nhớ ảo. III. Tại sao phải dùng bộ nhớ ảo ? IV. Công dụng của bộ nhớ ảo V. Cấu tạo và nguyên lý hoạt động của bộ nhớ ảo. VI. Cài đặt bộ nhớ ảo của windows VII. Cài đặt bộ nhớ ảo sử dụng kỹ thuật phân trang theo yêu cầu VIII. Cơchếphần cứng IX. Lỗi Trang X .Thay thế trang
Nhóm đề tài : Tìm hiểu về cách quản lý bộ nhớ ảo trong các hệ điều hành. BÀI TẬP LỚN Môn : Nguyên Lý Hệ Điều Hành Đề tài : Tìm hiểu về cách quản lý bộ nhớ ảo trong các hệ điều hành. Nhóm : Trịnh Thị Phương. Nguyễn Hữu Chung. Nguyễn Văn Chiểu. Nhóm : Trịnh Thị Phương; Nguyễn Hữu Chung; Nguyễn Văn Chiểu. Nhóm đề tài : Tìm hiểu về cách quản lý bộ nhớ ảo trong các hệ điều hành. A : Tìm Hiểu Về Bộ Nhớ Ảo Sinh viên : Trịnh Thị Phương. BỘ NHỚ ẢO Bộnhớảolà một kỹthuật hiệnđại giúpchongườidùngđược giảiphónghoàn toànkhỏi mốibận tâmvềgiớihạn bộnhớ.Ýtưởng,ưuđiểmvànhững vấnđềliênquan đếnviệctổ chứcbộ nhớ ảo sẽ đượctrình bày dưới đây. I. Cơ chế bộ nhớ ảo Nếuđặttoànthểkhônggianđịa chỉvàobộnhớ vậtlý,thìkíchthướccủa chương trìnhbịgiớihạnbởikíchthướcbộ nhớvậtlý. Thựctế,trongnhiềutrườnghợp,chúngtakhôngcầnphảinạptoànbộchương trìnhvàobộnhớvật lýcùngmộtlúc,vì tạimộtthờiđiểmchỉcómộtchỉthịcủa tiếntrình đượcxửlý.Vídụ,cácchươngtrìnhđềucómộtđoạncodexửlýlỗi,nhưngđoạncode nàyhầunhưrấtítkhi đượcsửdụngvìhiếmkhixảyralỗi,trongtrườnghợpnày,không cầnthiếtphảinạp đoạn codexử lý lỗitừ đầu. Từnhậnxéttrên,mộtgiảiphápđượcđề xuấtlàchophépthựchiệnmộtchương trìnhchỉđượcnạptừngphầnvàobộnhớvậtlý.Ýtưởngchínhcủagiảiphápnàylàtại mỗithờiđiểmchỉlưutrữtrongbộnhớ vậtlýcácchỉthịvàdữliệucủachươngtrìnhcần thiếtchoviệcthihànhtạithờiđiểmđó.Khicầnđếncácchỉthịkhác,nhữngchỉthịmới sẽ đượcnạpvàobộnhớ,tạivị trítrướcđóbị chiếm giữbởi cácchỉthị naykhôngcòncần đếnnữa.Vớigiảiphápnày,mộtchươngtrìnhcóthểlớnhơnkíchthướccủavùngnhớ cấpphátchonó. Mộtcáchđểthựchiệný tưởngcủagiảipháptrênđâylàsửdụng kỹ thuậtoverlay. Kỹ thuậtoverlaykhôngđòihỏibấtkỳsựtrợgiúpđặcbiệtnàocủahệđiềuhành,nhưng tráilại,lậptrìnhviênphảibiếtcáchlậptrìnhtheocấutrúcoverlay,vàđiềunàyđòihỏi khánhiều công sức. Để giảiphónglậptrìnhviênkhỏi cácsuytưvề giớihạncủa bộnhớ,màcũng khôngtăngthêmkhókhăncho côngviệclậptrìnhcủahọ, ngườitanghĩđếncáckỹ thuật tựđộng,chophépxửlýmộtchươngtrìnhcókíchthướclớnchỉvớimộtvùngnhớcó kíchthướcnhỏ . Giảiphápđược tìm thấy vớikháiniệmbộ nhớ ảo (virtual memory). II. Định nghĩa về bộ nhớ ảo. Nhóm : Trịnh Thị Phương; Nguyễn Hữu Chung; Nguyễn Văn Chiểu. Nhóm đề tài : Tìm hiểu về cách quản lý bộ nhớ ảo trong các hệ điều hành. - Bộ nhớ ảo là một kỹ thuật hiện đại dùng bộ nhớ phụ lưu trữ chương trình , và các phần của chương trình được chuyển vào – ra giữa bộ nhớ chính và bộ nhớ phụ để cho phép xử lý một tiến trình mà không cần nạp toàn bộ vào bộ nhớ vật lý. Có thể cài đặt bộ nhớ ảo qua kỹ thuật phân trang theo yêu cầu ( Demand paging ) hoặc phân đoạn theo yêu cầu ( Demand segmentation ) Hay nói cách khác : - Bộ nhớ ảo mô hình hóa bộ nhớ như một bảng lưu trữ rất lớn và đồng nhất. - Bộ nhớ ảo là sự tách biệt bộ nhớ luận lý từ bộ nhớ vật lý. - Người sử dụng chỉ nhìn thấy và làm việc trong không gian địa chỉ ảo, việc chuyển đổi sang không gian vật lý do hệ điều hành thực hiện với sự giúp đỡ của cả cơ chế phần cứng cụ thể nào đó. Ta cần : - Cầnkếthợp kỹ thuậtswappingđểchuyểncácphầncủachươngtrìnhvào-ragiữa bộ nhớchính vàbộ nhớphụ khicầnthiết. - Nhờviệctáchbiệtbộnhớảovàbộnhớvậtlý,cóthểtổchứcmộtbộnhớảocó kíchthướclớnhơn bộ nhớvậtlý. - Bộnhớảochophépgiảmnhẹcôngviệccủalậptrìnhviênvìhọkhôngcầnbận tâmđến giớihạncủavùng nhớvậtlý,cũngnhư khôngcầntổchứcchươngtrình theocấu trúcoverlays. Hình 1 : Bộ nhớ ảo III. Tại sao phải dùng bộ nhớ ảo ? Nhóm : Trịnh Thị Phương; Nguyễn Hữu Chung; Nguyễn Văn Chiểu. Nhóm đề tài : Tìm hiểu về cách quản lý bộ nhớ ảo trong các hệ điều hành. - Hầu hết những máy tính trước đây đều có khoảng 64-128MB RAM thừa để sử dụng cho CPU. Và dĩ nhiên, lượng RAM đó đều không đủ để chạy tất cả các chương trình mà người dùng muốn chúng chạy cùng lúc. Ví dụ: nếu bạn chạy chương trình windows, 1 chương trình e-mail, trình duyệt web ( mozilla firefox ) và 1 chương trình word cùng 1 lúc thì bộ nhớ Ram 64MB sẽ không thể đủ. Nếu không có bộ nhớ ảo , máy tính của bạn sẽ yêu cầu đóng tất cả các chương trình và bật ứng dụng mới. Với bộ nhớ ảo, máy tính của bạn có thể tìm những vùng RAM chưa được sử dụng và copy chúng vào ổ cứng. Chính việc làm đó sẽ giải phóng chỗ trống trong RAM để chạy ứng dụng mới. Bởi việc làm này là hoàn toàn tự động nên bạn sẽ không biết chuyện gì đang xảy ra và nó làm cho bạn cảm thấy máy tính của mình có dung lượng RAM vô hạn. Và cũng do dung lượng ổ cứng rẻ hơn chip của RAM rất nhiều nên bộ nhớ ảo sẽ mang lại cho bạn những lợi thế về kinh tế . IV. Công dụng của bộ nhớ ảo - Cho phép thực hiện cùng lúc nhiều tiến trình ( process ), mỗi tiến trình có một không gian định vị riêng. - Đơn giản hóa việc nạp chương trình vào bộ nhớ để thi hành nhờ một cơ chế được gọi là sự tái định địa chỉ (address relocation ). Cơ chế này cho phép một chương trình có thể được thi hành khi nó nằm ở bất cứ vị trí nào trong bộ nhớ. - Bộ nhớ ảo phóng đại bộ nhớ chính thành bộ nhớ luận lý cực lớn khi được hiển thị bởi người dùng. 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ớ. Bộ nhớ ảo cũng cho phép các quá trình dễ dàng chia sẻ tập tin và không gian địa chỉ, cung cấp cơ chế hữu hiệu cho việc tạo quá trình. Nhóm : Trịnh Thị Phương; Nguyễn Hữu Chung; Nguyễn Văn Chiểu. Nhóm đề tài : Tìm hiểu về cách quản lý bộ nhớ ảo trong các hệ điều hành. Hình 2 : mô tả bộ nhớ ảo lớn hơn bộ nhớ vật lý. V. Cấu tạo và nguyên lý hoạt động của bộ nhớ ảo. 1. Cấu tạo bộ nhớ ảo : - Bộ nhớ ảo bao gồm bộ nhớ trong và bộ nhớ ngoài được phân tích thành khối để có thể cung cấp cho mỗi chương trình một số khối cần thiết cho việc thực hiện chương trình. Hình 3 : Cấu tạo bộ nhớ ảo. Hình ảnh trên minh họa một chương trình gồm 4 khối A,B,C,D nằm trong 4 trang, trong đó khối D nằm trong ổ đĩa ảo. Nhóm : Trịnh Thị Phương; Nguyễn Hữu Chung; Nguyễn Văn Chiểu. Nhóm đề tài : Tìm hiểu về cách quản lý bộ nhớ ảo trong các hệ điều hành. • Phân loại bộ nhớ ảo: - Loại với khối có dung lượng cố định gọi là trang. - Loại có chiều dài thay đổi gọi là đoạn. 2. Nguyên lý hoạt động của bộ nhớ ảo - Vị trí của một khối trong bộ nhớ trong Bộ nhớ ảo khi có thất bại, tương ứng với việc phải thâm nhập vào ổ đĩa. Việc thâm nhập này rất chậm nên người ta chọn phương án hoàn toàn phối hợp trong đó các khối (trang) có thể nằm ở bất kỳ vị trí nào trong bộ nhớ trong. Cách này cho tỉ lệ thất bại thấp. Hình 4 : Ánh xạ các trang ảo vào bộ nhớ vật lý. Nhóm : Trịnh Thị Phương; Nguyễn Hữu Chung; Nguyễn Văn Chiểu. Nhóm đề tài : Tìm hiểu về cách quản lý bộ nhớ ảo trong các hệ điều hành. Hình : Ánh xạ địa chỉ giữa bộ nhớ ảo và bộ nhớ vật lý trong định vị trang Nhóm : Trịnh Thị Phương; Nguyễn Hữu Chung; Nguyễn Văn Chiểu. Nhóm đề tài : Tìm hiểu về cách quản lý bộ nhớ ảo trong các hệ điều hành. Hình 5 : Ánh xạ các trang ảo vào bộ nhớ vật lý trong cách định vị đoạn. - Địa chỉ vật cuối cùng được xác lập bằng cách cộng địa chỉ đoạn và địa chỉ trong đoạn ( độ dời trong đoạn ) . - Hầu hết các hệ điều hành đều cố gắng thay thế khối ít dùng gần đây nhất ( LRU_Least recent utilized ) vì nghĩ rằng đây là khối ít cần nhất. - Chiến thuật ghi luôn là một sự ghi lại nghĩa là thông tin chỉ được viết vào trong khối của bộ nhớ trong. Khối có thay đổi thông tin, được phép vào đĩa từ nếu khối náy bị thay thế. • Ưu điểm : - Mỗi chương trình sẽ không còn bị ràng buộc bởi không gian bộ nhớ vật lý sẵn có. Người dùng có thể viết chương trình có không gian địa chỉ ảo lớn, đơn giản hóa tác vụ lập trình. - 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 hơn có thể được thực thi tại một thời điểm. - Nó mang lại những lợi ích lớn cho người dùng mà không phải chi phí cao. - Do yêu cầu ít nhập/xuất hơn để nạp hay hoán vị mỗi chương trình người dùng trong bộ nhớ vì thế mỗi chương trình người dùng sẽ chạy nhanh hơn. - Bộ nhớ ảo thực hiện tác vụ lập trình dễ dàng hơn nhiều vì người lập trình không cần lo lắng về lượng bộ nhớ vật lý có nữa hay về mã gì có thể được Nhóm : Trịnh Thị Phương; Nguyễn Hữu Chung; Nguyễn Văn Chiểu. Nhóm đề tài : Tìm hiểu về cách quản lý bộ nhớ ảo trong các hệ điều hành. thay thế trong việc phủ lắp; thay vào đó, người lập trình có thể quan tâm vấn đề được lập trình. • Nhược điểm : - Bộ nhớ ảo không dễ cài đặt và về thực chất có thể giảm năng lực 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. Sinh viên : Nguyễn Hữu Chung VI. Cài đặt bộ nhớ ảo của windows Nhóm : Trịnh Thị Phương; Nguyễn Hữu Chung; Nguyễn Văn Chiểu. Nhóm đề tài : Tìm hiểu về cách quản lý bộ nhớ ảo trong các hệ điều hành. -Để sử dụng và thiết lập bộ nhớ ảo của windows , thực hiện theo các bước sau: + Click My computer chọn properties tiếp đến chọn đến thẻ advanced bên dưới mục performance, click settings. + Tại cửa sổ tiếp theo chọn advanced ,bên dưới mục virtual memory , click change . + Tại đây bên dưới mục driver (tên các phân vùng trên đĩa cứng ),có thể tùy chọn các phân vùng ổ cứng . + Lựa chọn tốt nhất là lựa chọn khác ngoài phân vùng hệ thống . Hai thông số đã được thiết lập sẵn initial size và maximum size có thể thay đổi 2 thông số này tùy thuộc vào dung lượng của ổ cứng . + Khuyến cáo nên để hai giá trị này bằng nhau và bằng 1.5 lần dung lượng bộ nhớ hệ thống . nếu ko để windows tự thiết lập. khi chọn system managed size.Nhấn set và ok để kết thúc cài đặt . -Bộ nhớ ảo thường được thực hiện với kỹ thuật phân trang theo yêu cầu (demand paging). Cũng có thể sử dụng kỹ thuật phân đoạn theo yêu cầu (demandsegmentation) để cài đặt bộ nhớ ảo, tuy nhiên việc cấp phát và thay thế các phân đoạn phức tạp hơn thao tác trên trang, vì kích thước không bằng nhau của các đoạn. VII. Cài đặt bộ nhớ ảo sử dụng kỹ thuật phân trang theo yêu cầu Nhóm : Trịnh Thị Phương; Nguyễn Hữu Chung; Nguyễn Văn Chiểu. [...]... Trịnh Thị Phương; Nguyễn Hữu Chung; Nguyễn Văn Chiểu Nhóm đề tài : Tìm hiểu về cách quản lý bộ nhớ ảo trong các hệ điều hành vòng ) Hình 10: Hình ảnh thuật toán cho cơ hội lần 2 Nhóm : Trịnh Thị Phương; Nguyễn Hữu Chung; Nguyễn Văn Chiểu Nhóm đề tài : Tìm hiểu về cách quản lý bộ nhớ ảo trong các hệ điều hành Sinh viên : Nguyễn Văn Chiểu XI Quản lý bộ nhớ ảo phân đoạn * Ý tưởng - Quan niệm không gian... Chung; Nguyễn Văn Chiểu Nhóm đề tài : Tìm hiểu về cách quản lý bộ nhớ ảo trong các hệ điều hành cơ chế hỗ trợ kỹ thuật phân trang và kỹ thuật swapping - Bảng trang:Cấu trúc bảng trang phải cho phép phản ánh tình trạng của một trang là đang nằm trong bộ nhớ chính hay bộ nhớ phụ - Bộ nhớ phụ: Bộ nhớ phụ lưu trữ những trang không được nạp vào bộ nhớ chính - Bộ nhớ phụ thường được sử dụng là đĩa, và vùng... đề tài : Tìm hiểu về cách quản lý bộ nhớ ảo trong các hệ điều hành Hình 6 Cài đặt bộ nhớ ảo theo kỹ thuật phân trang 1 Một hệ thống phân trang theo yêu cầu là hệ thống sử dụng kỹ thuật phân trang kết hợp với kỹ thuật swapping Một tiến trình được xem như một tập các trang, thường trú trên bộ nhớ phụ (thường là đĩa) Khi cần xử lý, tiến trình sẽ được nạp vào bộ nhớ chính Nhưng thay vì nạp toàn bộ chương... thời gian,ô nhớ đầu tiên của mỗi segment luôn bắt đầu từ 0 - Các segment của trương trình thường nằm trên đĩa cứng,khi cần thiết segment sẽ được nạp vào 1 vùng thích hợp trong RAM Nhóm : Trịnh Thị Phương; Nguyễn Hữu Chung; Nguyễn Văn Chiểu Nhóm đề tài : Tìm hiểu về cách quản lý bộ nhớ ảo trong các hệ điều hành - Để quản lý quá trình ánh xạ các trang ảo chủa chương trình vào các trang thật ,hệ điều hành.. . quản lí bộ nhớ sử dụng Hình 6: mô hình kết hợp phân đoạn và phân trang - Và sau đây là mô hình để thể hiện cơ chế phần cứng của sự phân đoạn kết hợp phân trang : Nhóm : Trịnh Thị Phương; Nguyễn Hữu Chung; Nguyễn Văn Chiểu Nhóm đề tài : Tìm hiểu về cách quản lý bộ nhớ ảo trong các hệ điều hành XIII.Kết luận - 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ý. .. bộ chương trình như trường hợp phân trang.Mỗi tiến trình có một bảng phân đoạn riêng,một phân đoạn được chia sẻ khi các phần tử trong bảng phân đoạn của hai tiến trình khác nhau cùng chỉ đến một vị trí phần tử duy nhất Nhóm : Trịnh Thị Phương; Nguyễn Hữu Chung; Nguyễn Văn Chiểu Nhóm đề tài : Tìm hiểu về cách quản lý bộ nhớ ảo trong các hệ điều hành Hình 5:chia sẻ code trong hệ phân đoạn XII Quản lý. .. chuyển trang "nạn nhân " ra bộ nhớ phụ , rồi đến bước 4 - Bước 4: Chuyển trang muốn truy xuất từ bộ nhớ phụ vào vào khung trang trống đã chọn - Bước 5: Cập nhật nội dung bảng trang - Bước 6: Tái kích hoạt tiến trình người sử dụng Nhóm : Trịnh Thị Phương; Nguyễn Hữu Chung; Nguyễn Văn Chiểu Nhóm đề tài : Tìm hiểu về cách quản lý bộ nhớ ảo trong các hệ điều hành - Hình 7 : Quản lý lỗi trang X Thay thế trang... chỉ ảo sang địa chỉ thật Nhóm : Trịnh Thị Phương; Nguyễn Hữu Chung; Nguyễn Văn Chiểu Nhóm đề tài : Tìm hiểu về cách quản lý bộ nhớ ảo trong các hệ điều hành - Mỗi địa chỉ logic là một bộ ba (s,p,d) trong đó: +,Số hiệu phân đoạn s: sử dụng như chỉ mục đến phần tử tương ứng trong bảng phân đoạn +,số hiệu trang p: sử dụng như chỉ mục đến phần tử trong bảng trang của phân đoạn +,địa chỉ tương đối trong. .. Trịnh Thị Phương; Nguyễn Hữu Chung; Nguyễn Văn Chiểu Nhóm đề tài : Tìm hiểu về cách quản lý bộ nhớ ảo trong các hệ điều hành Bảng 3 :hệ thống phân đoạn * Cài đặt bảng phân đoạn - Có thể sử dụng các thanh ghi để lưu trữ bảng phân đoạn nếu số lượng phân đoạn nhỏ .Trong trường hợp chương trình bao gồm quá nhiều phân đoạn,bảng phân đoạn phải được lưu trong bộ nhớ chính.Một thanh ghi nền bảng phân đoạn (STBR)... thành phần ghu nhận thời điểm truy xuất mới nhất -CPU có một bộ đếm , tăng khi có truy xuất đến bộ nhớ - Cập nhật thời điểm theo bộ đếm -Trang có thời điểm truy xuất nhỏ sẽ bị thay thế Nhóm : Trịnh Thị Phương; Nguyễn Hữu Chung; Nguyễn Văn Chiểu Nhóm đề tài : Tìm hiểu về cách quản lý bộ nhớ ảo trong các hệ điều hành *SỬ DỤNG STACK -Lưu các số hiệu trang - Khi một trang đước truy xuất chuyển sô hiệu