Đề cương ôn tập nguyên lý hệ điều hành

41 59 0
Đề cương ôn tập nguyên lý hệ điều hành

Đ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

ĐỀ CƯƠNG ÔN TẬP NGUYÊN LÝ HỆ ĐIỀU HÀNH I – LÝ THUYẾT Câu 1: Các thành phần hệ điều hành, nhân hệ điều hành, tải hệ điều hành Trả lời Các thành phần HĐH a.Hệ thống quản lý tiến trình - Tạo lập, hủy bỏ tiến trình - Tạm dừng, tái kích hoạt tiến trình - Cung cấp chế trao đổi thơng tin tiến trình - Cung cấp chế đồng hóa tiến trình b Hệ thống quản lý nhớ - Cấp phát thu hồi vùng nhớ cho tiến trình cần thiết - Ghi nhận tình trạng nhớ chình: vùng cấp phát, vùng cịn sử dụng… - Quyết định tiến trình nạp vào nhớ có vùng nhớ trống c Hệ thống quản lý nhập xuất - Gửi lệnh điều khiển đến thiết bị - Tiếp nhận ngắt - Xử lý lỗi d Hệ thống quản lý tập tin - Tạo lập, hủy bỏ tập tin thư mục - Cung cấp thao tác xử lý tập tin thư mục - Tạo lập quan hệ tương ứng tập tin nhở phụ chứa e Hệ thống bảo vệ Xây dựng chế bảo vệ thích hợp (Trong trường hợp nhiều người sử dụng đồng thời tiến trình) f Hệ thống dịch lệnh (Shell) - Đóng vai trị giao diện người sử dụng HĐH - Các lệnh chuyển đến HĐH dười dạng thị điều khiển - Shell nhận lệnh thơng dịch lệnh để HĐH có xử lý tương ứng g Quản lý mạng - Một hệ thống phân bố nhiều xử lý với nhớ độc lập - Các tiến trình hệ thống kết nối với qua mạng truyền thông - Việc truy xuất đến tài ngun mạng thơng qua trình điều khiển giao tiếp mạng Nhân HĐH (Kernel) - Là thành phần trung tâm hầu hết HĐH máy tính - Nhân HĐH module hệ thống ln ln có mặt nhớ - Chia làm loại nhân: * Nhân bắt buộc phải có nhớ * Nhân cần thiết gọi vào - Nhân HĐH thông thường bao gồm: * Module chương trình tải (Loader): Chức đưa chương trình vào nhớ địa để sau cho phép chương trình tải nhận điều khiển để chạy khơng * Module chương trình dẫn dắt (Monitor): Chức lựa chọn bước làm việc cho hệ thống * Module chương trình lập dịch (Scheduler): Chức chọn chương trình để chạy - Nhân vùng nhớ liên tục không gây cản trở cho việc cấp phát chương trình đặt vùng biên nhớ đặc biệt vùng biên Tải HĐH HĐH tư đặt máy tính đươc Do HĐH tập hợp chương trinh cài đặt sẵn vật dẫn (các file đĩa từ) muốn máy tính hoạt động phải qua giai đoạn đưa HĐH vào máy tính Quá trình gọi tải HĐH thực qua bước sau: - Khởi động chương trình nguyên thủy Chương trình có tên IPL (Initial Program Loader) cứng hóa tự kích hoạt để thực bật máy gây xung đột điện - IPL kiểm tra tính sẵn sang hệ thống thiết bị - Các chương trình điều khiển thiết bị tải vào dẫn đến chúng thiết lập - IPL tải đoạn chương trình “mồi” NIP (Necleus Initial Program) , thường đặt sector đĩa chứa HĐH vào nhớ tròng truyền địa định sẵn truyền điều khiển cho đoạn chương trình mồi (chương trình cịn gọi chương trình khởi động nhân) Đoạn chương trình mồi NIP thực chức tải nhân vào HĐH - Sauk hi tải nhân xong, chương trình mồi NIP trả quyền điều khiển cho chương trình dẫn dắt hệ thống làm việc Câu 2: Liệt kê sơ số hệ điều hành đặc trưng hệ điều hành Trả lời: * MS_DOS: - HĐH đĩa từ Microsoft (Microsoft Disk Operating System, gọi tắt MS_DOS) HĐH hãng phần mềm Microsoft Đây HĐH có giao diện dịng lệnh (command-line interface) thiết kế cho máy tính họ PC (Personal Computer) - MS_DOS HĐH đơn nhiệm Tại thời điểm thực thao tác - Quá trình định dạng đĩa từ (Đĩa mềm hay đĩa cứng logic) MS_DOS chia khơng gian đĩa làm phần là: Vùng hệ thống (System Area) vùng liệu (Data Area) Đồng thời hệ thống ghi thông tin cần thiết vào vùng hệ thống để chuẩn bị cho việc lưu trữ quản lý liệu sau + Vùng liệu: gồm block (cluster) có kích thước đánh địa (12 hay 16 bit) để phân biệt Đây Cluster đĩa + Vùng hệ thống: Bao gồm thành phần Boot Sector, bảng FAT1, bảng FAT2, Root Directory(RD) chứa chương trình, thông tin liên quan đến file, directory để giúp hệ điều hành quản lý file directory sau * Microsoft Window: - Microsoft Windows tên dòng phần mềm HĐH độc quyền hãng MicroSoft - Windows phần mềm nguồn đóng - Windows HĐH đa nhiệm (Multi tasking) xử lý nhiều chương trình lúc - Windows khởi đầu phát triển cho máy tính tương thích với IBM (dựa vào kiến trúc x86 Intel), ngày hầu hết phiên Windows tạo cho kiến trúc (tuy nhiên Windows NT viết hệ thống xuyên cấu trúc cho xử lý Intel MIPS, sau xuất cấu trúc PowerPC DEC Alpha Sự phổ biến Windows khiến xử lý trung ương Intel trở nên phổ biến ngược lại Thật vậy, thuật ngữ Wintel sử dụng để miêu tả máy tính cá nhân chạy phiên Windows - Windows có giao diện dễ sử dụng, bắt mắt với độ đồ họa cao * Window Vista: - Là HĐH hang Microsoft - Win Vista có giao diện với đồ hoạ đẹp với hiệu ứng Flip 3D - Nhưng Win Vista có hạn chế tốn nhiều tài nguyên máy rối rắm Windows XP, tình trạng treo máy thường xuyên xảy * Linux: - Linux tên gọi hệ điều hành máy tính tên hạt nhân hệ điều hành Nó có lẽ ví dụ tiếng phần mềm tự việc phát triển mã nguồn mở - Khởi đầu, Linux phát triển cho dòng vi xử lý 386, hệ điều hành hỗ trợ số lượng lớn kiến trúc vi xử lý, sử dụng nhiều ứng dụng khác từ máy tính cá nhân siêu máy tính thiết bị nhúng máy điện thoại di động - Đặc tính bật Linux so với hệ thống khác: chi phí phần cứng thấp, tốc độ cao (khi so sánh với phiên Unix độc quyền) khả bảo mật tốt, độ tin cậy cao (khi so sánh với Windows) đặc điểm giá thành rẻ, không bị phụ thuộc vào nhà cung cấp Một đặc tính trội phát triển mơ hình phát triển phần mềm nguồn mở hiệu * Unix: - Là hệ điều hành đa nhiệm (có thể lúc thực nhiều nhiệm vụ) hỗ trợ cách lý tưởng ứng dụng nhiều người dùng - Unix viết ngơn ngữ lập trình C, ngơn ngữ mạnh mềm dẻo Unix hỗ trợ ứng dụng mạng hỗ trợ nhiều mơi trường lập trình khác - Unix hệ điều hành 64 bit - Hiện Unix sử dụng nhiều cơng ty tập đồn lớn giới mức độ bảo mật tương đối cao * Uturbu: - Ubuntu phần mềm mã nguồn mở tự do, có nghĩa người dùng tự chạy, chép, phân phối, nghiên cứu, thay đổi cải tiến phần mềm - Ubuntu kết hợp đạc điểm bật dịng Linux, tính bảo trước virus malware, khả tùy biến cao, tốc độ, hiệu suất làm việc, đặc điểm Ubuntu giao diện bắt mắt, bóng bẩy, cài đặt đơn giản, dễ dàng việc lưu liệu - Ubuntu sử dụng giao diện đồ họa thân thiện GNOME, qua hướng đến đơn giản hóa q trình sử dụng Câu 3: Khái niệm tiến trình tiểu trình Các trạng thái tiến trình Cấu trúc liệu khối quản lý tiến trình Trả lời: Khái niệm tiến trình, tiểu trình - Tiến trình (Process): * Tiến trình chương trình thực Mỗi tiến trình có tài ngun mơi trường riêng Các tiến trình hồn tồn độc lập với nhau, liên lạc với thông qua chế truyền tin tiến trình * Tiến trình hệ thống: sinh thực lời gọi hệ thống * Tiến trình người sử dụng: sinh thực thi thị người sử dụng * Tiến trình chia làm loại: + Tiến trình kế tiêp + Tiến trình song song - Tiểu trình (Threads): * Tiều trình đơn vị hệ thống Một tiểu trình tạo lập tiến trình * Một tiến trình sở hữu nhiều tiểu trình * Các tiểu trình tiến trình chia sẻ khơng gian địa truy xuất đến Stack Các trạng thái tiến trình - Mới tạo: Tiến trình tạo lập - Running: Tiến trình xử lý - Blocked: Tiến trình bị chặn, khơng thể tiếp tục - Ready: Tiến trình sẵn sang, chờ cấp CPU để xử lý - Kết thúc: Tiến trình hồn tất xử lý 3.Cấu trúc liệu khối quản lý tiến trình HĐH quản lý tiến trình thơng qua khối quản lý tiến trình (Process Control Block – PCB) Thành phần chủ yếu PCB bao gồm: - Định dạng tiến trình: Phân biệt tiến trình - Trạng thái tiến trình: Xác định hoạt động hành tiến trình - Ngữ cảnh tiến trình: Mơ tả tài ngun tiến trình trình để phục vụ cho hoạt động để làm sở phục hồi hoạt động cho tiến trình, bao gồm thông tin: * Trạng thái CPU * Bộ xử lý * Bộ nhớ * Tài nguyên sử dụng * Tài nguyên tạo lập - Thông tin giao tiếp: Phản ánh thơng tin quan hệ tiến trình với tiến trình khác hệ thống: * Tiến trình cha: Tiến trình tạo lập tiến trình * Tiến trình con: Các tiến trình tiến trình tạo lập * Độ ưu tiên: Giúp điều phối có thơng tin để lựa chọn tiến trình cấp CPU - Thông tin thống kê: Là thông tin thống kê hoạt động tiến trình thời gian sử dụng CPU, thời gian chờ… Các thông tin đánh giá tình hình hệ thống dự đốn tình tương lai Câu 4: Tài nguyên Găng Điều tiến trình qua đoạn Găng (Giải pháp phần cứng, Semaphore) Trả lời Tài nguyên Găng - Tài nguyên Găng tài nguyên logic vật lý phân bổ cho tiến trình song hành - Miền Găng đoạn lệnh chương trình có khả phát sinh mâu thuẫn Để không xảy mâu thuẫn truy xuất, cần đảm bảo thời điểm có tiến trình vào miền Găng Điều tiến trình qua giai đoạn Găng 2.1 Giải pháp phần cứng: giải pháp * Cấm ngắt - Cho phép tiến trình cấm tất ngắt trước vào miền Găng, phục hồi ngắt khỏi miền Găng Khi hệ thống tạm dừng hoạt động tiến trình xử lý để cấp phát CPU cho tiến trình khác, nhờ tiến trình hành n tâm thao tác miền Găng mà không sợ bị tiến trình khác tranh chấp - Hạn chế: + Thiếu thận trọng cho tiến trình người dùng phép thực lệnh ngắt + Lệnh cấm ngắt có tác dụng xử lý xử lý tiến trình, tiến trình hoạt động xử lý khác truy xuất miền Găng hệ thống có nhiều xử lý * Chỉ thị TSL (Test and Set Lock) - Giải pháp đòi hỏi trợ giúp chế phần cứng Máy tính cung cấp thị đặc biệt cho phép kiểm tra cập nhập nội dung vùng nhớ thao tác phân chia gọi thị TSL - Nếú có thị TSL xử lý đồng thời chúng sử lý - Hạn chế: + Không dễ dàng cài đặt thị TSL + Phải thực vòng lặp để kiểm tra xem tiến trình có phép vào miền Găng khơng Nếu chưa phải chờ tiếp tục vịng lặp kiểm tra 2.2 Giải pháp Semaphore - Được Dijkstra đề xuất vào năm 1965, Semaphore s biến có thuộc tính + Một giá trí ngun dương e(s) + Một hàng đợi f(s) lưu danh sách tiến trình bị khóa Semaphore + Chỉ có hai thao tác định nghĩa Semaphore - Semophore cho phép đảm bảo nhiều tiến trình truy xuất đến miền Găng mà khơng có mâu thuẫn truy xuất n tiến trình sử dụng Semophore - Với Semophore đồng hóa hoạt động hai tiến trình tình tiến trình phải đợi tiến trình khác hồn tất thao tác bắt đầu tiếp tục xử lý - Việc sử dụng Semophore cách để đồng hóa phụ thuộc hồn tồn vào người lập trình viên Câu 5: Tắc nghẽn ( Điều kiện hình thành nhận biết tắc nghẽn) Trả lời Định nghĩa Tắc nghẽn trạng thái hai nhiều tiến trình chờ đợi số kiện khơng có tác động đặc biệt từ bên ngồi chờ đợi vơ hạn Điều kiện hình thành tắc nghẽn Hiện tượng tắc nghẽn xảy hệ thống tồn điều kiện sau: - Có thể sử dụng tài nguyên chia sẻ: Mỗi thời điểm, tài nguyên cấp phát cho tiến trình Khi tiến trình sử dụng xong, hệ thơng thu hồi cấp phát tài nguyên cho tiến trình khác - Có tượng giữ đợi tài nguyên: Các tiến trình chiếm giữ tài nguyên cấp phát cho chờ cấp phát thêm tài ngun - Khơng có hệ thống phân phối lại tài nguyên: Tài nguyên được thu hồi từ tiến trình chiếm giữ chúng trước tiến trình sử dụng chúng xong - Có tượng chờ đội vịng trịn: Có tiến trình chờ đợi lẫn nhau: tiến trình chờ cấp phát tài nguyên mà tiến trình chiếm giữ ngược lại Phương pháp xử lý tắc nghẽn Có phương pháp xử lý tắc nghẽn: - Sử dung nghi thức (Protocol) để đảm bảo hệ thống không xảy tắc nghẽn - Cho phép xảy tắc nghẽn tìm cách sửa chữa tắc nghẽn - Bỏ qua việc xử lý tắc nghẽn Ngăn chặn tắc nghẽn Để tấc nghẽn không xảy ra, cần đảm bảo tối thiểu điều kiện cần không xảy - Mô cảc tài nguyên chia sẻ thành tài nguyên dùng chung (áp dụng phương pháp Slooling) - Thực phân bổ trước tài nguyên: Tiến trình thực cung cấp đủ tài ngun Tiến trình phép địi tài ngun chúng khơng giữ tài ngun Nếu tiến trình phải đợi tài nguyên tài nguyên tiến trình phải giải phóng - Cho phép thống thu hồi tài ngun tiên trình bị khóa cập nhập lại cho tiến trình chung khỏi tình trạng khóa - Cấp phát tài ngun theo phân cấp định sau: R = {R1, R2,…, Rm} tập loại tài nguyên Các loại tài nguyên phân cấp từ – N Câu 6: Nhiệm vụ quản lý nhớ Trả lời - Bộ nhớ thiết bị lưu trữ mà thông qua CPU trao đổi thơng tin với mơi trường ngồi - Bộ nhớ tổ chức mảng chiều từ nhớ (word), từ nhớ có địa - Việc trao đổi thơng tin với mơi trường bên ngồi thực thông qua thao tác đọc ghi liệu vào địa định nhớ => Vì tổ chức, quản lý nhớ nhiệm vụ trọng tâm hàng đầu HĐH * Nhiệm vụ quản lý nhớ: - Cấp phát thu hồi vùng nhớ cho tiến trình cần thiết - Ghi nhận tình trạng nhớ chình: vùng cấp phát, vùng cịn sử dụng… - Quyết định tiến trình nạp vào nhớ có vùng nhớ trống - HĐH chịu trách nhiệm cấp phát vùng nhớ cho tiến trình có yêu cầu Để thực tốt HĐH cần phải xem xét nhiều khía cạnh như: + Sự tương ứng địa Logic địa vật lý: làm để chuyển đổi địa tưởng trưng chương trình thành địa thực nhớ + Quản lý nhớ vật lý: để mở rộng nhớ có sẵn nhằm lưu trữ nhiều tiến trình đồng thời + Chia sẻ thơng tin: Làm cho phép tiến trình chia sẻ thơng tin nhớ + Bảo vệ: làm để ngăn chặn tiến trình xâm phạm đến vùng nhớ cấp phát cho tiến trình khác Câu 7: Cấu trúc chương trình Trả lời: Có nhiều phương pháp tổ chức chương trình để thực Các phương pháp khác kiểu định vị chương trình nhớ thời điểm thực phép ánh xạ địa tương đối thành địa tuyệt đôi Cấu trúc chương trình thể cách quản lý nhớ logic cho ta thấy hình ảnh chương trình nhớ vật lý thực Cấu trúc chương trình dạng sau: * Cấu trúc tuyến tính - Là cấu trúc mà sau biên dịch, module tập hợp thành chương trình hồn thiện, chứa đầy đủ thơng tin để thực - Ưu điểm: Đơn giản, dễ tổ chức biên dịch định vị, thời gian thực nhanh, có tính lưu động cao dễ dàng chép chương trình - Nhược điểm: Lãng phí nhớ * Cấu trúc động - Các module tổ chức riêng biệt Khi thực chương trình, hệ thống cần định vị module gốc Trong trình thực cần tới module hệ thống cấp phát khơng gian nhớ hoạt ðộng xong giải phóng module khỏi nhớ thu hồi không gian nhớ - Ưu điểm: Tiết kiệm nhớ - Nhược điểm: Xóa nạp module la trách nhiệm người sử dụng đảm nhiệm, câu lệnh phải nêu chương trình nguồn => kích thước chương trình nguồn lớn * Cấu trúc Overlay - Các module chương trình sau biên dịch chia thành mức 0,1, i Khi thực chương trình, module gốc định vị vào nhớ Cần tới module hệ thống tìm kiếm sơ đồ Overlay nạp vào nhớ mức tương ứng - Việc thực công việc đc mô tả thông qua cá chương trình; - Khi ch.trình hoạt động, chuyển thành tiến trình; để thực tiến trình cần: + đc cung caaos đầy đủ tài nguyên cần thiết; + Đc CPU tiếp nhận thực - HĐH: điều phối thực tiến trình phân phối tài nguyên cần thiết cho tiến trình; - tiến trìn gồm: + Mã nguồn chương trình (code) (kg thay đổi) + Dữ liệu (data) + đệm CT (Program Counter) + Ngăn xếp (Stack) + Giá trị ghi (Register values) * Đặc điểm tiến trình -I/O-bound process – Tiến trình hướng I/O: + Sử dụng nhiều th.gian thực vào/ra việc tính tốn + Chiếm dụng CPU ngắn + cần chuyển ngữ cảnh thường xuyên bắt đầu kết thúc I/O - CPU-bound process – tiến trình hướng xử lý: + sử dụng nhiều th.gian cho việc tính tốn việc I/O + Chiếm dụng CPU dài + cần chuyển ngữ cảnh thường xuyên để tránh trường hợp tiến trình ngăn chặn tiến trình khác sử dụng CPU - Tiến trình tương tác hay xử lý theo lơ: tiến trình chiếm dụng CPU khoảng tg gọi lượng tử th.gian(quantum) - Độ ưu tiên tiến trình: Các tiến trình đc phân cấp theo số tiêu chuẩn đánh giá - thời gian sử dụng CPU tiến trình: Cần biêt th.gian sử dụng CPU tiến trình để tiến tành điều phối (lập lịch) - thời gian cịn lại tiến trình cần để hồn tất: giảm nhiều th.gian chờ đợi trung bình tiến trình cách cho tiến trình cần tg để hoàn tất đc thực trước * Luồng – Threads - Khái niệm: Một luồng dòng xử lý hệ thống Mỗi luồng xử lý đoạn code nó, sỡ hữu trỏ lệnh, tập ghi vùng nhớ stack riêng - Phân biệt luồng tiến trình: + luồng đc coi mức thấp tiến trình, tiến trình gồm nhiều luồng + Hoạt động luồng giống tiên trình luồng chia sẻ kg gian địa chung, tiến trình hồn tồn độc lập - Khi máy tính có nhiều CPU, CPU thực công việc khác or luồng khác cho công việc - hệ thống có CPU, mõi CPU thực luân phiên nhau, kg có luồng chiếm ưu CPU - luồng hữu ích chúng loại trừ đc cần thiết phải hệ điều hành liên tục tải thông tin vào/ra nhớ - Mỗi luồng tương tác với phần riêng hệ thống, đĩa, I/O mạng or ng dùng - luồng đc lập lịch để thực số luồng chờ biến cố xảy or chờ kết thúc cơng việc từ luồng khác - luồng bao gồm: + mã luồng (thread ID) + đếm chương trình (PC) + tập ghi (register set) + stack - luồng tiến trình chia sẻ vs đoạn mã (code), đoạn liệu (data) tài nguyên hệ thống khác tệp mở, tín hiệu Câu 3: Các trạng thái tiến trình, trình chuyển trạng thái tiến trình * Các trạng thái tiến trình: - Trạng thái tiến trình thời điểm xđ hoạt động tiến trình thời điểm - q trình sống, tiến trình thay đổi trạng thái nguyên nhân: + phải dừng hoạt động hết th.gian + đợi thao tác I/O hoàn tất + phải chờ kiện xảy - Tại thời điểm, tiến trình có trạng thái: + New: tiến trình đg đc tạo + running: tiến trình đg chiếm hữu CPU thực lệnh + waiting: tiến trình đg chờ đc cấp tài nguyên or chờ kiện xuất để chuyển sang trạng thái sẵn sàng + ready: tiến trình trạng thái sẵn sàng, đc phân phối đủ tài nguyên cần thiết, chờ đến lượt đc thực theo chế lập lịch hệ điều hành + terminated: tiến trình kết thúc Nó kg biến tiến trình khác đọc đc trạng thái * Hoạt động( q trình chuyển trạng thái) + Tại thời điểm, có tiến trình nhận trạng thái running Trong đó, nhiều tiến trình trạng thái waiting hay ready + tiến trình ms tạo đc đưa vào hệ thống, đc cung cấp đủ tài nguyên trạng thái ready ( chờ đc phân phối CPU để thực hiện) + Khi tiến trình đg thực (running), chuyển sang trạng thái: _ Kết thúc( terminal) thực xong _ Chờ (waiting) tiến trình yêu cầu tài nguyên chưa đc đáp ứng tài nguyên chưa sẵn sàng để cấp phát thời điểm đó; or tiến trình phải chờ kiện or thao tác nhập/xuất _ Sẵn sàng (ready): xảy ngắt để chuyển CPU cho tiến trình có mức ưu tiên cao điều phối cấp phát cho tiến trình khoảng th.gian sử dụng CPU or hết th.gian chiếm hữu CPU + Bộ điều phối chọn tiến trình khác có trạng thái ready cho xử lý + tài nguyên mà tiến trình yêu cầu trở nên sẵn sàng để cấp phát; hay kiện or thao tác I/O tiến trình đg đợi (có trạng thái waiting) hồn tất; tiến trình chuyển sang ready Câu 4: Phân trang, phân đoạn * Phân trang: - Kg gian địa logic tiến trình kg kề nhau; tiến trình đc phân phối nhớ vật lý lúc nhớ sẵn có - Chia nhớ vật lý thành khối có kích thước cố định lũy thừa (512 bytes – 16Mb), đgl frame (page vật lý) - chia nhớ logic (dành cho tiến trình) thành khối kích thước – page, page có kích thước = frame - Ln theo dõi all frame cịn trống - để chạy ch.trình có kích thước n pages, cần phải tìm n frames cịn trống nạp chương trình - thiết lập bảng phân trang (page table) để biên dịch (translate) địa logic thành địa vật lý - nội dung phần tử page table co biết số frame (địa sở) nhớ vật lý * Cách đánh địa theo trang - địa đc đánh cách phân cấp: + Số hiệu trang (Page number - p) – Được sử dụng làm số đến phần tử bảng trang chứa địa sở frame nhớ vật lý + Offset trang (Page offset - d) – Địa tương đối trang Kết hợp vs địa sở để xác định địa nhớ vật lý đc gửi đến nhớ - Địa ảo có m bit, sử dụng m-n bit cao làm số hiệu trang n bít thấp làm Offset - Kg có phân mảnh ngồi, có phân mảnh trong: + giản cỡ trang > giảm phân mảnh  giảm hiệu + tăng cở trang  tăng hiệu suất  tăng phân mảnh * Phân đoạn: - Phương thức quản lý nhớ cho phép NSD “nhìn” nhớ cách dễ dàng góc độ lập trình - Một chương trình gồm nhiều phân đoạn, phân đoạn thể góc độ lập trình dạng: main program (Chương trình chính) function, (Các hàm) method (Các phương thức) object, (Các đối tượng, lớp) local/global variables, (Các biến) common block, (Các khối chung) stack, (Ngăn xếp) symbol table, arrays (Bảng ký hiệu, mảng) - Kiến trúc phân đoạn: + địa logic gồm thành phần: + Segement table – ánh xạ địa vật lý cấp, nội dung mục Sement table gồm có: _ Base: chứa địa vật lý đoạn nhớ _ Limit : xác định độ dài đoạn + Segment-table base register (STBR): trỏ tới vị trí Segement table (bảng ohaan đoạn) nhớ + Segement-table length register (STLR): xác định số đoạn mà chương trình sử dụng + Segement number s hợp lệ s < STLR + Phân đoạn: đoạn có kicks thước khác ( khác vs phân trang) + định vị: Động Được thực bẳng phân đoạn + phân phối nhớ: Giải toán phân phối nhớ động First Fit / Best fit / Worst fit Có phân mảnh ngồi Câu 5: Phân mảnh – Ngoài - phân mảnh (external fragmentation): tượng kích thước kg gian nhớ trống đủ để thỏa mãn yêu cầu cấp phát kg gian nhớ lại kg liên tục Hiện tượng phân mảnh xảy bạn thường xuyên cấp phát vùng nhớ mới, sau xóa phân vùng cấp phát cách kg thứ tự - phân mảnh (internal fragmentation): tượng có vùng nhớ dư thừa ta cấp phát vùng nhớ lớn kích thước yêu cầu VD: cấp khoảng trống 18,464 bytes cho process yêu cầu 18,462 bytes Hiện tượng phânmảnh nội thường xảy nhớ thực đc chia thành khối kích thước cố định ( fixed-sized block) process đc cấp pát theo đơn vị khối Câu 6: Kỹ thuật Overlay - Ý tưởng: giữ nhớ lệnh liệu cần đến thời điểm (thường module tải)  giảm kg gian nhớ liên tục dành cho ch.trình - chế Overlay + cho phép tổ chức ch.trình thành đơn vị ch.trình(module) + Module ln tồn q trình thực  module chương trình + quan hệ độc lập/phụ thuộc có mặt nhóm module nhớ địi hỏi/khơng địi hỏi có mặt nhóm module khác + module độc lập kg cần thiết phải có mặt đồng thời nhớ - Cần đến tiến trình có dung lượng lớn nhứ đc cấp phát cho * Ưu điêm – nhược điểm - Ưu điểm: + cấu trúc Overlay có tính chất định vị động  cho phép sử dụng nhớ nhiều phần nhớ mà hệ thống dành cho ch.trình Cấu trúc ch.trình mang tính chất tĩnh, kg thay đỏi tất lần thực chương trình + so vs cấu trúc động,cấu trúc Overlay địi hỏi cung cấp thơng tin đơn giản, kg gắn cấu trúc vào chương trình nguồn + vs sơ đồ Overlay tốt module độ dài kg lớn hiệu kg so vs cấu trúc động - Nhược điểm: Hiệu tiết kieemk nhớ phụ thuộc cách tổ chức, bố trí module chương trình Câu 7: Liên kết thư viện(liên kết động cho windows dll) Dynamic linking( Liên kết động): - Quá trình link đến module (external module) thực sau tạo xong load module (i.e file thực thi, executable) + Ví dụ Windows: module ngồi file DLL cịn Unix, module file so (shared library) - Load module chứa stub tham chiếu (refer) đến routine external module + Lúc thực thi, stub thực thi lần đầu (do process gọi routine lần đầu), stub nạp routine vào nhớ, tự thay địa routine routine thực thi + Các lần gọi routine sau xảy bình thường - Stub cần hỗ trợ OS (như kiểm tra xem routine nạp vào nhớ chưa) * Ưu điểm dynamic linking: - Thông thường, external module thư viện cung cấp tiện ích OS Các chương trình thực thi dùng phiên khác external module mà không cần sửa đổi, biên dịch lại - Chia sẻ mã (code sharing): external module cần nạp vào nhớ lần Các process cần dùng external module chia sẻ đoạn mã external module Þ tiết kiệm không gian nhớ đĩa - Phương pháp dynamic linking cần hỗ trợ OS việc kiểm tra xem thủ tục chia sẻ process phần mã riêng process (bởi có OS có quyền thực việc kiểm tra này) Câu 8: chất địa vật lý,logic - Để quản lý nhớ cách hồn chỉnh, cần có hai cách nhìn địa khác nhau: + Địa logic (Logical address) – vị trí nhớ diễn tả chương trình Mọi tham chiếu nhớ mã lệnh chương trình compiler tạo địa logic - sinh CPU; gọi địa ảo (virtual address) + Địa vật lý (Physical address): vị trí thực nhớ Địa vật lý chuyển từ địa logic trình biên dịch thức j trình linking/loading - gọi địa thật – sinh đơn vị quản lý nhớ - Địa thật ảo giống lược đồ ánh xạ địa “compiletime” “load-time” khác “execution-time” Câu 9: Hoạt động quản lý tiến trình OS Câu 10: Lập lịch - Lập lịch phép thực phân bổ gán quy trình thực thi tác vụ cho xử lý cho tác vụ thực hồn tồn - Có số thông tin tác vụ phải quan tâm lập lịch thời gian thực nào, bao gồm: • Thời gian xuất i a (arrival time): Khi kiện xảy tác vụ tương ứng kích hoạt • Thời điểm bắt đầu thực thi i r (release time): Thời điểm sớm việc xử lý sẵn sàng bắt đầu • Thời điểm bắt đầu thực i s (starting time): Là thời điểm mà tác vụ bắt đầu việc thực • Thời gian tính tốn/thực thi i c (Computation time): Là khoảng thời gian cần thiết để xử lý thực xong nhiệm vụ mà khơng bị ngắt • Thời điểm hoàn thành i f (finishing time): Là thời điểm mà tác vụ hồn thành việc thực • Thời gian rủi ro/ xấu i w (worst case time): khoảng thời gian thực lâu xảy • Thời điểm kết thúc i d (due time): Thời điểm mà tác vụ phải hoàn thành * Các phương pháp lập lịch phổ biến: Tuỳ thuộc vào loại hình tác vụ, người ta hai phương pháp lập lịch có chu kỳ khơng có chu kỳ - Lập lịch khơng ưu tiên(non‐ preemptive): Phương pháp đảm bảo tác vụ thực hoàn thành thực thi - Lập lịch ưu tiên(preemptive): Phương pháp khắc phục nhược điểm lập lịch non-preemptive thời gian thực thi tác vụ lâu Các tác vụ thực bị ngắt chừng để phục vụ thực thi tác vụ khác thời gian đáp ứng cho kiện tác vụ ngắn - Lập lịch offline/tĩnh: Việc lập lịch thực dựa hiểu biết dự báo kiện tác vụ thực hệ định thời điểm thiết kế áp dụng cố định suốt trình hoạt động hệ thống - Lập lịch online/động: Bộ xử lý thực việc lập lịch trình thực thi dựa sở thông tin hoạt động hành hệ thống Sơ đồ lập lịch không xác định trước thay đổi động theo trình thực - Lập lịch tập trung phân tán: Việc lập lịch thực áp dụng cho tác vụ thực thi (tập trung) nhiều xử lý (phân tán) - Lập lịch Mono hay Multi‐ processor: Nhiệm vụ lập lịch thực thi đảm nhiệm (mono) nhiều vi xử lý (multi)  Tính khả lập lịch: Một hệ thống với tập tác vụ điều kiện ràng buộc gọi khả lập lịch tồn chế lịch trình thực thoả mãn tác vụ điều kiện ràng buộc Câu 11: Thao tác đơn vị Câu 12: giải pháp đồng * Giải pháp Busy waiting - Giải pháp phần mềm: + Sử dụng biến cờ hiệu (simaphore) + Sử dụng việc kiểm tra luân phiên + Giải pháp Peterson - Giải pháp có hỗ trợ phần cứng; + Cắm ngắt + Test & Set * Giải pháp Sleep and Wakeup - khác phục nhược điểm giải pháp Busy waiting cách cho tiến trình chưa đủ điều kiện vào đoạn găng sang trạng thái waiting + tạm khóa tiến trình kg cho sử dụng CPU tiến trình sử dụng CPU trạng thái waiting + tiến trình chuyển sang trạng thái running trạng thái ready (sẵn sàng) - Giải pháp: + HĐH sử dụng thủ tục sleep wakeup _ sleep lời gọi hệ thống có tác dụng tạm dừng hoạt động tiến trình (chuyển sang trạng thái waiting) gọi chờ đến đc tiến trình khác _ lời gọi hệ thống wakeup nhận tham số nhất: tiến trình đc tái kích hoạt (đặt trạng thái ready) + ý tưởng _ tiến trình chưa đủ điều kiện vào đoạn găng, gọi sleep đẻ tự khóa đến có tiến trình khác gọi wakeup để igiair phóng cho _ tiến trình gọi wakeup khỏi miền găng để đánh thức tiến trình đg chờ, tạo hội cho tiến trình vào miền găng - Các giải pháp phổ biến: + Simaphore (Dijktra đề xuất) + Monitors + Trao đổi thông điệp Câu 13: Khóa chết, RAG * Khóa chết (Deadlock) - Bốn điều kiện cần (necessary condition) để xảy deadlock + Mutual exclusion: tài nguyên giữ theo nonsharable mode (ví dụ: printer; ví dụ sharable resource: read-only files) + Hold and wait: process giữ tài nguyên đợi thêm tài nguyên trình khác giữ + No preemption: (= no resource preemption) tài nguyên bị lấy lại, mà trả lại từ process giữ tài nguyên khi muốn + Circular wait: tồn tập {P0,…,Pn} trình đợi cho : P0 đợi tài nguyên mà P1 giữ P1 đợi tài nguyên mà P2 giữ … Pn đợi tài nguyên mà P0 giữ * Các phương pháp giải deadlock Ba phương pháp - Bảo đảm hệ thống không rơi vào tình trạng deadlock cách ngăn (preventing) tránh (avoiding) deadlock Khác biệt +Ngăn deadlock: khơng cho phép (ít nhất) điều kiện cần cho deadlock +Tránh deadlock: q trình cần cung cấp thơng tin tài nguyên cần để hệ thống cấp phát tài nguyên cách thích hợp - Cho phép hệ thống vào trạng thái deadlock, sau phát deadlock phục hồi hệ thống - Bỏ qua vấn đề, xem deadlock không xảy hệ thống + Khá nhiều hệ điều hành sử dụng phương pháp +Deadlock không phát hiện, dẫn đến việc giảm hiệu suất hệ thống Cuối cùng, hệ thống ngưng hoạt động phải khởi động lại Câu 14: kỹ thuật định vị (phân bổ - allocation) file ổ đĩa: liên tục, số, liên kết * An allocation method refers to how disk blocks are allocated for files: - Contiguous allocation( Định vị liên tục) - Linked allocation( Định vị liên kết) - Indexed allocation( Định vị số) * Contiguous allocation( Định vị liên tục) - Each file occupies(chiếm giữ) a set of contiguous blocks on the disk(tập liên tiếp khối) - Simple – only starting location (block #) and length (number of blocks) are required - Random access - Wasteful of space (dynamic storage-allocation problem)-lãng phí khơng gian nhớ: Có thể cịn nhiều vùng nhớ trống rời rạc vùng không đủ lưu trữ trọn vẹn file - Files cannot grow - Extent-Based Systems: + Many newer file systems (I.e Veritas File System) use a modified contiguous allocation scheme + Extent-based file systems allocate disk blocks in extents.-Hệ thống file định vị disk theo miền(khu vực - extent) + An extent is a contiguous block of disks Extents are allocated for file allocation A file consists of one or more extents => File gồm tập miền rời rạc, miền lại tổ chức thành khối liên tục * Linked allocation( Định vị liên kết) - Each file is a linked list of disk blocks: Blocks may be scattered(rải rác) anywhere on the disk - Simple – need only starting address : Địa bắt đầu trỏ trỏ đến đầu danh sách liên kết - Free-space management system – no waste of space - No random access - Mapping + File-allocation table (FAT) – disk-space allocation used by MSDOS and OS/2 + Truy cập bảng FAT => danh sách khối file * Indexed allocation( Định vị số) - Brings all pointers together(gắn với) into the index block : Mọi trỏ gắn khối số xác định + Logical view: - Need index table - Random access - Dynamic access without external fragmentation, but have overhead of index block - Mapping from logical to physical in a file of maximum size of 256K words and block size of 512 words We need only block for index table.(Để ánh xạ file có kích thước tối đa 256K từ nhớ với kích thước khối 512 từ nhớ cần khối cho bảng số) Vì 512 x 512 = 29 x 29 = 28 x 210 = 256K - Mapping from logical to physical in a file of unbounded length (block size of 512 words) (Ánh xạ đến file có kích thước tùy ý) - Linked scheme – Link blocks of index table (no limit on size).: Kích thước file tùy thuộc vào kích thước bảng số ... song song thành hai loại: + Đa xử lý đối xứng _ Mỗi xử lý chạy hệ điều hành _ Nhiều tiến trình chạy lúc mà không gây hỏng _ Hầu hết hệ hệ điều hành hỗ trợ đa xử lý đối xứng + Đa xử lý không đối... HĐH, hệ song song, phân tán, hệ thời gian thực; loại HĐH? * Hệ điều hành: - Hệ điều hành chương trình (mã nguồn liệu tham số hệ thống) cài đặt sẵn có chức năng: + Điều phối, phân phối công việc... phép mạch điều khiển ổ đĩa đọc Bit lưu trữ câu 1: Hệ điều hành gì? cho ví dụ hệ thống khơng có HĐH? ví dụ hệ thống có HĐH? TL: Hệ điều hành chương trình( mã nguồn liệu-các tham số hệ thống) cài

Ngày đăng: 27/09/2020, 17:48

Từ khóa liên quan

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

Tài liệu liên quan