Nối tiếp phần 1 cuốn Giáo trình Kiến trúc hệ điều hành mời các bạn đến với phần 2 để nắm bắt một số thông tin cơ bản về bộ nhớ vật lý; tổ chức bộ nhớ ảo; điều khiển bộ nhớ ảo;...
Phần III Chương 7: Bộnhớvậ t lý 7.1 Mởđầu Việ c tổchức điều khiển bộnhớvậ t lý yế u tốquan trọng nhấ t xác đị nh cách xây dựng HĐH Đểthực chương trình hay truy nhậ p dữliệu, chúng cần nạ p vào bộnhớvậ t lý Bộnhớngoài (bộnhớthứcấ p ổđĩ a cứng) thường có dung lượng rấ t lớn giá rẻdùng đểchứa chương trình dữliệ u 7.2 Tổchức bộnhớ Trước bộnhớvậ t lý tài nguyên đắ t nhấ t Do cần tổchức tốtđểcó thểsửdụng với hiệu quảcao nhấ t Tổchức bộnhớlà cách mà hình dung sửdụng bộnhớvậ t lý Ví dụnhưchúng ta sẽnạp vào bộnhớmột chương trình hay nhiề u chương trình lúc? Nế u nhưtrong bộnhớcó sốchương trình chương trình sẽđược cấ p vùng nhớbằ ng hay chia bộnhớthành phầ n (section, part) với kích thước khác Chúng ta có cầ n đòi hỏi chương trình ứng dụng thiế t kếđểnạ p vào phầ n bộnhớcốđị nh hay cho phép nạ p vào bấ t cứvùng phù hợp Chúng ta có cầ n chương trình nằ m vùng nhớliên tục hay có thểchia chương trình thành khối nằ m vùng nhớbấtkỳ 7.3 Điều ển bộnh Không phụthuộc vào cách tổchức bộnhớ, cầ n giải quyế t cầ n dùng tiêu chuẩn đểđạ t thông sốtối ưu Các phương pháp điề u khiển nhớxác đị nh cách làm việc bộnhớvới tổchức cụthểnào cách giải quyế t khác vấn đề: nạ p chương trình vào chỗnào, nêu khơng đủbộnhớtrống chương trình nằ m bộnhớsẽphải đưa 7.4 Phân lớp bộnh Vào năm 50/60 bộnhớvậ t lý rấ t đắ t Do việc chọn lựa kích thước bộnhớ vậ t lý cầ n phải tính tốn trước Khách hàng khơng muốn mua lớn có thể, mặt khác phả i mua sốít đểđảm bảo hoạ t động HĐH sốlượng đị nh trước user Vấ n đềlà xác đị nh dung lượng bộnhớtối thiể u thoảmãn toán đồng thời nằ m khảnăng tài cho phép Đểcó thểchạ y chương trình hay truy nhập dữliệu, chúng cầ n phả i nạp vào bộnhớvậ t lý Các chương trình dữliệ u chưa cầ n có thểlưu bộnhớngoài, cầ n thiế t sẽđ ược nạp vào bộnhớvật lý Bộnhớngoài (đĩ a cứng, ) thường rẻ có dụng lượng lớn thời gian truy cậ p bộnhớvậ t lý lạ i nhanh nhiề u Ví dụvềtốc độtruy cậ p, bộnhớvậtlý: 60ns, HDD: 9ms Hệthống với lớp bộnhớcó đặ c tình tầ n suấ t trao đổi chương trình, dữliệ u lớp khác tương đối lớn Sựtrao đổi làm hao hụt tài ngun hệthống ví dụthời gian BXL, Vào nă m 60 xuất hiệ n thêm lớp (ngoài bộnhớvậ t lý bộnhớngoài) nữa, cache memory, cho phép làm tăng tốc độvà hiệ u quảsửdụng bộnhớ Cache memory có tốc độtruy cập nhanh nhiều (15ns) so với bộnhớvậ t lý Nhưng đắ t nhiề u, hệthống thông thường dung lượng cache không lớn Cache memory làm tăng thêm lớp trao đổi chi phí bù lạ i tốc độtruy cập Và tốc độcủa cảhệthống nâng lên nhiề u Hình vẽ Cache Memory Thêi gian truy cập giảm Tốc độ truy cập tăng Giá thành tăng Dung l-ợng giảm BXL truy cập trùc tiÕp m· lƯnh, d÷ liƯu Physical Memory Secondary Memory BXL không truy cập trực tiếp, cần nạp vào Physical Memory 7.5 Các chi ến lược điều ển bộnh Đểđả m bả o sửdụng tốtcác tài nguyên giá trị , chúng cần điều khiể n mộtcách có hiệ u Các chiến lược điề u khiể n bộnhớtheo hướng đảm bả o sửdụng tốt nhấ t bộnhớvậ t lý, chia theo hướng sau: 1/ Chiế n lược lựa chọn a- chiế n lược lựa chọn theo yêu cầ u (demand fetch) b- chiế n lược lựa chọn trước 2/ Chiế n lược phân bố 3/ Chiế n lược loạ i Mục đích chiến lược lựa chọn xác đị nh xem phả i nạ p block chương trình hay dữliệu vào bộnhớvậ t lý Trong nhiều nă m người ta cho rằ ng cách tốt nhấ t lựa chọn theo u cầ u: theo block chương trình hay dữliệu nạ p vào bộnhớkhi chương trình hoạ t động đòi hỏi đế n Bởi rằ ng nói chung khó mà nói trước điều khiể n sẽđược chuyể n đế nđ âu (đị a chỉlệ nh tiếp theo) chi phí thêm gắ n với việc dựđốn trước sẽtă ng đáng kểthời gian chờ Còn ngày nay, nhiề u nhà thiếtkếtin rằ ng lựa chọn dựđoán trước hồn tồn có thểđảm bả o tă ng tốc độcủa hệthống Các chiế n lược phân bốcó mục đích xác đị nh xem chương trình sẽđược nạ p vào vịtrí bộnhớ Chúng ta sẽxem xét mộtsốchiế n lược như'first suitalbe' (chọn block phù hợp), 'most suitable' (chọn block phù hợp nhất) 'least suitable' (block phù hợp nhấ t), theo kích thước vùng trống Các chiến lược loạ i bỏxác đị nh xem block chương trình dữliệu sẽbịloại khỏi bộnhớđểgiả i phóng chỗcho việc nạ p chương trình hay dữliệ u 7.6 Phân bốbộnhớli ên tục khôn g l iên tục Trong máy tính đầ u tiên bộnhớđược phân bốliên tục- tức mỗichương trình phả i nằ m vùng nhớ.Chỉsau xuấthiện khái niệ m đa chương trình với phân đoạn thay đổi (variable partition multi programming) việ c phân bốbộnhớ khơng liên tục chứng tỏsựhiệu quảcủa Trong phân bốbộnhớkhơng liên tục, chương trình chia làm nhiề u phân đoạ n (block hay segment), chúng có thểnằm tạ i vùng nhớkhác nhau, không thiế t phả i liền Vềphía HĐH, việc đảm bảo phân bốbộnhớkhơng liên tục rấ t phức tạ p, đem lạinhiề u ưu : bộnhớcó nhiều vùng nhớtrống thay vùng lớn HĐH vẫ n có thểnạp thực chương trình mà trường hợp ngược lạ i sẽphả i chờ 7.7 Ph ân bốbộnh ớl iên tục u ser Trong máy tạ i thời điể m chỉcó user (một chương trình ứng dụng) tấ t cảtài nguyên đề u thuộc quyề n Và tiền sửdụng máy tính theo nguyên tắ c đơn giả n- user tồn quyề n sửdụng tài nguyên phả i trảcho tấtcả , khơng phụthuộc việc chương trình có sửdụng hế t tài ngun hay khơng Do cơchếtính tiền thực hiệ n theo thời gian máy sửdụng Trong hệlàm việ c chếđộphân chia thời gian việ c tính tốn sửdụng thuậ t toán phức tạ p nhiề u Đầ u tiên user phải tựmình viế t tồn bộchương trình kểcảcác hàm thực vào/ra bằ ng ngơn ngữmáy Sau phầ n lệ nh thực hiệ n thao tác vào/ra cơbả n đưa vào IOCS- hệthống điều khiển vào/ra, người dùng viết lạ i hàm vào/ra mà chỉphải gọi hàm tương ứng hệthống Điề u làm đơn giả n tă ng hiệu quảlập trình có thểcho rằ ng bắt đầ u sựphát triể n khái niệ m vềOS hiệ n đạ i Tổchức bộnhớtrong trường hợp phân bốliên tục đốivới người dùng biu di n bng h.7.2 Hỡnh 7.2 OS Ch-ơng trình øng dơng Vïng nhí trèng Thơng thường kích thước chương trình phụthuộc dung lượng bộnhớ(hay khơng gian n lý HĐH), kích thước chương trình nhỏhơn kích thước nhớthì khơng có vấn đềnảy sinh, kích thước chương trình vượt q sao? Nhờcơchếoverlay cho phép có thểviế t chương trình lớn giới hạ n Khái niệm thểhiệ n hình 7.3 Nếu nhưmodule chương trình khơng hoạ t động cảq trình thực chương trình hồn tồn có thểđược lưu bộnhớngoài, cầ n thiế t nạ p vào bộnhớvật lý sau kế t thúc lại ghi bộnhớngồi, giải phóng nhớvậtlý cho module Chếđộoverlay cho phép lập trình viên thiế t kếcác chương trình lớn vượt qua hạ n chếbộnhớ.Nhưng việc thiế t kếoverlay module đòi hỏinhiề u cơng sức trí tuệ Các chương trình với cấu trúc overlay phức tạp khó thay đổi Ngày khơng phả i dùng chếđộoverlay đểvượt qua giới hạn vềbộnhớdo có hệthống vớibộnhớả o - virtual memory Hình 7.3 Cấ u trúc overlay a OS a b Phần ch-ơng trình, liệu cần có suốt trình Module điều khiển b Module Overlay Module Overlay Module Overlay Vïng Overlay Bảo vệbộnhớtrong hệthống đơn nhiệ m Trong hệthống đơn nhiệ m, user đ ược cấp vùng nhớliên tục nói chung có quyề n điều khiể n, truy nhập tồn bộbộnhớvậ t lý Trong trường hợp bộnhớ thường chia làm vùng: vùng cho HĐH, vùng cho chương trình ứng dụng vùng trống Vấ n đềbả o vệbộnhớtrong trường hợp tương đối đơn giả n Bả o vệbộnhớtrong trường hợp bả o vệHĐH đểchương trình ứng dụng khơng làm hỏng Nế u nhưchương trình hoạ t động khơng đúng, điều có thểdẫn tới phá vỡHĐH, nế u nhưHĐH bịhỏng đế n mức chương trình khác ứng dụng khơng thểtiế p tục hoạ t động người dùng nhậ n thấ y, sửa lỗi chạ y lại chương trình Trong trường hợp sựcần thiếtbả o vệHĐH khơng phả i rõ ràng Nế u trường hợp khác, chương trình ứng dụng phá hỏng HĐH cách 'tinh vi' Ví dụnhưnó 'vơ tình' làm thay đổi hàm vào/ra hệthống Khi chương trình có thểvẫ n hoạ t động tất cảkế t quảcó thểbịmấ t Còn xả y trường hợp tồi tệhơn hệthống đưa kết quảsai mà việc phát hiệ n khơng dễdàng Do rõ ràng cần phảibảo vệHĐH Việ c bả o vệcó thểthực hiệ n bằ ng ghi biên nằ m BXL (h.7.4) Hỡnh 7.4 S XL Ch -ơng trình hanh ghi iên nhí trèng T Vïng Thanh ghi biên chứa đị a chỉthấ p nhấ t lệ nh Nế u nhưuser cốgắ ng truy nhậ p vào vùng HĐH lệ nh bịcấ m sẽđưa thơng báo lỗi Tấtnhiên, user cầ n truy nhậ p đến HĐH, ví dụnhưthực hiệ n thao tác vào/ Đểphục vụđiề u user có thểdùng lệ nh đặc biệt, với chúng có thẻ yêu cầ u dị ch vụnào HĐH (ví dụnhưngắ t SVC) Trong trường hợp OS thực hiệ n dị ch vụđược yêu cầu sau trảlại điề u khiển cho chương trình ứng dụng Với việ c OS ngày phức tạp, cần phảicó cơchếtốt đểbảo vệOS user nhưgiữa user vớinhau 7.8 Đa chươn g multi programmin g) trì nh với đoạn nh cố đị (fi xed partitio n Đốivới hệthống đơn nhiệ m cảhệthống xửlý gói (packeg processing) vẫ n bịlãng phí phần đáng kểtài nguyên Trên h.7.5 ta thấ y chương trình chỉthực sựsửdụng BXL mà khơng thực hiệ n thao tác vào/ra Sau bắ t đầu thao tác vào/ra chương trình khơng thểtiế p tục cho đế n kết thúc thao tác Tốc độthực hiệ n thao tác vào/ra thường chậ m nhiều so với tốc độcủa BXL Nhưvậy BXL bịbỏphí suốt thời gian chờthực tác vụvào/ra, phầ n chiếm đáng kểthời gian chung Hình 7.5 Sửdụng BXL hệthống đơn nhiệ m Sư dơng BXL cđa øng dơng tÝnh to¸n nhiỊu BXL thực hoạt động Sử dụng BXL ứng dụng thùc hiƯn nhiỊu thao t¸c I/O chê kÕt thóc thao t¸c I/O Các nhà thiết kếthấy rằ ng hồn tồn có thểtă ng hiệ u quảsửdụng BXL Họđã thực hiệ n hệthống đa nhiệ m, user 'cạnh tranh' đểcó tài ngun Chương trình chờkế t thúc thao tác vào/ra sẽphả i nhường BXL cho chương trình sẵn sàng hoạ t động (tấtnhiên có chương trình nhưthế ) Do đả m bả o khảnăng thực thao tác vào/ra BXL- nâng cao hiệ u quảsử dụng BXL cảhệthống Các ưu thếcủa multiprogramming chỉcó thểtận dụng hế t bộnhớcó nhiều chương trình Nhờđó chương trình thưc hiệ n thao tác vào/ra BXL có thểchuyể n sang phục vụchương trình khác thực hiệ n tính tốn với thời gian trễnhỏnhấ t Khi chương trình thứhai giải phóng BXL thí đế n chương trình thứba khác lạ i có thểsẵn sàng sửdụng Multiprogramming đòi hỏi dung lượng bộnhớlớn so với trường hợp đơn nhiệm chi phí bù lạ i việ c sửdụng hiệ u quảcác tài nguyên khác (BXL, thiế t bịvào/ra) 7.8.1 Fixed partition multiprogramming (đa nhiệ m với phân đoạn cốđị nh) dị ch nạp theo chương trình theo đị a chỉtuyệ t đối Trong hệđa nhiệ m đầ u tiên, bộnhớđược chia thành phần (phân đoạ n) với kích thước cốđị nh Trong đoạ n chỉcó thểnạ p chương trình Còn BXL nhanh chóng chuyể n từchương trình sang chương trình khác, tạo hiệ u quảlà tấtcảchương trình dường nhưđược thực đồng thời Việ c biên dị ch chương trình thực assembler compiler với đị a tuyệtđối bịgiới hạ n việ c chương trình chỉcó thểchạ y mộtphân đoạ n c th(h.7.6) Hỡnh 7.6 hàng đợi ứng dụng chạy phân đoạn hàng đợi ứng dụng chạy phân đoạn OS Phân đoạn Phân đoạn hàng đợi ứng dụng chạy phân đoạn Phân đoạn Nế u nhưchương trình sẵ n sàng phân đoạ n có chương trình khác phả i đợi dù rằ ng phân đoạ n khác có thểtrống (h.7.7) Điề u dẫ n tới sựlãng phí bộnhớnhưng việc thiế t kếOS lạitương đốiđơn giả n Trên hình 7.7 thểhiệ n tình xấ u nhấ t phương pháp phân bốbộnhớliên tục với phân đoạn cốđị nh chương trình dị ch nạp vào đị a chỉtuyệt đối (phân đoạn cốđị nh) Cảhai phân đoạ n hai đề u bỏphí hàng chờcủa phân đoạ n ba q nhiề u chúng có thểđược nạ p vào phân đoạ n hai Hình 7.7 hµng đợi ứng dụng chạy phân đoạn OS Phân đoạn (trống) hàng đợi ứng dụng chạy phân đoạn Phân đoạn (trống) hàng đợi ứng dụng chạy phân đoạn task D task C task B task A Phân đoạn (bận) 7.8.2 a nhi m với phân đoạn cốđị nh: dị ch nạp chương trình module tựdo Các chương trình dị ch, assembler loader tựdo sửdụng đểdị ch nạp chương trình có thểthực hiệ n tạ i bấ t cứphân đoạn trống đủlớn (hình 7.8) Phương pháp khắc phục sốnhược điểm vềsửdụng bộnhớtrong trường hợp trước (đa nhiệ m với phân đoạ n cốđị nh, dị ch nạ p chương trình theo đị a chỉtuyệ t đối) Nhưng đểđạ t điều đó, việ c thitkliphc hn nhiu Hỡnh 7.8 OS Phân đoạn hàng đợi tất ứng dụng task D task C task B task A Phân đoạn Phân đoạn ứng dụng đ-ợc nạp vào phân đoạn trống 7.8.3 Bo vbnhtrong cỏc nhiệ m Trong hệthống đa nhiệ m với phân bốbộnhớliên tục (contiguous memory allocation), thường người ta sửdụng ghi biên đểbả o vệbộnhớ Hai ghi chỉra cậ n cận phân đoạ n, hoặ c cậ n kích thước phân đoạ n; chương trình có u cầ u truy nhậ p đến dị ch vụcủa OS phải dùng ngắ t SVC đểyêu cầ u Hình 7.9 OS a BXL Phân đoạn b Phân đoạn 2 số hiƯu curent process b cËn d-íi c cËn trªn c Phân đoạn d Bảo vệ nhớ hệ đa nhiệm phân đoạn cố định 7.8.4 Vn chia nhbnh(fragmentation) đa chương trình với phân đoạn cốđị nh Fragmentation xả y bấ t kỳhệthống không phụthuộc vào tổchức nhớ Trong hệđa nhiệ m với phân đoạn cốđị nh, fragmentation xả y chương trình ứng dụng khơng chiế m hế t tồn bộphân đoạn phân đoạn q nhỏđểcó thểnạp chương trình chờvào 7.9 Đa nhi ệm với p hân đoạn th ay đổi Khi xem xét vấ n đềcủa đa nhiệm với phân đoạ n cốđị nh, kỹsưthiếtkếOS thấy rằ ng tốt cho phép chương trình chỉchiế m bộnhớkích thước vừa đủ kích thước cầ n Khơng chia bộnhớthành đoạn cốđị nh mà có kích thước thay đổi theo chương trình ứng dụng Phương pháp gọi đa nhiệm với phân đoạn thay đổi Sựphân bốbộnhớban đầ u thểhiện h.7.10 Chúng ta chỉxem xét phương pháp phân chia bộnhớliên tục tức chương trình nạp vào vùng nhớliên tục Trong phương pháp đa nhiệ m với phân đoạ n thay đổi khơng đềra bấ t cứgiảsửgì vềchương trình (trừkhi kích thước chúng khơng vượt q kích thước bộnhớ) Các chương trình nạ p (thực hiện) sẽđược cấ p vùng nhớchúng cầ n Mỗi phân đoạn có kích thước bằ ng kích thước chương trình nằm Hình 7.10 App D: 14k App C: 20k App B: 10k App A: 15k OS OS OS OS App A: 15k App A: 15k App A: 15k App A: 15k App B: 10k App B: 10k App B: 10k App C: 20k App C: 20k Free Memory App D: 14k Free Memory Free Memory Free Memory Mỗi sơđồtổchức bộnhớđề u có sựlãng phí đị nh Trong trường hợp đa nhiệm với phân đoạn thay đổi, sựlãng phí xuất hiệ n chương trình kế t thúc bộnhớxuấ t hiệ n vùng trống (hole) nhưh.7.11 Các vùng trống có thểsửdụng đểnạ p chương trình khác dù sẽcòn vùng trống khơng phả i chương trình đề u có kích thước bằ ng vùng trống Nhưvậ y đa nhiệ m với phân đoạ n thay đổivẫn khơng tránh khỏi lãng phí bộnhớ Hình 7.11 OS App A kÕt thóc & gi¶i phãng bé nhí OS OS App C kÕt thóc & gi¶i phãng bé nhí App A: 15k Hole Hole App B: 10k App B: 10k App C: 20k App C: 20k Hole App D: 14k App D: 14k App D: 14k Free Memory Free Memory Free Memory App B: 10k 7.9.1 Hợp vùng trống liề n Đểkhắ c phục tình trạ ng bộnhớbịchia nhỏchúng ta có thểdồn vùng nhớ trống kểnhau Trong đa nhiệm với phân đoạ n thay đổi, chương trình kế t thúc có thểkiểm tra xem vùng giải phóng có nằ m liề n kềvới vùng trống khác khơng? Nế u tồn tạ i có thểhoặ c đưa thêm vào danh sách phân đoạ n điểm uốn, chỉra rằ ng từđó, cấp thêm page frame không làm tă ng đáng kểthờigian lần ngắ t Tóm lạ i tất cảnhững yế u tốchúng ta xem xét chứng tỏsựảnh hưởng khái niệm working set sựcầ n thiế t phải giả m kích thước trang Theo sựphát triên tin học, kế t quảnày có thểphả i phân tích lạ i Chương 10 Lậ p lị ch tả i cho BXL Các process chỉthực sựhoạt động chúng sửdụng BXL Việ c phân phối BXL phục vụcác process toán quan trọng phức tạ p HĐH Trong chương sẽxem xét vấ n đềliên quan đến việc phân phốiBXL cho process, việc gọilà lập lị ch (scheduling) cho BXL 10 Các mức l ập lị ch Có thểchia thành mức lậ p lị ch khác nhau: + lậ p lị ch mức cao + lậ p lị ch mức + lậ p lị ch mức thấ p Lập lị ch mức cao, hay lập lị ch cho task: công cụởmức xác đị nh tốn (chương trình) đưa vào hệthống, nghĩ a tạo process tương ứng với chương trình Lập lị ch mức giữa: mức xác đị nh process sửdụng BXL Bộlậ p lị ch ởmức phả n ứng với thay đổi vềtải hệthống Nó sẽdừng hoặ c kị ch hoạ t process đểđả m bảo hệthống hoạ t động bình thường, đạ t thơng sốkỹ thuậtđềra Lập lị ch mức thấ p: công cụởmức xác đị nh ready process tiế p theo quyề n sửdụng BXL, thường gọilà dispacher Hình vẽ10.1 10 Các mục tiêu vi ệc l ập lị ch Cơchếlập lị ch cầ n đạtđược mục tiêu sau: + đắ n, nghĩ a cơchếlập lị ch cầ n phục vụcác process “ cơng bằ ng” , tránh tình có process bịrơi vào tình trạng chờvơ hạn + đả m bả o khảnă ng thông qua lớn nhấ t, tức tiến tới phụvụsốlượng process nhiều nhấ t có thểtrong mộtđơn vịthời gian + thời gian phản ứng chấ p nhậ n với tấtcảcác process + tốithiể u chi phí, tài nguyên hệthống + cân đối việ c sửdụng tài nguyên, cần cốgắng nang cao hiệ u suất sửdụng tài nguyên, theo cần ưu tiên process sửdung tài nguyên giá thành thấp + đảm bảo cân đ ối thời gian trảlời hiệ u suấtsửdụng tài nguyên Cách tốt nhấ t đểgiả m thời gian trảlời có đủtài nguyên dựtrữđểkhi có yêu cầ u cấp phát lậ p tức, điều dẫ n tớilãng phí tài nguyên + ngă n ngừa tình chờvơ hạn + cầ n quan tâm process sửdụng tài nguyên quan trọng, tránh tình trạ ng process có mức ưu tiên thấ p chiếm tài nguyên mà process mức ưu tiên cao cần Nế u tài ngun khơng chia sẻthì HĐH cần tạo điều kiện đểprocess giải phóng tài nguyên nhanh nhấ t Chúng ta thấ y rằ ng nhiề u yêu cầ u muck tiêu trái ngược nhau, việ c lậ p lị ch cho process toán phức tạp 10 Tiêu ch uẩn l ập lị ch Đểđạ t mục tiêu ởtrên, cơchếlạ p lị ch cầ n hcú ý yếu tốsau: + process có thực u cầu thao tác I/O khơng? + process có sửdụng BXL hế t thời gian lượng tử(quantum) ? yêu cầ u vềthờigian trảlời hệthống cầ n đạ t + mức ưu tiên process + tầ n suấ t ngắ t missing page fault + thời gian tổng công process sửdụng BXL 10 Kh oảng thời gi an lượng tử, ng thời g ian Nhưta biết, process chỉthực sựhoạ t động sửdụng BXL Nếu process process hệthống lúc HĐH thực sựhoạ t động Đểtránh tình trạ ng độquyề n chiế m giữBXL, HĐH có cơchếcho phép lấ y lạiquyề n kiể m soát BXL HĐH thiết lạp đồ ng hồhệthống , xác đị nh khoảng thời gian gọi lượng tửtheo sinh tín hiệ u ngắ t thời gian Khi BXL chuyể n sang phục vụprocess tiế p theo Nhưthếprocess có thểchiếm BXL đế n tựgiả i phóng hoặ c có ngắ t tiế p theo Khi BXL giả i phóng, HĐH sẽxác đị nh process chiế m BXL Ngắ t thời gian giúp hệthống đảm bả o thời gian trảlời chấp nhậ n với tấ t process, tránh tình trạ ng chờvơ hạ n, đồng thưòi cho phép hệthống phả n ứng với sựkiện phụthuộc thờigian 10 Mức ưu tiên Trong hệthống, nói chung process có vai trò quan trọng khác Mức độ quan trọng process thểhiệ n qua mức ưu tiên (priority) Mức ưu tiên process gán HĐH, phụthuộc kiến trúc HĐH mà mức ưu tiên có thểlà động tĩ nh, có thểđược gán theo tiêu chuẩ n xác đị nh ngẫ u nhiên (trong trường hợp HĐH không phân biệt proces cầ n mức ưu tiên cao hơn) Trong hệthống sửdụng mức ưu tiên tĩ nh, mức ưu tiên process gán tạ o khơng thay đổi suốt q trình tồn tạicủa process Sơđồ mức ưu tiên tĩ nh dễdàng thiế t kếvà cài đặ t Tuy nhiên chúng khơng có khả nă ng điề u nh đểphù hợp với sựthay đổicủa môi trường Ngày HĐH đề u sửdụng sơđồmức ưu tiên động Theo mức ưu tiên process có thểthay đổi khác với mức ưu tiên khởi tạ o ban đầ u Cơchế cho phép hệthống thích nghi với sựthay đổi mơi trường đểđạ t chỉtiêu tốt hơn, nhiên khó khă n xây dựng cài đặ t 10 Lập l ị ch th eo thời g ian kết thú c Khi áp dụng sơđồnày, hệthống sửdụng tấ t cảkhảnăng có đểmộtứng dụng có thểkế t thúc thời hạn đị nh trước Ví dụtrường hợp điề u khiển tên lửa, kế t quảtính tốn chỉcó ý nghĩ a trước thưòi điể m Lậ p lị ch theo chếnày vấ p phảicác khó khă n: + người dùng cần chỉrõ tài nguyên cầ n thiế t phục vụcho ứng dụng, điề u không phảiluôn dễdàng thực + hệthống mặ t phả i thực hiệ n ứng dụng hạ n, mặ t khác không làm ả nh hưởng “ nhiề u”đế n ứng dụng khác + rấ t có thểxảy việc tranh chấ p tài nguyên ứng dụng + nế u đồng thưòi có nhiề u u cầ u kếtthúc ứng dụng thưòi hạn vấn đề lập lị ch có thểrấ t phức tạp + việ c phức tạp lậ p lị ch thường kéo theo chi phí tài nguyên lớn cho làm ảnh hưởng đến cảhệthống 10 Lập l ị ch th eo ng uyên tắc FIF O Có lẽđây nguyên tắc lập lị ch đơn giả n nhấ t Theo BXL phục vụcá process theo thứtựtrong danh sách reađy process hình vẽ10.2 Sau process quyền sửdụng BXL, thực hiệ n đế n kết thúc Nguyên tắ c FIFO khơng hốn đổi, nghĩ a BXL khơng thực phục vụquay vòng ready process mà phục vụtừng process đến kếtthúc Ngun tắc FIFO có tính xác đị nh cao, có thểdựđốn tương đối xác thời gian thực hiệ n toán Tuy nhiên khơng hốn đổi nên dễxảy trường hợp toán quan trọng phả i chờcác toán khác, đứng trước danh sách kế t thúc thực hiệ n Vì thếhiệ n nguyên tắc không áp dụng đơn thuầ n mà thường kế t hợp với phương pháp khác biện pháp tổhợp 10 Ng uyên tắc quay vòng (Roun d rob in-RR) Trong nguyên tắ c này, việ c điề u hành thực hiệ n process thực hiệ n theo ngun tắc FIFO có hốn đổi, nghĩ a process lần sửdụng BXL không vượt khaỏng thời gian xác đị nh - gọi lượng tử (quantum) Nế u khơng tựgiả i phóng BXL sau khoảng thời gian HĐH lấy lạ i quyề n điề u khiển BXL chuyể n sang phục vụprocess tiế p theo danh sách Process bịtước quyề n đưa vào cuốidanh sách hình 10.3 Nguyên tắ c quay vòng có hiệ u quảtrong hệthống phân chia thời gian cầ n đả m bả o thờigian trảlờichấ p nhận với tấtcảcác process Chi phí tài nguyên có thểgiảm xuống nhờcơchếchuyển đổi ngữcả nh dung lượng bộnhớđủlớn đểđồng thờinạp nhiề u ứng dụng 10 Giá trịcủa lượn g tử Trong nguyên tắc nhưRR ởtrên, việc xác đị nh giá trịcủa lượng tửcó ả nh hưởng đế n chỉsốhoạ t động hệthống Giá trịđó lớn hay nhỏ? cốđị nh hay thay đổi? vớicác process có giá trịnhưnhau hay khác nhau? Nế u giá trịđó q lớn có thểlớn cảthời gian thực hiệ n ứng dụng, nghĩ a trởthành nguyên tắ c FIFO Và nhưthếkhông đảm bả o đa nhiệ m tốt Còn giá trịđó q nhỏthì chi phí cho việc chuyể n đổi ngữcả nh chiế m phầ n lớn thời gian nă ng lực tính tốn cảhệthống, chỉsốhoạ t động hệthống sẽq thấ p Quan hệgiữa giá trịcủa lượng tửvà hiệ u suấ t hệthống biể u diễ n qua đồ thịsau Có thểthấ y rằ ng giá trịtối ưu khơng phảicốđị nh, thay đổi theo hệthống theo tảicủa hệthống, có thểkhác vớitừng process 10 10 L ập lị ch theo ngu yên tắc SJF (Shortes Jo b F irst) Nguyên tắ c SJF ngun tắc khơng hốn đổi, theo tốn có thời gian thực ngắ n nhấ t theo dựđoán sẽđược thực hiệ n trước Nguyên tắ c ưu tiên tốn nhỏ, nói chung việ c tạ o điề u kiệ n cho tốn nhỏthực hiệ n kết thúc dễdàng Từđó hàng đợi tốn giảm nhanh chóng Tuy nhiên ngun tắ c khơng tính đến mức ưu tiên, độquan trọng toán Theo nguyên tắ c tốn nhỏđược thực hiệ n trước hàng đợi nhanh chóng giả m thời gian chờtrung bình giả m Tuy nhiên việ c xác đị nh xác thời gian thực hiệ n tốn việ c khó khă n nhiều trường hợp khơng thểdự đốn xác 10 11 L ập lị ch theo ngu yên tắc SRT Nguyên tắ c SRT tương tựnguyên tắc SJF, SRT có hốn đổi Theo ngun tắc này, process đánh giá có khoảng thời gian lại đế n kết thúc ngắn nhấ t process tạo sẽđược ưu tiên Process đưa vào thực hiệ n sẽđược chạ y đến kếtthúc, hoặ c có process đưa vào hệthống mà có thời gian hoạ t động nhỏhơn thời gian lạ i process thực hiệ n Đểthực hiệ n nguyên tắ c này, lại gặ p phải vấ n đềdựđốn xác thời gian lạ i process Nguyên tắ c đòi hỏi chi phí tính tốn lớn so với ngun tắ c SJF CơchếSRT đòi hỏi ln phảitheo dõi thời gian thực hiệ n tốn đểcó thểxửlý tình ngắ t Khi sốlượng process khơng lớn, process có thểđược thực hiệ n ngay, nế u sốlượng toán Theo nguyên tắc SRT, hệthống cầ n ghi lạ i thời gian thực process điều làm tăng chi phí tính tốn Vềlý thuyế t nguyên tắ c SRT đả m bảo thời gian chờcực tiể u, nhiên thao tác chuyển đổi ngữcảnh mà điều khơng phả i ln Giảsửprocess thực hiệ n đến lúc gầ n kế t thúc xuấ t hiệ n process có thời gian thực ngắn Câu hỏi đặt có ngắt process thực hiệ n hay khơng? có thểthời gian thực hiệ n thao tác chuyể n đổi ngữcả nh lớn bả n thân thời gian thực hiệ n process Đểkhắ c phục nhược điể m này, số hệthống người ta đặtra ngưỡng thời gian, theo thời gian thực hiệ n process hiệ n tạinhỏhơn ngưỡng sẽkhơng thực thao tác chuyể n đổingữcả nh Một trường hợp khác cần đểý, tốn xuấ t hiệ n có thời gian thực dựđốn xấp xỉthời gian lạ i tốn hiệ n tại, nế u thực hiệ n chuyển đổingữcả nh chi phí lớn lợi ích thu Chúng ta phân tích trường hợp với mục đích cho thấy thiế t kếhệ thống cầ n phả i xem xét kỹhiệu quảthu với chi phí bỏra 10 12 L ập lị ch theo ngu yên tắc HRN Brinch Hansen đềxuấ t nguyên tắ c HRN (Highest response Ratio Next) đểkhắc phục mộtsốnhược điể m nguyên tắ c SJF, đặ c biệ t sựq ưu tiên tốn có thời gian thực hiệ n ngắ n HRN ngun tắc khơng hốn đổi mức ưu tiên động, theo mức ưu tiene process phụthuộc không chỉthời gian cầ n thực mà cảthời gian phả i chờđược phục vụ Cơng thức tính tốn sau dễthấ y mức ưu tiên cao thời gian thực hiệ n ngắn hoặ c thời gian chờcàng lớn 10 13 Hàng đợi nh iều mức với mối l iên h ệngược (call back) Khi process chiế m BXL, nói chung ta khó có thểdựđốn trước vềhành vi – thời gian cần BXL Process có thểchỉcần BXL khoả ng thời gian ngắ n thực hiệ n yêu cầu vào/ra, có thểcầ n BXL tính tốn khoả ng thời gian dài HĐH không lấ y lạ i quyền điề u khiể n Do cơchếlập lị ch cầ n + ý đế n toán ngắ n + ý toán thường thực hiệ n thao tác vào/ra đểsửdụng thiế t bịvào/ra hiệu + nhanh chóng xác đị nh đặc điểm tốn đểcó thểlậ p lị ch tối ưu Cơchếhàng đợi nhiề u mức với mối liên hệngược (hình10.14) cơchếcho phép đạ t yêu cầ u Khi process khởi tạo, đưa vào cuối hàng đợi mức Nó dầ n dị ch chuyển lên phía đầ u hàng đợi process khác sửdụng BXL Khi process chiế m BXL kế t thúc, hoặ c thực yêu cầu vào/ra, hoặ c hế t thời gian lượng tửhoặc có ngắt, BXL giải phóng đến process hàng đợi sửdụng BXL Nế u process chưa kế t thúc hế t thời gian lượng tử, bịtước quyền sửdụng BXL đưa vào cuối hàng đợi mức thấp Nế u thực yêu cầ u vào/ra sẽđược chuyể n xuống cuối hàng đợi mức Nó sẽđược quyền sử dụng BXL nế u chuyể n dị ch đế n đầ u hàng đợi khơng process hàng đợi mức Thường hệthống có vài hàng đợi mức thấ p nhất, hoạtđộng theo nguyên tắ c quay vòng, theo process thực quay vòng đế n kế t thúc hình 10.4 Trong nhiề u hệthống, người ta thiếtkếđểlượng tửđốivới hàng đợimức thấ p có giá trịlớn Nhờđó process chờcàng lâu chiế m BXL lâu Process ởđầ u hàng đợi chỉđược chiế m BXL tấ t cảcác hàng đợi mức rỗng Việ c thực process có thểbịngắ t nế u xuấ t hiệ n process thuộc hàng đợi mức Đế n ta phân tích nguyên tắc này, đối chiếu với yêu cầu Cơchếcầ n ưu tiên process thường xuyên thực hiệ n thao tác vào/ra đểđả m bảo hiệ u suấ t sử dụng thiế t bịvà thời gian trảlời yêu cầu ngắ n Lượng tửđược chọn đủđể process thực xong tính tốn yêu cầu thao tác vào/ra trước kế t thúc lượng tử Process đưa vào cuối hàng đợi gán mức ưu tiên cao Process sẽnhanh chóng dị ch chuyển lên đầu hàng đợi mức phục vụ Còn với process thực tính toán nhiề u, đầ u tiên process đưa vào hàng đợi mức Process nhanh chóng dị ch chuyể n lên đầ u hàng đợi phục vụ Sau kế t thúc lượng tử, đưa vào hàng đợi mức đưới với mức ưu tiên thấp Nhưthếcơchếnày ưu tiên process thường thực thao tác vào/ra Sau đó, khơng process ởhàngđoị ưmức trên, process phục vụlần tiế p theo kế t thúc lượng tử, chuyể n xuống hàng đợi mức thấ p Cuối chuyển xuống hàng đợi thấ p nhấ t phục vụquay vòng đế n kết thúc Cơchếhàng đợi nhiều mức với liên hệngược cơchếtốt cho phép phân tách process theo thời gian sửdụng BXL Hệthống có thểghi lạ i mức hàng đợi process, nhưthếkhi process đưa ngược lạ i hàng đợi, có thểđược đưa vào hàng đợi mức Ta có thểthấy rằ ng nế u process nằ m ởhàng đợi mức thấ p nhấ t hệthống khơng thểphả n ứng với thay đổi hành vi process ví dụnhưprocess chuyển từ pha tính tốn sang pha thực hiệ n thao tác vào/ra Vấ n đềcó thểđược giả i quyế t nế u hệthống ghi lạ i thời gian lần process chiế m BXL, nhờđó chuyển pha, hệ thống có thểnhanh chóng phát hiệ n sựkiệ n đưa process vào hàng đợi thích hợp Hoặ c dùng phương án khác, theo process tựgiả i phóng BXL trước hếtlượng tử, hệthống lạ i tă ng mức ưu tiên cho process Cơchếnày cơchếthích nghi – có thểphả n ứng với thay đổi hành vi process Thơng thường cơchếthích nghi đòi hỏi chi phí lớn hơn, giúp hệthống linh động hơn, tựđiề u nh hoạ t động lợiích đạ t nói chung cân bằ ng với chi phí ============= Chương 12: Làm việ c với ổđĩ a từ 12 Mởđầu Sựchậm chạp hệthống đa nhiệ m thường gây việ c sửdụng không thiế t bịlưu trữngoạ i vi nhưđĩ a từ, từ, Trong chương sẽxem xét sốphương pháp việc điều khiể n thiế t bịđó Chúng ta sẽphân tích sựlàm việc đĩ a từ, xem xét nguyên nhân dẫ n đến làm việc khơng hiệu , phân tích biệ n pháp nâng cao hiệu suấ t- so sánh sựgiống nhau, khác nhưưu, khuyế t điể m chúng- vềphương diệ n tốc độ 12 Ho ạt độn g ổđĩ a với đầu từchuyển động Trên h.12.1 biể u diễ n sơđồcủa ổđĩ a cứng với đầ u từdi động Dữliệ u ghi mặt đĩ a phủtừ, đĩ a gắ n chặ t vào trục chung quay với tốc độrấ t cao (3600 vòng/ phút- 7200 vòng/ phút) ===== Việ c truy nhậ p dữliệu (đọc hay ghi) thực hiệ n với sựgiúp đỡcủa đầ u từđọc/ghi, mặ t đĩ a có đầ u từ Đầu từchỉcó thểtruy nhậ p dữliệ u mặt đĩ a nằm trực tiế p (trên) Do đểcó thểtruy nhập đế n dữliệu, vùng đĩ a chứa dữliệ u phảidị ch chuyển trình quay cho nằ m trực tiếp đầ u từ Thời gian cầ n thiế t để dị ch chuyể n (quay) vùng bềmặtđĩ a đế n đầ u từgọi 'thờigian trễ'(latency) Mỗiđầ u từ, nế u nhưnó khơng dị ch chuyể n vẽnên bềmặ t đĩ a (đang quay) đường tròng (track) có thểlưu dữliệu Tấtcảcác đầ u từđược gắ n block điạ nh vị Block đị nh vịvớicác đầ u từcó thểdị ch chuyển theo bán kính đĩ a Với việ c dị ch chuyển đầ u từđế n vịtrí mới, có thểtruy nhập đế n nhóm rãnh (track) khác Nhóm track nằ m tấ t cảcác đầ u từđọc/ghi vịtrí block tạ o thành cylinder Q trình dích chuyể n đầu từđến cylinder gọi thao tác tìm cylinder (seek) ===== Nhưthế , đểcó thểtruy nhậ p đế n dữliêu đĩ a với đầ u từđọc/ghi nói chung cầ n thực vài thao tác (h.12.2) Trước tiên đầ u từcầ n phảiđược đị nh vịtrên cylinder cầ n thiế t (seek cylinder) Sau cần phải chờđế n điể m bắt đầ u bả n ghi đế n vịtrí đầ u từ(tìm bả n ghi-gắn với thời gian trễ), tiế p theo bả n thân bả n ghi, vềngun tắc có thểcó kích thước tuỳý (đế n toàn bộrãng-track), cầ n phả i qua đầ u từ(gọi la thời gian truyề n- transmission time) Bởi tất cảcác thao tác đề u gắ n với chuyể n động học, thờigian tổng cộng cần đểtruy nhập đế n thông tin chiế m tới 0,01-0,1 s Ngày ổ đĩ a cứng có thời gian truy nhậ p ngẫu nhiên trung bình 8-12ms ta thấ y khoả ng thời gina rấ t lớn nế u so sánh với tốc độcủa BXL 12 Sựcần thiết p hải p lanni ng Trong hệđa nhiệm, lúc có thểcó nhiề u process hoạtđộng chúng có thểcó yêu cầu truy nhậ p đĩ a Bởi process thường sinh yêu cầu nhanh nhiề u khảnă ng phục vụcủa thiế t bịngồi vi với thiế t bịcó hàng đợi yêu cầu Trong sốcác hệthống yêu cần phục vụtheo nguyên tắ c FCFS (first come- first served) Nguyên tắ c FCFS cách phục vụđúng, sốyêu cầ u lớn có thểdẫ n tới thời gian trễlớn Phương pháp FCFS có đặ c điể m tìm kiếm ngẫ u nhiên, yêu cầu lầ n lượt có thểtạo khoảng tìm kiế m cylinder (seek cylinder) dài, từcác track đến track (h.12.3) Đểgiả m tối thiểu thời gian tìm kiế m bả n ghi, cầ n sắ p xế p yêu cầ u theo nguyên tắ c khác với nguyên tắc FCFS Quá trình gọi planning cơng việ c với ổđĩ a ===== H12.3 Tìm kiế m cylinder ngẫ u nhiên nguyên tắ c FCFS Quá trình planning cần sựphân tích cẩ n thậ n yêu cầ u đểxác đị nh thứtựphục vụcó hiệ u quảnhấ t Người ta phả i phân tích liên hệvịtrí yêu cầ u, sau xếp chúng cho đảm bả o phục vụchúng với sựdị ch chuyể n cơhọc nhấ t Có hai hướng planning phổbiế n, tối ưu theo thời gian tìm kiế m cylinder tối ưu theo thời gian trễ(latency) Vì thời gian tìm kiế m cylinder lớn thời gian trễrấ t nhiề u phầ n lớn thuậ t tốn planning đạtmục đích giảm tối thiểu thời gian tìm kiếm cylinder mộtnhóm yêu cầu Giả m thời gian chờghi- Thời gian trễ(latency) thường không ả nh hưởng đáng kểđế n đặ c tính tốc độcủa hệthống , khơng tính đến chếđộtả i rấtlớn Vớicác TH tảinhỏthì ngun tắ c FCFS có thểchấ p nhậ n, với hệthống có tả i trung bình đế n lớn (vềsốyêu cầ u truy nhập đĩ a) planning có thểđảm bả o đặ c tính tốc độtốt nhiề u so vớiphương pháp FCFS đơn giả n 12 Các đặc tín h đán h g iá ng uyên tắc plann ing Chúng ta thấ y rằ ng nguyên tắ c FCFS chấ p nhận sốTH Đểđánh giá nguyên tắ c planning tồn tạ i mộtsốtiêu chuẩn: 1- Khảnă ng phục vụ(throughput) 2- Thời gian trảlờitrung bình (mean response time) 3- Sựkhác biệ t thời gian trảlời (variance in response time) Rõ ràng nguyên tắ c planning phảiđả m bả o tă ng khảnăng phục vụtức sốyêu cầ u phục vụđược đơn vịthời gian Vì chiến lược planning cho phép giả m thời gian tìm kiế m nên chúng hồn tồn có thểnâng cao khảnă ng phục vụso với TH dùng phương pháp FCFS Ngoài chiế n lược planning phả i cốgắ ng làm giả m tối thiể u thời gian trảlời trung bình Vảlạ i planning giảm thời gian tìm kiế m cylinder cho nê chúng làm rút ngắn thời gian trảlời trung bình so với FCFS tiêu chuẩn kểtrên cốgắ ng theo hướng i thiện chỉsốtốc độchung cảhệthống, nói chung chúng thực sựlàm trang chung tốthơn dù rằ ng có thểcó mộtsốyêu cầ u bịphục vụchậ m đôi chút Một chỉsốđánh giá quan trọng nhấ t sựkhác biệ t (variance) vềthời gian trả lời Nó đánh giá việ c giá trị(ởđây la thời gian phục vụ) cụthểđối với phầ n tửnào có thểsai lệch (khác biệt/giao động) so với giá trịtrung bình Với ý nghĩ a dùng vảiance nhưmộtchỉsốdựđốn trước- độkhác biệt nhỏthì độdựđốn trước lớn Chúng ta cầ n chiến lược planning cho phép giả m tối thiể u độkhác biệt variance Trong TH ngược lạ i, có thểxả y tình rằ ng thời gian phục vụmột sốu cần khơng thểước lượng trước Điề u khơng cho phép, ví dụvới hệthống đăng ký chỗmáy bay mà việ c trảlời nhanh, chậ m ảnh hưởng đế n việ c bán vế Nế u nhưcác chiế n lược planning chỉcốtheo hướng tăng khảnă ng phục vụ(throughput) mà không đồng thời làm giả m tối thiểu độdao động (variance in response time), có thểxửlý chỉcác u cầu dễphục vụvà bỏqua sốyêu cầ u khác 12 Tối ưu h oá thời g ian tì m cyli nder Chúng ta sẽphân tích chiế n lược tốiưu thời gian tìm kiế m cylinder phổbiế n nhất: 1- FCFS - yêu cầ u phục vụtheo thứtựxuấ t hiệ n 2- SSTF (shortes seek time first)- yêu cầ n gắn với sựdị ch chuyể n đầ u từít (từvịtrí hiệ n thời) phục vụtrước 3- SCAN (scan-quét)- đầ u từdị ch chuyể n đi, vềtrên bềmặ t đĩ a phục vụtấ t cảcác yêu cầu gặ p đường Đầu từchỉđổi hướng TH khơng u cầ u nằ m (ởphía trước) theo hướng thời 4- C-SCAN (cycled scan)- đầu từchỉphục vụtheo hướng dị ch chuyển từngoài vào trong, khơng u cầ u ởphía trước nhả y trởlạ i phục vụyêu cầ u nằm cùg tiế p tục vào 5- N-step-SCAN- đầ u từdị ch chuyể n vào/ra nhưtrong TH SCAN, tấtcảcác yêu cầ u xuấ t hiệ n q trình phục vụtheo mộthướng đó, nhóm lạ i theo cách đểchúng có thểđược phục vụhiệu quảnhất trình phục vụtheo hướng ngược lại 5- SơđồEschenbach (eschenbach scheme)- đầu từdị ch chuyển lặ p lạ i nhưtrong TH CSCAN chiến lươc nàu khác ởmộtsốđiể m quan trọng Khi phục vụmỗi cylinder chỉthực hiệ n truy nhậ p đế n track mà khơng đểý đến việc có thểcó u cầ u khác thuộc cylinder Cũng có phân tích xếp yêu cầ u cylinder với tham sốgóc phân bốbả n ghi, nhiên nế u hai yêu cầu nằ m vịtrí cắ t (có chồng lên nhau) theo phương thẳ ng đứng chỉcó mộtyêu cầ u phục vụ 12.5.1 Planning theo FCFS (first come- first served) Theo chiế n lược yêu cầ u đế n trước sẽđược phục vụtrước Nó ởchỗ, sau xuấ t hiệ n yêu cầ u đó- sẽđược có chỗcốđị nh hàng Nó sẽđược phục vụ(khơng bịloại có yêu cầ u khác ưu tiên hơn) Nế u yêu cầu phân bốđề u theo bề mặtđĩ a chiế n lược FCFS dẫ n tớitìm kiế m ngẫ u nhiên Trong bỏqua liên hệvịtrí u cầu chờđược phục vụ,và khơng có bấ t cứsựtốiưu tìm kiế m Chiến lược FCFS chấp nhậ n nế u hệthống làm việc với tả i nhỏ.Nhưng tảită ng lên thời gian phục vụnhanh chóng trởnên lâu Chiến lược FCFS đả m bảo variance không lớn 12.5.2 Chiến lược SSTF Khi planning theo chiế n lược SSTF, đầ u tiên sẽphục vụyêu cầ u có khoảng cách nhỏnhất (do có thờigian tìm cylinder nhấ t) dù u cầu khơng phả i xuấthiện đầ u tiên ===== Chiến lược SSTF có đặ c điểm variance nhỏđốivới yêu cầ u xác đị nh Việ c truy nhậ p đĩ a xuấ t hiệ n xu hướng tậ p trung, kếtquảlà yê cầ u truy nhập track ngồi có thểđược phục vụkếm nhiề u so vớicác yêu cầ u truy nhậ p track ởgiữa Chiến lược SSTF đả m bảo khảnă ng phục vụlớn FCFS thời gian trảlời trung bình tốt với tả i lớn Một khuyế t điể m sựtă ng độdao động thời gian trả lời (variance in response time) với track ngồi Nhược điể m có thểbỏquảtrong TH yêu cầ u quan trọng nhấ t la khảnă ng phục vụvà giả m thời gian trả lời trung bình, ví dụtrong hệthống xửlý theo gói 12.5.3 Planning theo chiế n lược SCAN Đểgiả m variance track biên, Denning xây dựng chiế n lược scan Chiế n lược nói chung tương tựnhưSSTF nế u khơng tính đến vấ n đềlà phục vụu cầu có khoả ng cách tìm kiế m nhỏnhấttheo mộtxu hướng xác đị nh (h.12.6) ===== Nế u nhưtại thời điể m hiệ n hướng quét từtrong chiến lược SCAN sẽchọn yêu cầu với khoả ng cách nhỏnhấ t theo hướng ngồi Trong chiế n lược SCAN, đầ u từkhơng đổi hướng chuyể n động cho đế n đạtđến cylinder ngồi hay khơng u cầu chờtheo hướng Nguyên tắ c SCAN cơbả n phầ n lớn hệthống có planning cơng việ c với đĩ a từ.Chiế n lược SCAN rấtgiống với SSTF từquan điể m tă ng khả nă ng phục vụvà giả m thời gian trung bình, gimảđáng kểđộchênh lệ ch yêu cầ u đế n track biên nhưcủa SSTF đảm bảo variance nhỏhơn nhiều Trong chiế n lược scan đầu từquét từtrong ngồi ngược lạ i nên qt (nằ m trên) track biên (thưa hơn) so với track ởgiữa, chỉlà nhược điể m nhỏso với variance TH SSTF 12.5.4 Nguyên lý N-step SCAN Trên nguyên tắ c phương pháp SCAN ởtrên có biế n thểgọi N-step-SCAN Trong đầ u từcũng dị ch chuyể n đi/vềnhr phương pháp SCAN, chiề u dị ch chuyển chỉphục vụcác yêu cầ u xuấthiệ n đến lúc bắ t đầ u dị ch chuyể n Các yêu cầ u xuất thời gian dị ch chuyể n nhóm lạ i sắ p xế p thếnào đểchúng có thểđược phục vụtốtnhấ t lần dị ch chuyể n ngược lại(h.12.7) =-==== Chiến lược N-step-SCAN đả m boảchỉsốcao cảvềkhảnă ng phục vụcũng nhưthời gian trung bình Nhưng điểm quan trọng nhấ t độchênh lệch (variance) nhỏso với sửdụng chiế n lược SSTF hay SCAN thuầ n tuý Chiế n lược N-step SCAN loại trừkhảnă ng yêu cầ u bịchờquá lâu, tình thường xuất hiệ n có sốlượng lớn yêu cầu đế n cylinder hiệ n thời Chiế n lược sẽlưu yêu cầ u đểphục vụvào lúc chuyể n động ngược lại 12.5.5 Chiến lược C-SCAN Còn biến thểcủa chiế n lược scan gọilà C-SCAN Chiế n lược loạ i trừtính chấttă ng variance đốivới track biên ===== Theo chiến lược C-SCAN, đầ u từdị ch chuyển từcác cylinder phía ngồi vào trong, ngồi phục vụcác u cầ u theo nguyên tắc thời gian tìm kiế m cylinder nhỏnhấ t Khi đầ u từhoàn thành chuyể n dị ch theo chiều thuậ n, sẽnhả y trởvềphục vụyêu cầu gầ n cylindẻngoài nhấ t sau lạ i tiế p tục dầ n vào Chiến lược C-SCAN có thểthực đểcác yêu cầu xuất hiệ n thời gian phục vụsẽđược phục vụvào lần sau (h.12.8) Nhờ chiế n lược C-SCAN loạ i bỏđược sựtăng variance với yêu cầ u truy nhậ p cylinder biên Các nghiên cứu cho thấy rằ ng chiế n lược planning tốt nhấ t có thểcó hai chếđộ.Trong chế độtả i thấp, phương pháp tốt nhấ t chiế n lược SCAN, tả i trung bình lớn kết quảtốtnhấ t có dùng C-SCAN Chiế n lược kếthợp với tốiưu theo thời gian trễ (tìm bả n ghi) đả m bảo kế t quảtốttrong điề u kiệ n tảirấ t lớn 12.5.6 Eschenbach scheme Chiến lược đươc thiế t kếđầ u tiên cho hệthống bán vé máy bay, với tả i rấtlớn Lược đồ eschenbach cốgắ ng tối ưu đầ u tiên theo hướng giả m thời gian tìm kiếm theo cylinder cảthời gian tìm bả n ghi Phân tích cho thấy chiến lược C-SCAN với tối ưu thời gian trễcho kế t quảtốt eschenbach scheme 12 Tối ưu th eo thời g ian trễ Trong điề u kiệ n tả i lớn, xác suấtcó lớn yêu cầ u đến cylinder tă ng lên, việ c tối ưu theo thời gian trễtrởnên cầ n thiế t Tối ưu theo thời gian trễđã áp dụng nhiều nă m cơng việc với thiếtbịcó đầ u từcốđị nh nhưtrống từ Tương tựchiế n lược SSTF theo hướng tối ưu thờigian tìm cylinder, hướng tối ưu theo thời gian trễcó chiến lược SLTF Khi bộđị nh vị(với đầ u từ) nằm cylinder với nhiề u yêu cầ u truy nhậ p track khác cylinder, chiế n lược SLTF phân tích tấ t yêu cầu phục vụyêu cầ u với thời gian trễnhỏnhấ t trước tiên (h.12.9) khơng phụ thuộc thứtựu cầ u có trước ===== Các nghiên cứu cho thấ y chiế n lược hoàn toàn gầ n với kế t quảtối ưu theo lý thuyết, ngồi việc thực không phả i phức tạp 12 Các đánh gi hệthống 12.7.1 ổđĩ a- critical resource Khi xem xét thầy đĩ a cứng tài nguyên tới hạ n (chỗyếu) hệthống, sốkỹsư khuyên nên tă ng dung lượng ổcứng Việ c không phả i bao giờcũng giả i quyế t vấn đề tình trạng critical có thểsinh tần sốu cầu truy nhậ p đến vùng đĩ a nhỏquá lớn Nế u nhưphân tích thấ y tình trạng tới hạn (critical) vấ n đềtrên có thểáp dụng chiế n lược tốiưu đểnâng cao chỉsốtốc độvà loạ i trừchỗyếu 12.7.2 Mức đa nhiệ m: Tải đĩ a va yêu cầ u ngẫ u nhiên, thường tăng len với sựtăng mức độđa nhiệ m Việc sử dụng biệ n pháp tối ưu (planning) công việc với đĩ a có thểkhơng hiệ u quảtrong hệ thống với mức độđa nhiệ m thấ p Nhưng với hệthống có mức độđa nhiệ m trung bình planning có hiệu quảvà đạt hiệ u quảrõ rệ t với hệvới mức độđa nhiệ m cao (có thểphả i xửlý hang nghìn yêu cầu) 12.7.3 Multdisk subsystem Từcách nhìn kinh tếvà module, ổđĩ a thường xây dựng cho vài ổđĩ a vật lý làm viêcj sựđiều khiể n disk controler Đế n lượt disk controller lạ i nối vào kênh vào/ra đảm bả o sựtrang đổi thông tin ổđĩ a BXL Một kênh có thểphục vụmột vài disk controler đến lượt disk controler có thểphục vụmộtsốổđĩ a (h.12.1) ===== Các kênh vào/ra không nối trực tiế p với ổđĩ a Điều làm phải phân tích cẩ n thận chỗyêu trước áp dụng biệ n pháp giải quyế t Điể m yế u có thểlà controller khơng đủmạnh hay giải thông củkênh không đu Việ c xác đị nh điểm yế u có thểdễdàng nhờcác chương trình thiế t bịdiagnostic đặ c biệ t, kiể m tra hoạ t động (các thông số khác nhau) kênh (channel) chưcontroller Nế u nhưđiểm yế u controller có thểtheo hướng đặ t lạ i cấ u hình hệthống, giả m sốlượng ổđĩ a nốivào controller Nế u nhưkênh không đủgiả i thông có thểđổi sốcontroller sang kênh khác hay thêm kênh vào/ra Nhưthế, đểkhắc phục điểm yế u có thểphải thay đổi cấ u hình hệthống Đểgiảm xác suấ t tả i kênh vào/ra, nhiều hệthống sửdụng phương tiệ n chuyên dụng theo dõi vịtrí góc quay đĩ a (RPS-rotational position sensing) Các phương tiện cho phép giảm thời gian kênh bịbậ n tìm bả n ghi đĩ a Khi có yêu cầ u truy nhậ p đế n bả n ghi đĩ a, RPS giả i phógn kênh đểkênh thực thao tác khác cho đế n bả n ghi cầ n thiế t nằ m vịtrí đầ u từ RPS cho phép kênh có thểphục vụđồng thời sốyêu cầ u , tă ng hệsốsửdụng thiế t bị 12.7.4 Phân bốcác yêu cầ u không đề u Các nghiên cứu lý thuyế t liên quan đế n hoạ t động cua ổđĩ a thường dựa giảthiếtlà yêu cầ u truy nhậ p đĩ a phân bốđồng đề u Kết luậ n nghiên cứu có thểkhơng xác nhiề u hệthống có đặ c điể m yêu cầ u truy nhậ p đizx phân bốkhông đề u theo bềmặ t đĩ a Việ c phân bốkhơng mộtsốtrường hợp hồn tồn bình thường Mộttrong nguyên nhân phổbiế n dẫ n tới sựphân bốcác yê cầ u không đề u file lớn liên tục Khi OS chọn chỗtrống đểghi chúng, thường ghi dữliệ u lên track track đầ y OS chuyể n sang ghi lênn track khác cylinder, cylindẻđầy chuyể n sang cylinder bên cạ nh Nhưthếkhi làm việc với file liên tục hồn tồn bình thường xuấ t hiệ n tình yêu cầ u truy nhậ p liên tiếp nói chung khơng dẫn tới thao tác tìm kiếm theo cylinder Và cảkhi phả i tìm theo cylinder rấ t ngắ n đơn giả n sẽchuyển sang cylinder cạ nh Trong tình việc tối ưu- planning nói chung khơng đem lạ i lợi cíh Ngồi chi phí cho planning hồn tồn có thểdẫ n đến giả m tốc độcủa hệthống Một sốhệthống có kiể m sốt tình trạng bềmặ t đĩ a có thểchuyển dữliệ u track hỏng sang track tốt khác Các track có thểnằ m ởcác vịtrí rấ t khác có thểgây dị ch chuyển đầ u từthêm (tìm kiế m) vào thời điểm không ngờ 12.7.5 Các phương pháp tổchức file Các phương pháp tổchức file, với tổchức phức tạ p ví dụdãy chỉsố(index =====) tạo hiệ n tượng sốlượng lớn yêu cầu với thời gian tìm kiếm lâu Việ c phục vụcác yêu cầ u phương pháp truy nhậ p chỉsốnối tiế p (index sequential access method-ISAM) gắ n với việc thực nhiề u lầ n truy nhập đĩ a Trong sốTH, truy nhập bả n ghi có thểđòi hỏi truy nhậ p đến index chính, truy nhậ p index cylinder sau xác đị nh vịtrí bả n ghi Q trình có thểdẫ n tới nhiều lầ n tìm kiế m theo cylinder index index cylinder thường nằ m đĩ a, nên thời gian trễtrong tìm kiế m có thểkhá lớn Tuy nhiên tổchức truy nhập ISAM thuận tiện cho người viế t phầ n mềm ứng dụng ... chương trình dữliệ u hệthống tổchức trang Trong hệ a nhiệ m, đặc biệ t hệphân chia thời gian, thường xả y trường hợp nhiề u user chạ y chương trình giống Nế u user dùng riêng copy chương trình phần. .. thểđả m bả o hiệ u quảcủa hệ thống Hình 8 .26 8.8 .2 Chia sẻchương trình, dữliệ u hệthống tổchức page-segment Trong hệthống tổchức trang-segment, ưu thếcủa việ c chia sẻchương trình dữliệu dễnhậ n Việ... chếđộoverlay đểvượt qua giới hạn vềbộnhớdo có hệthống vớibộnhớả o - virtual memory Hình 7.3 Cấ u trúc overlay a OS a b Phần ch-ơng trình, liệu cần có suốt trình Module điều khiển b Module Overlay Module