Tổ chức bộ nhớ ảo

17 1.1K 7
Tổ chức 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

Trong TH dung lượng bộ nhớ khá lớn thì các hệ thống đó hoạt động tốt hơn đáng kể do giảm được thời gian thực hiện swapping. Hình 7.15 ¶nh bé nhí, ®-îc l-u trªn bé nhí ngoµi OS Vïng Swapping a 0 b B CA a a a d e f Hệ thống đa nhiệm với swapping, tại mỗi thời điểm chỉ có một chương trình trong bộ nhớ. Chương trình đó tiếp tục đến khi có một trong các sự kiện sau xảy ra: 1. Xuất hiện tín hiệu timer 2. Nó kết thúc Vùng swapping của chương trình đó sẽ được copy vào bộ nhớngoài, còn ảnh bộ nhớ của chương trình tiếp theo sẽ được nạp vào vùng swapping. Chương trình thứ hai tiếp tục được thực hiện, quá trình cứ thế tiếp tục. Chương 8: Tổ chức bộ nhớ ảo 8 8 . . 1 1 M M ở ở đ đ ầ ầ u u Thuật ngữ virtual memory thường gắn liền với khả năng đánh địa chỉ cho không gian nhớ lớn hơn nhiều dung lượng bộ nhớ vật lý. Virtual memory xuất hiện (ứng dụng) lần đầu vào năm 1960 tại trường đại học Manchester và sau đó nhanh chóng được phổ biến. Có hai phương pháp được chấp nhận một cách tự nhiên khi thực hiện (tổ chức) bộ nhớ ảo: đó là tổ chức theo trang (page) và theo phân đoạn (segment). Trong một số hệ thống, ứng dụng một trong hai phương pháp đó còn trong một số khác thì áp dụng tổ hợp cả hai phương pháp. Tất cả các cơchế bộ nhớ ảo đều đặc trưng bởi tính chất rằng địa chỉ được tính bởi chương trình, không nhất thiết phải trùng với địa chỉ bộ nhớ (vật lý). Trong thực tế địa chỉ ảo thể hiện không gian lớn hơn nhiều so với thực tế bộ nhớ vật lý. 8 8 . . 2 2 Q Q u u á á t t r r ì ì n n h h p p h h á á t t t t r r i i ể ể n n c c á á c c d d ạ ạ n n g g t t ổ ổ c c h h ứ ứ c c b b ộ ộ n n h h ớ ớ H.8.1 biểu diễn quá trình phát triển từ các hệ thống bộ nhớ thực đơn nhiệm (1 user) đến các hệ thống bộ nhớ ảo sử dụng tổ hợp cả hai phương pháp page và segment. Vỡ t chc b nh o phc tp hn nhiu nờn cú hai chng: C8: t chc b nh o v C9: iu khin b nh o Hỡnh 8.1 Hệ thống đơn nhiệm Hệ đa nhiệm, bộ nhớ vật lý Phân đoạn cố định Phân đoạn thay đổi Địa chỉ tuyệt đối Địa chỉ thay đổi Tổ chức theo trang Tổ chức theo segment Tổ chức kết hợp Hệ đa nhiệm, bộ nhớ ảo Bộ nhớ vật lý Bộ nhớ ảo 8.3 B nh o: cỏc khỏi nim cbn Ct lừi cỏc khỏi nim v b nh o l ch a ch m process cú th truy nhp gi l khụng gian a ch o V ca process ú, cũn vựng a ch thc tn ti trong b nh gi l khụng gian a ch thc R. Dự rng process lm vic vi a ch o thỡ tht s chỳng phi lm vic vi b nh. Do ú vo thi gian thc hin process, cỏc a ch o cn phi bin i thnh a ch thc, ngoi ra vic x lý phi nhanh chúng vỡ nu khụng thỡ hiu qu ca mỏy tớnh cú th gim ti mc khụng chp nhn c v li ớch ca t chc b nh o khụng th ng dng c. Hỡnh v: ỏnh x cỏc ụ nh t b nh vt lý sang b nh o Bộ nhớ ảo Bộ nhớ vật lý xỏc nh ỏnh x gia a ch thc v o, ngi ta ó thit k cỏc phng phỏp khỏc nhau. Cch bin i a ch ng (DAT-dynamic address translation) m bo s bin i a ch o sang a ch o vo thi gian thc hin process. Tt c cỏc h thng ú u cú tớnh cht chung: ú l cỏc a ch o lin nhau cha chc ó tng ng vi cỏc a ch thc lin nhau (h.8.3). Nhth user khụng cn phi quan tõm n vic np chng trỡnh hay d liu ca mỡnh trong b nh (vt lý). Anh ta cú c kh nng vit chng trỡnh mt cỏch t nhiờn hn, ch phi quan tõm n cỏc vn thit k chng trỡnh, thut toỏn m khụng cn ý n chi tit c th ca thớờt b. Khi ú mỏy tớnh (cú th) c coi nhl mt ci gỡ ú tru tng hn- mt cụng c logic no ú chy chng trỡnh ch khụng phi nhmt cỏi mỏy vt lý vi cỏc chi tit cn ý, lm khú khn cho quỏ trỡnh thit k chng trỡnh. Hỡnh 8.3 Cơ chế ánh xạ DAT Bộ nhớ ảo Bộ nhớ vật lý 88 44 TTcchhcc bbnnhhnnhhiiuu llpp Nu nhchỳng ta ra rng khụng gian a ch o ca user s ln hn khụng gian a ch thc, v nu chỳng ta nh hng rng h thng s lm vic tt trong ch a nhim v ti nguyờn b nh c chia s (dựng chung), thỡ chỳng ta cn cú mụi trng, cụng c lu tr chng trỡnh, d liu trong b nh th cp. Thng thỡ ngi ta s dng mụ hỡnh b nh hai cp (h.8.4). Lp th nht- b nh vt lý, ti ú cn np cỏc chng trỡnh c thc hin v cỏc d liu cn truy cp. Lp th hai- b nh ngoi cú dung lng ln lu tr cỏc chng trỡnh, d liu lỳc ú cha cn np. chy chng trỡnh, code v d liu ca nú cn c a vo b nh Hỡnh 8.4 BXL Bộ nhớ ngoài Bộ nhớ vật lý HDD TAPE . Bi vỡ b nh thc hin c chia s gia nhiu chng trỡnh v mi chng trỡnh (process) cú th cú khụng gian a ch o ln hn khụng gian a ch thc do ú vo thi gian thc hin, ch cú mt phn mó (code) v d liu ca mi process nm trong b nh thc. Trờn h.8.5 th hin cu trỳc b nh hai lp, trong b nh thc lu ch mt phn b nh o ca cỏc chng trỡnh. Hỡnh 8.5 Bộ nhớ ngoài Bộ nhớ vật lý A B A C A B C Bộ nhớ ảo ứng dụng C Bộ nhớ ảo ứng dụng B Bộ nhớ ảo ứng dụng A Bộ nhớ vật lý ứng dụng A Bộ nhớ vật lý ứng dụng B Vùng làm bộ nhớ ảo 8 8 . . 5 5 B B l l o o c c k k i i n n g g m m a a p p p p i i n n g g : : ỏ ỏ n n h h x x t t h h e e o o k k h h i i Cch bin i a ch ng (DAT) phi s dng cỏc bng ỏnh x - ch rng cỏc ụ nh o no ti thi im hin thi nm trong b nh v ụ nh thc no. Nu nh ỏnh x c thc hin theo tng byte hay word thỡ rừ rng thụng tin v ỏnh x cũn ln hn bn thõn b nh thc. Do ú cú th ỏp dng b nh o, cn cú phng phỏp cho phộp gim kớch thc ca bng ỏnh x. Vỡ ỏnh x tng ụ nh l khụng th chp nhn, chỳng ta phi gp theo cỏc khi - block, v h thng theo dừi xem cỏc block ca b nh o nm õu trong b nh. Kớch thc block cng ln thỡ thụng tin v ỏnh x cng nh, nhng cỏc block ln li cn nhiu thi gian np hn v ngoi ra vi xỏc sut ln cũn hn ch s process cú th chia s chung b nh vt lý. Khi thit k cch b nh o xut hin cõu hi l cỏc block cú kớch thc nh nhau hay khỏc nhau. Nu cỏc block cú kớch thc nhnhau thỡ chỳng (block) c gi l cỏc trang (page), cũn t chc b nh o tng ng gi l t chc theo trang. Nu cỏc block cú th cú kớch thc khỏc nhau thỡ chỳng c gi l cỏc on (segment), t chc b nh o l t chc theo on. Trong mt s h thng c hai cỏch c t hp tc l cỏc segment c to thnh t cỏc page cú kớch thc nh nhau. Cỏc a ch trong cỏc h thng ỏnh x theo khi l cỏc a ch gm hai thnh phn (hai chiu). truy nhp n mt d liu c th, program ch ra block v offset ca d liu trong block ca d liu trong block ú (h.8.6) b (Block No) d (Offset ) Địa chỉ ảo v = (b,d) a ch o V c ch ra vi cp s v=(b,d) trong ú b- s block (s th t) cũn d- offset ( lch) tng i so vi u block. S bin i t a ch o v=(b,d) thnh a ch thc r c thc hin nhtrờn hỡnh 8.7. Mi process cú bng ỏnh x block ca mỡnh (nm trong b nh thc). a ch thc a ca bng ny c np vo thanh ghi riờng ca BXL gi l thanh ghi a ch (u) ca bng ỏnh x (block table origin register). Mi dũng ca bng ỏnh x cha ỏnh x ca mt block ca process, ngoi ra cỏc dũng c sp xp theo th t s block, t block 0, block 1. S block b c cng vi a ch cs ca bng ỏnh x a, ta c a ch thc ca dũng cha ỏnh x ca block b. Dũng ny cha a ch thc b' ca block b. Sau ú cng thờm vo a ch b' ny vi offset d ta c a ch thc cn tỡm r=b'+d. Tt c cỏc phng phỏp block mapping dựng trong cỏc h thng t chc theo trang, segment hay t hp c th hin trờn h.8.7 Hỡnh 8.7 Địa chỉ thực a Block table origin Register b d Địa chỉ ảo v = (b,d) + Bảng ánh xạ a+b b l b' Độ dài Địa chỉ block trong bộ nhớ vật lý + b' r Cn phi ý rng block mapping c thc hin ng (dynamic) ngay trong thi gian thc hin process. Nu cch bin i a ch DAT khụng hiu qu, thỡ chi phớ ca nú cú th lm gim hiu sut ca h thng ti mc vt quỏ u th m b nh o mang li. 88 66 TTcchhcc tthheeoo ttrraanngg:: ccỏỏcc kkhhỏỏii nniimm ccbbnn Chỳng ta xem xột ỏnh x theo khi vi kớch thc c nh tc l t chc b nh theo trang. Trong phn ny chỳng ta ch xem xột t chc theo trang thun tuý. a ch o trong h thng theo trang c th hin bng cp v=(p,d) trong ú p- s th t trang trong b nh o cũn d-offset trong trang p (h.8.8) Hỡnh 8.8 p (Page No) d (Offset ) Địa chỉ ảo v = (p,d) Process cú th c thc hin tip nu trang hin thi cn n ca nú nm trong b nh thc. Cỏc trang c ghi t b nh ngoi vo b nh thc, theo cỏc block gi l page frame v cú kớch thc ỳng bng kớch thc trang. Cỏc page frame bt u t cỏc a ch (trong b nh thc) l bi s ca kớch thc trang (h.8.9). Cỏc trang cú th c np vo bt k page frame trng no. Hỡnh 8.9 Số trang 0 page frame 0 page frame 1 p 2p 3p page frame 2 Kích th-ớc Vùng địa chỉ 0 p 0 p-1 1 p p 2p-1 2 p 2p 3p-1 Bin i a ch ng trong h thng t chc theo trang, thc hin theo cỏch sau: Process truy nhp n a ch o v=(p,d). Cch ỏnh x trang th hin trờn h.8.10, u tiờn tỡm s trang p trong bng ỏnh x trang v xỏc nh c page frame p' tng ng vi trang p. a ch thc c tớnh bng tng ca p' v d. Hỡnh 8.10 p d page frame 0 page frame 1 p' offset d page frame p' Bộ nhớ vật lý . . . . Địa chỉ ảo DAT Page frame p' t-ơng ứng với trang ảo p Chỳng ta s xem xột quỏ trỡnh ny k hn. Trong thc t, thng thỡ khụng phi tt c cỏc page ca process u nm trong b nh, do ú bng ỏnh x phi ch ra l trang cn truy nhp cú nm trong b nh khụng v nm õu, cũn nu khụng thỡ nú nm õu trong b nh ngoi. Trờn h.8.11 biu din mt dũng d liu trong bng ỏnh x trang. Bit flag r ch ra s hin din ca trang trong b nh: nu r=1 tc l trang nm trong b nh thc, cũn nu r=0 thỡ trang ú hin khụng cú trong b nh thc. Nu nhtrang ú khụng cú trong b nh thỡ s l a ch (v trớ) ca trang trong b nh ngoi, cũn nu nú nm trong b nh thỡ p' l s page frame. Chỳ ý rng p' khụng phi l a ch thc tht s. a ch thc a - ca page frame p' c tớnh bng a=(p)*(p') (s trang p cú giỏ tr t 0.1.2.3 .) Hỡnh 8.11 r s p §Þa chØ trong bé nhí ngoµi (nÕu kh«ng cã trong bé nhí) Page frame (nÕu trang cã trong bé nhí) Bit flag Để tiết kiệm bộ nhớ (giảm kích thước của bảng ánh xạ) thì mỗi dòng có thể không cần chứa thông tin địa chỉ của trang trong bộ nhớ ngoài. 8.6.1 Biến đổi địa chỉ, ánh xạ trực tiếp Chúng ta sẽ xem xét một số phương pháp biến đổi địa chỉ trang. Đầu tiên chúng ta sẽ xem xét biến đổi (ánh xạ) trực tiếp, được biểu diễn trên h.8.12 Hình 8.12 Process đưa yêu cầu truy cập địa chỉ ảo v=(p,d). Trước khi process tiếp tục thực hiện, OS nạp địa chỉ thực của bảng ánh xạ trang vào thanh ghi. Địa chỉ cơsở b này được cộng với số trang p, thu được địa chỉ thực b+p của dòng chứa ánh xạ trang p. Dòng này chỉ ra page frame p' của p. Sau đó page frame được cộng với offset d và ta có địa chỉ thực r. Cách tính này gọi là phương pháp biến đổi trực tiếp (ánh xạ trực tiếp), bởi vì bảng ánh xạ trang chứa từng dòng cho mỗi trang bộ nhớ ảo của process. Nếu process có n trang bộ nhớ ảo thì bảng ánh xạ trong phương pháp ánh xạ trực tiếp chứa n dòng liên tiếp cho các trang từ 0 đến n-1 Địa chỉ ảo cần tính và địa chỉ bảng ánh xạ đều chứa trong các thanh ghi của BXL do đó các thao tác với chúng có thể thực hiện rất nhanh trong vòng xử lý lệnh. Nhưng còn bảng ánh xạ, kích thước khá lớn, thường nằm trong bộ nhớ, do đó để truy nhập nó cần một thao tác đọc bộ nhớ. Vì thời gian đọc dữ liệu từ bộ nhớ lớn hơn nhiều thời gian xử lý lệnh và chúng ta cần thêm một lần đọc bộ nhớ để lấy được dòng cần thiết của bảng anhý xạ, điều đó có nghĩa là phương pháp ánh xạ trực tiếp có thể làm giảm tốc độ của hệ thống khi thực hiện chương trình gần hai lần. Điều đó tất nhiên không chấp nhận được, do đó cần có các phương pháp biến đổi địa chỉ nhanh hơn. Nhưng điều đó cũng không có nghĩa là phương pháp này hoàn toàn không thể áp dụng, ví dụ nhưtrong một số hệ thống đã sử dụng phương pháp này thành công bằng cách lưu toàn bộ bảng ánh xạ trong cache memory có tốc độ rất cao. 8.6.2 Biến đổi địa chỉ trang dùng bộ nhớ kết hợp associative memory Một trong số các phương pháp cải thiện tốc độ của DAT là lưu toàn bộ bảng ánh xạtrang trong associative memory (bộ nhớ kết hợp)- với associative memory thời gian truy nhập (access cycle) nhỏ hơn nhiều lần so với bộ nhớ thông thường. Trên h.8.13 biểu diễn quá trình thực hiện biến đổi địa chỉ động chỉ dùng associative memory. Chương trình truy nhập đến địa chỉ ảo v=(p,d). Tất cả các dòng (record) của bảng (nằm trong associative memory) được so sánh đồng thời với p. Associative memory trả lại giá trị p' - địa chỉ của page frame của p. Sau đó cộng p' với offset d ta có địa chỉ thực r. Hình 8.13 Chúng ta để ý rằng các mũi tên đi đi tới associative memory tới tất cả các bản ghi (dòng) của bảng. Điều đó có nghĩa là mỗi phần tử của associative memory được phân tích đồng thời với địa chỉ p. Cũng vì tính chất này mà bộ nhớ kết hợp rất đắt. ở đây chúng ta lại gặp vấn đề kinh tế: để có thể ứng dụng thành công bộ nhớ ảo cần có cơchế biến đổi địa chỉ động (DAT) tốc độ cao. Nhưng dù sao sử dụng cache memory hay associative memory thì đều quá đắt. Chúng ta cần có một giải pháp trung gian nào đó vẫn đảm bảo tốc độ nhưng giá cả phải chăng. 8.6.3 Biến đổi địa chỉ trang sử dụng kết hợp associative với ánh xạ trực tiếp. Đến lúc này chúng ta luôn định hướng đến các công cụ phần cứng để thực hiện bộ nhớ ảo. Nhưng chúng ta sẽ xem xét các thiết bị một cách logic (trừu tượng) hơn là vật lý. Chúng ta quan tâm không phải là một thiết bị cụ thể (vật lý) mà là tổ chức, chức năng và tốc độ của chúng. Vì giá của cache memory và associative mrmory quá đắt so với RAM do đó chúng ta cần giải pháp trung gian để thực hiện ánh xạ trang. Trong giải pháp này chúng ta sử dụng associative memory để lưu giữ một phần của bảng ánh xạ (h.8.14). Trong bảng đó chỉ chứa các ánh xạ trang được truy nhập gần nhất (về thời gian)- điều đó xuất phát từ kết quả tương đối là trang đã được truy nhập trong thời gian gần nhất hoàn toàn có thể (với xác suất lớn) lại được truy nhập tiếp. Trong các hệ thống hiện đại sử dụng phương pháp kết hợp này, chỉ số tốc độ đạt tới 90% hoặc hơn nữa so với khi hoàn toàn chỉ dùng associative memory. Hình 8.14 Sự biến đổi địa chỉ động được thực hiện theo cách sau: Chương trình cần truy nhập theo địa chỉ ảo v=(p,d). Cơchế biến đổi địa chỉ đầu tiên sẽ thử tìm ánh xạ của trang ảo p trong phần bảng ánh xạ nằm trong associative memory. Nếu nhưánh xạ trang p có ở đó thì bảng ánh xạ trong associative memory trả lại kết quả số page frame p' tương ứng với trang ảo p và giá trị p' này được cộng với offset d, ta có được địa chỉ thực r tương ứng với địa chỉ ảo v=(p,d). Để đảm bảo chỉ số tốc độ cao, bảng ánh xạ trong asociative memory phải không lớn quá. Thật vậy, trong thực tế, với các hệ thống sử dụng chỉ 8 hoặc 16 thanh ghi asociative memory, có thể đạt được 90% hoặc hơn nữa tốc độ khi sử dụng hoàn toàn associative memory (khi đó kích thước associative memory có thể lớn gấp hàng chục đến 100 lần). Có được kết quả đó là nhờ tính chất đặc biệt của các process hoạt động, gọi là tính địa phương - locality, hiện tượng này chúng ta sẽ xem xét sau. Sử dụng cơchế kết hợp đó là lời giải kỹ thuật dựa trên các thông số kinh tế của các thiết bị hiện có. 8.6.4 Chia sẻ (dùng chung) chương trình và dữ liệu trong hệ thống tổ chức trang Trong các hệ đa nhiệm, đặc biệt các hệ phân chia thời gian, thường xảy ra trường hợp nhiều user cùng chạy các chương trình giống nhau. Nếu mỗi user đều dùng riêng một bản copy của chương trình thì một phần đáng kể bộ nhớ bị lãng phí. Rõ ràng có một giải pháp- đó là sử dụng chung (chia sẻ) các trang có thể chia sẻ. Sử dụng chung cần phải xử lý , theo dõi cẩn thận để ngăn chặn tình huống khi một process cố thay đổi dữ liệu mà cùng lúc đó process khác đang đọc. Trong nhiều hệ thống tiên tiến, có sử dụng chung bộ nhớ, thường các chương trình cấu tạo từ hai phần riêng biệt- vùng chương trình (procedure) và vùng dữ liệu (data). Các procedure cố định (không thay đổi) hay còn gọi là reentrant procedure, có thể dùng chung. Các dữ liệu tĩnh (ví dụ bảng thông tin cố định nào đó)- có thể dùng chung. Các procedure động (thay đổi) cũng không thể dùng chung. Tất cả điều đó nói lên rằng mỗi trang bộ nhớ cần xác định xem có thể dùng chung hoặc không. Sau khi các trang của mỗi process được chia ra hai loại, trong hệ thống tổ chức theo trang thuần tuý việc chia sẻ bộ nhớ được biểu diễn trên h.8.15. Việc chia sẻ bộ nhớ làm giảm dung lượng bộ nhớ sử dụng và hệ thống có thể phục vụ số lượng user lớn hơn. Hình 8.15 88 77 TTổổcchhứứcc tthheeoo đđooạạnn ((sseeggmmeenntt)) Trong chương trước nói về bộ nhớ thực, chúng ta đã thấy rằng trong các hệ thống đa nhiệm với phân đoạn thay đổi, việc phân bố bộ nhớ thường thực hiện theo các thuật toán 'first suitable', 'most suitable' hay 'least suitable' theo tương quan về kích thước các vùng trống. Nhưng vẫn có hạn chế là chương trình phải nạp vào một vùng liên tục. Trong các hệ thống tổ chức theo segment, sự hạn chế đó có thể vượt qua, và cho phép chương trình (và dữ liệu) có thể nằm trong nhiều khối nhớ không liên tục (h.8.16); Tuy rằng bản thân các khối nhớ là một vùng nhớ liên tục nhưng chúng có thể có kích thước khác nhau. Hình 8.16 Trong giải pháp này xuất hiện một số vấn đề thú vị. Ví dụ nhưvấn đề bảo vệ chương trình, bộ nhớ. Sử dụng cặp thanh ghi biên không còn tác dụng nữa. Vấn đề tương tự nhưthế với việc kiểm soát việc truy nhập bộ nhớ của một chương trình [...]... ng ra ng không có trong bộ , lúc đ sinh ra ngắmissing segment fault; OS tìm segment nhớ ó t trong bộ nhớngoài, tạ cho nó bả ánh xạ o ng trang và nạ trang tư ng ứ vào bộ p ơ ng nhớvào chỗcó thể củ mộ trang củ process khác hay củ process đ là a t a a ó.Ngay cả khi segment nằ trong bộ , việ tìm kiế trong bả ánh xạ m nhớ c n ng trang có thể ra chỉ rằ trang cầ thiế không có trong b nhớ lúc đ sinh ra ngắmising... tang a ó, i n ghi củ bả ánh xạ a ng trang chỉ i page frame củ bộnhớthự tạđ có trang bộ tớ a c- i ó nhớ o tư ng ứ hoặ đ chỉ nhớngoài nơ có thể đn trang đ ả ơ ng, c ị bộ a i tìm ế ó Trong hệ ng có nhiề process, segmetn và trang, thì cấ trúc thông tin ánh xạ thố u u bộ nhớcó thể m phầ đ kể nhớ Chúng ta lư ý rằ quá trình biế đi đa chiế n áng bộ u ng n ổ ị chỉ ộ thự hiệ ngay trong quá trình hoạđng củ process... phư ng pháp thự hiệ bả vệ nhớ ó t ng ơ c n o bộ trong các hệ ng thố tổ c theo segment- đ là sửdụ khoá bả vệnhư chứ ó ng o , trên h.8.17 Hình 8.17 Hình8.17: Bả vệbộnhớdùng khoá trong các hệ a nhiệ vớ phân bốb nhớ o đ m i thành các block Khi giá trị khoá trong BXL đ ợ đt bằ hai- tưng ứ vớ user ư c ặ ng ơ ng i B, chư ng trình củ user B chỉ thể ơ a có truy nhậ đn các block bộ p ế nhớcó cùng khoá (2) Việ... ng Bộ nhớ t hợ (associative memory) hoặ hình thứ bộ kế p c c nhớtố đ cao khác (ví dụ c ộ cache) đ vai trò rấ quan trọ trong việ đm bả hiệ quả tố đ) củ cơ óng t ng c ả o u (về c ộ a chế n đi đ chỉ ộ (DAT) Nế nhưchỉ dụ ánh xạ c tiế tứ là chỉ biế ổ ị a đng u sử ng trự p c có bả ánh xạ m trong bộ ng nằ nhớ đ truy nhậ đ ợ đn ô nhớ n thiế ta phả thì ể p ưc ế cầ t, i thự hiệ 3 lầ thao tác đc bộ : c n n ọ nhớ. .. các hệthố segment- là cặ sốv=(s,d) trong đ s- sốsegment ị ả ng p ó củ bộ a nhớ o, còn d- offset trong đ n đ ả oạ ó Hình 8.18: dạ đ chỉo ng ị ả a Process có thể p tụ chỉ tiế c trong trư ngh hợ segment hiệ tạnằ trong b nhớ ờ p n i m Segment đ ợ nạ t bộ ưc p nhớngoài vào b nhớ t lý theo cả vậ segment, và segment phả đ ợ nạ vào mộ vùng nhớliên tụ Segment có thểđợ nạ vào bấ kỳ i ưc p t c ưc p t vùng trố... u khiể bộ ơ iề n nhớ o ả ầ 9.1 Mởđ u Trong chư ng trư c chúng ta đ xem xét các hình thứ tổchứ bộ ơ ớ ã c c nhớ tổchứ o: c trang, tổchứ segment, và kếhợ trang-segment: các cơchế n cứ cũ như c t p phầ ng ng chư ng trình, thự hiệ bộ ơ c n nhớ Chư ng này chúng ta sẽ o ơ xem xét các chiế lư c n ợ đ u khiể bộ iề n nhớ o ... Hệthố g kế hợ tổchứ trang -seg ment n t p c Hệthố tổchứ trang hay segment đu có nhữ ư đ m củ mình trong hệ ng c ề ng u iể a thố vớ b nhớ Từgiữ nhữ nă 60, cụthểhơ là bắ đu từhệthố ng i o a ng m n t ầ ng Multics củ trư ng MIT, hệ a ờ TSS củ IBM và nhiề hệ ng khác ngư i ta đ áp a u thố ờ ã dụ kếhợ tổ c theo trang- segment Nhờđ có đ ợ các ư đ m củ cả ng t p chứ ó ưc u iể a hai loạ mô hình tổchứ b nhớ Các... n n ọ nhớ Lầ 1 đ truy nhậ đn bả ánh xạ n ể p ế ng segment Lầ 2 đ đc ánh xạ n ểọ trong bả ánh xạ ng trang Lầ 3 mớ là truy nhậ ô nhớ n i p mong muố n Nhưvậ đ truy nhậ bộnhớcầ 3 thao tác đc bộ y ể p n ọ nhớtứ là tố đ giả gầ 3 c c ộ m n lầ trong khi chỉ n 8-16 thanh ghi bộ n cầ nhớ t hợ đ chứ các ánh xạ i nhấlà kế p ể a mớ t ta đ có thể ạ90% hoặ hơ về t tố đ ã đt c n mặ c ộ Trên h.8.26 biể diễ cấ trúc các... trang có thể ra chỉ rằ trang cầ thiế không có trong b nhớ lúc đ sinh ra ngắmising page fault, ng n t , ó t OS tìm trang cầ thiếtrong bộ n t nhớngoài và nạ nó vào b nhớ( hoàn toàn có thể p vào chỗ a mộtrang khác- trang thứhai sẽ đa ra kh bộ ) củ t bị ư i nhớ Cũ nhưtrong TH tổ c segment thuầ tuý, đ chỉo có thể ợ ra ngoài giớ ng chứ n ị ả a vư t i hạ segment, khi đ sinh ra ngắsegment overflow fault Hoặ khi... loạ mô hình tổchứ b nhớ Các segment thư ng chứ nhiề trang, ngoài ra i c o ờ a u không nhấthiếlà tấcả trang củ mộsegment nằ trong bộ t t t các a t m nhớcùng lúc và các trang liề nhau trong b nhớ chư chắ đ ánh xạlên các trang liề nhau n o a c ã n trong bộ nhớthự c Các hệ ng tổ c trang- segment sử ng đ đ chỉ m ba thành phầ tứ thố chứ dụ ánh ị a gồ n, c là đ chỉo v gồ 3 số ị ả a m v=(s,p,d) trong đ s- . Hỡnh 8.5 Bộ nhớ ngoài Bộ nhớ vật lý A B A C A B C Bộ nhớ ảo ứng dụng C Bộ nhớ ảo ứng dụng B Bộ nhớ ảo ứng dụng A Bộ nhớ vật lý ứng dụng A Bộ nhớ vật lý. Điều khiển bộ nhớ ảo 9 9 . . 1 1 M M ở ở đ đ ầ ầ u u Trong chương trước chúng ta đã xem xét các hình thức tổ chức bộ nhớ ảo: tổ chức trang, tổ chức segment,

Ngày đăng: 06/10/2013, 12:20

Từ khóa liên quan

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

Tài liệu liên quan