Ngân hàng câu hỏi Môn Hệ điều hành kèm đáp án

14 4.9K 30
Ngân hàng câu hỏi Môn Hệ điều hành kèm đáp án

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1. HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA: Công nghệ thông tin……………………………………… …�� � NGÂN HÀNG CÂU HỎI THI TỰ LUẬN Tên học phần: Hệ điều hành Mã học phần:………… Ngành đào tạo : .Công nghệ thông tin Trình độ đào tạo: .Đại học. 1. Ngân hàng câu hỏi thi ● Câu hỏi loại 1 điểm Chương 1 : Câu hỏi 1.1: Chương trình ứng dụng gọi dịch vụ của hệ điều hành bằng cách nào? Hãy lấy một ví dụ về giao diện lập trình cho một hệ điều hành thông dụng. Câu hỏi 1.2: Trình bày kỹ thuật xử lý theo mẻ (lô) và ưu điểm của kỹ thuật này. Hệ thống xử lý theo mẻ có cần hệ điều hành không ? Câu hỏi 1.3: Đa chương trình là gì ? Lý do sử dụng đa chương trình trong máy tính ? Yêu cầu đối với phần cứng khi sử dụng đa chương trình? Chương 2 : Câu hỏi 1.4 : Trình bày khái niệm tiến trình và chỉ rõ điểm khác nhau giữa tiến trình với chương trình. Nêu tên ít nhất bốn thao tác liên quan tới quản lý tiến trình (chỉ cần nêu tên, không cần trình bày chi tiết). Câu hỏi 1.5 : Trình bày về thao tác tạo mới tiến trình. Tiến trình có thể bị kết thúc trong những trường hợp nào ? Câu hỏi 1.6 : Trình bầy về thao tác và quá trình chuyển đổi giữa các tiến trình. Câu hỏi 1.7: Thế nào là dòng (thread) mức người dùng và mức nhân. Nêu ưu nhược điểm của mỗi loại. Câu hỏi 1.8 : Trình bày về điều độ quay vòng. Cho ví dụ minh họa về tính thời gian chờ đợi trung bình khi điều độ theo kiểu này. Câu hỏi 1.9 : Thế nào là bế tắc ? Điều kiện xẩy ra bế tắc là gì ? Chương 3 : Câu hỏi 1.10 : Thế nào là địa chỉ lô gic và địa chỉ vật lý ? Câu hỏi 1.11 : Trình bầy kỹ thuật phân chương cố định bộ nhớ. Câu hỏi 1.12 : Trình bày cơ chế ánh xạ địa chỉ khi sử dụng kỹ thuật phân chương bộ nhớ. Câu hỏi 1.13 : Trình bày phương pháp kết hợp phân trang với phân đoạn. Vẽ sơ đồ và giải thích cơ chế ánh xạ địa chỉ. . Chương 4 Câu hỏi 1.14 : Việc định nghĩa và sử dụng khái niệm file đem lại những ưu điểm gì ? Khi đặt tên cho file cần quan tâm tới những quy định gì ? Câu hỏi 1.15 : Trình bày khái niệm thư mục ? Thông tin trong các khoản mục có nhất thiết phải lưu trữ gần nhau không ? ● Câu hỏi loại 2 điểm Chương 1 : Câu hỏi 2.1: Trình bày ngắn gọn về các thành phần cơ bản của hệ điều hành. Câu hỏi 2.2 : Trình bày về nhân của hệ điều hành ? Thế nào là chế độ nhân và chế độ người dùng ? Câu hỏi 2.3 : Trình bày về cấu trúc nguyên khối và cấu trúc phân lớp của hệ điều hành. Phân tích so sánh ưu nhược điểm hai kiểu cấu trúc này. Câu hỏi 2.4: Trình bày về cấu trúc vi nhân của hệ điều hành. Phân tích so sánh cấu trúc này với cấu trúc nguyên khối và cấu trúc phân lớp. Chương 2 : Câu hỏi 2.5 : Trình bày về năm trạng thái của tiến trình. Vẽ sơ đồ và giải thích về việc chuyển đổi giữa năm trạng thái này Câu hỏi 2.6 : Điều độ tiến trình là gì ? Điều độ dòng có khác điều độ tiến trình không ? Trình bày về điều độ có phân phối lại và không phân phối lại. Câu hỏi 2.7 : Trình bày hai biện pháp ngăn ngừa bế tắc (chọn 2 biện pháp bất kỳ trong số các biện pháp có thể). Câu hỏi 2.8 : Trình bày một giải pháp giúp không xẩy ra bế tắc khi sử dụng cờ hiệu cho bài toán triết gia ăn cơm. Chương 3 : Câu hỏi 2.9 : Trình bày kỹ thuật giúp tăng tốc độ truy cập bảng trang và bảng trang nhiều mức. Câu hỏi 2.10: Trình bày lý do phải đổi trang, và các bước tiến hành khi đổi trang. Câu hỏi 2.11: Trình bày kỹ thuật đổi trang tối ưu và đổi trang vào trước ra trước. Câu hỏi 2.12 : Trình bày các phương pháp xác định số lượng khung trang tối đa cấp cho mỗi tiến trình và xác định phạm vi cấp phát Chương 4 : Câu hỏi 2.13 : Trình bày các cấu trúc dữ liệu dùng cho tổ chức bên trong của thư mục. Câu hỏi 2.14 : Trình bày cách kiểm soát truy cập file sử dụng mật khẩu và sử dụng danh sách quản lý truy cập Câu hỏi 2.15 : Trình bày các thao tác cơ bản với file. Phân tích rõ một hệ thống file có nhất thiết phải có thao tác mở file hay không. ● Câu hỏi loại 3 điểm Chương 1 : Câu hỏi 3.1: Trình bày khái niệm hệ điều hành. Phân tích rõ hai chức năng cơ bản của hệ điều hành. Câu hỏi 3.2 : Dịch vụ của hệ điều hành là gì ? Trình bày những dịch vụ điển hình mà hệ điều hành cung cấp. Làm rõ về quá trình tải và chạy hệ điều hành khi mới khởi động. Chương 2 : Câu hỏi 3.3 : Trình bày khái niệm dòng (thread) và mô hình đa dòng. Vấn đề sở hữu tài nguyên của tiến trình và dòng. Phân tích ưu điểm của mô hình đa dòng. Câu hỏi 3.4 : Phân tích các vấn đề cần quan tâm trong sử dụng và quản lý tiến trình đồng thời (concurrent processes) đối với ba dạng tiến trình : tiến trình độc lập có cạnh tranh tài nguyên, tiến trình hợp tác nhờ chia sẻ tài nguyên, và tiến trình hợp tác nhờ trao đổi thông điệp. Câu hỏi 3.5 : Trình bày giải thuật Peterson cho đoạn nguy hiểm. Phân tích ưu nhược điểm của phương pháp này. Câu hỏi 3.6 : Trình bày phương pháp phát hiện và xử lý bế tắc bằng cách sử dụng đồ thị. Phân tích ưu điểm của phương pháp này so với phương pháp ngăn ngừa bế tắc. Chương 3 : Câu hỏi 3.7 : Trình bày kỹ thuật tải trong quá trình thực hiện. Trình bày kỹ thuật liên kết động và thư viện dùng chung. Phân tích rõ ưu điểm mà từng phương pháp đem lại. Câu hỏi 3.8 : Trình bày kỹ thuật phân chương động bộ nhớ. Phân tích ưu nhược điểm của phương pháp này so với phân chương cố định. Khi di chuyển chương sang vị trí khác cần thay đổi thông tin gì trong khối ánh xạ địa chỉ. Câu hỏi 3.9 : Trình bày kỹ thuật phân chương sử dụng phương pháp kề cận (buddy). Phân tích rõ các điểm giống/khác nhau và ưu nhược điểm của phương pháp này so với phân chương cố định và phân chương động (lưu ý không cần trình bầy lại hai phương pháp sau). Câu hỏi 3.10 : Trình bày kỹ thuật phân đoạn bộ nhớ bao gồm cả cấu trúc và cách ánh xạ địa chỉ. Phân tích so sánh ưu nhược điểm của phân đoạn với phân trang. Câu hỏi 3.11 : Trình bày kỹ thuật nạp trang theo nhu cầu dùng cho bộ nhớ ảo. Phân tích rõ cùng một lệnh có thể xẩy ra nhiều sự kiện lỗi trang không. Chương 4 : Câu hỏi 3.12 : Trình bày cấu trúc thư mục dạng cây và dạng đồ thị không có chu trình. Cấu trúc thư mục dạng không chu trình có ưu điểm gì so với dạng cây ? Thế nào là đường dẫn tuyệt đối và đường dẫn tương đối. Câu hỏi 3.13 : Trình bày phương pháp cấp phát không gian cho file sử dụng danh sách kết nối và sử dụng khối chỉ số (I-node). Hai phương pháp này có điểm gì giống và khác nhau. Câu hỏi 3.14 : Trình bày về yêu cầu phải đảm bảo tính toàn vẹn của hệ thống file và các phương pháp đảm bảo tính toàn vẹn. ● Câu hỏi loại 4 điểm Chương 2 : Câu hỏi 4.1: a) Trình bày các tiêu chí đánh giá thuật toán điều độ. b) Trình bày thuật toán điều độ đến trước phục vụ trước và điều độ có mức ưu tiên. c) Cho các tiến trình với thời gian (độ dài) chu kỳ CPU tiếp theo và số ưu tiên như trong bảng sau (số ưu tiên nhỏ ứng với độ ưu tiên cao). Biết rằng các tiến trình cùng xuất hiện vào thời điểm 0 theo thứ tự P1, P2, P3, P4. Tiến trình Thời gian (độ dài) Số ưu tiên P1 9 3 P2 1 1 P3 2 2 P4 3 1 Vẽ biểu đồ thể hiện thứ tự và thời gian cấp phát CPU cho các tiến trình khi sử dụng thuật toán : 1) điều độ quay vòng với độ dài lượng tử = 1 ; 2) điều độ theo mức ưu tiên không có phân phối lại. Tính thời gian chờ đợi trung bình cho từng trường hợp. Câu hỏi 4.2 : a) Trình bày thuật toán điều độ ưu tiên tiến trình ngắn nhất, thời gian còn lại ngắn nhất. b) Điều độ theo mức ưu tiên có phân phối lại và không phân phối lại khác nhau thế nào ? c) Cho các tiến trình với độ dài và thời điểm xuất hiện như trong bảng sau Tiến trình Thời điểm xuất hiện Độ dài P1 8 P2 2 4 P3 4 2 Vẽ biểu đồ thể hiện thứ tự và thời gian cấp phát CPU cho các tiến trình khi sử dụng thuật toán : 1) điều độ ưu tiên tiến trình ngắn nhất ; 2) điều độ ưu tiên thời gian còn lại ngắn nhất. Tính thời gian chờ đợi trung bình cho từng trường hợp. Câu hỏi 4.3: a) Trình bày về các giải pháp phần cứng (cấm ngắt, sử dụng lệnh máy đặc biệt) cho vấn đề loại trừ tương hỗ và đoạn nguy hiểm. b) Sử dụng Test_and_Set để thực hiện loại trừ tương hỗ cho bài toán các triết gia ăn cơm. c) Phân tích rõ giải pháp sử dụng Test_and_Set sử dụng ở trên có thể gây bế tắc hoặc đói không. Câu hỏi 4.4 : a) Trình bày phương pháp sử dụng cờ hiệu (semaphore) cho vấn đề loại trừ tương hỗ và đoạn nguy hiểm. b) Sử dụng cờ hiệu để thực hiện đồng bộ hóa cho bài toán Người sản xuất, người tiêu dùng với bộ đệm hạn chế. Câu hỏi 4.5 : a) Trình bày giải pháp sử dụng monitor cho vấn đề loại trừ tương hỗ và đoạn nguy hiểm b) Sử dụng monitor để thực hiện loại trừ tương hỗ cho bài toán Người sản xuất, người tiêu dùng với bộ đệm hạn chế. Câu hỏi 4.6 : a) Phòng tránh bế tắc là gì ? Phân tích ưu điểm của việc phòng tránh bế tắc so với ngăn ngừa bế tắc. b) Trình bày phương pháp phòng tránh bế tắc sử dụng thuật toán người cho vay (banker’s algorithm), cho ví dụ minh họa cụ thể. Chương 3 : Câu hỏi 4.7 : a) Trình bày khái niệm phân trang bộ nhớ. b) Trình bày về ánh xạ địa chỉ khi phân trang bộ nhớ. c) Giả sử không gian nhớ lô gic gồm 4 trang, mỗi trang kích thước 1024B, bộ nhớ vật lý gồm 32 khung. Bảng trang được cho dưới đây : 3 1 2 3 5 Để biểu diễn địa chỉ lô gic trong trường hợp này cần bao nhiêu bit ? Tính địa chỉ vật lý cho những địa chỉ lô gic sau : 1052, 2500, 4000. Câu hỏi 4.8 : a) Trình bày chiến lược đổi trang ít sử dụng trong thời gian cuối. b) Trình bày chiến lược đổi trang sử dụng thuật toán đồng hồ. c) Giả sử tiến trình được cấp 4 khung nhớ vật lý, các trang của tiến trình được truy cập theo thứ tự sau : 1,2,3,4,5,3,4,1,6,7,8,7,8,9,7,8,9,5. Hãy xác định thứ tự nạp và đổi trang nếu sử dụng hai thuật toán nói trên. Chương 4 : Câu hỏi 4.9 : a) Trình bày phương pháp cấp phát không gian cho file sử dụng các khối liên tiếp. Khi nào nên sử dụng phương pháp này cho hệ thống file ? b) Trình bày các bước cần thiết (trình bày bằng lời, không cần viết mã) để đọc bảng FAT từ thẻ nhớ USB vào bộ nhớ. c) Giả sử bảng FAT đã được đọc vào bộ nhớ tại địa chỉ « void *fat », viết đoạn chương trình trên C/C++ để liệt kê tất cả các cluster trống trong số N cluster đầu tiên. Giả sử một file bắt đầu tại cluster n, viết đoạn chương trình liệt kê các cluster thuộc về file đó. Câu hỏi 4.10 : a) Trình bày phương pháp sử dụng danh sách kết nối trên bảng chỉ số khi cấp phát không gian cho file. b) Trình bày các bước cần thiết (trình bày bằng lời, không cần viết mã) để đọc thư mục gốc từ thẻ nhớ USB vào bộ nhớ trong trường hợp hệ thống file của thẻ nhớ là FAT 16. c) Giả sử thư mục gốc của hệ thồng file FAT 16 sử dụng tên file độ dài tối đa 8 ký tự đã được đọc vào bộ nhớ tại địa chỉ « void *root ». Viết đoạn chương trình trên C/C++ thực hiện hai việc : in tên và độ dài các file trong thư mục gốc, tìm một file có tên cho trước trong thư mục gốc và số thứ tự cluster đầu tiên của file đó. Ghi chú : Ký hiệu (mã) câu hỏi được quy định X.Y Trong đó : + X tương đương số điểm câu hỏi (X chạy từ 1 đến 5). + Y là câu hỏi thứ Y (Y chạy từ 1 trở đi) 2. Đề xuất các phương án tổ hợp câu hỏi thi thành các đề thi (Nếu thấy cần thiết) : - Tổ hợp 1 câu 1 điểm, 1 câu 2 điểm, 1 câu 3 điểm, 1 câu 4 điểm. 3. Hướng dẫn cần thiết khác: Nên tổ hợp để câu hỏi trong một đề thi phân bố đều theo cả 4 chương Ngân hàng câu hỏi thi này đã được thông qua bộ môn và nhóm cán bộ giảng dạy học phần. Hà Nội, ngày . . . tháng . . . . năm 20 . . Trưởng khoa Trưởng bộ môn Giảng viên chủ trì biên soạn Còn đây là bài giải thằng bạn gửi cho mình. 1.1: Chương trình ứng dụng gọi dịch vụ của hệ điều hành bằng cách nào? Hãy lấy một ví dụ về giao diện lập trình cho một hệ điều hành thông dụng.+Các chương trình ứng dụng gọi dịch vụ của HDH thông qua lời gọi hệ thống đc chứa trong giao diện lập trình mà HDH cung cấp+ lời gọi hệ thống là dạng lệnh đặc biệt, đc thực hiện qua thư viện hàm gọi và các hàm hệ thống khác+Ví dụ một hàm của Win32 API cho phép yêu cầu dịch vụ ghi ra file của Windows:BOOL WINAPI WriteFile(__in HANDLE hFile,__in LPCVOID lpBuffer,__in DWORD nNumberOfBytesToWrite,__out-opt LPDWORD lpNumberOfBytesWritten,__inout-opt LPOVERLAPPED lpOverlapped 1.2: Trình bày kỹ thuật xử lý theo mẻ (lô) và ưu điểm của kỹ thuật này. Hệ thống xử lý theo mẻ có cần hệ điều hành không ? Sau khi nhận dc chương trình kĩ thuật viên sẽ phân ct thành các mẻ,mỗi mẻ gồm những ct có yêu cầu giống nhau.Toàn bộ mẻ sau đó được nạp vào băng từ và tải vào máy để thực hiện lần lượt.Mỗi khi ct của mẻ kết thúc ct giám sát(một chương trình nhỏ được giữ thường xuyên trong bộ nhớ) tự động nạp ct tiếp theo của mẻ vào máy và cho phép ct này chạy.Sau khi toàn bộ mẻ đã được thực hiện xong kĩ thuật viên lấy băng từ chứa mẻ và nạp tiếp mẻ mới vào để thực hiện.+ưu điển của kt : giảm đáng kể thời gian chuyên đổi giữa 2 ct // cũng một mẻ do momitor có thể tự động nạp vào ct nhanh hơn kĩ thuật viên.Hiệu suất sử dụng CPU do đó được cải thiện đáng kể+hệ thống xử lý theo mẻ cần HDH để giám sát việc nạp ct và chạy ct. 1.3: Đa chương trình là gì ? Lý do sử dụng đa chương trình trong máy tính ? Yêu cầu đối với phần cứng khi sử dụng đa chương trình? Đa chương trình hay còn gọi là đa nhiệm được sử dụng.Hệ thống chứa đồng thời nhiều chương trình trong bộ nhớ.+lý do : mặc dù việc xử lý theo mẻ cho phép giảm thời gian chuyên đổi giữa các ct ứng dụng xong hiệu suất sử dụng CPU vẫn tương đối thấp.Mỗi khi có yêu cầu vào ra CPU phải dừng việc xử lý DL để chờ quá trình vào ra kết thúc .Do tốc độ vào ra luôn thấp hơn tốc độ CPU rất nhiều nên CPU thường xuyên phải chờ đợi trong những khoảng thời gian dài để hạn chế tính trang nói trên ta sử dụng kĩ thuật đa chương trình.+ việc thực hiện đa chương trình đòi hỏi những sự hỗ trợ nhất định từ phần cứng đặc biệt là khả năng vào ra bằng ngắt và cơ chế DMA. Nếu ko có cơ chê này CPU sẽ phải trực tiếp điều khiển quá trình vào ra thông tin và DL.Hiệu quả của đa ct do đó sẽ bằng 0. 1.5 : Trình bày về thao tác tạo mới tiến trình. Tiến trình có thể bị kết thúc trong những trường hợp nào ? Tạo mới tiến trình: Gán số định danh cho tiến trình được tạo mới và tạo một ô trong bảng tiến trình ♣ Tạo không gian nhớ cho tiến trình và PCB .Khởi tạo PCB . Liên kết PCB của tiến trình vào các danh sách quản lý Kết thúc tiến trình: ♣ Kết thúc bình thường: yêu cầu HDH kết thúc mình bằng cách gọi lời gọi hệ thống exit() ♣ Bị kết thúc: ♣Bị tiến trình cha kết thúc .Do các lỗi .Yêu cầu nhiều bộ nhớ hơn so với số lương hệ thống có thể cung cấp♣Thực hiện lâu hơn thời gian giới hạn ♣Do quản trị hệ thống hoặc hệ điều hành kết thúc. 1.6 : Trình bầy về thao tác và quá trình chuyển đổi giữa các tiến trình.Thông tin về tiến trình hiện thời (chứa trong PCB) được gọi là ngữ cảnh (context) của tiến trình ♣ Việc chuyển giữa tiến trình còn được gọi là chuyển đổi ngữ cảnh ♣ Xảy ra khi: ♣Có ngắt ♣Tiến trình gọi lời gọi hệ thống ♣ Trước khi chuyển sang thực hiện tiến trình khác, ngữ cảnh được lưu vào PCB ♣ Khi được cấp phát CPU thực hiện trở lại, ngữ cảnh được khôi phục từ PCB vào các thanh ghi và bảng tương ứng♣ Thông tin nào phải được cập nhật và lưu vào PCB khi chuyển tiến trình? ♣ => Tùy từng trường hợp: ♣ Hệ thống chuyển sang thực hiện ngắt vào/ra rồi quay lại thực hiện tiếp tiến trình: ♣Ngữ cảnh gồm thông tin có thể bị hàm xử lý ngắt thay đổi ♣=> nội dung thanh ghi, trạng thái CPU♣ Sau khi thực hiện ngắt, hệ thống thực hiện tiến trình khác ♣Thay đổi trạng thái tiến trình ♣Cập nhật thông tin thống kê trong PCB ♣Chuyển liên kết PCB của tiến trình vào danh sách ứng với trạng thái mới ♣Cập nhật PCB của tiến trình mới được chọn ♣Cập nhật nội dung thanh ghi và trạng thái CPU ♣ => Chuyển đổi tiến trình đòi hỏi thời gian. 1.7: Thế nào là dòng (thread) mức người dùng và mức nhân. Nêu ưu nhược điểm của mỗi loại.dòng mức người dùng do trình ứng dụng tự tạo ra và quản lí HDH ko biết về sự tồn tại của những dòng như vậy.Để tạo ra dòng mức người dùng trình ứng dụng sử dụng thư viện ngôn ngữ lập trình cung cấp VD như trên java.+ưu điểm :-do dòng tạo ra và quản lí trong không gian người dùng nên việc chuyển đổi dòng ko đòi hỏi phải chuyển sang chế độ nhân và do vậy tiết kiệm (t) hơn-trình ứng dụng có thể điều độ dòng theo đặc điểm riêng của mình ko phụ thuộc vào phương thức điều độ của HDH-có thể sử dụng dòng mức người dùng cả trên những HDH ko hỗ trợ đa dòng bằng cách bổ sung thư viện dòng mà các ứng dụng có thể dùng chung.+ nhc đ: không tận dụng ưu đ về tính đáp ứng của mô hình đa luông, k tận dụng kiến truc n` CPU Dòng mức nhân được hệ điều hành tạo ra và quản lí.HDH sẽ cung cấp giao diện lập trình bao gồm một số lời gọi hệ thống mà trình ứng dụng có thể gọi để yêu cầu tạo/xóa dòng thay đổi tham số liên quan tới quản lý dòng .HDH windows và linux là hai VD trong việc hỗ trợ dòng mức nhân. +ưu điểm : khắc phục được các nhược điểm của dòng mức người dùng.Cụ thể là việc sử dụng dòng mức nhân cho phép tăng tính đáp ứng và khả năng thực hiện đồng thời của các dòng trong cùng 1 tiến trình .Trên hệ thống với nhiều CPU dòng mức nhân có thể được cấp CPU khác nhau để thực hiện //+ nhc đ : tốc độ chậm 1.8 : Trình bày về điều độ quay vòng. Cho ví dụ minh họa về tính thời gian chờ đợi trung bình khi điều độ theo kiểu này.♣ Sửa đổi FCFS dùng cho các hệ chia sẻ thời gian ♣ Có thêm cơ chế phân phối lại bằng cách sử dụng ngắt của đồng hồ ♣ Hệ thống xác định những khoảng thời gian nhỏ gọi là lượng tử/ lát cắt thời gian t ♣ Khi CPU được giải phóng, HDH đặt thời gian của đồng hồ bằng độ dài lượng tử, lấy tiến trình ở đầu hàng đợi và cấp CPU cho nó ♣ Tiến trình kết thúc trước khi hết thời gian t: trả quyền điều khiển cho HDH♣ Hết lượng tử thời gian mà tiến trình chưa kết thúc: ♣Đồng hồ sinh ngắt ♣Tiến trình đang thực hiện bị dừng lại ♣Quyền điều khiển chuyển cho hàm xử lý ngắt của HDH ♣HDH chuyển tiến trình về cuối hàng đợi, lấy tiến trình ở đầu và tiếp tục ♣ Cải thiện thời gian đáp ứng so với FCFS ♣ Thời gian chờ đợi trung bình vẫn dài ♣ Lựa chọn độ dài lượng tử thời gian? VD : 2468101214 2 2 2 2 2 2 2 2 P1P2P P1P2P1P1P1 Thời gian chờ đợi của P1,P2,P3 lần lượt là 6,6,4Thời gian chờ đợi Tb=(6+6+4)/3=5,33 1.9 : Thế nào là bế tắc ? Điều kiện xẩy ra bế tắc là gì ?Định nghĩa :♣ Tình trạng một nhóm tiến trình có cạnh tranh về tài nguyên hay có hợp tác phải dừng vô hạn ♣ Do tiến trình phải chờ đợi một sự kiện chỉ có thể sinh ra bởi tiến trình khác cũng đang trong trạng thái chờ đợiĐiều kiện xẩy ra bế tắc :Đồng thời xảy ra 4 điều kiện: 1. Loại trừ tương hỗ: có tài nguyên nguy hiểm, tại 1 thời điểm duy nhất 1 tiến trình sử dụng 2. Giữ và chờ: tiến trình giữ tài nguyên trong khi chờ đợi 3. Không có phân phối lại (no preemption): tài nguyên do tiến trình giữ không thể phân phối lại cho tiến trình khác trừ khi tiến trình đang giữ tự nguyện giải phóng tài nguyên 4. Chờ đợi vòng tròn: tồn tại nhóm tiến trình P1, P2, …, Pn sao cho P1 chờ đợi tài nguyên do P2 đang giữ, P2 chờ tài nguyên do P3 đang giữ, …, Pn chờ tài nguyên do P1 đang giữ 1.10 : Thế nào là địa chỉ lô gic và địa chỉ vật lý ? Địa chỉ logic: ♣ Gán cho các lệnh và dữ liệu không phụ thuộc vào vị trí cụ thể tiến trình trong bộ nhớ ♣ Chương trình ứng dụng chỉ nhìn thấy và làm việc với địa chỉ logic này ♣ Là địa chỉ tương đối tức là mỗi phần tử của chương trình được gán một địa chỉ tương đối đối với một vị trí nào đóĐịa chỉ vật lý: ♣ Là địa chỉ chính xác trong bộ nhớ máy tính ♣ Các mạch nhớ sử dụng để truy nhập tới chương trình và dữ liệu Địa chỉ logic được chuyển thành địa chỉ vật lý nhờ khối ánh xạ địa chỉ 1.11 : Trình bày kỹ thuật phân chương cố định bộ nhớ.Chia bộ nhớ thành các chương với số lượng nhất định, không thay đổi, mỗi chương chứa đúng 1 tiến trình. Có thể chia thành các chương có kích thước bằng nhau hoặc khống bằng nhauKích thước các chương bằng nhau: Đơn giản Kích thước chương trình > kích thước chương => không thể cấp phát Gây phân mảnh trong Kích thước các chương khác nhau: - Chọn chương có kích thước nhỏ nhất: cần có hàng đợi lệnh cho mỗi chương:Giảm phân mảnh trong, tối ưu cho từng chương Hệ thống không tối ưu - Kích thước các chương khác nhau: Dùng hàng đợi chung cho mọi chương: Chương sẵn có nhỏ nhất sẽ được cấp phát Khi 1 chương được giải phóng: chọn tiến trình gần đầu hàng độ nhất và có kích thước phù hợp nhấtƯu điểm: đơn giản, ít xử lý Nhược điểm: Số lượng chương xác định tại thời điểm tạo hệ thống hạn chế số lượng tiến trình hoạt động Kích thước chương thiết lập trước: không hiệu quả 1.12 : Trình bày cơ chế ánh xạ địa chỉ khi sử dụng kỹ thuật phân chương bộ nhớ Sử dụng 2 thanh ghi của Processor : thanh ghi giới hạn và thanh ghi cơ sở+ Thanh ghi giới hạn chứa độ dài chương chưa tiến trình+ Thanh ghi cơ sở chứa vị trí bắt đầu của tiến trìnhKhi 1 địa chỉ logic được nạp vào, CPU sẽ kiểm tra xem nó có nhơ hơn thanh ghi giới hạn không. Nếu có thì nó sẽ được cộng với thanh ghi cơ sở để tìn được địa chỉ vật lý 1.14 : Việc định nghĩa và sử dụng khái niệm file đem lại những ưu điểm gì ? Khi đặt tên cho file cần quan tâm tới những quy định gì ?Ưu điểm: ♣ Các thao tác với file sẽ dễ dàng hơn đối với người lập trình ứng dụng ♣ HDH có thể kiểm soát được các thao tác với file Đặt tên cho file: ♣ Cho phép xác định file ♣ Là thông tin người dùng thường sử dụng nhất khi làm việc với file ♣ Quy tắc đặt tên cho file của một số HDH: Hệ điều hành, Độ dài tối đa ,Phân biệt chữ hoa chữ thường Cho phép sử dụng dấu cách ,Các ký tự cấm 1.15 : Trình bày khái niệm thư mục ? Thông tin trong các khoản mục có nhất thiết phải lưu trữ gần nhau không ?+Thư mục = ∑ các khoản mục ~ files|Khoản mục chứa các thông tin về file: tên, kích thước, vị trí, kiểu file,…hoặc con trỏ tới nơi lưu trữ thông tin này.Coi thư mục như 1 bảng, mỗi dòng là khoản mục ứng với 1 file.+ Thông tin trong các khoản mục phải nhất thiết lưu trữ gần nhau vì : Toàn bộ thuộc tính của File dc lưu trong thư mục, file chỉ chứa data=> kích thước khoản mục, thư mục lớn Thư mục chỉ lưu thông tin tối thiểu cần thiết cho việc tìm kiếm vị trí file trên đĩa=> kích thước giảm. 2.1: Trình bày ngắn gọn về các thành phần cơ bản của hệ điều hành.Các thành phần cơ bản của hệ điều hành:+ Quản lý tiến trình : Tiến trình là chương trình đang thực hiệnQuản lý tiến trình bao gồm một số thao tác : tạo và xóa tiến trình, treo và khôi phục tiến trình, đồng bộ hóa liên lạcgiua các tiến trình, giải quyết bế tắcquản lý bộ nhớ : HDH được phân phối và cấp phát bộ nhớ cho các tiến trình, tạo ra va ánh xạ bộ nhớ ảo vào bộ nhớ thực, cung cấp và giải phóng bộ nhớ theo yêu cầu của tiến trình, quản lý bộ nhớ đã cấp và còn trống+ Quản lý vào ra : nhằm đơn giản hóa và tăng hiệu quả quá trình trao đổi thông tin với thiết bị vào ra + Quản lý tệp và thư mục : giúp người dung sử dụng thông tin mà không cần quan tâm đến các đặc điểm cảu bộ nhớ ngoài bằn việc sử ụng các khái niệm tệp và thư mục. Các chức năng chủ yếu là tạo, xóa tệp hoặc thư mục ; đọc ghi tệp ; ánh xạ tệp vào thư mục ra bộ nhơ ngoài+ Hỗ trợ mạng và quản lý phân tán : giúp kết nối máy tính với các mạng máy tính+ Giao diện với người dùng : là giao diện giữa HDH với người dùng+ Các chương trình tiện ích và ứng dụng : là các thành phần ko sẵn có trong HDH, không bắt buộc phải có 2.2 : Trình bày về nhân của hệ điều hành ? Thế nào là chế độ nhân và chế độ người dùng ? Nhân (kernel) là phần cốt lõi, thực hiện các chức năng cơ bản nhất, quan trọng nhất của HDH và thường xuyên được giữ trong bộ nhớChế độ nhân là chế độ mà chương trình thực hiện trong đó có đầy đủ quyền truy cập và điều khiển phần cứng Chế độ người dùng là chế độ mà chương trình bị han chế rất nhiều về quyền truy cập va điều khiển phần cứngViệc chia làm e chế độ nhằm tránh cho chương trình vô tình hoặc cố ý thực hiện thao tác làm ảnh hưởng hệ thống 2.6 : Điều độ tiến trình là gì ? Điều độ dòng có khác điều độ tiến trình không ? Trình bày về điều độ có phân phối lại và không phân phối lại.Điều độ tiến trình là việc HDH quyết định xem tiến trình nào được sử dụng tài nguyên phần cứng và trong bao lâuĐiều độ tiến trình quyết định thứ tự và thời gian sử dụng CPUĐiều độ tiến trình có thế coi là điều độ độngĐiều độ phân phối là điều độ mà HDH có thể can thiệp vào quá trình thựchiện của tiến trình để thu hồi được CPU, điều độ cung cấp phân phối lại làm cho quản lý tiến trình phức tạp Điều độ không phân phối lại là dang điều độ mà HDH phải chờ đợi việc tựgiải phóng CPU của tiến trình do 1 số lý do như : tiến trình kết thúc hay chuyển sang trạng thái đợi. Có thể xảy ra trường hợp CPU bị chiếm hữu vô hạ 2.7 : Trình bày hai biện pháp ngăn ngừa bế tắc (chọn 2 biện pháp bất kỳ trong số các biện pháp có thể). Loại trừ tương hỗ: không thể ngăn ngừa Giữ và chờ: Cách 1: Yêu cầu tiến trình phải nhận đủ toàn bộ tài nguyên cần thiết trước khi thực hiện tiếp Nếu không nhận đủ, tiến trình bị phong tỏa để chờ cho đến khi có thể nhận đủ tài nguyên Cách 2: Tiến trình chỉ được yêu cầu tài nguyên nếu không giữ tài nguyên khácTrước khi yêu cầu thêm tài nguyên, tiến trình phải giải phóng tài nguyên đã được cấp và yêu cầu lại (nếu cần) cùng với tài nguyên mới Không có phân phối lại: Cách 1: Khi một tiến trình yêu cầu tài nguyên nhưng không được do đã bị cấp phát, HDH sẽ thu hồi lại toàn bộ tài nguyên nó đang giữ Tiến trình chỉ có thể thực hiện tiếp sau khi lấy được tài nguyên cũ cùng với tài nguyên mới yêu cầu Cách 2: Khi tiến trình yêu cầu tài nguyên, nếu còn trống, sẽ được cấp phát ngay Nếu tài nguyên do tiến trình khác giữ mà tiến trình này đang chờ cấp thêm tài nguyên thì thu hồi lại để cấp cho tiến trình yêu cầu Nếu hai điều kiện trên đều không thỏa thì tiến trình yêu cầu tài nguyên phải chờ 2.8 : Trình bày một giải pháp giúp không xẩy ra bế tắc khi sử dụng cờ hiệu cho bài toán triết gia ăn cơm.Để tránh bế tắc cho bài toán triết gia ăn cơ ta chó thể dùng biện pháp tại mỗi thời điểm luôn chỉ có 4 người ngồi vào bàn còn 1 người không ngồi . Khi đó có 5 chiếc đũa và 4 người -> sẽ có 1 người cầm được cả 2 chiế đũa để ăn cơm. Khi người này ăn xong thì sẽ phải đứng dậy rời khỏi bàn để người kia được ngồi vào bàn.Để thực hiện được phương pháp này chúng ta chỉ cần thêm 1 semaphore cho table để kiểm soát số người vào bàn trước khi lấy đũa Câu hỏi 2.9 : Trình bày kỹ thuật giúp tăng tốc độ truy cập bảng trang và bảng trang nhiều mức.Do mỗi thao tác truy cập bộ nhớ đều đòi hỏi truy cập bản phân trang=>Cần có cơ chế tổ chức bảng phân trang làm tăng tốc độ truy cập+ Ta có thể sử dụng thanh ghi làm bảng phân trang vì các thanh ghi có tốc độ truy cập cao nhưng số lượng lại có hạn+ Ta cũng có thể lưu bảng trang ở bộ nhớ chính và sử dụng 1 con trỏ để trỏ tới bảng phân trang. Vì tốc độ bộ nhớ châm nên ta có thể sửdụng bộ nhớ cache để tăng tốc độ truy cập-Do hệ thống máy tính hiện đại có không gian địa chỉ lgic rất lớn nên việc truy cập bộ nhớ từ bản trang sẽ rất tốn thời gian. Để giải quyết vấn đề này ta có thể chia nhỏ mỗi khoản mục của bảng trên là chỉ tới bảng dưới mà hông chỉ tới trang 2.10: Trình bày lý do phải đổi trang, và các bước tiến hành khi đổi trang Vì mỗi bộ nhớ được cấp phát 1 số khung trang nhất định để chứa trang, Khi tiến trình được thực hiện thì từng trang của trang tiến trình đuộc nạp vào bộ nhớ. Việc nạp trang vào bộ nhớ có thể xảy ra thường hợp thiếu trang và HDH phải tìm khung trống để thêm trang thiếu vào, nhưng khi bộ nhớ hế khung thì HDH phải đẩy 1 trang khỏi bộ nhớ theo 1 chiến lược nào đó để nạp trang mới vào. Do đó dẫn tới việc đổi trang.Quá trình đổi trang: B1: Xác định trang cần nạp vào trên đĩa B2: Nếu có khung trống thì chuyển sang B4 B3: Lựa chọn 1 khung để giải phóng, theo 1 thuật toán nào đó Ghi nội dung khung bị đổi ra đĩa (nếu cần), cập nhật bảng trang và bảng khung B4: Đọc trang cần nạp vào khung vừa giải phóng; cập nhật bảng trang và bảng khung B5: Thực hiện tiếp tiến trình từ điểm bị dừng trước khi đổi trang 2.11: Trình bày kỹ thuật đổi trang tối ưu và đổi trang vào trước ra trước. Đổi trang tối ưu (OPT): Chọn trang sẽ không được dùng tới trong khoảng thời gian lâu nhấtđể đổi Cho phép giảm tối thiểu sự kiện thiếu trang và do đó là tối ưu theo tiêu chuẩn này HDH không đoán trước được nhu cầu sử dụng các trang trong tương lai => không áp dụng trong thực tế mà chỉ để so sánh với các chiến lược khácVào trước ra trước (FIFO): Trang nào được nạp vào trước thì bị đổi ra trước Đơn giản nhất Trang bị trao đổi là trang nằm lâu nhất trong bộ nhớ -> không cần tới nữa 2.12 : Trình bày các phương pháp xác định số lượng khung trang tối đa cấp cho mỗi tiến trình và xác định phạm vi cấp phátCấp phát slg khung cố định :Cấp cho tiến trình một số lượng cố định khung để chứa các trang nhớ Số lượng được xác định vào thời điểm tạo mới tiến trình và không thay đổi trong quá trình tiến trình tồn tại Cấp phát bằng nhau: -Các tiến trình được cấp số khung tối đa bằng nhau -Số lượng được xác định dựa vào kích thước MEM và mức độ đa chương trình mong muốn Cấp phát không bằng nhau: -Các tiến trình được cấp số khung tối đa khác nhau -Cấp số khung tỉ lệ thuận với kích thước tiến trình -Có mức ưu tiênCấp phát slg khung thay đổi :Số lượng khung tối đa cấp cho mỗi tiến trình có thể thay đổi trong quá trình thực hiện Việc thay đổi phụ thuộc vào tình hình thực hiện của tiến trình Cho phép sử dụng bộ nhớ hiệu quả hơn phương pháp cố định => Cần theo dõi và xử lý thông tin về tình hình sử dụng bộ nhớ của tiến trình _ Phạm vi cấp phát:Cấp phát toàn thể: Cho phép tiến trình đổi trang mới vào bất cứ khung nào (không bị khóa), kể cả khung đã được cấp phát cho tiến trình khác Cấp phát cục bộTrang chỉ được đổi vào khung đang được cấp cho chính tiến trình đó Phạm vi cấp phát có quan hệ mật thiết với số lượng khung 2.13 : Trình bày các cấu trúc dữ liệu dùng cho tổ chức bên trong của thư mục.+Danh sách: ♣ Tổ chức thư mục dưới dạng danh sách các khoản mục ♣ Tìm kiếm khoản mục được thực hiện bằng cách duyệt lần lượt danh sách ♣ Thêm file mới vào thư mục: ♣ Duyệt cả thư mục để kiểm tra xem khoản mụcvới tên file như vậy đã có chưa ♣ Khoản mục mới được thêm vào cuối danh sách hoặc 1 ô trong bảng ♣ Mở file, xóa file ♣ Tìm kiếm trong danh sách chậm ♣ Cache thư mục trong MEM+Cây nhị phân: ♣ Tăng tốc độ tìm kiếm nhờ CTDL có hỗ trợ sắp xếp ♣ Hệ thống file NTFS của WinNT ♣ Bảng băm (hash table): ♣ Dùng hàm băm để tính vị trí của khoản mục trong thư mục theo tên file ♣ Thời gian tìm kiếm nhanh ♣ Hàm băm phụ thuộc vào kích thước của bảng băm => kích thước bảng cố định+Tổ chức thư mục của DOS: ♣ Mỗi đĩa logic có cây thư mục riêng, bắt đầu từ thư mục gốc ROOT ♣ Thư mục gốc được đặt ở phần đầu của đĩa, ngay sau sector khởi động BOOT và bảng FAT ♣ Thư mục gốc chứa files và các thư mục con ♣ Thư mục con có thể chứa files và các thư mục cấp dưới nữa ♣ Được tổ chức dưới dạng bảng: mỗi khoản mục chiếm 1 dòng trong bảng và có kích thước cố định 32 bytes+Tổ chức thư mục của Linux: ♣ Thư mục hệ thống file Ext2 của Linux có cách tổ chức đơn giản ♣ Khoản mục chứa tên file và địa chỉ I-node ♣ Thông tin còn lại về các thuộc tính file và vị trí các khối dữ liệu được lưu trên I-node chứ không phải thư mục ♣ Kích thước khoản mục phụ thuộc vào độ dài tên file ♣ Phần đầu của khoản mục có trường cho biết kích thước khoản mục 2.15 : Trình bày các thao tác cơ bản với file. Phân tích rõ một hệ thống file có nhất thiết phải có thao tác mở file hay không.+Tạo file: ♣ Tạo file trống chưa có data; được dành 1 chỗ trong thư mục +Xóa file: ♣ Giải phóng không gian mà dữ liệu của file chiếm ♣ Giải phóng chỗ của file trong thư mục +Mở file: ♣ Thực hiện trước khi ghi và đọc file ♣ Đọc các thuộc tính của file vào MEM để tăng tốc độ +Đóng file: ♣ Xóa các thông tin về file ra khỏi bảng trong MEm+Ghi vào file +Đọc file1 hệ thống k nhất thiết phải có thao tác mở file vì khi đọc, ghi file nếu file chứa đc mở thì HDH sẽ tự động tìm kiếm file trong thư mục, đọc các thuộc tính của file và xd vị trí của file 3.1 Trình bày khái niệm hệ điều hành. Phân tích rõ hai chức năng cơ bản của hệ điều hành.Hệ điều hành là hệ thống phần mềm đóng vai trò trung gian giữa người sử dụng và phần cứng máy tính nhằm tạo môi trường giúp thực hiện chương trình thuận tiện và hiệu quảHDH gồm 2 chức năng chính là quản lý tài nguyên và quản lý việc chạy chương trìnhQuản lý tài nguyên là đảm bảo cho tài nguyên hệ thống sử dụng có ích và hiệu quả.Tài nguyên phần cứng bao gồm CPU,bộ nhớ chính,bộ nhớ thứ cấp,thiết bị vào ra.Quản lý tài nguyên trước hết là phân phối tài nguyên tới các ứng dụng hiệu quả.yêu cầu được hdh thu nhận và đáp ứng bằng cách cấp phát tài nguyên cho chương trình tương ứng,để cấp phát đc tài nguyên hdh cần phải lưu giữ tình trạng tài nguyên để biết được hiện tại tài nguyên nào còn trống,tài nguyênnào đang đc sd.Quản lý tài nguyên còn đảm bảo cho chương trình không xâm phạm đến tài nguyên đã cấp cho chương trình khácNhiệm vụ quan trọng của máy tính là chạy chương trình,1 chương trình đang chạy gọi là tiến trình.HDH giúp việc chạy chương trình dễ dàng hơn.Để môi trường thuận lợi cho chương trình hdh tạo ra các máy ảo.Máy ảo là máy logic với những tài nguyên ảo có tính chất và khả năng khác tài nguyên thực:dễ sd hơn,dẽ lập trình hơn,số lượng nhiều hơn,khả năng có thể vượt qua khả năng tài nguyên thực.tài nguyên ảo là bản mô phỏng tài nguyên thực đc thực hiện bằng phần mềm.tài nguyên ảo cung cấp các dịch vụ giống tài nguyên thực nhưng nó đẽ sd hơn và số lượng nhiều hơn.để sử dụng tài nguyên phần cứng dễ dàng người ta trừu tượng hóa chúng bằng cách loại bỏ những chi tiết không quan trọng,chỉ giữ lại những khía cạnh mà người sd quan tâm,sau khi trừu tượng hóa tài nguyên phần cứng vẫn cung cấp chức năng như ban đầu nhưng dễ sd hơn vì những chi tiết cụ thể đã đc dấu đi. 3.2 Dịch vụ của hệ điều hành là gì ? Trình bày những dịch vụ điển hình mà hệ điều hành cung cấp. Làm rõ về quá trình tải và chạy hệ điều hành khi mới khởi độngDịch vụ hdh là những công việc mà hdh đã thực hiện giúp người dùng hoặc chương trình ứng dụng.Những dv chính mà hdh cc:+Tải và chạy chương trình+Giao diện với người dùng:gd dòng lệnh,gd đồ họa+Thực hiện vào ra dữ liệu+Làm việc với file+Phát hiện và xử lý lỗi:phát hiện và sử lý kịp thời những lỗi xảy ra với phần cứng cũng như phần mềm đảm bảo chô hệ thống hoạt động ổn định an toàn+Truyền thông:cc dịch vụ cho phép thiết lập liên lạc và truyền thông tin+Cấp phát tài nguyên+Dịch vụ an ninh và bảo mậtĐể thực hiện 1 chương trình,chương trình đó phải đc tải từ đĩa vào bộ nhớ sau đó đc trao quyền thực hiện lệnh,sau khi kết thúc ctrinh phải giải phóng bộ nhớ và tài nguyên mà ctrinh chiếm giữ,hdh sẽ thực hiên các công việc này.Do hdh là ctrinh đầu tiên đc thực hiên khi hệ thông khởi động nên hdh phải tự tải chính mình vào bộ nhớ trong.vc tải diễn ra như sau:hdh có 1 chương trình nhỏ gọi là ctrinh tải hay ctrinh mồi.ctrinhf này nằm ở 1 vị trí xác định trên đĩa hoặc bộ nhớ ngoài.sau khi hệ thống khởi động,1 chương trình nằm sẵn trong bộ nhớ ROM được kích hoạt và đọc chương trình mồi ở 1 vị trí quy ước trên đĩa vào bộ nhớ trong.sau đó ctrinh mồi sẽ chịu trách nhiệm tải những phần còn lại của hdh vào bộ nhớ và trao quyền đk hệ thống cho hdh 3.3 : Trình bày khái niệm dòng (thread) và mô hình đa dòng. Vấn đề sở hữu tài nguyên của tiến trình và dòng. Phân tích ưu điểm của mô hình đa dòng.Dòng : mỗi đv thực hiện của tiến trình tức là 1 chuỗi lệnh đc cấp CPU và thực hiện độc lập gọi là dòng thực hiện.Đa dòng là nhiều chuỗi lệnh đc thực hiện cùng 1 lúc trong phạm vi 1 tiến trình.Mô hình đa dòng :mỗi dòng cần có khả năng quản lý con trỏ lệnh và nội dung thanh ghi.mỗi dong cũng có trạng thái riêng đc chứa trong khối quản lý lệnh.mỗi dòng có ngăn xếp riêng.tất cả các các dòng chia sẻ chung không gian nhớ và tài nguyên của tiến trình.các dòng có cùng không gian đc có thể truy cập dữ liệu của tiến trìnhTài nguyên của tiến trình và dòng :Trong hệ thống cho phép đa dòng,tiến trình vẫn là đơn vị đc HDH phân phối tài nguyên,các tiến trình đề sở hữu chung 1 số tài nguyên :không gian nhớ của tiến trình,và 1 số tài nguyên khác như file đang mở và thiết bị vào ra.Ưu điểm của mô hình đa dòng :tăng hiệu năng và tiết kiệm thời gian,tăng tính đáp ứng,dễ dàng chia sẻ tài nguyên và thông tin,tận dụng đc kiến trúc xử lý với nhiều CPU,thuận lợi cho vc tổ chức ctrinh 3.4 : Phân tích các vấn đề cần quan tâm trong sử dụng và quản lý tiến trình đồng thời (concurrent processes) đối với ba dạng tiến trình : tiến trình độc lập có cạnh tranh tài nguyên, tiến trình hợp tác nhờ chia sẻ tài nguyên, và tiến trình hợp tác nhờ trao đổi thông điệpCác tiến trình cạnh tranh tài nguyên lẫn nhau :+Loại trừ tương hỗ :khi các tiến trình đòng thời truy cập tài nguyên mà khả năng cse của tài nguyên đó hạn chếàđảm bảo khi tiến trình truy cập tài nguyên thì tiến trình khác k đc phép truy cập.các tài nguyên như vậy gọi là tài nguyên nguy hiểm,những doạn ctrinh yc sd tài nguyên nguy hiểm gọi là đoạn nguy hiểm+Không để xảy ra bế tắc :bế tắc là tình trạng 2 hay nhìu t.trình k thể tiếp tục thực hiên do phải đợi chờ lẫn nhau+Không để đói tài nguyên :là tình trạng t.trinh phải chờ đợi quá lâu mà chưa đến lượt cấp tài nguyênTiến trình hợp tác vs nhau thông qua tài nguyên chung :Các t.trình hợp tác vs nhau trao đổi t.tin vs nhau thông qua cse vùng nhớ dùng chung.vc các tiến trình truy cập đồng thời d.liệu dùng chung đòi hỏi đảm bảo tính nhất quán d.liệu.vc cập nhập dlieu chung cung yc đb loại trừ tương hỗ, ngoài ra có thể xảy ra tình trạng bế tắc và đói.Đk chạy đua là tình huống 1 dòng or tiến trình đọc và ghi dl và kết quả phụ thuộc vào thứ tự các thao tác vào ra.vấn đề xảy ra khi có dik chạy đua có thể gq bằng cách đặt toàn bộ thao tác vào đoạn nguy hiểm và sd loại trừ tương hỗ đẻ thao tác này k bị tiến trình khác xen ngangTiến trình có liên lạc nhờ gửi thông điệp :Các tiến trình hợp tác vs nhau có thể ll trực tiếp với nhau bằng cách gửi thông điệp.vc gửi thông điệp các t.trình k c.sẻ hay cạnh tranh lãn nhau nên k yc loại trừ tương hỗ,nhưng có thể xảy ra bế tắc và đói 3.5 : Trình bày giải thuật Peterson cho đoạn nguy hiểm. Phân tích ưu nhược điểm của phương pháp này.Thuật toán petersonBool flag[2] ;Int turn ;Void P0(){// tien trinh P0For( {//lap vo hanFlag[0]=true ;turn =1 ;while(flag[1]&&turn==1) ;//lap den khi dk không thỏa mãn<đoạn nguy hiểm>Flag[0]=false ;<phan con lai cua tien trinh>}}Void P1(){// tien trinh P1For( {//lap vo hanFlag[1]=true ;turn =0 ;while(flag[0]&&turn==0) ;//lap den khi dk k thỏa mãn<đoạn nguy hiểm>Flag[1]=false ;<phan con lai cua tien trinh>}}Void main(){Flag[0]=flag[1]=0 ;Turn=0 ;//tắt tiến trình chính,chạy đồng thời P1 và P2Startprocess(P0) ;Startprocess(P1) ;}+ Ưu điểm :Thỏa mãn các y/c :Đk loại trừ tương hỗ Đk tiến triển :+P0 chỉ có thể bị P1 ngăn cản vào đoạn nguy hiểm nếu flag[1]=true và turn =1 luôn đúng+Có 2 khả năng với P1 ở ngoài đoạn nguy hiểm :-P1 chưa sẵn sàng vào đoạng nguy hiểm=>flag[1]=false, P0 có thể vào ngay đoạn nguy hiểm- P1 đã đặt flag[1]=true và đang trong vòng lặp while => turn =1 hoặc 0:Turn = 0 0 vào đoạn nguy hiểm ngayTurn =1: P1 vào đoạn nguy hiểm, sau đó đặt flag[1]=false=>quay lại kn 1- Chờ đợi giới hạn+ Nhược điểm-sd trên thực tế tương đối phức tạp-Đòi hỏi tiến trình đang yêu cầu vào đoạn nguy hiểm phải nằm trong trạng thái chờ đợi tích cực.Chờ đợi tích cực; tiến trình vẫn phải sd CPU để ktra xem có thể vào đoạn nguy hiểm? =>lãng phí CPU 3.6 : Trình bày phương pháp phát hiện và xử lý bế tắc bằng cách sử dụng đồ thị. Phân tích ưu điểm của phương pháp này so với phương pháp ngăn ngừa bế tắc. Trả lời :+ Phát hiện bế tắc :-TH mỗi dạng tài nguyên chỉ có một tài nguyên duy nhất=> sd đồ thị bd quan hệ chờ đợi lẫn nhau giữa tiến trình-Xây dựng đồ thị cấp phát tài nguyên :+Các nút là tiến trình và tài nguyên +Tài nguyên dc nối với tiến trình bằng cung có hướng nếu tài nguyên đc cấp cho tiến trình đó.+Tiến trình dc nối với tài nguyên trình bằng cung có hướng nếu tiến trình đang đc cấp cho tài nguyên đó.+Đồ thị chờ đợi :-Đc xd từ đồ thị cấp phát tài nguyên = cách bỏ đi các nút t/ứ với tài nguyên và nhập các cung đi đi qua nút bị bỏ-Cho phép phát hiện tình trạng tiến trình chơ đợi là điều kiện đủ để sinh ra bế tắc-SD thuật toán phát hiện chu trình trên đồ thì có hướng để phát hiện bế tắc trên đồ thị chờ đợiVẽ sơ đồ :+ Thời điểm phát hiện bế tắc ; -Bế tắc chỉ có thế xh sau khi 1 tiến trình nào đó yêu cầu tài nguyên và ko đc thỏa mãn => Chạy thuật toán phát hiện bế tắc mỗi khi có y/c cấp phát tài nguyên ko đc tm=> cho phép phát hiện bế tắc ngay khi vừa xảy ra Chạy thường xuyên làm giảm h/nang ht-=>Giảm tần suất chạy thuật toán phát hiện bế tắc : +Sau từng chu kì từ vài chục phút tới vài giờ+Khi có một số đấu hiệu như hiệu suất sd CPU giảm xuống dưới 1 ngưỡng nào đó+ Xử lý khi bi bế tắc :-Kết thúc all tiến trình đang bị bế tắc-Kt lần lượt từng tiến trình đang bị bế tắc đến khi hết bế tắc+HDH phải chạy lại thuật toán phát hiện bế tắc sau khi kt 1 tiến trình+HDH có thể chọn thứ tự kt tiến trình dựa trên tiêu trí nào đó Khôi phục tiến trình về thời điểm trc khi bị bế tắc sau đó cho các tiến trình thực hiện lại từ điểm này :+Đòi hỏi HDH lưu trữ trạng thái để có thể thực hiện quay lui và khôi phục về các điểm ktra trc đó.+Khi chạy lại, các tiến trình có thể lại rơi vào bế tắc tiếp.Lần lượt thu hồi lại tài nguyên từ các tiến trình bế tắc cho tới khi hêt bế tắc. 3.7 : Trình bày kỹ thuật tải trong quá trình thực hiện. Trình bày kỹ thuật liên kết động và thư viện dùng chung. Phân tích rõ ưu điểm mà từng phương pháp đem lại. Trả lời :+ Tải trong quá trình thực hiện :-Hàm chưa bị gọi thì chưa tải vào bộ nhớ -Chương trình chính dc load vào bộ nhớ và chạy-Khi có lời gọi hàm :+Chương trình sẽ ktra hàm đó dc tải vào chưa+Nếu chưa, chương trình sẽ tiến hành tải sau đó ánh xạ địa chỉ hàm vào ko gian chung của chương trình và thay đổi bằng địa chỉ để ghi lại các ánh xạ đó. -Lập trình viên đảm nhiệm, HDH cung cấp các hàm thư viện cho tải động+ Liên kết động và thư viện dùng chung-Liên kết tĩnh : các hàm và thư viện đc lk luôn vò chương trình-Lãng phí ko gian cả trên đĩa và MEM trong-Trong gd lk, ko kết nối các ham thư viện vào chưa trình mà chỉ chèn các thông tin về hàm thư viện đó Các modul thư viện đc lk trong quá trình thực hiện:+Ko giữ bản sao các modul thư viện mà tiến trình giữ stub chứa thông tin về modul thư viện.+Khi stub dc gọi, nó ktra modul t/ứ đã có trong bộ nhớ chưa. Nếu chưa, thì tải phần còn lại về và dùng.+Lần tiếp theo cần sd, modul thư viện sẽ đc chạy trực tiếp +Mỗi modul thư viện chỉ có 1 bản sao duy nhất chứa trong MEM- Cần hỗ trợ từ HDH 3.8 : Trình bày kỹ thuật phân chương động bộ nhớ. Phân tích ưu nhược điểm của phương pháp này so với phân chương cố định. Khi di chuyển chương sang vị trí khác cần thay đổi thông tin gì trong khối ánh xạ địa chỉ.Trả Lời :+ Kỹ thuật :-Kích thước, số lượng và vị trí chương đều có thể thay đổi-Khi có y/c, HDH cấp cho tiến trình 1 chương có kích thước đúng bằng tiến trình đó Khi tiến trình kt sẽ tạo vùng trống trong MEM-Các vùng trống nằm cạnh nhau đc nhập lại thành vùng lớn hơn-Sd các chiến lược cấp chương :+Chọn vunf thích hợp đầu tiên+Vùng thich hợp nhất+Vùng ko thích hợp nhất+ Ưu điêm : Tránh phân mảnh trong+ Nhược điểm : Gây phân mảng ngoài : dồn những vùng trống nhỏ thành lớn(nén)+ Nếu chương bị di chuyển thì nội dung của thanh ghi cơ sở bị thay đổi chứa địa chỉ vị trí mớ 3.9 : Trình bày kỹ thuật phân chương sử dụng phương pháp kề cận (buddy). Phân tích rõ các điểm giống/khác nhau và ưu nhược điểm của phương pháp này so với phân chương cố định và phân chương động (lưu ý không cần trình bầy lại hai phương pháp sau).Trả lời :+ Trình bày kĩ thuật :-Các chương và khối trống có kích thước là lũy thừa của 2^k(L<=k<=H) : 2^L : kích thước nhỏ nhất của chương ; 2^H ; kích thước MEM-Đầu tiên, toàn bộ ko gian nhớ là 2^H, y/c cấp vùng nhớ S+2^H-1<S<=2^H ; cấp cả 2^H+Chia đôi thành 2 vùng 2^H-1+Tiếp tục chia đôi tới khi tìm đc vùng thảo mãn 2^k+1<s<=2^k-Sau 1 thời gian xuất hiện các khối trống có kích thước 2^k-Tạo ds móc nối các vùng có cùng kích thước-Nếu có 2 khối trống cùng kích thước và kề nhau thì ghép lại thành 1-Khi cần cấp, sẽ tìm trong danh sách khối phù hợp nhất; nếu ko tìm khối lớn hơn và cắt đôi. 3.10 : Trình bày kỹ thuật phân đoạn bộ nhớ bao gồm cả cấu trúc và cách ánh xạ địa chỉ. Phân [...]... gian đáp ứng: tiêu chí hướng tới ng dùng thường sd trong hệ thống tương tác, = thời gian nhận y/c khi hệ thống có pư đáp ứng B, Thuật toán điều độ đến trc phục vụ trc - HDH sx các tiến trình sẵn sàng vào hàng đợi , tiến trình mới sẽ xếp ở cuối hàng - Khi CPU đc giải phóng HDH cấp cho tiến trình ở đầu hàng đợi - Thời gian chờ đợi TB lớn - Là thuật toán điều độ không phân phối lại *, thuật toán điều. .. :1, trong hệ thống xử lý mẻ : dựa vào thgian đăng kí tối đa do lập trình viên cung cấp.2, dự đoán độ đài chu kì sd CPU tiếp theo, dựa vào độ dài TB các CPU trc đó + là thuật toán điều độ k phân phối lại - Thuật toán điều độ ưu tiên thời gian còn lại ngắn nhất : + pp này là pp tương tự như pp điều độ ưu tiên tiến trình ngắn nhất nhưng có thêm cơ chế phân phối lại +khi 1 tiến trình mới xh trong hàng đợi,... phục ht file về trạng thái ko lỗi trc khi thực hiện giao tác Post added at 05:18 PM Previous post was at 04:57 PM Loại 4đ Câu 4.1: a) Trình bày các tiêu chí đánh giá thuật toán điều độ b) Trình bày thuật toán điều độ đến trước phục vụ trước và điều độ có mức ưu tiên c) Cho các tiến trình với thời gian (độ dài) chu kỳ CPU tiếp theo và số ưu tiên như trong bảng sau (số ưu tiên nhỏ ứng... trình khi sử dụng thuật toán : 1) điều độ quay vòng với độ dài lượng tử = 1 ; 2) điều độ theo mức ưu tiên không có phân phối lại Tính thời gian chờ đợi trung bình cho từng trường hợp Giải: A, Các tiêu chí đánh giá điều độ: - Lượng tiến trình thực hiện xong đc đánh giá bằng số lg tiến trình thực hiện xog trong 1 thời gian Tiêu chí này mang tính TB và là 1 độ đo tính hiệu quả của hệ thống - Hiệu suất sử... TB= (6+4+1)/4=2,75 Câu 4.2: a) Trình bày thuật toán điều độ ưu tiên tiến trình ngắn nhất, thời gian còn lại ngắn nhất b) Điều độ theo mức ưu tiên có phân phối lại và không phân phối lại khác nhau thế nào ? c) Cho các tiến trình với độ dài và thời điểm xuất hiện như trong bảng sau Vẽ biểu đồ thể hiện thứ tự và thời gian cấp phát CPU cho các tiến trình khi sử dụng thuật toán : 1) điều độ ưu tiên tiến... dụng hiệu quả hệ thống là càng để CPU càng ít phải nghỉ càng tốt % tgian CPY trong trạng thái hđ thay đổi tùy hệ thống - Thời gian vòng đợi TB tiến hành = thời gian y/c tạo tiến trình đến khi kết thúc tiến trình= tổng thời gian tải tiến trình + thời gian chờ đợi, chạy ,vào/ra - Thời gian chờ đợi= tổng thời gian tiến trình ở trạng thái sẵn sang và chờ đc cấp CPU, chịu ảnh hưởng của thuật toán điều độ -... đợi, HDH so sánh thời gian còn lại của tiến trình đang chạy vs thời gian còn lại của tiến trình mới xh Nếu tiến trình mới có tg còn lại nhỏ hơn thì HDH thu hồi CPU của tiến trình đang chạy cấp cho tiến trình mới này + đòi hỏi phải biết trc độ dài chu kỳ sd CPU + thời gian chờ đợi TB nhỏ + việc chuyển đổi tiến trình ít hơn điều độ quay vòng B, Điều độ theo mức ưu tiên có phân phối lại khác điều độ theo... tự và thời gian cấp phát CPU cho các tiến trình khi sử dụng thuật toán : 1) điều độ ưu tiên tiến trình ngắn nhất ; 2) điều độ ưu tiên thời gian còn lại ngắn nhất Tính thời gian chờ đợi trung bình cho từng trường hợp Giải : A, Điều độ ưu tiên tiến trình ngắn nhất + Pp này lựa chọn trong hàng đợi tiến trình có thời gian sd CPU ngắn nhất để cấp phát CPU + trong TH n` tiến trình có cùng tg sd CPY thì tiến... không phân phối lại *, thuật toán điều độ có mức ưu tiên: - Mỗi tiến trình đc gán 1 mức ưu tiên nhất đihj - Tiến trình có mức ưu tiên hơn đc cấp CPU trc, các tiến trình cùng mức ưu tiên đc cấp CPU theo nguyên tắc FCFS - Mức ưu tiên xác định theo nhiều tiêu chí khác nhau như y/c bộ nhớ, hạn chế thời gian, - Là thuật toán điều độ không phân phối lại C,1, biểu đồ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 1 1...tích so sánh ưu nhược điểm của phân đoạn với phân trang.Trả lời :+ Kỹ thuật phân đoạn bộ nhớ :-Cấu trúc :+Chương trình thường dc chia thành nhiều phần : dữ liệu, lệnh, ngăn xếp+Chia chương trình thành các đoạn theo cấu trúc logic+Mỗi đoạn đc phân vào 1 vùng nhớ, có kích thước ko bằng nhau.+Mỗi đoạn t/ứ . từ thẻ nhớ USB vào bộ nhớ. c) Giả sử bảng FAT đã được đọc vào bộ nhớ tại địa chỉ « void *fat », viết đoạn chương trình trên C/C++ để liệt kê tất cả các cluster trống trong số N cluster đầu tiên cluster trống trong số N cluster đầu tiên. Giả sử một file bắt đầu tại cluster n, viết đoạn chương trình liệt kê các cluster thuộc về file đó. Câu hỏi 4.10 : a) Trình bày phương pháp sử dụng. Trình bày các bước cần thiết (trình bày bằng lời, không cần viết mã) để đọc thư mục gốc từ thẻ nhớ USB vào bộ nhớ trong trường hợp hệ thống file của thẻ nhớ là FAT 16. c) Giả sử thư mục gốc của hệ

Ngày đăng: 05/08/2015, 17:50

Từ khóa liên quan

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

Tài liệu liên quan