(NB) Giáo trình Nguyên lý Hệ điều hành gồm các nội dung chính được trình bày như sau: Tổng quan về hệ điều hành, điều khiển dữ liệu, điều khiển bộ nhớ, quản lý vùng nhớ phụ, quản lý vào ra, hệ thống quản lý file;...Mời các bạn cùng tham khảo!
TRƯỜNG CAO ĐẲNG NGHỀ CÔNG NGHIỆP HÀ NỘI Tác giả : Lê Văn Hùng(chủ biên) Trần Thị Ngân GIÁO TRÌNH Nguyên lý Hệ điều hành (Lưu hành nội bộ) Hà Nội năm 2011 Nguyên lý hệ điều hành Tuyên bố quyền Giáo trình sử dụng làm tài liệu giảng dạy nội trường cao đẳng nghề Công nghiệp Hà Nội Trường Cao đẳng nghề Công nghiệp Hà Nội không sử dụng không cho phép cá nhân hay tổ chức sử dụng giáo trình với mục đích kinh doanh Mọi trích dẫn, sử dụng giáo trình với mục đích khác hay nơi khác phải đồng ý văn trường Cao đẳng nghề Công nghiệp Hà Nội Nguyên lý hệ điều hành CHƯƠNG 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH 1.1 Khái niệm hệ điều hành Hệ điều hành hệ thống 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 cung cấp mơi trường để người sử dụng thi hành chương trình Nó làm cho máy tính dễ sử dụng hơn, thuận lợi hiệu Hệ điều hành phần quan trọng hầu hết hệ thống máy tính Một hệ thống máy tính thường chia làm bốn phần : phần cứng, hệ điều hành, chương trình ứng dụng người sử dụng Phần cứng bao gồm CPU, nhớ, thiết bị nhập xuất, tài ngun máy tính Chương trình ứng dụng chương trình dịch, hệ thống sở liệu, trị chơi, chương trình thương mại Các chương trình sử dụng tài ngun máy tính để giải yêu cầu người sử dụng Hệ điều hành điều khiển phối hợp việc sử dụng phần cứng cho ứng dụng khác nhiều người sử dụng khác Hệ điều hành cung cấp mơi trường mà chương trình làm việc hữu hiệu Hình 1.1 Mơ hình trừu tượng hệ thống máy tính Hệ điều hành coi phân phối tài nguyên máy tính Nhiều tài nguyên máy tính thời gian sử dụng CPU, vùng nhớ, vùng lưu trữ tập tin, thiết bị nhập xuất v.v… chương trình yêu cầu để giải vấn đề Nguyên lý hệ điều hành Hệ điều hành hoạt động quản lý tài nguyên phân phối chúng cho chương trình người sử dụng cần thiết Do có nhiều yêu cầu, hệ điều hành phải giải vấn đề tranh chấp phải định cấp phát tài nguyên cho yêu cầu theo thứ tự để hoạt động máy tính hiệu Một hệ điều hành coi chương trình kiểm sốt việc sử dụng máy tính, đặc biệt thiết bị nhập xuất Tuy nhiên, nhìn chung chưa có định nghĩa hồn hảo hệ điều hành Hệ điều hành tồn để giải vấn đề sử dụng hệ thống máy tính Mục tiêu giúp cho việc thi hành chương trình dễ dàng Mục tiêu thứ hai hỗ trợ cho thao tác hệ thống máy tính hiệu Mục tiêu đặc biệt quan trọng hệ thống nhiều người dùng hệ thống lớn(phần cứng + quy mô sử dụng) Tuy nhiên hai mục tiêu có phần tương phản lý thuyết hệ điều hành tập trung vào việc tối ưu hóa việc sử dụng tài nguyên máy tính 1.2 Lịch sử phát triển hệ điều hành Thế hệ (1945 – 1955) Vào khoảng thập niên 1940, Howard Aiken Havard John von Neumann Princeton, thành công việc xây dựng máy tính dùng ống chân khơng Những máy lớn với 10000 ống chân không chậm nhiều so với máy rẻ ngày Mỗi máy nhóm thực tất từ thiết kế, xây dựng lập trình, thao tác đến quản lý Lập trình ngơn ngữ máy tuyệt đối, thường cách dùng bảng điều khiển để thực chức Ngơn ngữ lập trình chưa biết đến hệ điều hành chưa nghe đến Vào đầu thập niên 1950, phiếu đục lổ đời viết chương trình phiếu thay cho dùng bảng điều khiển Thế hệ (1955 – 1965) Sự đời thiết bị bán dẫn vào thập niên 1950 làm thay đổi tranh tổng thể Máy tính trở nên đủ tin cậy Nó sản xuất cung cấp cho khách hàng Lần có phân chia rõ ràng người thiết kế, người xây dựng, người vận hành, người lập trình, người bảo trì Nguyên lý hệ điều hành Để thực công việc (một chương trình hay tập hợp chương trình), lập trình viên trước hết viết chương trình giấy (bằng hợp ngữ hay FORTRAN) sau đục lỗ phiếu cuối đưa phiếu vào máy Sau thực xong xuất kết máy in Hệ thống xử lý theo lơ đời, lưu yêu cầu cần thực lên băng từ, hệ thống đọc thi hành Sau đó, ghi kết lên băng từ xuất cuối người sử dụng đem băng từ xuất in Hệ thống xử lý theo lô hoạt động điều khiển chương trình đặc biệt tiền thân hệ điều hành sau Ngơn ngữ lập trình sử dụng giai đoạn chủ yếu FORTRAN hợp ngữ Thế hệ (1965 – 1980) Trong giai đoạn này, máy tính sử dụng rộng rãi khoa học thương mại Máy IBM 360 máy tính sử dụng mạch tích hợp (IC) Từ kích thước giá hệ thống máy giảm đáng kể máy tính phỗ biến Các thiết bị ngoại vi dành cho máy xuất ngày nhiều thao tác điều khiển bắt đầu phức tạp Hệ điều hành đời nhằm điều phối, kiểm soát hoạt động giải yêu cầu tranh chấp thiết bị Chương trình hệ điều hành dài triệu dịng hợp ngữ hàng ngàn lập trình viên thực Sau đó, hệ điều hành đời khái niệm đa chương CPU chờ thực thao tác nhập xuất Bộ nhớ chia làm nhiều phần, phần có cơng việc (job) khác nhau, công việc chờ thực nhập xuất CPU xử lý cơng việc cịn lại Tuy nhiên có nhiều cơng việc xuất nhớ, vấn đề phải có chế bảo vệ tránh công việc ảnh hưởng đến Hệ điều hành cài đặt thuộc tính spool Giai đoạn đánh dấu đời hệ điều hành chia xẻ thời gian CTSS MIT Đồng thời hệ điều hành lớn đời MULTICS, UNIX hệ thống máy mini xuất DEC PDP-1 Thế hệ (1980 - nay) Giai đoạn đánh dấu đời máy tính cá nhân, đặc biệt hệ thống IBM PC với hệ điều hành MS-DOS Windows sau Bên cạnh phát triển Nguyên lý hệ điều hành mạnh hệ điều hành tựa Unix nhiều hệ máy khác Linux Ngoài ra, từ đầu thập niên 90 đánh dấu phát triển mạnh mẽ hệ điều hành mạng hệ điều hành phân tán 1.3 Phân loại hệ thống 1.3.1 Hệ thống xử lý theo lô Bộ giám sát thường trực thiết kế để giám sát việc thực dãy cơng việc cách tự động, chương trình ln ln thường trú nhớ Hệ điều hành theo lô thực công việc theo thị định trước 1.3.2 Hệ thống xử lý theo lô đa chương Đa chương (multiprogram) gia tăng khai thác CPU cách tổ chức công việc cho CPU ln ln phải tình trạng làm việc Ý tưởng sau : hệ điều hành lưu giữ phần công việc nơi lưu trữ nhớ CPU thực phần công việc Khi thực hiện, có u cầu truy xuất thiết bị CPU không nghỉ mà thực tiếp công việc thứ hai… Với hệ đa chương hệ điều hành định cho người sử dụng vậy, hệ điều hành đa chương tinh vi Hệ phải xử lý vấn đề lập lịch cho công việc, lập lịch cho nhớ cho CPU 1.3.3 Hệ thống chia xẻ thời gian Hệ thống chia xẻ thời gian mở rộng logic hệ đa chương Hệ thống gọi hệ thống đa nhiệm (multitasking) Nhiều công việc thực thông qua chế chuyển đổi CPU hệ đa chương thời gian lần chuyển đổi diễn nhanh Hệ thống chia xẻ phát triển để cung cấp việc sử dụng bên máy tính có giá trị Hệ điều hành chia xẻ thời gian dùng lập lịch CPU đa chương để cung cấp cho người sử dụng phần nhỏ máy tính chia xẻ Một chương trình thi hành gọi tiến trình Trong trình thi hành tiến trình, phải thực thao tác nhập xuất khoảng thời gian CPU thi hành tiến trình khác Hệ điều hành chia xẻ cho phép nhiều người sử dụng Nguyên lý hệ điều hành chia xẻ máy tính cách đồng thời gian chuyển đổi nhanh nên họ có cảm giác tiến trình thi hành lúc Hệ điều hành chia xẻ phức tạp hệ điều hành đa chương Nó phải có chức : quản trị bảo vệ nhớ, sử dụng nhớ ảo Nó cung cấp hệ thống tập tin truy xuất on-line… Hệ điều hành chia xẻ kiểu hệ điều hành đại ngày 1.3.4 Hệ thống song song Ngoài hệ thống có xử lý cịn có hệ thống có nhiều xử lý chia xẻ hệ thống đường truyền liệu, đồng hồ, nhớ thiết bị ngoại vi Các xử lý liên lạc bên với Với gia tăng số lượng xử lý, công việc thực nhanh chóng Hệ thống với máy nhiều xử lý tối ưu hệ thống có nhiều máy có xử lý xử lý chia xẻ thiết bị ngoại vi, hệ thống lưu trữ, nguồn … thuận tiện cho nhiều chương trình làm việc tập hợp liệu Một lý độ tin cậy Các chức xử lý nhiều xử lý hỏng hóc xử lý khơng ảnh hưởng đến tồn hệ thống Hệ thống đa xử lý thông thường sử dụng cách đa xử lý đối xứng, cách xử lý chạy với hệ điều hành, liên lạc với cần thiết Một số hệ thống sử dụng đa xử lý bất đối xứng, xử lý giao công việc riêng biệt Một xử lý kiểm sốt tồn hệ thống, xử lý khác thực theo lệnh xử lý theo thị định nghĩa trước Mơ hình theo dạng quan hệ chủ tớ Bộ xử lý lập lịch cho xử lý khác Một ví dụ hệ thống xử lý đối xứng version Encore UNIX cho máy tính Multimax Hệ thống có hàng tá xử lý Ưu điểm nhiều tiến trình thực lúc Một hệ thống đa xử lý cho phép nhiều công việc tài nguyên chia xẻ tự động xử lý khác Hệ thống đa xử lý không đồng thường xuất hệ thống lớn, hầu hết thời gian hoạt động dành cho xử lý nhập xuất 1.3.5 Hệ thống phân tán Nguyên lý hệ điều hành Hệ thống tương tự hệ thống chia xẻ thời gian xử lý không chia xẻ nhớ đồng hồ, thay vào xử lý có nhớ cục riêng Các xử lý thông tin với thông qua đường truyền thông bus tốc độ cao hay đường dây điện thoại Các xử lý hệ phân tán thường khác kích thước chức Nó bao gồm máy vi tính, trạm làm việc, máy mini, hệ thống máy lớn Các nguyên nhân phải xây dựng hệ thống phân tán là: Chia xẻ tài nguyên : hệ thống phân tán cung cấp chế để chia xẻ tập tin vị trí xa, xử lý thông tin sở liệu phân tán, in ấn vị trí xa, sử dụng thiết bị xa để hỗ thực thao tác Tăng tốc độ tính tốn : Một thao tác tính tốn chia làm nhiều phần nhỏ thực lúc Hệ thống phân tán cho phép phân chia việc tính tốn nhiều vị trí khác để tính tốn song song An tồn : Nếu vị trí hệ thống phân tán bị hỏng, vị trí khác tiếp tục làm việc Thơng tin liên lạc với :Có nhiều lúc , chương trình cần chuyển đổi liệu từ vị trí sang vị trí khác Ví dụ hệ thống Windows, thường có chia xẻ chuyển liệu cửa sổ Khi vị trí nối kết với hệ thống mạng, việc trao đổi liệu diễn dễ Người sử dụng chuyển tập tin hay E_mail cho từ vị trí hay vị trí khác 1.3.6 Hệ thống xử lý thời gian thực Hệ thống xử lý thời gian thực sử dụng có đòi hỏi khắt khe thời gian thao tác xử lý dòng liệu Một hệ điều hành xử lý thời gian thực phải định nghĩa tốt, thời gian xử lý nhanh Hệ thống phải cho kết xác khoảng thời gian bị thúc ép nhanh Có hai hệ thống xử lý thời gian thực hệ thống thời gian thực cứng hệ thống thời gian thực mềm Hệ thống thời gian thực cứng cơng việc hồn tất lúc Lúc liệu thường lưu nhớ ngắn hạn hay ROM Việc xử lý theo thời gian thực xung đột với tất hệ thống liệt kê Nguyên lý hệ điều hành Dạng thứ hai hệ thống thời gian thực mềm, cơng việc có độ ưu tiên riêng thi hành theo độ ưu tiên Có số lĩnh vực áp dụng hữu hiệu phương pháp multimedia hay thực ảo 1.4 Các thành phần hệ điều hành a) Quản lý tiến trình Một tiến trình chương trình thi hành Một tiến trình phải sử dụng tài nguyên thời gian sử dụng CPU, nhớ, tập tin, thiết bị nhập xuất để hồn tất cơng việc Các tài nguyên cung cấp tiến trình tạo hay trình thi hành Một tiến trình hoạt động (active) hồn tồn-ngược lại với tập tin đĩa thụ động (passive)-với đếm chương trình cho biết lệnh thi hành.Việc thi hành thực theo chế , CPU thi hành từ lệnh đầu đến lệnh cuối Một tiến trình coi đơn vị làm việc hệ thống Một hệ thống có nhiều tiến trình lúc , số tiến trình hệ điều hành, số tiến trình người sử dụng tiến trình diễn đồng thời Vai trò hệ điều hành việc quản lý tiến trình : - Tạo hủy tiến trình người sử dụng hệ thống - Tạm dừng thực tiếp tiến trình - Cung cấp chế đồng tiến trình - Cung cấp chế giao tiếp tiến trình - Cung cấp chế kiểm sốt deadlock b) Quản lý nhớ : Trong hệ thống máy tính đại, nhớ trung tâm thao tác, xử lý Bộnhớ xem mảng kiểu byte hay kiểu word Mỗi phần tử có địa Đó nơi lưu liệu CPU truy xuất cách nhanh chóng so với thiết bị nhập/xuất CPU đọc thị từ nhớ Các thiết bị nhập/xuất cài đặt chế DMA đọc ghi liệu nhớ Thơng thường nhớ Ngun lý hệ điều hành chứa thiết bị mà CPU định vị trực tiếp Ví dụ CPU truy xuất liệu từ đĩa, liệu chuyển vào nhớ qua lời gọi hệ thống nhập/xuất Một chương trình muốn thi hành trước hết phải ánh xạ thành địa tuyệt đối nạp vào nhớ chính.Khi chương trình thi hành, hệ thống truy xuất thị liệu chương trình nhớ Ngay tiến trình kết thúc , liệu nhớ tiến trình khác ghi chồng lên Hệ điều hành có vai trị sau việc quản lý nhớ : - Lưu giữ thơng tin vị trí nhớ sử dụng tiến trình sử dụng - Quyết định tiến trình nạp vào nhớ chính, nhớ dùng - Cấp phát thu hồi nhớ cần thiết c) Quản lý nhớ phụ : Bộ nhớ q nhỏ để lưu giữ liệu chương trình, ngồi liệu khơng cịn cung cấp lượng Hệ thống máy tính ngày cung cấp hệ thống lưu trữ phụ Đa số máy tính dùng đĩa để lưu trữ chương trình liệu Hầu tất chương trình : chương trình dịch, hợp ngữ, thủ tục, trình soạn thảo, định dạng lưu trữ đĩa thực hiện, nạp vào nhớ sử dụng đĩa để chứa liệu kết xử lý Vai trò hệ điều hành việc quản lý đĩa : - Quản lý vùng trống đĩa - Định vị lưu trữ - Lập lịch cho đĩa d) Quản lý hệ thống vào/ : Một mục tiêu hệ điều hành che dấu đặc thù thiết bị phần cứng người sử dụng thay vào lớp thân thiện hơn, người sử dụng dể thao tác Một hệ thống vào/ra bao gồm : - Thành phần quản lý nhớ chứa vùng đệm (buffering), lưu trữ (caching) spooling (vùng chứa) 10 Nguyên lý hệ điều hành spooling device line printer Spooling sử dụng hệ thống mạng hệ thống e-mail chẳng hạn 130 Nguyên lý hệ điều hành Chương 6: HỆ THỐNG QUẢN LÝ FILE Trong hầu hết ứng dụng, tập tin thành phần chủ yếu Cho dù mục tiêu ứng dụng phải bao gồm phát sinh sử dụng thông tin Thông thường đầu vào ứng dụng tập tin đầu tập tin cho việc truy xuất người sử dụng chương trình khác sau 6.1 File khái niệm liên quan Tập tin Máy tính lưu giữ thơng tin thiết bị lưu trữ khác đĩa từ, băng từ, đĩa quang…Để cho máy tính trở nên thuận tiện dễ sử dụng, HĐH cung cấp cách lưu giữ thông tin logic thiết bị lưu giữ file (tập tin) Tập tin đơn vị lưu trữ thông tin nhớ ngồi Các tiến trình đọc hay tạo tập tin cần thiết Thông tin tập tin vững bền không bị ảnh hưởng xử lý tạo hay kết thúc tiến trình, user thật muốn xóa Tập tin quản lý hệ điều hành Các thuộc tính file - Tên tập tin : Tập tin chế trừu tượng để quản lý đối tượng phải có tên Khi tiến trình tạo tập tin, đặt tên, tiến trình kết thúc tập tin tồn truy xuất tiến trình khác với tên tập tin Cách đặt tên tập tin hệ điều hành khác nhau, đa số hệ điều hành cho phép sử dụng chữ để đặt tên tập tin ctdl, caycb, tamhghau v.v…, thường thường ký tự số ký tự đặc biệt sử dụng baitap2…, Hệ thống tập tin có hay khơng phân biệt chữ thường chữ hoa Ví dụ : UNIX phân biệt chữ thường hoa cịn MS-DOS khơng phân biệt Nhiều hệ thống tập tin hỗ trợ tên tập tin gồm phần phân cách dấu ‘.’ mà phần sau gọi phần mở rộng Ví dụ : vidu.txt Trong MS-DOS tên tập tin có từ đến ký tư, phần mở rộng có từ đến ký tự Trong UNIX có nhiều phân cách prog.c.Z Một số kiểu mở rộng thông thường : 131 Nguyên lý hệ điều hành bak, bas, bin, c, dat, doc, ftn, hlp, lib, obj, pas, tex, txt Trên thực tế phần mở rộng có hữu ích số trường hợp, ví dụ có trình dịch C nhận biết tập tin có phần mở rộng C Loại File: thể phần mở rộng cách thực file Loại File Excutable Object Source code Batch Text Library Print or view Archive Phần mở rộng Exe, com, bin Obj,o C, pas, asm Bat, sh Txt, doc Lib,a Ps, pdf, gif Chức Arc, zip, tar Nhóm file file, lưu giữ sẵn sàng để chạy ngôn ngữ máy dịch ngôn ngữ máy, không liên kết Mã nguồn xử lý theo lô đocữ liệu văn bản, tài liệu Thư viện In ấn hiển thị Ngoài tên liệu, hệ điều hành cung cấp thêm số thơng tin cho tập tin gọi thuộc tính Các thuộc tính thơng dụng số hệ thống tập tin : Tên thuộc tính Bảo vệ Mật Người tạo Người sở hữu Chỉ đọc ẩn Ý nghĩa Ai truy xuất cách Mật cần thiết để truy xuất tập tin Id người tạo tập tin Người sở hữu đọc ghi, đọc bình thường, không hiển thị liệt kê Hệ thống bình thường, tập tin hệ thống Lưu trữ đuợc backup, cần backup ASCII/binary tập tin văn bản, tập tin nhị phân Truy xuất ngẫu nhiên truy xuất tuần tự, truy xuất ngẫu nhiên Temp bình thường, bị xóa tiến trình kết thúc Khóa khơng khóa, khác khóa Độ dài record Số byte record Vị trí khóa Offset khóa record Giờ tạo Ngày tạo tập tin Thời gian truy cập Ngày truy xuất tập tin gần cuối 132 Nguyên lý hệ điều hành Thời gian thay đổi Ngày thay đổi tập tin gần cuối Kích thước thời Số byte tập tin Kích thước tối đa Số byte tối đa tập tin Hình 8.3 Một số thuộc tính thơng dụng tập tin 6.2 Thư mục: khái niệm, hệ thống thư mục, tổ chức bên Thư mục Thư mục nơi để lưu giữ tập file Để lưu trữ dãy tập tin, hệ thống quản lý tập tin cung cấp thư mục, mà nhiều hệ thống coi tập tin Hệ thống thư mục theo cấp bậc Một thư mục thường thường chứa số entry, entry cho tập tin Mỗi entry chứa tên tập tin, thuộc tính địa đĩa lưu liệu entry chứa tên tập tin trỏ, trỏ tới cấu trúc, có thuộc tính vị trí lưu trữ tập tin Khi tập tin mở, hệ điều hành tìm thư mục tìm thấy tên tập tin mở Sau xác định thuộc tính địa lưu trữ đĩa đưa vào bảng nhớ Những truy xuất sau thực nhớ Số lượng thư mục hệ thống khác Thiết kế đơn giản hệ thống có thư mục đơn(còn gọi thư mục cấp), chứa tất tập tin tất người dùng, cách dễ tổ chức khai thác dễ gây khó khăn có nhiều người sử dụng có nhiều tập tin trùng tên Ngay trường hợp có người sử dụng, có nhiều tập tin việc đặt tên cho tập tin khơng trùng lắp vấn đề khó Cách thứ hai có thư mục gốc có nhiều thư mục con, thư mục chứa tập tin người sử dụng (còn gọi thư mục hai cấp), cách tránh trường hợp xung đột tên cịn khó khăn với người dùng có nhiều tập tin Người sử dụng ln muốn nhóm ứng dụng lại cách logic 133 Nguyên lý hệ điều hành Từ đó, hệ thống thư mục theo cấp bậc (còn gọi thư mục) hình thành với mơ hình thư mục chứa tập tin thư mục tiếp tục hình thành thư mục hệ điều hành DOS, Windows, v v Ngoài ra, số hệ điều hành nhiều người dùng, hệ thống cịn xây dựng hình thức khác cấu trúc thư mục cấu trúc thư mục theo đồ thị có chu trình cấu trúc thư mục theo đồ thị tổng quát Các cấu trúc cho phép người dùng hệ thống liên kết với thơng qua thư mục chia sẻ Hình 6.1 134 Nguyên lý hệ điều hành Hình 6.2 Hệ thống thư mục theo cấp bậc Đường dẫn : Khi hệ thống tập tin tổ chức thành thư mục, có hai cách để xác định tên tập tin Cách thứ đường dẫn tuyệt đối, tập tin gán đường dẫn từ thư mục gốc đến tập tin Ví dụ : /usr/ast/mailbox Dạng thứ hai đường dẫn tương đối, dạng có liên quan đến khái niệm thư mục hành hay thư mục làm việc Người sử dụng quy định thư mục thư mục hành Khi đường dẫn không thư mục gốc mà liên quan đến thư mục hành Ví dụ, thư mục hành /usr/ast tập tin với đường dẫn tuyệt đối /usr/ast/mailbox dùng đơn giản mailbox Trong phần lớn hệ thống, tiến trình có thư mục hành riêng, tiến trình thay đổi thư mục làm việc kết thúc, thay đổi để lại hệ thống tập tin Nhưng hàm thư viện thay đổi đường dẫn sau khơng đổi lại có ảnh hưởng đến tiến trình Hầu hết hệ điều hành hỗ trợ hệ thống thư mục theo cấp bậc với hai entry đặc biệt cho thư mục "." " " "." thư mục hành, " " thư mục cha Các thao tác thư mục : Tạo : thư mục tạo, rỗng, ngoại trừ "." " " đặt tự động hệ thống Xóa :xố thư mục, có thư mục rỗng bị xóa, tư mục chứa "." " " coi thư mục rỗng Mở thư mục :thư mục đọc Ví dụ để liệt kê tất tập tin thư mục, chương trình liệt kê mở thư mục đọc tên tất tập tin chứa Trước thư mục đọc, phải mở trước Đóng thư mục :khi thư mục đọc xong, phải đóng thư mục để giải phóng vùng nhớ Đọc thư mục :Lệnh trả entry thư mục mở Thơng thường đọc thư mục lời gọi hệ thống READ, lệnh đọc thư mục luôn trả entry dạng chuẩn 135 Nguyên lý hệ điều hành Đổi tên :cũng tập tin, thư mục đổi tên Liên kết :kỹ thuật cho phép tập tin xuất nhiều thư mục khác Khi có yêu cầu, liên kết tạo tập tin đường dẫn cung cấp Bỏ liên kết :Nếu tập tin liên kết với thư mục, bị loại bỏ hồn tồn khỏi hệ thống, nhiều bị giảm số liên kết 6.3 Các phương pháp lưu giữ file Định vị liên tiếp : Lưu trữ tập tin dãy khối liên tiếp Phương pháp có ưu điểm : thứ nhất, dể dàng cài đặt Thứ hai, dể dàng thao tác tồn tập tin đọc từ đĩa thao tác đơn giản không cần định vị lại Phương pháp có khuyết điểm : khơng linh động trừ biết trước kích thước tối đa tập tin Sự phân mảnh đĩa, gây lãng phí lớn Định vị danh sách liên kết : Hình 6.3 Định vị danh sách liên kết 136 Nguyên lý hệ điều hành Mọi khối cấp phát, khơng bị lãng phí trường hợp phân mảnh directory entry cần chứa địa khối Tuy nhiên khối liệu bị thu hẹp lại truy xuất ngẫu nhiên chậm Danh sách liên kết sử dụng index : Tương tự hai thay dùng trỏ dùng bảng index Khi tồn khối chứa liệu Truy xuất ngẫu nhiên dễ dàng Kích thước tập tin mở rộng Hạn chế bị giới hạn kích thước nhớ Hình 6.4 Bảng mục danh sách liên kết I-nodes : Một I-node bao gồm hai phần Phần thứ thuộc tính tập tin Phần lưu trữ thông tin liên quan đến tập tin kiểu, người sở hữu, kích thước, v.v Phần thứ hai chứa địa khối liệu Phần chia làm hai phần nhỏ Phần nhỏ thứ bao gồm 10 phần tử, phần tử chứa địa khối liệu tập tin Phần tử thứ 11 chứa địa gián tiếp cấp (single indirect), chứa địa khối, khối chứa bảng từ 210 đến 232 phần tử mà phần tử chứa địa khối liệu Phần tử thứ 12 chứa địa gián tiếp cấp (double indirect), 137 Nguyên lý hệ điều hành chứa địa bảng khối single indirect Phần tử thứ 13 chứa địa gián tiếp cấp (double indirect), chứa địa bảng khối double indirect Cách tổ chức tương đối linh động Phương pháp hiệu trường hợp sử dụng để quán lý hệ thống tập tin lớn Hệ điều hành sử dụng phương pháp Unix (Ví dụ : BSD Unix) Hình 6.5 Cấu trúc I-node 6.4 Các yêu cầu quản lý file - Người sử dụng dễ dàng tạo, sửa, thêm, bớt, xố file - Người sử dụng chia sẻ file cho người sử dụng khác - Người sử dụng truyền thông tin file lẫn - Người sử dụng lấy lại, lưu giữ file cách dễ dàng - Người sử dụng ngăn chặn hành vi xâm phạm đến file thực chế độ bảo vệ file - Có giao diện sử dụng file dễ dàng 138 Nguyên lý hệ điều hành 6.5 Các thao tác file Tạo : tập tin tạo chưa có liệu Mục tiêu chức thông báo cho biết tập tin tồn thiết lập số thuộc tính Xóa :khi tập tin khơng cịn cần thiết nữa, xóa để tăng dung lượng đĩa Một số hệ điều hành tự động xoá tập tin sau khoảng thời gian n ngày Mở : trước sử dụng tập tin, tiến trình phải mở Mục tiêu mở cho phép hệ thống thiết lập số thuộc tính địa đĩa nhớ để tăng tốc độ truy xuất Đóng : chấm dứt truy xuất, thuộc tính địa đĩa không cần dùng nữa, tập tin đóng lại để giải phóng vùng nhớ Một số hệ thống hạn chế tối đa số tập tin mở tiến trình Đọc : đọc liệu từ tập tin vị trí thời đầu đọc, nơi gọi cho biết cần liệu vị trí buffer lưu trữ Ghi : ghi liệu lên tập tin từ vị trí thời đầu đọc Nếu cuối tập tin,kích thước tập tin tăng lên, tập tin, liệu bị ghi chồng lên Thêm : gần giống WRITE liệu ghi vào cuối tập tin Tìm :dùng để truy xuất tập tin ngẫu nhiên Khi xuất lời gọi hệ thống, vị trí trỏ vị trí hành di chuyển tới vị trí cần thiết Sau liệu đọc ghi vị trí Lấy thuộc tính :lấy thuộc tính tập tin cho tiến trình Thiết lập thuộc tính :thay đổi thuộc tính tập tin sau thời gian sử dụng Đổi tên :thay đổi tên tập tin tồn 6.6 Tổ chức file, truy nhập file Cấu trúc tập tin : Gồm loại : 139 Nguyên lý hệ điều hành Dãy byte không cấu trúc : hệ điều hành nội dung tập tin:MS-DOS UNIX sử dụng loại Dãy record có chiều dài cố định Cấu trúc : gồm record, khơng cần thiết có độ dài, record có trường khóa giúp cho việc tìm kiếm nhanh Tập tin lưu trữ thông tin Khi tập tin sử dụng, thông tin đưa vào nhớ máy tính Có nhiều cách để truy xuất chúng Một số hệ thống cung cấp phương pháp truy xuất, số hệ thống khác, IBM chẳng hạn cho phép nhiều cách truy xuất Kiểu truy xuất tập tin đơn giản truy xuất Tiến trình đọc tất byte tập tin theo thứ tự từ đầu Các trình soạn thảo hay trình biên dịch truy xuất tập tin theo cách Hai thao tác chủ yếu tập tin đọc ghi Thao tác đọc đọc mẫu tin tập tin tự động tăng trỏ tập tin Thao tác ghi tương tự Tập tin tự khởi động lại từ vị trí số hệ thống tập tin cho phép di chuyển trỏ tập tin tới lui n mẫu tin Truy xuất kiểu thuận lợi cho loại băng từ cách truy xuất thông dụng Truy xuất cần thiết cho nhiều ứng dụng Có hai cách truy xuất Cách truy xuất thứ thao tác đọc bắt đầu vị trí đầu tập tin, cách thứ hai có thao tác đặc biệt gọi SEEK cung cấp vị trí thời làm vị trí bắt đầu Sau tập tin đọc từ vị trí bắt đầu Hình 6.6 Truy xuất tập tin Một kiểu truy xuất khác truy xuất trực tiếp Một tập tin có cấu trúc mẫu tin logic có kích thước nhau, cho phép chương trình đọc ghi nhanh chóng mà không cần theo thứ tự Kiểu truy xuất dựa mơ hình đĩa Đĩa cho phép truy xuất ngẫu nhiên khối liệu tập tin Truy xuất trực tiếp sử dụng trường hợp phải truy xuất khối lượng thông tin lớn sở liệu chẳng hạn Ngoài cịn có số cách truy xuất khác dự kiểu truy xuất truy xuất theo mục 140 Nguyên lý hệ điều hành 6.7 Độ an toàn hệ thống file Một hệ thống tập tin bị hỏng cịn nguy hiểm máy tính bị hỏng hư hỏng thiết bị chi phí hệ thống tập tin ảnh hưởng đến phần mềm Hơn hệ thống tập tin chống lại hư hịng phần cứng gây ra, chúng phải cài đặt số chức để bảo vệ Quản lý khối bị hỏng Đĩa thường có khối bị hỏng trình sử dụng đặc biệt đĩa cứng khó kiểm tra hết tất Có hai giải pháp : phần mềm phần cứng Phần cứng dùng sector đĩa để lưu giữ danh sách khối bị hỏng Khi kiểm sốt tực lần đầu tiên, đọc khối bị hỏng dùng khối thừa để lưu giữ Từ khơng cho truy cập khối hỏng Phần mềm hệ thống tập tin xây dựng tập tin chứa khối hỏng Kỹ thuật loại trừ chúng khỏi danh sách khối trống, khơng cấp phát cho tập tin Backup Mặc dù có chiến lưọc quản lý khối hỏng, công việc quan trọng phải backup tập tin thường xuyên Tập tin đĩa mềm backup cách chép lại toàn qua đĩa khác Dữ liệu đĩa cứng nhỏ backup băng từ Đối với đĩa cứng lớn, việc backup thường tiến hành Một chiến lược dể cài đặt lãng phí đĩa chia đĩa cứng làm hai phần phần liệu phần backup Mỗi tối, liệu từ phần liệu chép sang phần backup 141 Nguyên lý hệ điều hành Hình 6.7 Backup Tính khơng đổi hệ thống tập tin Một vấn đề độ an toàn tính khơng đổi Khi truy xuất tập tin, q trình thực hiện, có xảy cố làm hệ thống ngừng hoạt động đột ngột, lúc hàng loạt thơng tin chưa cập nhật lên đĩa Vì lân khởi động ,hệ thống thực việc kiểm tra hai phần khối tập tin Việc kiểm tra thực , phát lỗi tiến hành sữa chữa cho trường hợp cụ thể: 142 Nguyên lý hệ điều hành Hình 6.8 Trạng thái hệ thống tập tin 143 Nguyên lý hệ điều hành Tài liệu tham khảo: [1] [2] [3] [4] [5] “Tập slide giảng” “Operating System Concepts” A Silberschatz, P B Galvin, G Gagne, Wiley & Sons, 2002 “Operating Systems”, H M Deitel, P J Deitel and D R Choffnes, Pearson Education International, 2004 “Modern Operating Systems” Andrew S Tanenbaum, Prentice-Hall International, 2001 “Operating Systems – Internals and Design Principles” William Stallings, Pearson Education International, 2005 144 ... thực công việc : -Thu hồi tài nguyên hệ thống cấp phát cho tiến trình 32 Nguyên lý hệ điều hành -Hủy tiến trình khỏi tất danh sách quản lý hệ thống - Hủy bỏ PCB tiến trình Hầu hết hệ điều hành. .. triển Nguyên lý hệ điều hành mạnh hệ điều hành tựa Unix nhiều hệ máy khác Linux Ngoài ra, từ đầu thập niên 90 đánh dấu phát triển mạnh mẽ hệ điều hành mạng hệ điều hành phân tán 1.3 Phân loại hệ. .. VỀ HỆ ĐIỀU HÀNH 1.1 Khái niệm hệ điều hành Hệ điều hành hệ thống 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 cung cấp mơi trường để người sử dụng thi hành