BÀI GIẢNG NGUYÊN LÝ CÁC HỆ ĐIỀU HÀNH

142 678 1
BÀI GIẢNG NGUYÊN LÝ CÁC 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

CHƯƠNG 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH 1.1 Khái niệm hệ điều hành .4 1.2 Lịch sử phát triển hệ điều hành .5 1.3 Phân loại hệ điều hành 1.3.1 Hệ điều hành xử lý theo lô đơn giản 1.3.2 Hệ điều hành xử lý theo lô đa chương 1.3.3 Hệ điều hành chia xẻ thời gian 1.3.4 Hệ điều hành đa vi xử lý 1.3.5 Hệ điều hành mạng 1.3.6 Hệ điều hành xử lý thời gian thực 1.4 Các thành phần hệ điều hành 1.5 Các cấu trúc hệ thống 14 1.6 Các tính chất hệ điều hành 19 1.7 Nguyên lý xây dựng chương trình hệ điều hành 20 1.8 Các hình thái giao tiếp .22 CHƯƠNG QUẢN LÝ TIẾN TRÌNH 24 2.1 Tổng quan tiến trình .24 2.1.1 Tiến trình (Process) mơ hình đa tiến trình (Multiprocess) 24 2.1.2 Tiểu trình (Thread) mơ hình đa tiểu trình (Multithread) 25 2.1.3 Phân loại tiến trình 26 2.1.4 Các trạng thái tiến trình 27 2.1.5 Cấu trúc liệu khối quản lý tiến trình 29 2.1.6 Các thao tác điều khiển tiến trình 30 2.1.7 Cấp phát tài nguyên cho tiến trình 32 2.2 Điều phối tiến trình 34 2.2.1 Mục tiêu điều phối 34 2.2.2 Điều phối độc quyền điều phối không độc quyền (preemptive/nopreemptive) 34 2.2.3 Các danh sách sử dụng trình điều phối 36 2.2.4 Các chiến lược điều phối 37 2.3 Thông tin liên lạc tiến trình 43 2.3.1 Nhu cầu liên lạc tiến trình 43 2.3.2 Các Cơ Chế Thông Tin Liên lạc 44 2.4 Đồng hoá tiến trình .50 2.4.1 Nhu cầu đồng hóa (synchronisation) 50 2.4.2 Bài toán đồng hoá 51 2.4.3 Các giải pháp đồng hoá 53 2.5 Tắc nghẽn (Deadlock) 66 2.5.1 Định nghĩa: 66 2.5.2 Điều kiện xuất tắc nghẽn 67 2.5.3 Các phương pháp xử lý tắc nghẽn 68 2.5.4 Ngăn chặn tắc nghẽn 69 2.5.5 Tránh tắc nghẽn 70 2.5.6 Hiệu chỉnh tắc nghẽn 75 CHƯƠNG :QUẢN LÝ BỘ NHỚ CHÍNH 77 3.1 Tổ chức vùng nhớ 77 3.2 Mục tiêu việc quản lý vùng nhớ 77 3.3 Không gian địa không gian vật lý 78 3.4 Cấp phát liên tục 78 3.4.1 Hệ đơn chương 79 3.4.2 Hệ thống đa chương với phân vùng cố định 79 3.4.3 Hệ thống đa chương với phân vùng động 81 3.5 Cấp phát không liên tục 84 3.5.1 Kỹ thuật phân trang ( Paging) 84 3.5.2 Phân đoạn (Segmentation) 92 3.5.3 Phân đoạn kết hợp phân trang (Paged segmentation) 96 3.6 Kỹ thuật nhớ ảo (Virtual Memory) 97 3.6.1 Bộ nhớ ảo 97 3.6.2 Cài đặt nhớ ảo 99 3.6.3.Các thuật toán thay trang 101 Chương QUẢN LÝ VÙNG NHỚ PHỤ 106 4.1 Một số khái niệm dùng quản lý đĩa 106 4.2 Hệ thống bảng FAT 110 4.2.1 Quản lý file đĩa MS_DOS 110 4.2.2 Hệ thống NTFS (New Technology File System) 115 4.3 Các thơng số thuật tốn truy nhập đĩa 116 4.3.1Các thông số 116 4.3.2 Các thuật toán đọc đĩa 117 Chương QUẢN LÝ VÀO RA 121 5.1 Khái niệm hệ thống quản lý vào/ .121 5.2 Phần cứng vào/ra .121 5.2.1 Các thiết bị vào/ra 121 5.2.2 Tổ chức chức I/O 122 5.2.3 Bộ điều khiển thiết bị 123 5.2.4 Truy nhập nhớ trực tiếp DMA (Direct Memory Access) 125 5.3 Phần mềm vào/ra .125 5.3.1 Kiểm soát ngắt 125 5.3.2 Điều khiển thiết bị (device drivers) 126 5.3.3 Phần mềm nhập/xuất độc lập thiết bị 127 5.3.4 Phần mềm vào/ra phạm vi người sử dụng 128 Chương 6: HỆ THỐNG QUẢN LÝ FILE 129 6.1 File thuộc tính file 129 6.2 Thư mục: khái niệm, hệ thống thư mục, tổ chức bên 131 6.3 Các phương pháp lưu giữ file 133 6.4 Hệ thống quản lý tập tin (File management system) 136 6.5 Các thao tác file 137 6.6 Tổ chức file, truy nhập file 138 6.7 Độ an toàn hệ thống file .139 CHƯƠNG 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH 1.1 Khái niệm hệ điều hành Phần mềm máy tính chia thành nhiều loại: chương trình hệ thống quản lý hoạt động máy tính Chương trình ứng dụng, giải vấn đề liên quan đến việc sử dụng khai thác máy tính người sử dụng Hệ điều hành thuộc nhóm chương trình hệ thống 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 thuận lợi để người sử dụng thi hành chương trình Hệ điều hành thực quản lý tài nguyên máy tính Hệ điều hành làm cho máy tính dễ sử dụng hơn, thuận lợi hiệu Để đạt mục tiêu hệ điều hành phải thực chức sau đây: - Giả lặp máy tính mở rộng Hệ điều hành che đậy chi tiết phần cứng máy tính máy tính mở rộng, máy tính mở rộng có đầy đủ chức máy tính thực đơn giản dễ sử dụng Theo cần tác động vào máy tính thực người sử dụng cần tác động vào máy tính mở rộng, chuyển đổi thơng tin điều khiển từ máy tính mở rộng sang máy tính thực ngược lại hệ điều hành thực Mục đích chức giúp người sử dụng khai thác chức phần cứng máy tính dễ dàng hiệu - Quản lý tài nguyên hệ thống: + Tài nguyên phần cứng: CPU, RAM, I/O device… Nhu cầu tài nguyên nhiều, cần quản lý, điều phối tài nguyên cách có hiệu Hệ điều hành cịn phải tổ chức bảo vệ khơng gian nhớ cấp cho chương trình, tiến trình để tránh truy cập bất hợp lệ tranh chấp nhớ chương trình, tiến trình, đặc biệt tiến trình đồng thời hoạt động hệ thống + Tài nguyên phần mềm (data) Trong trường hợp nhiều tiến trình đồng thời sử dụng khơng gian nhớ hay tập tin Trong trường hợp hệ điều hành phải tổ chức việc chia sẻ giám sát việc truy xuất đồng thời tài nguyên nói cho việc sử dụng tài nguyên có hiệu tránh mát liệu làm hỏng tập tin 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 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ì Để 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 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) Máy tính dùng mạch tích hợp cỡ lớn 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 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 Các hệ điều hành đời giai đoạn như: Ubuntu, Windows 7, Windows 8,… 1.3 Phân loại hệ điều hành 1.3.1 Hệ điều hành xử lý theo lô đơn giản Hệ điều hành thực công việc theo thị xác định trước Khi cơng việc chấm dứt hệ thống tự động thực công việc mà khơng cần can thiệp từ bên ngồi, hệ thống đạt tốc độ thực cao Để thực điều hệ điều hành phải có giám sát thường trực để giám sát việc thực công việc hệ thống, phận thường trú nhớ Trong hệ điều hành hệ thống cần thực cơng việc phải lưu chương trình liệu công việc vào hàng đợi công việc, sau thực chương trình liệu cơng việc tương ứng hàng đợi cho kết Với cách tổ chức cơng việc, hệ thống khơng thể thay đổi chương trình liệu cơng việc chúng cịn nằm hàng đợi, hạn chế Mặt khác trình thực cơng việc, cơng việc chuyển sang truy xuất thiết bị vào/ra processor rơi vào trạng thái chờ, điều gây lãng phí thời gian xử lý processor 1.3.2 Hệ điều hành xử lý theo lơ đa chương Hệ điều hành có khả thực nhiều cơng việc, nhiều chương trình đồng thời Khi cần thực nhu công việc đồng thời hệ điều hành nạp phần code data cơng việc vào nhớ (các phần cịn lại nạp sau thời điểm thích hợp) tất trạng thái sẵn sàng thực hiện, sau hệ điều hành bắt đầu thực cơng việc đó, cơng việc thực cần truy xuất thiết bị vào/ra processor chuyển sang thực công việc khác, hệ điều hành chuyển hướng processor để thực hết phần công việc nhớ công việc mà hệ thống yêu cầu Hệ điều hành có ưu điểm tiết kiệm nhớ, khơng nạp hết code data công việc vào nhớ, hạn chế thời gian rỗi processor Tuy nhiên phải chịu chi phí cao cho việc lập lịch processor Ngồi hệ điều hành cịn phải giải qus việc chia sẻ nhớ cho cơng việc khác Ví dụ hệ điều hành MS_DOS hệ điều hành đơn nhiệm, đa chương 1.3.3 Hệ điều hành chia xẻ thời gian Khái niệm chia sẻ thời gian đời đánh dấu bước phát triển hệ điều hành việc điều khiển hệ thống đa người dùng Chia sẻ thời gian chia sẻ thời gian xử lý processor cho cơng việc, tiến trình trạng thái sẵn sàng thực Nguyên tắc hệ điều hành chia sẻ thời gian tương tự hệ điều hành xử lý theo lô đa chương việc chuyển processor từ cơng việc, tiến trình sang cơng việc, tiến trình khác khơng phụ thuộc vào việc cơng việc, tiến trình có truy xuất đến thiết bị vào/ra hay không mà phụ thuộc vào điều phối processor hệ điều hành Công việc điều phối processor hệ điều hành phức tạp phụ thuộc vào nhiều yếu tố khác Trong hệ điều hành thời gian chuyển đổi processor công việc nhỏ nên ta có cảm giác công việc thực song song với Với hệ điều hành người sử dụng yêu cầu hệ điều hành thực nhiều chương trình, cơng việc đồng thời với Hệ điều hành chia sẻ thời gian mở rộng logic hệ điều hành đa chương thường gọi hệ điều hành đa nhiệm (Multitasking) Hệ điều hành Windows 9x/NT hệ điều hành đa nhiệm 1.3.4 Hệ điều hành đa vi xử lý Là hệ điều hành dùng điều khiển hoạt động hệ thống máy tính có nhiều vi xử lý Các hệ điều hành đa vi xử lý (multiprocessor) gồm có loại: - Đa xử lý đối xứng (SMP: symmetric): Trong hệ thống vi xử lý chạy loại tiểu trình bất kỳ, vi xử lý giao tiếp với thông qua nhớ dùng chung Hệ SMP cung cấp chế chịu lỗi khả cân tải tối ưu hơn, tiểu trình hệ điều hành chạy vi xử lý nên nguy xảy tình trạng tắc nghẽn CPU giảm đáng kể Vấn đề đồng vi xử lý đặt lên hàng đầu thiết kế hệ điều hành cho hệ thống cho hệ thống SMP Hệ điều hành Windows NT, Windows 2000 hệ điều hành đa xử lý đối xứng - Đa xử lý bất đối xứng (ASMP: asymmetric): Hệ điều hành dành hai vi xử lý để sử dụng riêng, vi xử lý lại dùng để điều khiển chương trình người sử dụng Hệ AMSP đơn giản nhiều so với hệ SMP, hệ có vi xử lý vi xử lý dành riêng cho hệ điều hành bị hỏng hệ thống ngừng hoạt động 1.3.5 Hệ điều hành mạng Là hệ điều hành dùng để điều khiển hoạt động mạng máy tính Ngồi chức hệ điều hành, hệ điều hành mạng phải thực việc chia sẻ bảo vệ tài nguyên mạng Hệ điều hành Windows9x/NT, Windows 2000, Linux 1.3.6 Hệ điều hành xử lý thời gian thực Hệ điều hành có khả cho kết tức thời, xác sau công việc 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 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ê 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)Thành phần 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 - Cấp phát tài nguyên cho tiến trình - Cung cấp chế giao tiếp tiến trình - Cung cấp chế kiểm soát deadlock b)Thành phần quản lý nhớ : Bộ nhớ thiết bị lưu trữ mà CPU truy xuất trực tiếp 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ớ 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ớ 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 cịn 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 10 5.3.4 Phần mềm vào/ra phạm vi người sử dụng Hầu hết phần mềm nhập/xuất bên hệ điều hành phần nhỏ chúng chứa thư viện liên kết với chương trình người sử dụng chương trình thi hành bên ngồi hạt nhân Lời gọi hệ thống, bao gồm lời gọi hệ thống nhập/xuất thường thực hàm thư viện Ví dụ chương trình C có lệnh count = write(fd, buffer, nbytes) ; Hàm thư viện write dịch liên kết dạng nhị phân nằm nhớ thi hành Tập hợp tất hàm thư viện rõ ràng phần hệ thống nhập/xuất Không phải tất phần mềm nhập/xuất chứa hàm thư viện, có loại quan trọng khác gọi hệ thống spooling dùng để khai thác tối đa thiết bị nhập/xuất hệ thống đa chương Các hàm thư viện chuyển tham số thích hợp cho lời gọi hệ thống hàm thư viện thực việc định dạng cho nhập xuất lệnh printf C Thư viện nhập/xuất chuẩn chứa số hàm có chức nhập/xuất tất chạy chương trình người dùng Chức spooling tránh trường hợp tiến trình truy xuất thiết bị, chiếm giữ thiết bị sau khơng làm khoảng thời gian tiến trình khác bị ảnh hưởng khơng thể truy xuất thiết bị Một ví dụ spooling device line printer Spooling sử dụng hệ thống mạng hệ thống e-mail chẳng hạn 128 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 thuộc tính file 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 : 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 129 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 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 130 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 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 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ẻ 131 Hình 6.1 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à 132 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 Đổ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 133 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 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ớ 134 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), 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) 135 Hình 6.5 Cấu trúc I-node 6.4 Hệ thống quản lý tập tin (File management system) Hệ thống quản lý tập tin tập dịch vụ mà hệ điều hành cung cấp cho người sử dụng chương trình người sử dụng để đối tượng sử dụng tập tin hệ thống Người sử dụng chương trình người sử dụng truy xuất đến tập tin thông qua hệ thống tập tin Hệ thống quản lý tập tin hệ điều hành phải đáp ứng mục tiêu sau - Đáp ứng yêu cầu lưu trữ liệu người sử dụng, bao gồm: khả lưu trữ, độ tin cậy hiệu suất - Cực tiểu hay loại bỏ nguy dẫn đến hỏng liệu -Cung cấp hỗ trợ vào/ra cho nhiều người sử dụng hệ thống đa người sử dụng -Cung cấp tập chuẩn thủ tục giao diện vào/ra Đối với người sử dụng hệ thống quản lý tập tin hệ điều hành phải đáp ứng yêu cầu tối thiểu sau đây: - Người sử dụng dễ dàng tạo, sửa, thêm, bớt, xoá file 136 - Người sử dụng điều khiển để truy cập đến tập tin người sử dụng khác - Người sử dụng phải di chuyển liệu tập tin - Người sử dụng phải di chuyển liệu tập tin - Người sử dụng phải truy cập đến tập tin họ thông qua tên tượng trưng tập tin - Người sử dụng dự phịng khôi phục lại tập tin họ trường hợp hệ thống bị hỏng - 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 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 137 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 : 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 138 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 Ngồi cịn có số cách truy xuất khác dự kiểu truy xuất truy xuất theo mục 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 khơng thể 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 soá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ừ 139 Đố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 Hình 6.7 Backup Tính khơng đổi hệ thống tập tin Một vấn đề độ an tồ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ể: 140 Hình 6.8 Trạng thái hệ thống tập tin 141 Tài liệu tham khảo: [1] “Tập slide giảng” Bộ môn Các hệ thống thông tin [2] “Operating System Concepts” A Silberschatz, P B Galvin, G Gagne, Wiley & Sons, 2002 [3] “Operating Systems”, H M Deitel, P J Deitel and D R Choffnes, Pearson Education International, 2004 [4] “Modern Operating Systems” Andrew S Tanenbaum, Prentice-Hall International, 2001 [5] “Operating Systems – Internals and Design Principles” William Stallings, Pearson Education International, 2005 142

Ngày đăng: 17/03/2022, 01:44

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

Tài liệu liên quan