1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình Nguyên lý Hệ điều hành: Phần 2 - Trường TC nghề Đông Sài Gòn

65 7 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 65
Dung lượng 1,73 MB

Nội dung

(NB) Giáo trình Nguyên lý Hệ điều hành: Phần 2 cung cấp cho người học những kiến thức như: Đ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 để nắm chi tiết nội dung phần 1 dưới đây.

Nguyên lý hệ điều hành CHƯƠNG : ĐIỀU KHIỂN BỘ NHỚ Bộ nhớ thiết bị lưu trữ thơng qua CPU trao đổi thơng tin với mơi trường ngồi, nhu cầu tổ chức, quản lý nhớ nhiệm vụ trọng tâm hàng đầu hệ điều hành 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 ngồi thực thơng qua thao tác đọc ghi liệu vào địa cụ thể nhớ Hầu hết hệ điều hành đại cho phép chế độ đa nhiệm nhằm nâng cao hiệu suất sử dụng CPU Tuy nhiên kỹ thuật lại làm nảy sinh nhu cầu chia sẻ nhớ tiến trình khác Vấn đề nằm chỗ : « nhớ hữu hạn yêu cầu nhớ vơ hạn » 3.1 Tổ chức vùng nhớ Tốc độ nhanh Dung lượng nhỏ Regist er Cache SRAM Cache Main memory DRAM Tốc Hình 3.1 Disk độ 3.2 Mục tiêu việc quản lý vùng nhớ chậm Dung lượng lớn Cấp phát vùng nhớ cho tiến trình có u cầu thu hồi vùng nhớ tiến trình thực xong Quản lý vùng nhớ rỗi, vùng nhớ bận - Tại thời điểm lưu giữ nhiều tiến trình đồng thời - Chuyển đổi địa logic địa vật lý (physic) - Chia sẻ thông tin: làm phép hai tiến trình chia sẻ thông tin nhớ? - 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 3.3 Khơng gian địa khơng gian vật lý 67 Nguyên lý hệ điều hành Một hướng tiếp cận trung tâm nhằm tổ chức quản lý nhớ cách hiệu qủa đưa khái niệm không gian địa xây dựng không gian nhớ vật lý, việc tách rời hai không gian giúp hệ điều hành dễ dàng xây dựng chế chiến lược quản lý nhớ hữu hiệu : Địa logic – gọi địa ảo , địa xử lý tạo Địa vật lý - địa thực tế mà trình quản lý nhớ nhìn thấy thao tác Khơng gian địa – tập hợp tất địa ảo phát sinh chương trình Khơng gian vật lý – tập hợp tất địa vật lý tương ứng với địa ảo Địa ảo địa vật lý phương thức kết buộc địa vào thời điểm biên dịch vào thời điểm nạp Nhưng có khác biệt địa ảo địa vật lý phương thức kết buộc vào thời điểm xử lý MMU (memory-management unit) chế phần cứng sử dụng để thực chuyển đổi địa ảo thành địa vật lý vào thời điểm xử lý Chương trình người sử dụng thao tác địa ảo, khơng nhìn thấy địa vật lý Địa thật ứng với vị trí liệu bơ nhớ xác định thực truy xuất đến liệu 3.4 Cấp phát liên tục Tiến trình nạp vào vùng nhớ liên tục đủ lớn để chứa tồn tiến trình Khơng cho phép chương trình khác sử dụng vùng nhớ dành cho chương trình 3.4.1 Hệ đơn chương Trong phương pháp nhớ chia sẻ cho hệ điều hành tiến trình người sử dụng Tại thời điểm, phần nhớ hệ điều hành chiếm giữ, phần cịn lại thuộc tiến trình người dùng hệ thống Tiến trình tồn quyền sử dụng nhớ dành cho 68 Nguyên lý hệ điều hành Hình 3.2 Tổ chức nhớ hệ thống đơn chương Để bảo vệ hệ điều hành khỏi xâm phạm tác động chương trình người dung, sử dụng ghi giới hạn lưu địa cao vùng nhớ cấp cho hệ điều hành Tất địa tiến trình người dung truy xuất so sánh với nội dung ghi giới hạn, địa lớn giới hạn cho phép hợp lệ, ngược lại ngắt phát sinh để báo cho hệ thống truy xuất bất hợp lệ Khi nhớ tổ chức theo cách thức này, xử lý tiến trình thời điểm Quan sát hoạt động tiến trình, nhận thấy nhiều tiến trình trải qua phần lớn thời gian để chờ thao tác nhập/xuất hoàn thành Trong suốt thời gian này, CPU trạng thái rỗi Trong trường hợp thế, hệ thống đơn chương khơng cho phép sử dụng hiệu CPU Ngồi ra, đơn chương không cho phép nhiều người sử dụng làm việc đồng thời theo chế tương tác Để nâng cao hiệu suất sử dụng CPU, cần cho phép chế độ đa chương mà tiến trình chia sẻ CPU với để hoạt động đồng hành 3.4.2 Hệ thống đa chương với phân vùng cố định Một phương pháp đơn giản để cấp phát nhớ chia nhớ thành phân vùng có kích thước cố định Các phân vùng khác có kích thước khác hay Mỗi phân vùng chứa tiến trình Do đó, cấp độ đa chương giới hạn số lượng phân vùng Trong phương pháp đa phân vùng, phân vùng rảnh, tiến trình chọn từ hàng đợi nhập nạp vào phân vùng trống Khi tiến trình kết thúc, phân vùng trở nên sẳn dùng cho tiến trình khác Có hai tiếp cận để tổ chức hàng đợi: • Sử dụng nhiều hàng đợi: phân vùng có hàng đợi tương ứng Khi tiến trình tạo lập đưa vào hàng đợi phân vùng có kích thước nhỏ đủ lớn để chứa tiến trình 69 Nguyên lý hệ điều hành Cách tổ chức có khuyết điểm trường hợp hàng đợi số phân vùng lớn trống hàng đợi phân vùng nhỏ lại đầy, buộc tiến trình hàng đợi phải chờ cấp phát nhớ, sử dụng khơng hiệu nhớ • Sử dụng hàng đợi: tất tiến trình đặt hàng đợi Khi có phân vùng trống, tiến trình hàng đợi có kích thước phù hợp đặt vào phân vùng cho xử lý Hình 3.3 Cấp phát đa vùng với phân vùng cố định Trong trường hợp tiến trình có kích thước nhỏ phân vùng tự lớn dẫn tới lãng phí nhớ Giải pháp: Khi có phân vùng rỗi tìm tồn hàng đợi tiến trình lớn đặt vừa rong phân vùng này, nạp tiến trình vào nhớ Xuất hiện tượng phân mảnh nội vi (internal fragmentation): kích thước tiến trình nạp nhỏ kích thước phân vùng chứa tiến trình, phần nhớ không sử dụng đến phân vùng gọi phân mảnh nội vi Nhận xét: -Mức độ đa chương hệ thống bị giới hạn số lượng phân vùng - Sử dụng nhớ không hiệu quả: Tổng nhớ nhỏ tự do, rời rạc cịn lớn khơng thể sử dụng để nạp tiến trình khác 70 Nguyên lý hệ điều hành Tiến trình có kích thước lớn phân vùng lớn không thực - Ưu điểm: đơn giản, dễ tổ chức bảo vệ, giảm thời gian tìm kiếm 3.4.3 Hệ thống đa chương với phân vùng động Hệ điều hành giữ bảng hiển thị phần nhớ rỗi phần bận Ban đầu, tất nhớ sẵn dùng cho tiến trình người dùng, xem khối lớn nhớ sẵn dùng Khi tiến trình đến cần nhớ, hệ điều hành tìm kiếm vùng trống đủ lớn cho tiến trình Nếu tìm thấy, hệ điều hành cấp phát cho tiến trình phần nhớvừa với kích thước tiến trình, phần nhớ cịn lại dành cho tiến trình khác Hình 3.4 Cấp phát đa vùng với phân vùng động Thông thường, tập hợp vùng trống có kích thước khác phân tán khắp nhớ thời điểm cho Khi tiến trình đến yêu cầu nhớ, hệ thống tìm tập hợp vùng trống đủ lớn cho tiến trình Nếu vùng trống q lớn, chia làm hai: phần cấp cho tiến trình đến; phần lại trả tập hợp vùng trống Nếu vùng trống nằm kề với vùng trống khác, vùng trống nằm kề gom lại để tạo thành vùng trống lớn Xuất hiện tượng phân mảnh ngoại vi( external fragmentation ) : tiến trình vào khỏi hệ thống, xuất khe hở tiến trình Đây khe hở tạo kích thước tiến trình nạp nhỏ kích thước vùng nhớ giải phóng tiến trình kết thúc khỏi hệ thống , không gian nhớ trống bị phân rã thành mảnh nhớ nhỏ Hiện tượng dẫn đến tình tổng vùng nhớ trống đủ để thoả mãn yêu cầu, vùng nhớ lại khơng liên tục ! Người ta áp dụng kỹ thuật « dồn nhớ » (memory compaction ) để kết hợp mảnh nhớ nhỏ rời rạc thành 71 Nguyên lý hệ điều hành vùng nhớ lớn liên tục Tuy nhiên, kỹ thuật địi hỏi nhiều thời gian xử lý, ngồi ra, kết buộc địa phải thực vào thời điểm xử lý, tiến trình bị di chuyển q trình dồn nhớ Thuật tốn đơn giản dịch chuyển tiến trình phía đầu nhớ Ví dụ: 300K HDH 300K HDH 300K HDH 300K HDH 500K P1 500K P1 500K P1 500K P1 600K P2 600K P2 600K P2 600K P2 P3 P3 800 K 1200K 1000K 1200K 1500K P4 P4 P3 P4 Hình 3.5 1000K 1200K P4 1900K 2100K P4 P3 2100K Cấp phát gốc P3 P3 P4 P3 1500K 1900K 1900K 2100K 2100K Dịch chuyển 600K Dịch chuyển 400K P4 P4 P3 Dịch chuyển 200K Vấn đề cấp phát động Lựa chọn vùng nhớ tự danh sách vùng nhớ tự để cấp phát cho tiến trình Có chiến lược phổ biến dùng: • First-fit: cấp phát vùng nhớ tự đủ lớn Tìm kiếm bắt đầu đầu từ danh sách tập hợp vùng trống hay điểm kết thúc tìm kiếm first-fit trước Chúng ta dừng tìm kiếm tìm thấy vùng trống đủ lớn • Best-fit: cấp phát vùng nhớ tự nhỏ đủ lớn Chúng ta phải tìm tồn danh sách, trừ danh sách xếp thứ tự theo kích thước Worst-fit: cấp phát vùng nhớ tự lớn đủ lớn để chứa tiến trình Chúng ta phải tìm tồn danh sách trừ xếp theo thứ tự kích thước Quản lý khối rỗi bận - Quản lý đồ bit: Bộ nhớ chia thành đơn vị cấp phát, đơn vị ánh xạ tới bit đồ bit Giá trị bit xác định trạng thái đơn vị nhớ đó: tự do, cấp phát Khi cần nạp tiến trình có kích thước k đơn vị, hệ thống tìm đồ bit dãy k bit có giá trị Kích thước đơn vị cấp phát vấn đề lớn thiết kế Nếu kích thước đơn vị cấp phát nhỏ làm tăng kích thước đồ bit Ngược lại, kích thước đơn vị 72 Nguyên lý hệ điều hành cấp phát lớn gây hao phí cho đơn vị cấp phát sau Đây giải pháp đơn giản thực chậm nên dùng Hình 3.6 Quản lý nhớ đồ bit - Quản lý danh sách liên kết: Dùng danh sách liên kết để quản lý phân đoạn nhớ cấp phát phân đoạn tự do.Danh sách liên kết gồm nhiều nút liên tiếp Mỗi nút gồm bit đầu để xác định phân đoạn vùng trống (H) hay tiến trình (P), sau từ để địa bắt đầu, chiều dài điểm tới mục Việc xếp phân đoạn theo địa hay theo kích thước tuỳ thuộc vào giải thuật quản lý nhớ Hình 3.7 Quản lý nhớ danh sách liên kết 3.5 Cấp phát không liên tục Cấp phát khơng liên tục chương trình phân chia thành mộ số đoạn, đoạn nằm vùng nhớ rời rạc nhau, vùng nhớ có vùng nhớ phân phối cho chương trình khác 3.5.1 Phân trang ( Paging) Ý tưởng: 73 Nguyên lý hệ điều hành Hình 3.8 Mơ hình nhớ phân trang Phân nhớ vật lý thành khối (block) có kích thước cố định nhau, gọi khung trang (page frame) Không gian địa chia thành khối có kích thước với khung trang, gọi trang (page) Khi cần nạp tiến trình để xử lý, trang tiến trìnhsẽ nạp vào khung trang cịn trống Một tiến trình kích thước N trang yêu cầu N khung trang tự Cơ chế MMU kỹ thuật phân trang: Hình 3.9 Cơ chế phần cứng hỗ trợ phân trang Cơ chế phần cứng hỗ trợ thực chuyển đổi địa chế phân trang bảng trang (pages table): Mỗi tiến trình có bảng trang Số phần tử bảng trang=số trang không gian địa tiến trình 74 Nguyên lý hệ điều hành Mỗi phần tử bảng trang mô tả trang cho biết địa bắt đầu vị trí lưu trữ trang tương ứng nhớ vật lý ( số hiệu khung trang nhớ vật lý chứa trang ) Hình 3.10 Chuyển đổi địa chỉ: Địa logic Địa vật lý số hiệu trang (p): sử dụng mục đến phần tử tương ứng bảng trang địa tương đối trang (d): kết hợp với địa bắt đầu trang để tạo địa vật lý mà trình quản lý nhớ sử dụng Số hiệu khung trang (f):địa bắt đầu khung trang nhớ vật lý Kích thước trang phần cứng qui định Để dễ phân tích địa ảo thành số hiệu trang địa tương đối, kích thước trang thông thường lũy thừa (biến đổi phạm vi 512 bytes 8192 bytes) Nếu kích thước khơng gian địa 2m kích thước trang n, m-n bits cao địa ảo biễu diễn số hiệu trang, n bits thấp cho biết địa tương đối trang Cài đặt bảng trang: - Với bảng trang có kích thước nhỏ, trường hợp đơn giản nhất, bảng trang cài đặt trongmột tập ghi 75 Nguyên lý hệ điều hành - Nếu bảng trang có kích thước lớn, phải lưu trữ nhớ chính, sử dụng ghi để lưu địa bắt đầu lưu trữ bảng trang (PTBR) Theo cách tổ chức này, truy xuất đến liệu hay thị đòi hỏi hai lần truy xuất nhớ : cho truy xuất đến bảng trang cho thân liệu, truy cập chậm Hình 3.11 Sử dụng ghi trỏ đến bảng trang - Để nâng cao tốc độ truy xuất, sử dụng thêm vùng nhớ đặc biệt , với tốc độ truy xuất nhanh cho phép tìm kiếm song song, vùng nhớ cache nhỏ thường gọi nhớ kết hợp (translation look-aside buffer TLBs) Mỗi ghi nhớ kết hợp chứa số hiệu trang số hiệu khung trang tương ứng, CPU phát sinh địa logic, số hiệu trang địa so sánh lúc với số hiệu trang nhớ kết hợp để tìm phần tử tương ứng Nếu có trang tương ứng nhớ kết hợp xác định số hiệu khung trang tương ứng, không cần thực thao tác tìm kiếm bảng trang.Nhờ đặc tính mà việc tìm kiếm nhớ kết hợp thực nhanh, chi phí phần cứng lại cao Trong kỹ thuật phân trang, TLBs sử dụng để lưu trữ trang nhớ truy cập gần 76 Nguyên lý hệ điều hành Cung cấp khối độc lập thiết bị Tổ chức buffer Định vị lưu trữ thiết bị khối Cấp phát giải phóng thiết bị tận hiến Báo lỗi Chức phần mềm nhập/xuất độc lập thiết bị chức chung cho tất thiết bị cung cấp giao tiếp đồng cho phần mềm phạm vi người sử dụng Trước tiên phải có chức tạo ánh xạ thiết bị tên hình thức Ví dụ UNIX, tên /dev/tty0 dành riêng để mô tả I-node cho file đặc biệt, I-node chứa chứa số thiết bị chính, dùng để xác định driver thích hợp số thiết bị phụ, dùng để xác định tham số cho driver biết đọc hay ghi Thứ hai bảo vệ thiết bị, cho phép hay không cho phép người sử dụng truy xuất thiết bị Các hệ điều hành có hay khơng có chức Thứ ba cung cấp khối liệu độc lập thiết bị ví dụ đĩa khác có kích thước sector khác điều gây khó khăn cho phần mềm người sử dụng lớp Chức cung cấp khối liệu logic độc lập với kích thước sector vật lý Thứ tư cung cấp buffer để hỗ trợ cho đồng hóa q trình hoạt động hệ thống Ví dụ buffer cho bàn phím Thứ năm định vị lưu trữ thiết bị khối Thứ sáu cấp phát giải phóng thiết bị tận hiến Cuối thông báo lỗi cho lớp bên từ lỗi device driver báo 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) ; 117 Nguyên lý hệ điều hành Hàm thư viện write đị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 118 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 : 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 119 Nguyên lý hệ điều hành 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 6.2 Thư mục: khái niệm, hệ thống thư mục, tổ chức bên 120 Nguyên lý hệ điều hành 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 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ẻ 121 Nguyên lý hệ điều hành 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à liên 122 Nguyên lý hệ điều hành 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, khơng 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 cịn liên kết với thư mục, bị loại bỏ hoàn toà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 123 Nguyên lý hệ điều hành 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ớ 124 Nguyên lý hệ điều hà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), 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) 125 Nguyên lý hệ điều hành 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 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 126 Nguyên lý hệ điều hành 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 ln 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 : 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 127 Nguyên lý hệ điều hành đọ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 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 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 128 Nguyên lý hệ điều hành 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 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, 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ể: 129 Nguyên lý hệ điều hành Hình 6.8 Trạng thái hệ thống tập tin 130 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 131 ... mục 32 byte 0-7 Tên file 8-1 0 Phần mở rộng 11 Dự trữ Thuộc tính File Dự trữ Archive Directory volum system hiden readonly 1 2- 21 Dự trữ DOS 22 -2 3 Ngày tháng tạo File 24 -2 5 Giờ phút tạo File 26 -2 7 ... bảng tham số vật lý đĩa chương trình khởi động HĐH (nếu có) 1 02 Nguyên lý hệ điều hành BPB (BIOS Parameters block) offset 11 13 14 16 17 19 21 22 24 26 28 30 32 36 37 38 39 43 54 62 ý nghĩa lệnh... Bộ điều khiển nhập/xuất Đồng hồ Bàn phím RS2 32 phụ Đĩa cứng Máy in Màn hình mono Màn hình màu Đĩa mềm RS2 32 Địa nhập/xuất Vectơ ngắt 040 - 043 060 - 063 2F8 - 2FF 320 - 32F 378 - 37F 380 - 3BF

Ngày đăng: 12/02/2022, 10:22

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN