Câu 1: Trình bày mối quan hệ của hệ điều hành với các thành phần trong hệ thống máy tính, từ đó đưa ra khái niệm về Hệ điều hành? Trả lời - Đối với User: HĐH tạo môi trường giao diện giữa user và máy tính để thông qua môi trường này cho phép user đưa ra các lệnh, chỉ thị điều khiển hoạt động của hệ thống. - Đối với chương trình ứng dụng: HĐH tạo moi trường cho cả chương trình hoạt động, cung cấp các cơ chế cho phép kích hoạt và loại bỏ các chương trình ứng dụng. - Đối với phần cứng: HĐH phải quản lý hệu quả, khai thác hết khả năng của các thiết bị, cung cấp cho các chương trình và các user sử dụng tài nguyên khi có yêu cầu, thu hồi khi cần thiết. → HĐH là một tập hợp các chương trình hệ thống và các chức năng tạo môi trường giao diện cho user, tạo môi trường hoạt động cho các chương trình ứng dụng, quản lý và khai thác hiệu qua các thiết bị phần cứng.
- Nguyên tắc lặp chức năng: Mỗi công việc bao giờ cũng có nhiều cách thực hiện khác nhau với những tổ hợp modul khác nhau. Nguyên tắc này đảm bảo độ an toàn hệ thống cao và giúp người sử dụng thoải mái hơn khi giao tiếp với hệ thống. - Nguyên tắc giá trị chuẩn: Mỗi modul, câu lệnh có thể có nhiều tham số nên việc nhớ hết các tham số, ý nghĩa, quy cách… là rất phức tạp. Để tránh tình trạng này cần chuẩn bị sẵn bộ giá trị ứng với trường hợp thường gặp nhất. Nếu trong câu lệnh thiếu than số nào thì hệ thống sẽ bổ sung bằng các giá trị quy định trước. - Nguy Nguyên ên tắc tắc khởi khởi tạo tạo khi khi cài cài đặt: đặt: Chương trình cài đặt sẽ tạo ra phiên bản làm việc thích hợp với các tham số kỹ thuật hiện có, loại bỏ những modul không cần thiết để có một phiên bản tối ưu cả về cấu trúc lẫn phưong thức hoạt động. - Nguyên tắc bảo vệ nhiều mức: Để bảo đảm tính an toàn hệ thống và an toàn dữ liệu, chương trình và dữ liệu phải được bảo vệ bằng khóa ở nhiều mức. Nguyên tấc tấc này này làm làm giảm giảm đáng đáng kể nhữn nhữngg lỗi lỗi không cố ý trong quá trình hoạt động.
Câu Câu 4: Trìn Trình h bày bày khái khái niệm niệm về tài tài nguyên găng và đoạn tới hạn (critical section) từ đó nêu mục tiêu của quản lý tiến trình? Trả lời - KN tài tài nguy nguyên ên găng găng:: Nhữn Nhữngg tài tài nguyên được hệ điều hành chia sẻ cho nhiều tiến trình hoạt động đồng thời dùng chung, mà có nguy cơ dẫn đến sự tranh chấp giữa các tiến trình này khi sử dụng chúng, được gọi là tài nguyên găng. -Tài nguyên găng có thể là tài nguyên phần cứng hoặc tài nguyên phần mền, có thể là tài nguyên phân chia được hoặc khôn khôngg phân phân chia chia được được,, nhưn nhưngg đa số thường là tài nguyên phân chia được như là: các biến chung, các file chia sẻ. -Ví dụ sau sẽ cho ta thấy rõ hơn hậu quả sử dụng tài nguyên găng: Giả sử có một chương trình, trong đó có hai tiến trình P1 và P2 hoạt động đồng thời với nhau. tiến trình P1 phải tăng biến Count lên 1 đơn vị, tiến trình P2 phải tăng biến Count lên 1 đơn vị, với mục đích tăng Count lên được 2 đơn vị. Chương trình có thể thực hiện như sau: 1. Tiến trình P1 ghi nội dung dung biến toàn cục Count vào biến cục bộ L1 2. Tiến trình P2 ghi nội dung dung biến toàn Câu 3: Trình bày các nguyên tắc cơ bản cục Count vào biến cục bộ L2 để thiết kế và xây dựng Hệ điều hành? 3. Tiến trình P1 thực hiện hiện L1:= L1 L1 + 1 Trả lời - Nguyên tắc Modul: Hệ thống có tính và Count := L1 4. Tiến trình P2 thực hiện hiện L2:= L2 L2 + 1 chất Modul, nó được xây dựng từ những modul độc lập và tồn tại bộ quy tắc liên và Count := L2 Như vậy thoạt nhìn ta thấy rằng chắc kết chúng thành hẹ thống có tổ chức. Tính chắn Count đã tăng được 2 đơn vị, nhưng modul thể hiện ở 2 dạng: dạng chức năng trong thực tế có thể Count chỉ tăng được 1 và dạng chương trình. Các modul quan hệ với nhau thông qua dữ liệu vào/ra. Quan đơn vị. Bởi vì, nếu P1 và P2 đồng thời hệ phân cấp giữa các modul được xác lập nhận giá trị của Count (giả sử ban đầu khi liên kết chúng thanh những modul lớn Count = 4) vào L1 và L2, sau đó P1 tăng giải quyết những vấn đề phức tạp hơn. L1 lên 1 và P2 tăng L2 lên 1 (L1 = 5, L2 = Nguyên tắc này cho phép tổ hợp modu 5), rồi sau đó cả P1 và P2 đồng thời ghi theo nhiều cách khác nhau và đảm bảo giá trị biến L của nó vào lại Count, thì Count chỉ tăng được 1 đơn vị, Count = 6. tinh đa dạng của hệ thống. - Nguyên tăc tương đối trong định vị: Đây là điều mà chương trình không mong Các modul chương trình được viết theo muốn nhưng cả chương trình và hệ điều địa chỉ tương đối kể từ đầu bộ nhớ. Khi hành đều khó có thể phát hiện được. Nguyên nhân ở trên là do 2 tiến trình thực hiện, chúng mới được định vị vào 1 vùng nhớ cụ thể. Nguyên tắc này cho P1 và P2 đồng thời truy xuất biến Count, phép hệ thống sử dụng bộ nhớ linh hoạt cả khi nhận giá trị của count, lẫn khi ghi và HĐH không bị phụ thuộc vào cấu hình giá trị vào Count. Trong trường hợp này nếu hệ điều hành không cho phép hai tiến bộ nhớ cụ thể. - Nguyên tắc Macroprocessor: Khi có trình P1 và P2 đồng thời truy xuất Count, nhiệm vụ cụ thể, hệ thống sẽ xây dựng các hoặc hệ điều hành cho phép mỗi tiến trình thẻ yêu cầu, liệt kê các công việc phải được độc quyền truy xuất Count trong thực hiện và trên cơ sở đó xây dựng đoạn code sau, thì lỗi trên sẽ không xảy chương trình tương ứng sau đó thực hiện ra. chương trình nói trên. Câu 2: Nêu các tính chất cơ bản của Hệ điều hành? Trả lời - Độ tin cậy cao: Với mọi hoạt động , thông báo của HĐH phải chuẩn xác tuyệt đối. Chỉ khi nào biết chắc chắn đúng mới cung cấp thông tin cho người sử dụng. - Tính an toàn: HĐH phải đảm bảo sao cho dữ liệu và các chương trình không bị thay đổi ngoài ý muốn trong mọi trường hợp và mọi chế độ hoạt động. - Tính hiệu quả: Các tài nguyên của hệ thống được khai thác triệt để, duy trì hoạt động đồng bộ trong toàn bộ hệ thống, không để những thiết bị chậm trì hoãn hoạt động của hệ thống. - Tính kế thừa: HĐH phải có tính kế thừa, khắc phục những hạn chế của hệ điều hành trước đồng thời có thể thích nghi với những thay đổi có thể có trong tương lai. - Tính thuận tiện: Hệ thống phải dễ sử dụng, có nhiều mức hiệu quả khác nhau tùy theo kiến thức và kinh nghiệm của người dùng. Hệ thống trợ giúp phong phú để người sử dụng có thể tự đào tạo ngay trong quá trình khai thác.
biến điều kiện. Giả sử C là biến điều kiện P1: P2: được định nghĩa trong monitor. Begin Begin - Wait(c): khi một tiến trình gọi wait, L1 := Count; L2 := Count; thì wait sẽ chuyển tiến trình gọi sang trạng L1 := L1 + 1; L2 := L2 + 1; thái blocked, và đặt tiến trình này vào Count := L1; Count := L2; hàng đợi trên biến điều kiện c. Wait được End; End; Trong trường hợp này tài nguyên găng cài đặt như sau: Procedure Wait(c); là biến count. Begin - Đoạn tới hạn (critical section): Đoạn Status(p) = blocked; code trong các tiến trình đồng thời, có tác Enter(p,f(c)); động đến các tài nguyên có thể trở thành End; tài nguyên găng được gọi là đoạn găng - Sign Signal al(c (c): ): khi khi một một tiến tiến trìn trìnhh gọi gọi hay miền găng. Tức là, các đoạn code signal, thì signal sẽ kiểm tra trong hàng trong các chương trinh dùng để truy cập đến các vùng nhớ chia sẻ, các tập tin chia đợi của c có tiến trình nào hay không, nếu có thì tái kích hoạt tiến trình đó, và tiến sẻ được gọi là các đoạn găng. -Mục tiêu quản lý trình trình qua đoạn trình gọi signal sẽ rời khỏi monitor. Signal được cài đặt như sau: găng. Tại một thời điểm không thể có hai tiến Procedure Signal(c); Begin trình nằm trong đoạn găng. If f(c) <> Null Then Nếu có nhiều tiến trình đồng thời cùng Begin xin được vào đoạn găng thì chỉ có một Exit(Q,f(c)); tiến trình được phép vào đoạn găng, các {Q là tiến trình chờ trên C} tiến trình khác phải xếp hàng chờ trong hàng đợi. Status(Q) = ready; Tiến trình chờ ngoài đoạn găng không được ngăn cản các tiến trình khác vào Enter(Q,ready-lits); đoạn găng. End; Không có tiến trình nào được phép ở End; lâu vô hạn trong đoạn găng và không có tiến trình phải chờ lâu mới được vào đoạn Câu 6: Khái niệm bế tắc và các điều găng (chờ trong hàng đợi). Nếu tài nguyên găng được giải phóng kiện để xảy ra bế tắc trong hệ thống? Trả lời thì hệ điều hành có nhiệm vụ đánh thức * Khái niệm bế tắc: Trường hợp mà các tiến trình trong hàng đợi ra để tạo điều một tiến trình đang chờ nhận tài nguyên kiện cho nó vào đoạn găng. nhưng nó không bao giờ biến đổi trạng Câu 5: Trình bày nguyên tắc của các thái trở lại vì tài nguyên nó yêu cầu bị giữ phương pháp giải quyết bài toán đoạn bởi nhiều tiến trình dang chờ khác gọi là bế tắc. tới hạn? * Các điều kiện xảy ra bế tắc: Trả lời - Có tài nguyên găng. * Phương pháp khóa trong: - Có hiện tượng giữ và đợi: Có 1 tiến - Nếu có hai hay nhiều tiến trình cùng trình đang giữ 1 số tài nguyên và đợi tài định ghi vào cùng một địa chỉ của bộ nhớ nguyên bổ sung đang được giữ bởi các thì giải thuật chỉ cho phép một tiến trình được thực hiện, các tiến trình khác phải tiến trình khác. - Không có hệ thống phân phối lại tài chờ. - Mỗi tiến trình có 1 byte trong bộ nhớ nguyên, việc sử dụng tài nguyên không bị để làm khóa. Khi tiến trình vào đoạn tới ngắt. - Có hiện tượng chờ đợi vòng tròn. hạn thì byte khóa của nó có giá trị = 1 để thông báo tài nguyên găng đã được sử dụng, khi ra khỏi đoạn tới hạn thì byte Câu 7: Trình bày các biện pháp phòng khóa =0 để thông báo tài nguyên găng ngừa bế tắc, tránh bế tắc và giải quyết được giải phóng. Trước khi vào đoạn tới khi hệ thống gặp bế tắc? Trả lời hạn thì các tiến trình phải kiểm tra byte * Các biện pháp phòng ngừa bế tắc: khóa của tiến trình khác, nếu có byte nào Ngăn ngừa bế tắc: Đảm bảo 4 điều kiện =1 thì tiến trình phải chờ cho tới khi byte gây bế tắc không xảy ra đồng thời. đó =0. - Loại bỏ tài nguyên găng: mô phỏng * Phương phá kiểm tra và xác lập: Để phục vụ điều độ tiến trình qua đoạn tài ngyên găng bằng các tài nguyên có thể găng nhiều máy có phép tính riêng, thục dùng chung được (kỹ thuật spool). - Loại bỏ các yếu tố giữ và đợi: Thực hiện 2 phép xử lý liên tục không tách rời. hiện phân bổ trước tài nguyên. tiến trình * Phương pháp đèn hiệu: chỉ có thể thực hiện khi mọi tài ngyuên Đèn hiệu S là 1 biến nguyên mà chỉ có mà nó yêu cầu đã được phân bổ đủ. tiến 2 phép xủ lý là wait và signal mới có thể thay đổi được giá trị của nó. Nội dung của trình chỉ được phép đòi tài nguyên khi nó không giữ tài nguyên nào cả. Nếu tiến 2 câu lệnh như sau: trình phải đợi thì mợi tài nguyên của nó - Wait(S) đang giữ phải được tạm thời giải phóng. S:= S-1; - Xây dựng hệ thống ngắt tài nguyên: S≥ 0 ⇒ tiếp tục thực hiện tiến trình Phương pháp 1: Nếu tiến trình đang giữ S< 0 ⇒ đưa tiến trình vào hàng đợi 1 số tài nguyên và yêu cầu bổ sung tài - Signal(S) nguyên nhưng hệ thống không thể phân S:=S+1; bổ ngay thì mọi tài nguyên mà tiến trình S≤ 0 ⇒ đưa tiến trình vào đoạn tới đang giữ sẽ bị ngắt và được bổ sung vào hạn danh sách các tài nguyên tự do. tiến trình * Phương pháp monitor: sẽ bắt đầu lại khi nó được phân bổ đủ tài Monitor cung cấp các công cụ đồng bộ nguyên. hoá để người lập trình sử dụng trong các Phương pháp 2: Nếu tiến trình đang giữ sơ đồ điều độ. Công cụ đồng bộ hoá được một số tài nguyên và yêu cầu tài nguyên định nghĩa để sử dụng trong các sơ đồ bổ sung nhưng hệ thống không thể phân điều độ như sau: Trong một monitor, có bổ b ổ ngay ng ay thì hệ thống thống sẽ kiểm tra tài tài thể định nghĩa các biến điều kiện và hai nguyên mà tiến trình yêu cầu có bị giữ bởi thao tác kèm theo là Wait và Signal, chỉ các các các tiến tiến trìn trìnhh khác khác đang đang đợi đợi hay hay có wait và signal được tác động đến các các không. Nếu có thì ngắt các tiến trình này,
1
thu hồi và phân bổ cho tiến trình yêu cầu. - Sự công bằng: Mỗi tiến trình dù sớm Ngược lại yêu cầu phải đợi và trong khi hay muộn cung x phải được phân phối giờ đợi tìa nguyên của nó cũng có thể bị ngắt CPU. khi tiến trình khác yêu cầu. tiến trình sẽ - Tận dụng giờ CPU: thời gian vô ích được bắt đầu lại khi nó được phân bổ đủ của CPU càng ít càng tốt. Khi đó số tiến tài nguyên yêu cầu và tái tạo lại các tiến trình được phục vụ trong một đơn vị thời trình bị ngắt. gian càng cao. - Loại bỏ yếu tố chờ đợi vòng tròn: Sắp - Tổng thời gian thực hiện tiến xếp thứ tự các tài nguyên, mỗi tài nguyên trình(turn around time): Được tính từ khi r sẽ được gán một số thứ tự f(r). bắt đầu thực hiện cho tới khi kết thúc tiến Phương pháp 1: tiến trình giữ tài trình. nguyên ri chỉ được phép đợi tài nguyên rj - Thời gian tiến trình được xử lý trong khi f(ri)f(r j). dùng giờ CPU, tiến trình sẽ đưa ra một * Các biện pháp tránh bế tắc: yêu cầu. Như vậy thời gian đáp ứng được Mỗi lần phân bổ tài nguyên cho các tính từ khi tiến trình có yêu cầu giờ CPU tiến trình thì hệ thống sẽ kiển tra xem việc cho tới khi nó được hệ thống phân bổ. phân bổ đó có đẩy hệ thống vào tình trạng bế tắc hay không? Nếu có tìm cách giải Câu 9: Khái niệm, phân loại ngắt và quyết trước khi bế tắc xảy ra. quy trình ngắt của Hệ điều hành? * Các biện pháp xư lý bế tắc: Trả lời - Thông báo cho operator biết để xử lý. * Khái niệm ngắt(interupt): Ngắt là - Đình chỉ hoạt động lần lượt của từng công cụ để chuyển điều khiển tới một tiến tiến trình: phương pháp này dựa trên việc trình khác mà tiến trình hiện tại không thu hồi lại các tài nguyên của những tiến biết. Từ góc độ CPU, có thể coi ngắt là trình bị kết thúc. Có thể sử dụng một việc ngừng đọt xuất việc thực hiện một trong hai cách đình chỉ sau: tiến trình để chuyển sang thực hiện một Cách 1: Đình chỉ hoạt động của mọi tiến trình khác khi có một sự việc xảy ra. tiến trình trong tình trạng bế tắc. * Phân loại ngắt. Cách 2: Đình chỉ hoạt động lần lượt Ngắt được chia làm 2 loại: ngắt trong của từng tiến trình cho tới khi thoát và ngắt ngoài. khỏi tình trạng bế tắc (khi đình chỉ tiến - Ngắt trong: là ngắt gây ra bởi các sự trình nào thì thu lại tai nguyên của tiến kiện liên quan đến hoạt động của CPU.(ví trình đó). dụ như tràn ô nhớ, mã lệnh sai, vi phạm địa chỉ ô nhớ). Câu 8: Khái niệm về lập lịch cho CPU? - Ngắt ngoài: là ngắt gây ra bởi các sự Các phương pháp lập lịch cho CPU và kiện nằm ngoài tiến trình đang thực hiện các tiêu chuẩn đánh giá? như tín hiệu đồng hồ, sự cố kỹ thuật, ngắt Trả lời vào/ra.. * Khái niệm lập lịch cho CPU: Lập lịch * Quy trình xử lý ngắt: cho CPU là tổ chức 1 hàng đợi các tiến Quy trình xử lý ngắt nói chung có thể trình sẵn sàng để phân phối giờ CPU cho được mô tả bằng 5 bước: chúng dựa trên đội ưu tiên của các tiến -Ghi nhận đặc trưng của sự kiện gây ra trình sao cho hiệu suất sử dụng CPU là tối ngắt vào ô nhớ quy định. ưu nhất. -Ghi nhận trạng thái của tiến trình bị * Các phương pháp lập lịch cho CPU: ngắt(bộ đếm chương trình, nội dung các - Long-term Scheduler (hay còn gọi là thanh ghi, chế độ làm việc..). lập lịch công việc): Bộ lập lịch công việc -Chuyển địa chỉ chương trình xử lý phải được lựa chọn cẩn thận. Thông ngắt vào thanh ghi địa chỉ lệnh của thường hầu hết các tiến trình có thể được CPU(CS:IP). mô tả như là tiến trình hướng -Thực hiện chương trình xử lý sự kiện. nhâp/xuất(I/O bound process) hay tiến -Khôi phục lại tiến trình bị ngắt. trình hướng CPU(CPU bound process). Ba bước đầu của quy trình do các thành Bộ lập lịch công việc nên chọn sự kết hợp phần kỹ thuật của máy tính đảm nhận, 2 hài hào giữa 2 tiến trình hướng nhập xuất bước sau do hệ điều hành đảm nhận, cụ và tiến trình hướng CPU. thể như sau: - Short-term Scheduler (hay CPU HĐH xử lý sự kiện bằng các chương scheduler: bộ lập lịch CPU): Bộ lập lịch trình xử lý ngắt, mỗi loại sự kiện có một CPU phải chọn một tiến trình mới cho chương trình xử lý riêng. Việc đầu tiên là CPU một cách thường xuyên. Một tiến lưu lại các thông tin cụ thể về trạng thái trình có thê thực thi chỉ một vài mili giây của tiến trình bị ngắt. Tiếp theo là đoạn trước khi yêu cầu nhập/xuất. Phương pháp chương trình xử lý sự kiện, mỗi sự kiện này thường thực thi ít nhất một lần mỗi đòi hỏi một cách xử lý khác nhau. Nếu sự 100ms. Vì thời gian ngắn giữa việc thực kiện không đòi hỏi xử lý gấp thì hệ thống thi nên bộ định thời gian phải nhanh. có thể đưa tiến trình xử lý vào hàng đợi. - Medium-term Scheduler: Phương Khi khôi phục trạng thái tiến trình bị pháp này xóa các tiến trình ra khỏi bộ ngắt, nếu tiến trình ngắt không thể tiếp tục nhớ(từ sự cạnh tranh CPU) và do đó làm thực hiện vì sự kiện xảy ra thì sau khi giảm mưc độ đa chương. Tại thời điểm thông báo nguyên nhân, chương trình xử sau đó, tiến trình có thể được đưa trở lại lý ngắt chuyển tiến trình sang bộ phận xử bộ nhớ và việc thực thi của nó có thể được lý kết thúc. tiếp tục tại nơi nó bị đưa ra. Cơ chế này gọi là hoán vị(swapping). tiến trình được Câu 10: Trình bày khái niệm địa chỉ hoán vị ra và sau đó được hoán vị vào bởi vật lý , địa chỉ logic, bộ nhớ vật lý, bộ bộ nhớ lập lịch trung gian. Hoán vị cần nhớ logic , bộ nhớ ảo. thiết để cải tiến sự trỗn lẫn tiến trình(giữa Trả lời các tiến trình hướng nhập/xuất và hướng -Địa chỉ vật lý ( địa chỉ tuyệt đối) là địa CPU), hay vì một thay đổi trong yêu cầu chỉ cụ thể trong bộ nhớ,được cấp phát cho bộ nhớ vượt quá kích thước bộ nhớ sẵn các biến khi thực hiện chương trình. sàng. -Địa chỉ logic ( địa chỉ tương đối) là địa * Các tiêu chuẩn đánh giá: chỉ do hệ thống tạo ra và được cấp phát cho các biến khi thực hiện chương trình.
-Bộ nhớ vật lý:là tập hợp tất cả các địa chỉ vật lý tương ứng với các địa chỉ logic khi thực hiện chương trình. -Bộ nhớ logic: là tập hợp tất cả các địa chỉ logic phát sinh khi dịch chương trình. -Bộ nhớ ảo: là một kĩ thuật cho phép xử lý một chương trình không được nạp toàn bộ vào bộ nhớ vật lý.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. Câu 11: Trình bày các cấu trúc cơ bản của một chương trình. Trả lời Có nhiều phương pháp tổ chức chương trình ở bộ nhớ trong để thực hiện.Các phương pháp này khác nahau ở kiểu định vị chương trình trong bộ nhớ và thời điểm thực hiện phép ánh xạ địa chỉ tương đối thành tuyện đối. Cấu trúc của một chương trình thể hiện cách quản lý bộ nhớ logic và cho ta thấy hình ảnh của chương trình ở bộ nhớ vật lý khi thực hiện.Mỗi chương trình có thể có các dạng cấu trúc: 1, Cấu trúc tuyến tính Là cấu trúc sau khi biên dịch, các modul được tập hợp thành 1 chương trình hoàn thiện , chưa đầy đủ thông tin để có thể thực hiện(từ dữ liệu vào).Mọi biến ngoài đều được gán địa chỉ cụ thể, khi thực hiện chỉ cần định vị chương trình vào bộ nhớ M0
M1
M2
M3
M4
M5
2, Cấu trúc động Trong cấu trúc động, các modul chương trình được biên tập 1 cách riêng biêt.Khi thực hiện chương trình,hệ thống chỉ cần định vị modul gốc.Trong quá trình thực hiện,cần tới modul vào(đã đăng kí với hệ thống để thực hiện) thì hệ thống cấp phát cho không gian nhớ và nạp tiếp modul đó.Khi hoạt động xong thì giải phóng modul khỏi bộ nhớ, thu hồi không gian nhớ M0 M0
M1
M2
M0
M3
M4
M0
M5
3, Cấu trúc overlay Các modul chương trình sau khi biên dịch được chia thành các mức: Mức 0 : mức chứa modul gốc dùng để nạp chương trình Mức 1 : chứa các modul được gọi bởi mức 0 Mức 2 : chứa các modul được gọi bởi mức 1 ………. Mức i : chứa các modul được gọi bởi múc i-1 Bộ nhớ dành cho chương trình cũng được chia thành các mứ tương ứng với các mức chương trình.Kích thước mỗi mức trong bộ nhớ bằng kích thước modul lớn nhất của chương trình tương ứng. M0 80kb M1 50kb M3 50kb
M2 90kb M4 10 0kb
M5 70kb
Chương trình nguồn được viết và biên dịch như các cấu trúc khác tạo thành các modul chương trình (các modul này không chứa các lệnh giao tiếp với hệ điều hành). Để tạo thành cấu trúc overlay, ngưới sử dụng cần cung cấp lượng thông tin về các mức biên dịch thông qua sơ đồ overlay. Modul gốc được lưu trữ trên 1 file chương trình riêng. Khi thực hiện chương trình ,modul gốc được định vị vào bộ nhớ như chương trình có cấu trúc tuyến tính .Cần tới modul vào hệ thống sẽ tìm kiếm trong sơ đồ overlay và nạp vào bộ nhớ trong tương ứng. Khi nạp modul vào một mức bộ nhớ đã được sử dụng, các modul đang tồn tại trong bộ nhớ sẽ bị xóa. 4, Cấu trúc phân đoạn Chương trình của người sử dụng được biên dịch thành từng modul độc lập .Thông tin về các modul được chứa trong một bảng điều khiển gọi là bảng quản lý đoạn.trong bảng quản lý đoạn còn chứa các thông tin trợ giúp việc định vị các modul vào bộ nhớ. Khi thực hiện chương trình ,hệ thống sẽ dựa vào bảng quản lý đoạn để nạp các modul cần thiết vào trong bộ nhớ cho tới khi hết khả năng .Nếu cần nạp các modul mới nhưng khiến bộ nhớ thì hệ thống sẽ đưa bớt ra ngoài những modul không có khả năng sử dụng nữa. 5, Cấu trúc phân trang Chương trình được biên dịch như cấu trúc tuyến tính ,sau đó phân chia thành các phần bằng nhau gọi là trang .Thông tion về các trang được chứa trong một bảng điều khiển gọi là bảng quản lý trang.Một phần tử trong bảng quản lý trang ứng với một trang chương trình của người sử dụng. Khi thực hiện ,hệ thống sẽ dựa vào bảng quản lý trang để nạp các trang cần thiết vào bộ nhớ. Câu 12: Trình bày các sơ đồ quản lý bộ nhớ: Hoán đổi, phân đoạn, phân trang, kết hợp giữa phân trang và phân đoạn. Các giải pháp nạp và thay thế trang. Trả lời 1,Sơ đồ hoán đổi (swapping) Sơ đồ hoán đổi dựa trên nguyên tắc một chương trình ở trạng thái chờ đợi trong một khoảng thời gian tương đối dài sẽ được chọn tạm thời chuyển ra bộ nhớ ngoài (swap out) để giải phóng vùng nhớ cấp phát cho chương trình khác hoạt động. Khi chương trình kết thúc trạng thái chờ, nó sẽ được nạp trả lại bộ nhớ trong (swap in) để tiếp tục thực hiện. Sơ đồ swapping cần sử dụng một bộ nhớ ngoài (thường là đĩa từ), bộ nhớ này phải đủ lớn để lưu trữ các chương trình bị hoán đổi và cho phép hệ thống truy nhập trực tiếp đến các chương trình này. Trong các hệ swapping cần phải quan tâm đến thời gian chuyển đổi giữa các tác vụ .Mỗi chương trình cần được cấp phát giờ CPU đủ lớn để không thấy rõ sự chậm trễ do các thao tác swap gây ra. 2, Sơ đò phân đoạn: Các sơ đò phân hoạch cố định và phân hoạch động không áp dụng được khi kích thích chương trình lớn hơn kích thước bộ nhớ vật lý. Ngoài ra hệ số tích cực của các byte trong bộ nhớ cũng không được đồng đều. Các byte được gọi là tích cực nếu nội dung của nó được thực hiện các câu lệnh trong thời điểm quan sát. Sơ đồ quản lý bộ nhớ tốt là sơ đồ có số byte tích cực lớn. Trong 1 sơ đồ phân đoạn ,các modul chương trình được biên dịch 1 cách riêng
2
biệt .thông tin về các modul chương trình được chứa trong bảng quản lý đoạn SCB. Mỗi phần tử SCB tương ứng với một modul của chương trình và được đặc trưng bởi 3 trường tin : + Dấu hiệu D: cho biết modul đã được nạp vào bộ nhớ hay chưa ( D= 0 nếu chưa được nạp,D=1 ngược lại). + Địa chỉ A : địa chỉ của vùng nhớ sẽ định vị modul. + Độ dài L :Cho biết kích thước của modul. Ban đầu chỉ có trường L và D có giá trị.SCB được xây dựng ngay từ khi biên dịch chương trình. Khi thực hiện ,SCB được nạp vào bộ nhớ ,địa chỉ đầu được vào thanh ghi đoạn Rs. Địa chỉ truy nhập dữ liệu được biểu diễn bởi cặp(s,d) trong đó s là hệ số modul cần truy nhập,d là địa chỉ tương đối tính từ đầu...... Để truy nhập tới một dữ liệu cần phải qua 2 bước : + Bước 1 : Hệ thống lấy nội dung thanh ghi Rs cộng với s để tìm được phần tử thứ s trong SCB .Nếu trường dấu hiệu D=0 (modul chưa được nạp vào bộ nhớ) thì hệ thống làm thủ tục nạp modul vào bộ nhớ ,xin cấp phát không gian nhớ theo kích thước L,tìm modul ở bộ nhớ ngoài và định vị các vùng nhớ được cấp phát ,sửa lại nội dung từng địa chỉ A để nó chỉ tới modul thứ s ,nếu không tìm được modul ,hệ thống sẽ báo lỗi và ngừng thực hiện.Nếu trường dấu hiệu D= 1 (modul đã nạp vào bộ nhớ) hệ thống sẽ thực hiện bước tiếp theo. +Bước 2: hệ thống lấy nội dung trường địa chỉ A cộng với d và trang nhập tới bộ nhớ theo địa chỉ vừa tính được để đọc ghi dữ liệu. 3, Sơ đồ phân trang Sơ đồ phân trang là một trường hợp đặc biệt của sơ đồ phân đoạn. Trong sơ đồ phân trang, bộ nhớ chương trình và bộ nhớ vật lý được chia thành các phần bằng nhau gọi là trang, các trang được đánh số thứ tự từ 0,1,2... gọi là địa chỉ trang, như vậy trang là đơn vị dùng để phân phối bộ nhớ. Số trang của bộ nhớ vật lý phụ thuộc vào kích thước trang và kích thước bộ nhớ (thường là xác định) còn số trang của bộ nhớ phụ thuộc vào kích thước của chương trình. Mỗi trang được biểu diễn bởi một cặp (p,d) trong đó: p là số hiệu trang và d là địa chỉ tương đối tính từ đầu trang. Khi thực hiện chương trình, hệ thống xây dựng một bảng quản lý trong (page control black-PCB) để xác lập mối quan hệ giữa trang vật lý và trang logic. Mỗi phần tử trong bảng quản lý trang tương ứng với 1 trang logic và được đặc trưng bởi 2 trường tin: +Dấu hiệu D: cho biểt trang đã được nạp vào bộ nhớ (D=1 đã nạp,D=0 chưa nạp) +Địa chỉ Ap: là địa chỉ trang vật lý chứa trang logic p đang xét. Nếu D = 0 thì Ap có thể chứa thông tin cần thiết để tìm trang ở bộ nhớ ngoài. Địa chỉ của bảng quản lý trang được chứa trong thanh ghi quản lý trang Rp. Để truy nhập dữ liệu cần phải qua 2 bước: +Bước 1: Hệ thống lấy nội dung Rp cộng với p để truy nhập tới phần tử thứ p trong bảng quản lý trang (tương ứng với trang p ).Nếu D=0 (trang chưa được nạp vào bộ nhớ)thì hệ thống sẽ nạp trang vào bộ nhớ.Khi đó D=1 và trường địa chỉ Ap sẽ chứa địa chỉ trang trong bộ nhớ vật lý. +Bước 2 : Hệ thống lấy địa chỉ trang Ap ghép với d tạo ra địa chỉ vật lý của dữ liệu đã đưa
vào đó và truy nhập tới địa chỉ vừa tính được để đọc/ghi dũ liệu. 4, Sơ đò kết hợp phân trang và phân đoạn Để phát huy được các ưu điểm và hạn chế nhược điểm của các sơ đồ trên ,nhười ta thường sử dụng sơ đò kết hợp phân trang và phân đoạn. Trong sơ đồ này chương trình được biên dịch theo sơ đồ phân đoạn và có 1 bảng quản lý chung (SCB). Mỗi đoạn trong chương trình lại được biên tập theo sơ đò phân trang và tạo ra từng bảng quản lý trang (PCB) riêng cho mỗi đoạn. Khi chương trình được nạp vào hệ thống ,hệ điều hành sẽ cấp phát cho chương trình các trang cần thiết để chứa đủ các đoạn chương trình. Để hỗ trợ kỹ thuật phân đoạn cần có 1 bảng quản lý đoạn chung cho toàn bộ chương trình như trong sơ đồ kết hợp này,mỗi đoạn cần có một bảng phân trang riêng biệt .Như vậy trường địa chỉ A của phần tử thứ tử thứ i trong bảng quản lý đoạn –SCB sẽ là nơi chứa bảng quản lý của trang thứ i-PCBi, trường độ dài L chứa độ dài của PCB. Khi thực hiện, bảng quản lý trang sẽ được nạp vào bộ nhớ và địa chỉ đầu của nó được đưa vào thanh ghi quản lý đoạn Rs. Địa chỉ truy nhập dũ liệu được biểu diễn bởi một bộ ba phần tử (s,p,d) trong đó: s : số hiệu bảng cần truy nhập trong bảng quản lý đoạn p : số hiệu trang cần truy nhập trong bảng quản lý trang d : địa chỉ tương đối tính từ đầu trang Để truy nhập tới dữ liệu,hệ thống cần thực hiện 3 bước: + Bước 1 :Lấy nội dung thanh ghi Rs cộng với s và truy nhập tới phần tử thứ s trong bảng quản lý đoạn. + Bước 2: Nếu D=0 thì thực hiện thủ tục nạp PCB tương ứng vào bộ nhớ và cập nhật nội dung trường A. Khi nạp xong PCB, hệ thống cộng nội dung trường A với p để truy nhập tới phần tử thứ p trong PCB. + Bước 3 : Khi tìm được phần tử thứ p trong PCB,hệ thống sẽ ghép nội dung của Ap (tương ứng phần tử thứ p) với d để tìn ra địa chỉ đọc /ghi dũ liệu. Chú ý: ở sơ đồ này,bộ nhớ thường được chia thành 3 phần SCB, PCB và các trang. Bản thân bộ nhớ dành cho SCB và PCB cũng được quản lý theo chế độ phân trang. 5, Các giải pháp nạp trang +Biện pháp đơn giản nhất là nạp tất cả các trang của chương trình vào bộ nhớ ngay từ đầu như vậy hông thể xảy ra tình trạng thiếu trang tích cực khi đang thực hiện. Trong giải pháp này, bộ nhớ ngoài không được sử dụng để mở rộng bộ nhớ trong. Ưu điểm của giải pháp này là đơn giản nhưng không phát huy được hiệu quả đặc thù của sơ đồ phân trang. +Một giải pháp khác cũng cho phép giảm khả năng thiếu trang tích cực mà khôngcần sử dụng tới không gian bộ nhớ vật lý quá lớn là giải pháp nạp trước (nạp trước ở các trang sắp sử dụng). Giải pháp cho phép người sử dụng tạo chương trình bộ nhớ logic với kích thước tuỳ ý,đồng thời hệ thống có thể duy trỳ hệ số song song cần thiết cho hoạt động có hiệu quả của toàn hệ thống. Điểm mấu chốt của giải pháp nạp trang trước là phải được dự báo được các trang tích cực chuẩn bị sử dụng trong quá trình thực hiện. Nếu xác định được,ta có thể nạp trước các trang này vào bộ nhớ nhưng việc dự báo trang nào sắp thực hiện là vô cùng khó khăn. Do đó chi phi nạp trước các trang không
dùn đến có thể sẽ lớn hơn rất nhiều chi phí lệ (như một kí hiệu mảng không hợp lệ). nạp trang thật sự được sử dụng. Do đó chúng ta phải sửa trường hợp sơ +Thông thường ,các hệ thống thường xuất này. Thủ tục cho việc quản lý lội áp dụng các giải pháp nạp trang theo yêu trang này là không phức tạp: cầu. Theo giải pháp này thì trang chỉ được 1, Chúng ta kiểm tra bảng bên trong nạp khi xuất hiện yêu cầu truy nhạp dữ (thường được giữ với khối điều khiển tiến liệu của trang,như vậy mọi lần nạp trang trình) cho tiến trình này, để xác định tham là thực sự cần thiết. Giải pháp này đảm chiếu là truy xuất bộ nhớ hợp lệ hay bảo hiệu quả cao khi chúng ta có cách không hợp lệ. phân bố các trang ở bộ nhớ ngoài hợp lý 2, Nếu tham chiếu là không hơp và có cơ chế tìm kiếm tốt. lệ,chúng ta kết thúc tiến trình .Nếu nó là 6, Các giải pháp thay thế trang hợp lệ,nhưng chúng ta chưa mang trang Nếu còn nhiều không gian nhớ tự do thì đó vào bộ nhớ ,bây giờ chúng ta mang không cần thiết phải thay thế trang nhưng trang đó vào bộ nhớ theo thuật toán sau : khi thiếu không gian nhớ thì cần đưa một - Step1: Kiểm tra việc truy xuất tới bộ số trang ra ngoài và nạp vào các trang nhớ có hợp lệ không. khác cần thiết cho việc thực hiện chương +Nếu có, goto step 2 trình. Nguyên tắc chung là phải thay thế +Ngược lại kết thúc tiến trình các trang có lần sử dụng kế tiếp cách thời -Step 2: Tìm vị trí chứa trang cần truy điểm đổi trang càng xa càng tốt. Trong xuất trên đĩa từ. trường hợp lý tưởng là trang đó không còn -Step 3: Tìm một trang vật lý trống cần sử dụng nữa nhưng trên thực tế, trong bộ nhớ chính. không thể dự đoán trước được các diễn -Nếu tìm thấy,goto Step 4 biến của chương trình. Do đó,tồn tại một -Nếu không, chọn một trang đang sử số giải pháp đổi trang như sau: dụng và chuyển nội dung trang này ra bộ 1, Giải pháp đổi vòng tròn hoặc đổi nhớ ngoài (lưu nội dung trang này vào đĩa ngẫu nhiên tổ chức đơn giản nhưng có thể từ), cập nhật bảng quản lý trang tương dẫn đến khả năng đổi các trang vẫn còn ứng. đang sử dụng. -Step4: Chuyển trang muốn truy xuất từ 2, Giải pháp FIFO (first in first out)- bộ nhớ ngoài vào bộ nhớ trong :nạp trang trang nào nạp vào trước sẽ bị thay thế cần truy xuất vào trang vật lý trống, cập trước ,như vậy trang có thời gian tồn tại nhật nội dung quản lý trang. trong bộ nhớ lâu nhất sẽ bị thay thế.Nếu -Step5: Tái kích hoạt chương trình. chương trình được xây dựng theo cấu trúc tuyến tính thì giải pháp này rất tốt, với các Câu 14: Các pp quản lí và cấp phát chương trình xây dựng theo nguyên tắc không gian nhớ tự do trên đĩa câú trúc thì có thể xảy ra trường hợp đưa Trả lời một trang quan trọng ,đang sử dụng ra I. Các pp quản lí không gian nhớ tự do ngoài. Tuy vậy,giải pháp này cũng tương I.1. PP dùng bít vertor(Bitmap) đối đơn giản vì chỉ cần theo dõi quá trình Không gian đĩa được chia thành các nạp trang để xác định thứ tự ưu tiên các khối (block) và được đánh số từ 0…max trang cần thay thế. Ví dụ: Đĩa mềm 1.44Mb,2 mặt , 80 3, Giải pháp LRU (Last Recently Used) track /1 mặt, 18 sector/1track được đánh - thay thế trang có lần sử dụng cuối cách số như sau: thời điểm đổi trang lâu nhất. Giải pháp Head 0, track 0, sertor 1 Block 0 này dựa trên giả thiết chương trình có tính !! !! !! !! !! !! !! cục bộ hoá trang sử dụng, không có các …. lệnh chuyển điều khiển đi xa câu lệnh Head 0, track 0, sertor 18 Block 18 đang thực hiện dẫn đến giải pháp không !! !! !! !! !! !! !! đảm bảo tối ưu trong mọi trường hợp, …. đồng thời chi phí thực hiện cao vì để xác Head 0, track 0, sertor 1 Block 19 định được cần thay thế trang nào ,hệ !! !! !! !! !! !! !! thống cần phải định kỳ kiểm tra,thống kê …. các trang đã được sử dụng để tìm trang Head 0, track 0, sertor 18 Block 36 cần thay thế . !! !! !! !! !! !! !! 4, Giải pháp LFU (Last Frequently …. Used) - thay thế trang có tần xuất sử dụng Head 0, track 1, sertor 1 Block 37 thấp nhất. Đối với giải pháp này cần phải !! !! !! !! !! !! !! thống kê số lần truy nhập trang để tính …. được tần xuất truy nhập. Head 0, track 79, sertor 18 Block 2879 Các giải pháp thay thế trang nói trên Mỗi khối đĩa được sử dụng để đánh dấu có thể áp dụng chung cho toàn bộ hệ trạng thái. Khối đĩa nào đã sử dụng thì bít thống hoặc áp dụng cục bộ cho từng trạng thái có giá trị bằng 1, chưa sử dụng chương trình. Trong trường hợp áp dụng thì có giá trị bằng 0. Tập hợp các kí hiệu cục bộ cho một chương trình đang thực 0, 1 tạo thành một bít vector (Bitmap). hiện ,hệ thống cần phải lưu trữ kích thước Đọc thông tin trong bitmap hệ điều hành bộ nhớ đã cấp phát cho chương trình và có thể xác định được không gian tư do tránh trường hợp cấp phát bộ nhớ không trên đĩa. đều giữa các chương trình. PP bítmap có ưu điểm là cài đặt đơn giản, dễ quàn lí, dễ tìm kiếm những khối Câu 13: Cách xử lý hiện tượng lỗi trang đĩa tự do liên tục trên đĩa nhưng tốn không trong bộ nhớ ảo gian lưu trữ danh cho bitmap (mỗi khối Trả lời đĩa sẽ tốn 1 bít) Truy xuất một trang được đánh dấu là I.2 PP Liệt kê(Free list) “không hợp lệ” gây ra một trap lỗi trang Trong PP này, hệ thống sử dụng một (page-fault trap). Phần cứng phân trang danh sach móc nối để liệt kê các khối đĩa ,dịch địa chỉ thông qua bảng trang sẽ tự do.Con trỏ đầu trong danh sách chỉ đến thông báo rằng bit không hợp lệ được đặt, khối đĩa tự do đầu tiên, mỗi khối có một gây ra một trap tới hệ điều hành. Trap này con trỏ để trỏ tới khối kể tiếp là kết quả lỗi của hệ điều hành mang trang Ưu điểm: tiết kiệm không gian nhớ được mong muốn vào bộ nhớ trong (trong Nhược điểm: tăng thời gian truy nhập một cố gắng tối thiểu chi phí chuyển đĩa dữ liệu và yêu cầu bộ nhớ) hơn là lỗi địa chỉ I.3 PP lập nhóm (Grouping) không hợp lệ như kết quả của việc cố Trong PP này,hệ thống cho phép nhóm gắng dùng một địa chỉ bộ nhớ không hợp các khối đĩa tự do liên tiếp thành một
3
nhóm. Khối đĩa tự do đầu tiên trong nhóm lưu trữ địa chỉ của các khối tự do trong nhóm. Khối đĩa tự do cuối cùng trong nhóm lưu trữ địa chỉ của khối đĩa tự do đẩu tiên của nhóm tiếp theo. I.4 PP đếm(Counting) PP đếm là sự biến đổi của pp lập nhóm.Trong pp này, hệ thống lập danh sách quản lí địa chỉ của các khối lượng đĩa tự do đầu tiên và số lượng các khối đĩa tự do liên tục kế tiếp các khối đĩa đó.
nhập bộ nhớ trực tiếp theo một cơ chế đặc biệt , song song và độc lập với CPU. Cơ chế này gọi là DMA (Diret memory acess) Một hệ thống máy tính có thể nhiều kênh vào ra , mỗi kênh vào ra lại có thể có những kênh con của mình.Để điều khiển hoạt động của các kênh, cần có chương trình điều khiển riêng gọi là chương trinh điều khiền kênh Để hệ thống làm việc được với các kênh thì CPU phải hiểu được ngôn ngữ kênh.Ngôn ngữ kênh được nạp vào hệ II Các pp cấp fát không gian nhớ tự do thống khi nạp hđh hoặc ngay cả khi hđh II.1 Cấp fát kề (Contiguos) đang hoạt động(ngôn ngữ kênh thực chất Để fân bổ ko gian nhớ cho một file, hệ là các trình điều khiền kênh) thống chon một đoạn liên tục các khối đĩa CPU điều khiển các thao tác vào ra tự do để cấp fát cho file đó.Với pp này, để thông qua chương trình điều khiển kênh định vị file hệ thống chỉ cần bít địa chỉ tương ứng với công việc cần thực hiện của khối đĩa tự do đầu tiên và số lượng (nguyên lí Marcro Processor). Nguyên lí block đã dùng này cho phép trong lúc các thao tác vào ra Ưu điểm của cấp fát liên tục là hỗ trợ được thực hiện ở thiết bị ngoại vi thì CPU cho pp truy nhập tuần tự và truy nhập trực vẫn hoạt động song song thực hiện tính tiếp toán và điều khiển chừng nào chưa cần tới Nhược điểm: kết quả vào ra. Khi có kết quả vào ra kênh + Phải chọn được thuật toán tối ưu để sẽ fát tín hiệu ngắt báo cho CPU biết. Tuỳ tìm các vùng không gian tự do cấp fát cho theo hoàn cảnh cụ thể , tín hiệu ngắt được file(First-Fit, Best-Fit, hoặc Worst-Fit) xử lí ngay hoặc được lưu trữ lại để xử lí + Có thể xảy ra trường hợp không đủ khi có điều kiện hoặc thậm chí có thể huỷ số khối đĩa tự do liên tiếp cần thiết để cấp bỏ nếu hệ thống ko còn quan tâm đến kết fát cho file(kích thước file lớn hơn vùng quả này. Như vậy ngắt vào ra xuất hiện các khối đĩa liên tục lớn nhất) sau khi fép vào ra đc thực hiên xong chứ + Trong trường hợp các khối đĩa tự do không fải trước khi fép vào ra đc thực nằm tản mạn sẽ không sử dụng được,gây hiện. Để đảm bảo hiệu suất xử lí cao, hệ lãng phí không gian nhớ thống cần fải biết cáng sớm càng tốt thời II.2 Cấp fát liên kết điểm kết thúc của fep vào ra. Chính vì vậy Trong pp này mỗi file được định vị kênh sẽ báo cho hệ thông biết kết quả vào trong thư mục thiết bị bằng 2 con trỏ, một ra vào thời điểm sớm nhất có thể được và cái trỏ tới khối đĩa tự do đầu tiên , một cái do đó một fép vào ra có thể kết thúc ở trỏ tới khối đĩa cuối cùng đã cấp fát cho nhiều mức, nhiều nơi khác nhau như: tại file.Trong mỗi khối đĩa đã cấp fát cũng có thiết bị điều khiển, tại thời điểm khi lệnh một con trỏ để trỏ tới khối đĩa kế tiếp. được chuyển đến thiết bị vào ra ,khi thiết Ưu, nhược điểm: Sử dụng được các bị vào ra nhận đc tín hiệu điều khiển hoặc khối đĩa tự do nằm tản mạn nhưng chỉ hỗ sau khi fép vào ra đc thực hiện xong tại trợ truy nhập tuần tự, không hỗ trợ truy thiết bị ngoại vi. nhập trực tiếp, độ tin cậy không đảm bảo PP tổ chức này cho fép gắn thêm thiết nếu bị mất các con trỏ liên kết. Mặt khác bị đồng thời đảm bảo cho hệ thống ko fụ pp này tốn không gian nhớ để lưu trữ các thuộc cấu hình của thiết bị cụ thể, hệ con trỏ(khoảng 0.38% không gian đĩa) thống có tính lưu động cao (thay đổi thiết II.3 Cấp fát theo chỉ số (Index) bị mà ko cần thay đổi hệ thống, không cần PP này để cấp fát không gian nhớ cho sủa đổi các chương trinh úng dụng). một file, hệ thống sử dụng một khối đĩa đặc biệt gọi là khối đĩa chỉ số(Index Câu 16: Các kĩ thuật cơ bản trong quản block) cho mỗi file. Trong khối đĩa chỉ số lí thiết bị ngoại vi chứa địa chỉ của các khối đĩa đã cấp fát Trả lời cho file, trong thư mục thiết bị địa chỉ của 1, Kĩ thuật vùng đệm các khối đĩa chỉ số. Khi một khối đĩa được Đặc trưng cơ bản của các thiết bị ngoại cấp fát cho file thì hệ thống loại bỏ địa chỉ vi là tốc dộ hoạt động chậm, Để thực hiện của khối đĩa này khỏi danh sách các khối 1 phép vào ra hệ thống phải kích hoạt thiết đĩa tự do và cập nhật vào khối chỉ số của bị, chờ đợi thiết bị đó đạt trạng thái thích file. hợp vcà sau đó chờ đợi phép vào ra được Ưu điểm: hỗ trợ truy nhập trực tiếp thực hiện. phần lớn các thiết bị vào ra làm Nhược điểm: lãng fí không gian đĩa viêc với từng khối dữ liệu chứ kô phải danh cho khối địa chỉ số từng kí tự riêng lẻ. Để dảm bảo được những yêu cầu trên Câu 15: Nguyên tắc cơ bản để tổ chức hệ điều hành thường sử dụng 1 số vùng và quản lí thiết bị ngoại vi nhớ trung gian làm nơi lưu trữ thông tin Trả lời trong các phép vào ra. Vùng nhớ trung Nguyên tắc cơ bản để tổ chức và quản gian này được gọi là vùng đệm. Với việc lí thiết bị dựa trên cơ sở: CPU chỉ điều sử dụng vùng đêm hệ thống có thể thực khiển các thao tác vào ra chứ không trực hiện trước các phép nhập dữ liệu. Kô chờ tiếp thực hiện các thao tác này. Để đảm đợi đến khi xuất hiện yêu cầu nhập thực bảo được nguyên tắc này, các thiết bị sự. không gắn trực tiếp với CPU mà gắn với * Phân loại vùng đệm: các thiết bị đặc biệt- thiết bị điều khiển Có nhiều cách tổ chức vùng đệm khác (Control device). Một thiết bị điều khiền nhau nhưng nội dung có thể chia làm 3 có thể kết nối nhiều thiết bị vào ra. loại: Thiết bị điều khiển có vai trò như một +Vùng đệm trung chuyển máy tính chuyên dụng có nhiệm vụ điều Đối với kiểu vùng đệm trung chuyển , khiển các kết nối với nó và gọi là kênh hệ thống tổ chức hai vùng nhớ riêng biệt : vào ra. Mỗi kênh vào ra có ngôn ngữ và vùng nhớ vào và vùng nhớ ra. Vùng nhớ hệ lệnh riêng. Chúng hoạt động độc lập vào chỉ dùng để nhập thông tin còn vùng với nhau, độc lập với CPU và các thành nhớ ra dùng để ghi thông tin. Tương ứng fần khác trong hệ thống. trong hệ thống có hai lệnh để đưa thông Ví dụ: Để chuyển thông tin từ bộ nhớ tin vào và lấy thông tin ra (read/write) trong ra ngoài và ngược lại ,kênh fải truy
Trong chưong trình ứng dụng, ngay sau khio mở file, thông tin sẽ được chuyển đến vùng nhớ vào. Khi gặp lệnh đọc(read), thông tin sẽ được chuyển từ vùng nhớ vào tới các địa chỉ tương ứng nêu trong chương trình ứng dụng, như vậy mỗi giá trị sẽ được lưu trữ 2 nơi trong bộ nhớ.Sau khi giá trị cuối cùng của vùng đệm được lấy ra xử lý, vùng đệm trở nên rỗng và hệ thống tổ chức nhập thông tin mới vào thời điểm sớm nhất có thể được. Để giảm thời gian chờ đợi, hệ thống có thể tổ chức nhiều vùng đệm vào, khi hết thông tin ở mộy vùng đêm hệ thống sẽ chuyển sang vùng đêm tiếp theo Đối với vùng đệm ra, thông tin cũng đựoc xử lý tưong tự nhưng theo trình tự ngược lại. Lệnh ghi (write) kô đưa trực tiếp thông tin ra thiết bị mà đưa vào vùng đệm ra. Khi 1 vùng đệm ra đầy , hệ thống sẽ chuyển sang làm việc với hệ thống kế tiếp đồng thời tổ chức đưa thông tin từ vùng đệm trước ra thiết bị +Vùng đệm xử lý Trong vùng đệm xủ lý , cả thông tin vào và ra cùng đựoc xử lý trong 1 vùng bộ nhớ, thông tin kô cần phải lưu trữ ở nhiều vị trí khác nhau trong bộ nhớ. Trong trưòng hợp này, lệnh đọc (read) xác định địa chỉ thông tin chứ kô cần cung cấp giá trị thông tin như trong vùng đệm trung chuyển. Loại vùng đệm này có ưu điểm là tiết kiệm kô gian nhớ, rút ngắn thời gian trao đổi thông tin ở bộ nhớ trong nhưng tốc đọ giải phóng vùng đệm chậm, vì vậy hệ số song song thấp hơn so với vùng đem trung chuyển. Mặt khác, kô phải thao tác trao đổi vào/ra nào cũng có thể sử dụng được vùng đệm này. Phưong pháp tổ c hức vùng đệm phức tạp. +Vùng đệm vòng tròn Trong cách tổ chức này ,hệ thống làm việc với 3 vùng đệm: một vùng đệm để đưa thông tin vào ,một vùng đệm để đưa thông tin ra và một vùng đệm để xử lý. Sau 1 khoảng thời gian nhất định thì chức năng của các vùng đệm được trao đổi cho nhau vòng tròn tức là vùng đệm vào thành vùng đệm xử lý,vùng đệm xử lý thành vùng đệm ra,vùng đệm ra thành vùng đệm vào. Như vậy vùng đệm này sẽ đạt hiệu quả cao khi thời gian xử lý tương đương thời gian vào/ra. Loại vùng đệm này có thể gắn với từng file cụ thể hoặc gắn với toàn hệ thống .Trong chế độ gắn file,vùng đện đọc được xây dựng khi mở file ,xóa khi đóng file và chỉ phục vụ riêng cho file đó. Phương pháp tổ chức này đặc biệt thích hợp khi mỗi file có 1 kích thước vật lý riêng. Nếu tất cả các file có kích thước bane ghi vật lý giống nhau thì người ta thường dùng chế độ vùng đệm chung cho toàn bộ hệ thống.Vùng đệm được xây dựng khi nạp hệ thống và chưa gắn với 1 file cụ thể nào. Khi mở file, một hoặc một số vùng đệm được gắn với file và phục vụ sự truy nhập file đó. Khi đóng file,vùng đệm không bị xoá mà được trả về cho hệ thống như 1 tài nguyên chung. 2, Kĩ thuật kết khối Để giảm số lần truy nhập vật lý ,hệ thống còn sử dụng kỹ thuật kết khối tức là ghép nhiều bản logic thành một bản ghi vật lý và việc trao đổi thông tin giữa các bộ phận được tiến hành theo bản ghi vật lý. Thông thường tồn tại các cách tổ chức kết nối sau: +Mỗi bản ghi vật lý chứa 1 số nguyên lần các bản ghi logic và giá trị này là như nhau với mọi bản ghi vật lý.
+Mỗi bản ghi vật lý chứa 1 số nguyên lần logic nhưng số lượng các bản ghi logic không giống nhau với những bản ghi khác nhau. +Bản ghi vật lý có độ dài cố định,không phụ thuộc vào độ dài của bản ghi logic.Vì vậy bản ghi vật lý không nhất thiết phải chứa 1 số nguyên lần bản ghi logic. +Bản ghi vật lý chỉ chứa 1 phần bản ghi logic và vì vậy phải kết hợp nhiều bản ghi vật lý mới được 1 bản ghi logic. Việc kết hợp còn được sử dụng như một biện pháp hạn chế việc truy nhập bất hợp lệ.Nếu không nêu đúng hệ số kết nối (số bản ghi logic trong một bản ghi vật lý) thì hệ thống sẽ không tiếp tục thực hiện các phép truy nhập thông tin hoặc thông tin sẽ bị giải mã sai lệnh vì hệ số kết nối đã nêu không hợp lý. Phương pháp kết nối thường được áp dụng khi cần phải lưu trữ hoặc sao chép các file có kích thước lớn nhưng không muốn sử dụng các công cụ backup dữ liệu. Câu 17: Trình bày các yếu tố ảnh hưởng tới thời gian truy xuất đĩa từ và các thuật toán lập lịch cho đĩa từ. Trả lời I. Thời gian truy xuất đĩa fụ thuôc 3 yếu tố: + thời gian di chuyển đầu từ đọc/ghi đến track hoặc cylinder cần thiết (seektime) + thời gian định vị đầu từ đọc/ghi tại khối đĩa cần truy nhập(latency-time) + thời gian truy nhập dữ liệu (transfertime) Lưu ý: Thời gian định vị đầu từ đọc ghi và thời gian truy nhập dữ liệu thông thường cố định và fụ thuộc cấu trúc kĩ thuật của ổ đĩa. Do đó để tăng tốc độ truy nhập đĩa, các hđh thường quan tâm tới thời gian di chuyển đầu từ đọc ghi. II. Một số pp lập lịch II.1 First Come First Served(FCFS) Để truy nhập tới 1 file, hệ thống sẽ tổ chức một hàng đợi các yêu cầu fục vụ của các track(lưu trư dữ liệu của file cần truy nhập ). Track nào có yêu cầu fục vụ trước thỉ đầu từ đọc/ghi sẽ dịch chuyển tới đó trước. II.2 Shortest Seek Time First(SSTF) SSTF chọn track nào thời gian di chuyển đầu từ đọc/ghi ngắn nhất thì fục vụ trước II.3 Scan Trong thuật toán này, đầu từ đọc/ghi quét từ track hiện tại vể một fía, sau đó quét ngược lại phía còn lại, trên đường đi gặp track nào có yêu cầu thì fục vụ II.4 C-Scan Thuật toán này tương tự như Scan nhưng đầu từ đọc/ghi ko fục vụ đường về(Ko quét ngược lại) II.5 Look Tương tự như Scan nhưng trong thuật toán này, đầu từ đọc/ghi chỉ quét trong fạm vi các track có nhu cầu fục vụ, ko quét tới track đầu tiên hoặc cuối cùng(nếu các track này ko có yêu cầu fục vụ) II.6 C-look Tương tự như Look nhưng đầu từ đọc/ghi không fục vụ đường về. Chú ý: Thuật toán FCFS, SSTF được áp dụng phổ biến, các thuật toán kiểu Scan, Look chỉ được áp dụng cho những đĩa chịu tải lớn.
4
Câu 18: Cấu trúc miền bảo vệ trong chủ thể hoạt động trong miền bảo vệ. Mỗi bảo vệ hệ thống fần tử thuộc danh sách biểu diễn một Trả lời khách thể và các quyền truy nhập hợp lệ Các khả năng thao tác mà chủ thể có trên khách thể này. Chủ thể chỉ có thể thể thực hiện trên khách thể được gọi là thực hiện thao tác M trên khách thể Oj quyền truy nhập(acess right).Mỗi quyền trong miền bảo vệ Di nếu trong danh sách truy nhập được định nghĩa bởi một bộ 2 khả năng của Di có chứa khả năng tương thành fần <đối tượng, quyền thao tác>. ứng của Oj. Danh sách khả năng được gán Như vậy chúng ta có thể hình dung miền tương ứng với từng miền bảo vệ và thực bảo vệ là một tập hợp các quyền truy chất nó cũng là một đối tượng đc bảo vệ. nhập, xác định các thao tác mà chủ thể có Hdh cung cấp các thủ tục cho fép tạo lập, thể thực hiên trên các khách thể. Các miền huỷ bỏ , sửa đổi , các khả năng của một bảo vệ khác nhau có thể giao nhau một số khách thể và chỉ các chủ thể đóng vai trò quyền truy nhập. hđh mới có thể sửa đối nội dung của danh Miền bảo vệ có thể tồn tại 2 mối liên sách khả năng. kết 4. Cơ chế khoá và chìa (A Lock/ Key -Liên kết tĩnh: trong suốt thời gian tồn Mechanism): pp này thực chất là sự kết tại của tiến trinh trong hệ thống, tiến trình hợp giữa danh sách quyền truy nhập và chỉ hoạt động trong một miền bảo danh sách khả năng, Mỗi khách thể sở vệ.Trong trường hợp tiến trình trải qua hữu một danh sách các mã nhị phân đc gọi các giai đoạn xử lí khác nhau, ở mỗi giai là khoá (lock). Tương ứng mỗi miền bảo đoạn nó có thể thao tác trên những tập tài vệ sẽ sở hữu một danh sách mã nhi phân nguyên khác nhau. Như vậy, trong liên kết đc gọi là chìa (key). Một chủ thể hoạt tĩnh, miền bảo vệ fải xác định ngay từ đầu động trong miền bảo vệ chỉ có thể truy các quyền truy nhập cho tiến trình trong nhập tới một khách thể nếu miền bảo vệ tất cả các giai đoạn xử lí. Điều này khiến sở hữu một chìa tương ứng với một khoá cho tiến trình sẽ được dư thừa quyền trong trong danh sách của khách thể. Cũng như một giai đoạn xử lí nào đó và vi fạm pp danh sách khả năng, pp khoá và chìa nguyên lí need- to-know. Để đảm bảo đc quản lí bởi hđh, người sử dụng không được nguyên lí này cần fải có khả năng thể truy nhập trực tiếp để thay đổi nội cập nhật nội dung miền bảo vệ qua các dung của nó. giai đoãn xử lí khác nhau để đảm bảo các quyền tối thiểu của tiến trình trong miền bảo vệ tại một thời điểm -Liên kết động: cơ chế này cho fép tiến trình chuyển đổi từ miền bảo vệ này sang miền bảo vệ khác trong suốt thời gian tồn tại trong hệ thống của nó. Để tuân thủ nguyên lí need-to-know, thay vì phải sửa đổi nội dung miền bảo vệ, hệ thống có thể tạo ra các miền bảo vệ mới với nội dung thay đổi tuỳ theo từng giai đoạn xử lí của tiến trình và chuyển tiến trình sang hoạt động tại các miền bảo vệ phù hơp với từng thời điểm. Câu 19: Các pp cài đặt ma trận quyền truy nhập Trả lời 1. Bảng toàn cục (Global table): pp này đơn giản nhất, để cài đặt ma trận quyền truy nhập, hệ thống sử dụng một bảng toàn cục bao gồm các bộ 3 thành fần , mỗi khi thực hiện thao tác M trên khách thể Oj trong miền bảo vệ Di, cần tìm trong bảng toàn cục một bộ ba mà M thuộc Rk (tập các quyền truy nhập). Nếu tìm thấy thao tác M được fép thi hành, ngược lại xảy ra lỗi truy nhập. 2. Danh sách quyền truy nhập (Accsess Control List- ACL): Trong pp này, mỗi cột trong ma trận quyền truy nhập được xem như một danh sách các quyền truy nhập tới một khách thể. Mỗi khách thể trong hệ thống sẽ có một danh sách bao gồm các fần tử là các bộ 2 thành fần , danh sách này sẽ xác định các quyền truy nhập được quy định trong từng miền bảo vệ có thể tác động trên khách thể. Mỗi khi thực hiện thao tác M trên khách thể Oj trong miền bảo vệ Di, cần tìm trong danh sách quyền truy nhập của khách thể Oj một bộ hai mà M thuộc Rk. Nếu tìm thấy , thao tác M được fép thi hành, ngược lại xảy ra lỗi truy nhập 3. Danh sach khả năng (Capability List): Mỗi dòng trong ma trận quyền truy nhập tương ứng với một miền bảo vệ sẽ được tổ chức thành một danh sách khả năng (capability List). Mỗi danh sách khả năng bao gồm các khách thể và các thao tác được fép thực hiên trên khách thể khi
5