ĐỀ CƯƠNG HỆ ĐIỀU HÀNH Mô tả tài liệu:Đây là tài liệu tổng lý thuyết hệ điều hành theo giáo trình môn Hệ điều hành của trường Đại học Mở thành phố Hồ Chí Minh. Lý thuyết đã được tóm gọn trọng tâm, có thể giúp bạn đạt được 4 chấm...
ĐỀ CƯƠNG HỆ ĐIỀU HÀNH Mục lục ÔN THI CUỐI KÌ CHƯƠNG CHƯƠNG CHƯƠNG CHƯƠNG CHƯƠNG CHƯƠNG 14 ƠN THI CUỐI KÌ CHƯƠNG 1 Khái niệm hệ điều hành: Hệ điều hành chương trình/ hệ chương trình hoạt động người sử dụng (user) phần cứng máy tính Mục tiêu hệ điều hành: Làm cho máy tính dể sử dụng hiệu Quản lý cấp phát tài nguyên hệ thống cách có hiệu Các chức bản: Cung cấp mơi trường để người sử dụng thực thi chương trình Điều kiện phối hợp việc sử dụng phần cứng Cung cấp ccác dịch cho ứng dụng Phân chia thời gian xử lý, định thời CPU Phói hợp đồng hoạt động tiến trình Quản lý tài nguyên hệ thống (bộ nhớ, file, …) Kiểm soát lỗi, bảo vệ CHƯƠNG Vai trị hệ điều hành quản lí tiến trình Tạo huỷ tiến trình người dùng tiến trình hệ thống Dừng khơi phục tiến trình Cung cấp chế để đồng hố tiến trình Cung cấp chế liên lạc tiến trình Cung cấp chế xử lí bế tắc (deadlock) Các trạng thái tiến trình + Bài tập New: tiến trình tạo lập Running thị tiến trình xử lí Waiting: tiến trình chờ cấp phát tài nguyên, hay có kiện xảy Ready: tiến trinh chờ cấp phát CPU Terminated: tiến trình kết thúc xử lý Truyền thơng tiến trình Mục tiêu: + Chia sẻ thơng tin Hợp tác hồn thành tác vụ + Chia nhà tác v để thưc thi song song + Dữ liệu tiến trình liệu đầu vào cho tiến trình khác + HĐH cần cung cấp chế để tiến trình trao đổi thơng tin với Các dạng tương tác tiến trình + Tín hiệu (Signal) + Pipe (đường ống) + Vùng nhớ chia sẻ Trao đổi thông điệp (Message) + Sockets (đặc biệt dùng môi trường mạng) xem lại khái niệm slide trang 40 Vấn đề tranh chấp tài nguyên + tập Trong hệ thống có nhiều tiến trình chạy Các tiền trình chia sẻ tài nguyên chung (file system, CPU ) Nhiều tiến trình truy xuất đồng thời tài nguyên-mang chất không chia sẻ Xảy vấn đề tranh đoạt điều khiển (Race Condition) ** Race Condition •Lý xảy Race condition: Hai nhiều tiến trình đọc/ghi liệu vùng nhớ chung • Một tiến trình xen vào trình truy xuất tài nguyên tiền trinh khác Giải pháp: đảm bảo cho tiến trình hồn tất việc truy xuất tài ngun chung trước có tiến trình khác can thiệp ** Critical section - Miền găng (CS) đoạn chương trình có khả gây tình trạng race condition - Để khơng xảy tình trạng Race condition bảo đảm tinh "độc quyền truy xuất" (Mutual Exclusion) cho miền găng (CS) Giải Pháp: •Đồng hóa tiến trình: bảo đảm thời điểm có tiến trình xử lý miền găng •Bốn mục tiêu đồng hóa tiến trình: Mutual exclusion: Khơng có hai tiến trình miền găng lúc Progress: Một tiến trình bên ngồi miền gầng khơng ngăn cản tiến trình khác vào miền găng Bounded waiting: Khơng có tiền trinh phải chở vô hạn để vào miền găng Khơng có giả định đặt tốc độ tiến trình số lượng CPU Đồng hố tiến trình Slide Phần 2.3.3 trang 47 Cờ hiệu Kiểm tra luân phiên Peterson Mutex Semaphore Monitor CHƯƠNG Điều kiện xảy deadlock: Ngăn chặn lẫn (Mutual exclusion): tài nguyên bị chiém tiến trình khơng tiến trình khác sử dụng tài nguyên Giử đợi (Hold and wait): tiến trình giữ tài ngun chờ đợi số tài nguyên khác bị tiến trình khác nắm giữ Khơng có đặc quyền (No – preemption): thu hồi tài nguyên cấp cho tiến trình mà phải chờ tiến trình trả lại tài nguyên sau sử dụng xong Chờ đợi vịng trịn (circular wait): tập tiến trình {P0, P1, …, Pn} o P0 chờ tài nguyên P1 chiếm giữ o P1 chờ tài nguyên khác P2 chiếm giữ o Pn-1 chờ tài nguyên Pn chiếm giữ o Pn chờ tài nguyên P0 chiếm giữ Deadlock là: tình trạng hệ thống tồn tâọ hợp tiến trình bị khóa, tiến trình chờ kiện mà tiến trình khác tạo ra, kết không tiến trình hồn thành Ngăn chặn deadlock: ngăn chặn điều kiện làm xảy deadlock Loại trừ lẫn (mutual exclution) o Đảm bảo hệ thống khơng có tài ngun khơng thể chia sẻ gần không tránh Giử chờ cấp thêm tài nguyên (hold and wait): o Đảm bảo tiến trình u cầu tài ngun khơng giửu tài nguyên khác Bắt buộc tiến trình phải u cầu tồn tài ngun cần thiết lần, có đủ tài nguyên hệ thống cấp phát, khơng đủ tài ngun tiến trình bị block Khi yêu cầu tài nguyên, tiến trình khơng giữ tài ngun khác, có phải trả tài nguyên giữ trước yêu cầu o Hạn chế: Hiệu sử dụng tài nguyên thấp Có khả starvation Ngăn chặn khơng có đặc quyền: o Cách 1: tiến trình giử số tài nguyên yêu cầu tài ngun khơng có sẵn tiến trình phải trả tất tài nguyên giữ o Cách 2: tài ngun mà tién trình u cầu khơng có sẵn: Nếu tài nguyên cấp phát tới tiến trình khác chờ tài nguyên bổ sung -> thu hồi lại -> cấp cho tiến trình u cầu Nếu tài ngun cấp phát tới tiến trình khơng đợi tài nguyên, tiến trình yêu cầu phải chờ soó tài nguyên nắm giữ địi lại có tiến trình khác u cầu o Được áp dụng cho tài nguyên mà trạng thái lưu cập nhật để dàng ghi CPU không gian nhớ Ngăn chặn tạo chu trình đồ thị cấp phát tài nguyên: o Cấp phát tài nguyên theo thứ tự phân cấp sau: Gọi R= {R1, R2, …, Rm} tập hợp loại tài nguyên Đánh số thứ tự cho lọa tài nguyên cách định nghĩa hàm ánh xạ – F: R -> N (N tập hợp số tự nhiên) Ví dụ: F (ổ bang từ) =1, F (đĩa từ) =5, F (máy in)=12 Một tiến trình giữ tài nguyên Ri yêu cầu tài nguyên Rj F(Rj)>F(Ri) Tránh deadlock: Sử dụng thuật toán cấp phát tài nguyên với đầu vào thông tin yêu câu cấp phát tài nguyên tiến trình để định cấp phát tài nguyên cho deadlook khơng xảy Có nhiều thuật tốn tránh deadlock Thuật toán đơn giản: o Biết trước số thể loại tài nguyên mà mõi tiến trình sử dụng o Hệ thống có đủ thơng tin để xây dựng thuật tốn cấp phát khơng gây bế tắc Mục tiêu thuật toán kiểm tra trạng thái cấp phát tài nguyên “động” để đảm bảo điều kiện tạo chu trình chờ khơng xảy Trạng thái cấp phát tài nguyên xác định bởi: o Số lượng tài nguyên rỗi o Số lượng tài nguyên cấp phát cho tiến trình o Số lượng tối đa tài nguyên mà tiến trình u cầu Hai thuật tốn: o Thuật tốn đồ thị cấp phát tài nguyên o Thuật toán banker Phát deadlock: Nếu khơng áp dụng phịng tránh ngăn chặn deadlock hệ thống bị deadlock Khi đó: o Cần có thuật tốn kiểm tra trạng thái để xem có deadlock xuất hay khơng o Thuật tốn khơi phục deadlock xảy Cần có giải thuật áp dụng cho hệ thống mà loại tài nguyên có thẻ hệ thống mà loại tài nguyên có nhiều thể CHƯƠNG Chức hệ điều hành quản lí nhớ TRẢ LỜI - Ba chức HĐH quản lý nhớ: + Theo dõi phần nhớ sử dụng + Quyết định tiến trình nap vào nhớ + Định vị tài định vị không gian nhớ cần thiết Khái niệm phân mảnh nội/ngoại, swaping TRẢ LỜI - Phân mảnh nội (Internal Fragmentation) – block cấp phát lớn yêu cầu nhớ - Phân mảnh ngoại vi (External Fragmentation) – tổng nhớ trồng thỏa yêu cầu, không liên tục *Giải pháp phân mảnh ngoại vi, kết hợp Chuyên vùng trồng thành khối nhớ liên tục *Chỉ thực HĐH hỗ trợ biên dịch địa thời gian thực thi Swaping: Tiến trình trạng thái chờ tạm thời chuyên nhớ phụ (swap out), sau đươc chuyển vào nhớ (swap in) để tiếp tục xử lý Xem slide trang 117141 Bài tập thuật toán thay - CHƯƠNG Hiện thực hệ thống file Các phương pháp cấp phát không gian cho file o Cấp phát liên tục Lưu trử file dãy khối liên tiếp Mỗi phần tử bảng thư mục: Tên file Vị trí khối (cluster) Kích thước (số khối) Ưu điểm: đơn giản, dể cài đặt, dễ thao tác tồn file đọc từ đĩa thao tác đơn giản không cần định vị lại Hạn chế: Không linh động Phân mãnh ngoại vi o Cấp phát theo danh sách liên kết Các khối file nằm vị trí khơng liên tục Mỗi file bảng thư mục: Tên file Vị trí khối (start) Vị trí khối kết thúc (end) Mỗi vị trí đĩa: Con trỏ (~ bytes) trỏ đến vị trí khối Dữ liệu file Nhận xét: Không phân mãnh ngoại vi Truy xuất ngẫu nhiên chậm Tốn nhớ lưu trỏ Một trỏ lỗi -> file o FAT Mơ hình cấp phát khơng liên tục, sử dụng FAT: Giải uyết hạn chế cấp phát dung danh sách liên kết Mõi mục bảng thư mục lưu số hiệu khối Các khối lại file lưu bảng FAT, phần tử có trỏ đến khối Ưu điểm: Dể quản lý số hiệu khối dã cấp cho file Truy xuất ngẫu nhiên dể dàng Kích thước file dể mở rộng Hạn chế Bảng FAT có kích thước giới hạn o Cấp phát dùng số index Sử dụng bảng mục (1 mảng) chứa tất khối file Một mục bảng thư mục Tên file Vị trí khối bảng mục file (phần tử i quản lý cluster i) Ưu điểm: Hổ trợ truy cập trực tiếp -> truy cập ngẫu nhiên tốt Không phân mãnh ngoại vi Nhược điểm: Tốn không gian lưu trử bảng index file có kích thướt vài block Nếu khối lưu bảng index bị bad -> tập tin o I – nodes Sử dụng UNIX Mỗi file quản lý cấu trúc gọi I – nodes Mỗi I – nodes bao gồm: Phần lưu trử thuộc tính file Phần thứ gòm LINUX: 12 (UNIX v7:10) trỏ đến khối liệu file Ba phần tử cần lại trỏ đến bảng thứ cấp: single, double, w triple Tổ chức quản lý đĩa I – nodes: MBR (master boot record): sector chứa thông tin đĩa Partition Table: bảng phân vùng chứa thông tin phân vùng Tổ chức phân vùng gồm: boot block, supper block, free space mgmt, I – nodes, root dir, files, directories I – nodes: bảng chứa I – node ghi thông tin file Mỗi mục bảng thư mục gốc (root - dir) ghi tên file số hiệu I – node file Ưu điểm: Quản lý hiệu hệ thống file lớn o NTFS (New technology file system) Đặc điểm NTFS NTFS hệ thống file mạnh linh động, đặc điểm bật là: Khả phục hồi Bảo mật Quản lý đĩa dung lượng lớnvà kích thước file lớn Quản lý hiệu quả, sử dụng nhiều data stream cho file Nén, mã hóa Hard link, symbolic link Mọi phần tử volume file, file tập hợp thuộc tính Nội dung liệu file xem thuộc tính Cấu trúc volume NTFS Partition boot sector: sector khởi động partition (có thể đến 16 sectors) bao gồm thông tin cáu trúc volume, cấu trúc hệ thống file, mã nguồn khởi động … Master file table (MFT): chứa thông tin file thư mục đĩa System file: vùng chứa file hệ thống gồm: MFT2: MFT Log file: thông tin giao tác dụng cho việc hồi phục hồi Cluster bitmap: biểu diễn thông tin lưu trử cluster Bảng thuộc tính: định nghĩa kiểu thuộc tính hỗ trợ cho volume File area: vùng chứa nội dung thực tập tin Master File Table (MFT): Lưu thông tin tất file thư mục volume NTFS, kể vùng trống MFT tổ chức bảng gồm nhiều hàng Mỗi hàng (1024 bytes) gọi record mô tả cho file thư mục Volume Nếu kích thước file nhỏ tồn nội dung file lưu hàng Trường hợp file lớn, thông tin file lưu hàng phần lại file ghi vào cluster đĩa, trỏ đến cluster lưu hang chứa thông tin file Mỗi hàng lưu thuộc tính cho file hay thư mục mà quản lý Các thuộc tính file NTFS: Thơng tin chuẩn: thuộc tính truy cập, thời điểm truy cập/sửa đổi lần cuối, số liên kết Danh sách thuộc tính: sử dụng tất thuộc tính vượt hàng MFT Tên tập tin Mơ tả an tồn: thơng tin người sở hữu quyền truy cập Dữ liệu Chỉ mục gốc: dùng cho thư mục Chỉ mục định vị: dùng cho thư mục Thông tin volume Bitmap: sơ đồ mô tả trạng hàng MET Quản lý khối trống o Dùng danh sách liên kết: phần tử DSLK khối chứa bảng gồm số hiệu khối trống, phần tử cuối bảng lưu số hiệu khối danh sách o Nhận xét: Đĩa hoàn toàn trống: tốn nhiều khối nhớ cho DSLK đĩa gần đây: tốn khối nhớ cho DSLK o Dùng vector bit (dãy bit) bit thứ i =1: khối thứ trống bit thứ i =0: khối thứ i có liệu Vector bit lưu | nhiều khối đĩa, cần đọc vào nhớ để xử lý Ưu điểm: Ít tốn khối nhớ so với DSLK Hạn chế: Kích thước vector cố định HĐH cần đồng vector bit nhớ vector bit đĩa Hệ thống file MS - DOS Nội dung file chia thành block file lưu trữ cluster đĩa, cluster khơng nằm kề Bảng FAT: o Quản lý danh sách cluster chứa nội dung file tất file o Ghi nhận trạng thái cluster đĩa: trống, cấp phát cho file, bị bad sử dụng hay dành riêng cho hệ điều hành Trong q trình khởi động máy tính HĐH nạp bảng FAT vào nhớ để chuẩn bị cho việc đọc/ghi file sau Khi cần đọc/ghi file, HĐH phải dựa vào bảng FAT Bảng FAT hỏng -> ghi/đọc file đĩa ->HĐH DOS tạo hai bảng FAT hoàn toàn giống FAT1 FAT2 (dự phịng) Nếu FAT1 bị hỏng DOS sử dụng FAT2 để khôi phục lại FAT1 Trong hệ thống file FAT32: FAT1 bị hỏng HĐH chuyển sang sử dụng FAT2, sau khôi phục FAT1, ngược lại Bảng FAT bao gồm nhiều phần tử, phần tử đánh địa Mỗi phần tử bảng FAT cho biết trạng thái cluster tương ứng vùng liệu HĐH DOS định dạng hệ thống file theo loại FAT FAT12 FAT16 o Mỗi phần tử FAT12 rộng 12 bít (1.5 byte) o Mỗi phần tử FAT16 rộng 16 bít(2 byte) Bảng giá trị phần tử FAT: o 000h (0000h): cluster tương ứng để trống o FF7h (FFF7h): cluster tương ứng bị bad o FF0h (FFF0h) - FF6h (FFF6h): cluster tương ứng dành riêng cho hệ điều hành o FF8h (FFF8h) - FFFh (FFFFh): cluster tương ứng cluster cuối dãy cluster chứa nội dung file o 002h (0002h) – FFEh (EFFEh): số hiệu cluster bảng FAT, cho biết cluster dãy cluster chứa nội dung file Trong bảng FAT, hai phần tử (00 01) sử dụng để chứa giá trị nhận biết khuôn dạng đĩa, gọi byte định danh (byte ID) đĩa, byte bảng FAT o Đối với đĩa cứng byte ID = F8h Để đọc nội dung file đĩa, HĐH phải tìm dãy cluster chứa nội dung file o Cluster chứa bảng thư mục gốc o Các cluster lại đượ chứa bảng FAT Nhận xét: o Thao tác đọc file DOS hiệu • đọc nội dung file cluster vùng data đĩa Đọc phân tích bảng FAT để cluster chứa nội dung file • Khắc phục Lưu danh sách cluster chứa nội dung file vào danh sách • đọc file hệ điều hành cần đọc nội dung cluster đĩa theo danh sách LPU danh sách cluster cịn trống đĩa » tốc độ ghi file nhanh • Windows 98, WindowsNT/2000 Root Directory: o Quản lý thông tin file thư mục lưu trữ | thư mục gốc đĩa mềm đĩa logic đĩa cứng o Số lượng phần tử bảng thư mục gốc DOS quy định trước trình Format đĩa ghi Word offset 11h boot sector, giá trị thay đổi Tổng số file thư mục chửa thư mục gốc đĩa có giới hạn Đây hạn chế DOS Mỗi phần tử bảng thư mục gốc có kích thước 32 byte, dùng để chứa thông tin file/thư mục lưu thư mục gốc đĩa o Khi file/thư mục tạo thư mục gốc đĩa HĐH dùng phần tử bảng thư mục gốc để chứa thơng tin liên quan o Khi file/thư mục bị xoá/di chuyển khỏi thư mục gốc HĐH thu hồi lại phần tử Byte (offset 00) phần tử thư mục gốc (byte trạng thái) chứa giá trị đặc biệt sau đây: o cho biết phần tử chưa sử dụng o E5h: phần tử file tạo bị xóa 05h: kí tự tên file thực tế E5h, file tạo có tên bắt đầu kí tự CĨ mã asscii E5h thay kí tự có mã 05h, để phân biệt file với file bị xố o 2Eh (kí tự ’.’): phần tử chứa thông tin thư mục con, byte thứ 2Eh (“ ”) trường start cluster chứa số hiệu cluster thư mục cha, thư mục gốc 0000h Trường hợp Xóa file: o HĐH thay kí tự tên file phần tử bảng thư mục gốc giá trị E5h Có thể khơi phục lại file này, thay kí tự mã E5h byte tên file kí tự khác o Khi duyệt bảng thư mục gốc gặp phần tử có byte đầu = E5h HĐH biết phần tử file bị xóa nên khơng in hình o Trường hợp không khôi phục được: sau thời gian, HĐH sử dụng phần tử thư mục gốc, phần tử bảng FAT cluster vùng data file bị xóa, cấp phát cho file Trường hợp ghi file: HĐH DOS thực bước sau: a Tìm phần tử mà byte chứa gia trị 00 Giả sử tìm phần tủ thứ 105 b Ghi tên file, phần mở rộng, thuộc tính file, ngày tạo file vào trường tương ứng phần tử 105 bảng thư mục gốc c Tìm phần tử bảng FAT chứa giá trị 000h, giả sử tìm 207 -> cluster 207 vùng data cịn trống d Ghi giá trị 207, vào trường start cluster offset Ah phần tử 105 bảng thư mục gốc e Ghi block file vào cluster 207 vùng data Nếu nội dung file chứa vừa đủ cluster, DOS thực bước 9, ngược lại DOS tiếp tục thực bước 6 Tiếp tục tìm phần tử bảng FAT chứa giá trị 000h, giả sử tìm phân tử 215 -> cluster 215 vùng data trông Ghi giá trị 215 vào phần tử 207 bảng FAT ghi block thứ hai file vào cluster 215 vùng data Lặp lại bước ghi hết block file vào cluster vùng data Giả sử block cuối file ghi vào cluster n Bước cuối cùng: ghi giá trị FFFh vào phần tử n bảng FAT 10 Tính kích thước file ghi vào trường filesize phần tử 105 bảng thư mục gốc Thư mục (subdirectory): o o Số phần tử bảng thư mục gốc cố định, mở rộng DOS quy định trình định dạng đĩa -> khái niệm thu mục o Cấu trúc phần tử bảng thư mục thư mục tương tự cấu trúc phân tử bảng thư mục gốc Đều chứa thông tin thư mục (con) gồm: trường Filename tên thư mục (con) trường Attribute = 16 (00010000) trường Start cluster = cluster thư mục (con) trường Filesize = Hai phần tử bảng thư mục thư mục chứa giá trị đặc biệt Đặc điểm thư mục DOS: o Được lưu trữ giống file khác đĩa, muôn đọc thư mục HĐH phải bảng FAT o Bảng thư mục thư mục có số lượng phần tử khơng giới hạn Có thể định vị vị trí vùng data đĩa, tạo nhiều thư mục đĩa bảng thư mục thư mục chiếm hết nhiều khơng gian đĩa vùng data Virus khó công bảng thư mục thư mục khơng cố định o Kích thước thư mục kích thước tất file dựa vào bảng thư mục thư mục bảng FAT Tạo thư mục con: HĐH tạo bảng thư mục cho khởi tạo phần tử bảng thư mục này: o Phần tử thứ nhất: byte trường filename chứa mã ascii kí tự dấu chấm (.) Phần tử đến thư mục hành Trường Start cluster cho biết cluster bắt đầu thư mục o Phần tử thứ hai: byte trường filename chứa mã ascii kí tự dấu chấm ( ) phần tử đến thư mục cha Trường Start cluster cho biết cluster bắt đầu thư mục cha nó, cha thư mục gốc trường chứa giá trị CHƯƠNG Xem silde trang 384 ... dụng cho hệ thống mà loại tài nguyên có thẻ hệ thống mà loại tài nguyên có nhiều thể CHƯƠNG Chức hệ điều hành quản lí nhớ TRẢ LỜI - Ba chức HĐH quản lý nhớ: + Theo dõi phần nhớ sử dụng + Quyết... Ưu điểm: Quản lý hiệu hệ thống file lớn o NTFS (New technology file system) Đặc điểm NTFS NTFS hệ thống file mạnh linh động, đặc điểm bật là: Khả phục hồi Bảo mật Quản lý đĩa dung lượng... Bảng FAT: o Quản lý danh sách cluster chứa nội dung file tất file o Ghi nhận trạng thái cluster đĩa: trống, cấp phát cho file, bị bad sử dụng hay dành riêng cho hệ điều hành Trong trình khởi