phan 2 chuong 4 quan ly tap tin xuat nhap
4.3. Quản lý tập tin
4.3.1. Tập tin và hệ thống tập tin
4.3.2. Truy xuất và thao tác với tập tin
4.3.3. Cài đặt tập tin trên đĩa cứng
Máy tính phải sử dụng thiết bị có khả
năng lưu trữ trong thời gian dài vì :
Phải chứa những lượng thông tin rất lớn
Thông tin phải được lưu giữ một thời gian dài trước khi xử lý
Nhiều tiến trình có thể truy cập thông tin cùng lúc.
Giải pháp là sử dụng các thiết bị lưu
trữ ngoài.
Tập tin và hệ thống quản lý tập tin
a. Khái niệm
Tập tin là đơn vị lưu trữ thông tin của bộ nhớ ngoài.
Các tiến trình có thể đọc hay tạo mới tập tin nếu cần thiết.
Thông tin trên tập tin là bền vững
Tập tin được quản lý bởi hệ điều hành.
a. Khái niệm
Thư mục
Để lưu trữ dãy các tập tin
Trong nhiều hệ thống, thư mục có thể
coi như là tập tin.
Hệ thống quản lý tập tin
Một cơ chế của hệ điều hành cung cấp:
Cách hiển thị, các yếu tố cấu thành tập tin
Cách đặt tên
Cách truy xuất, cách sử dụng
Cách bảo vệ tập tin
b. Tập tin
Mỗi tập tin được quản lý bởi một tên
Khi tiến trình tạo một tập tin, nó sẽ đặt một tên
Khi tiến trình kết thúc tập tin vẫn tồn tại và có thể được truy xuất bởi các tiến trình khác với tên tập tin đó.
Cách đặt tên tập tin của mỗi hệ điều hành khác nhau.
Sử dụng chữ cái
Phân biệt chữ thường/hoa
Gồm: tên chính, (.), phần mở rộng
Tập tin (t)
Cấu trúc tập tin
Dãy tuần tự các byte không cấu trúc
Dãy các bản ghi (record) có chiều dài cố định.
Cấu trúc cây : gồm cây của những record, không cần thiết có cùng độ dài, mỗi record có một trường khóa giúp cho việc tìm kiếm nhanh hơn.
Tập tin (t)
Xét một tập tin gồm các bản ghi account đối với CSDL ngân hàng xác định như sau:
type
depositor = record branch_name: char(20); account_number: char(10); balance:real;
end
Tập tin(t)
Kiểu tập tin:
Tập tin thường : là tập tin text hay tập tin nhị
phân chứa thông tin của người sử dụng.
Thư mục : là những tập tin hệ thống dùng để lưu giữ cấu trúc của hệ thống tập tin.
Tập tin có ký tự đặc biệt : liên quan đến nhập xuất thông qua các thiết bị nhập xuất tuần tự như màn hình, máy in, mạng.
Tập tin khối : dùng để truy xuất trên thiết bị đĩa.
Tập tin(t)
Tập tin thường:
Tập tin văn bản chứa các dòng văn bản cuối dòng có ký hiệu enter. Mỗi dòng có độ dài có thể khác nhau.
Tập tin nhị phân gồm dãy các byte , nhưng hệ điều hành chỉ thực thi tập tin đó nếu nó có cấu trúc đúng.
Tập tin(t)
Thuộc tính:
Tập tin(t)
Thuộc tính:
Tập tin(t)
Thuộc tính:
c.Thư mục
Chứa một số mục (entry) dành cho một tập tin.
Tên tập tin, thuộc tính và địa chỉ trên đĩa lưu dữ
liệu
hoặc chứa tên tập tin và một con trỏ, trỏ tới một cấu trúc có thuộc tính và vị trí lưu trữ của tập
tin.
Hệ thống thư mục theo cấp bậc (còn gọi là cây thư mục) được hình thành với mô hình một thư mục có thể chứa tập tin hoặc một thư mục con và cứ tiếp tục như vậy hình thành cây thư mục.
Thư mục
Tập tin
4.3.2. Truy xuất và thao tác với tập
tin
a. Truy xuất và thao tác với tập tin
thường
b. Truy xuất và thao tác với thư mục
a. Truy xuất và thao tác với tập tin
thường
Khi tập tin được sử dụng, các thông tin này được đưa vào bộ nhớ của máy tính.
Truy xuất tuần tự .
Tiến trình đọc tất cả các byte trong tập tin theo thứ tự từ đầu (trình biên dịch).
Tập tin có thể tự khởi động lại từ vị trí đầu tiên (đầu tập tin, vị trí bất kỳ)
Một số hệ thống tập tin cho phép di chuyển con trỏ tập tin đi tới hoặc đi lui n mẫu tin.
Truy xuất và thao tác với tập tin
thường (t)
Truy xuất trực tiếp
Dựa trên bản ghi logic bằng nhau của tập tin
Dựa trên mô hình của đĩa, đĩa cho phép truy xuất ngẫu nhiên tới bất kỳ khối thông tin nào của tập tin
Được sử dụng trong trường hợp phải truy xuất một khối lượng thông tin lớn(cơ sở dữ liệu).
Truy xuất và thao tác với tập tin
thường(t)
Thao tác với tập tin:Các chức năng
Tạo: một tập tin được tạo chưa có dữ liệu, được gán một số thuộc tính.
Xóa
Mở
Đóng
Đọc
Ghi
Thêm
Tìm
Lấy thuộc tính
Đổi tên
b.Truy xuất và thao tác với thư
mục
Đường dẫn tuyệt đối: Đường dẫn từ thư mục gốc đến tập tin.
Ví dụ : /usr/ast/mailbox.
Đường dẫn tương đối: Người sử dụng có thể quy định một thư mục là thư mục hiện hành. Đường dẫn bắt đầu từ thư mục hiện hành.
Ví dụ: Thư mục hiện hành /usr/ast đường dẫn mailbox
Hầu hết các hệ điều hành đều hỗ trợ hệ thống thư mục theo cấp bậc với hai mục đặc biệt cho mỗi thư mục là "." và "..". "." chỉ thư mục hiện hành, ".." chỉ thư mục cha.
b.Truy xuất và thao tác với thư
mục
Tạo : một thư mục được tạo, nó rỗng, ngoại trừ "." và
".." được đặt tự động bởi hệ thống.
Xóa :xoá một thư mục, chỉ có thư mục rỗng mới bị
xóa, tư mục chứa "." và ".." coi như là thư mục rỗng.
Mở thư mục :thư mục có thể được đọc. Ví dụ để liệt kê tất cả tập tin trong một thư mục, chương trình liệt kê mở thư mục và đọc ra tên của tất cả tập tin chứa
trong đó. Trước khi thư mục được đọc, nó phải được mở ra trước.
Đóng thư mục :khi một thư mục đã được đọc xong, phải đóng thư mục để giải phóng vùng nhớ.
b.Truy xuất và thao tác với thư
mục
Đọc thư mục :Lệnh này trả về entry tiếp theo trong thư mục đã mở. Thông thường có thể đọc thư mục bằng lời gọi hệ thống READ, lệnh đọc thư mục luôn luôn trả về một entry dưới dạng chuẩn .
Đổi tên :cũng như tập tin, thư mục cũng có thể được
đổi tên.
Liên kết :kỹ thuật này cho phép một tập tin có thể xuất hiện trong nhiều thư mục khác nhau. Khi có yêu cầu, một liên kết sẽ được tạo giữa tập tin và một đường dẫn được cung cấp.
Bỏ liên kết :Nếu tập tin chỉ còn liên kết với một thư mục, nó sẽ bị loại bỏ hoàn toàn khỏi hệ thống, nếu nhiều thì nó bị giảm chỉ số liên kết.
4.3.3. Cài đặt hệ thống tập tin trên
đĩa
Hệ thống tập tin được cài đặt trên
đĩa.
Mỗi đơn vị dữ liệu được truy xuất gọi là một khối. Một khối dữ liệu bao gồm một hoặc nhiều sector.
Bộ phận tổ chức tập tin quản lý việc lưu trữ tập tin trên những khối vật lý bằng cách sử dụng các bảng có cấu trúc.
4.3.3. Cài đặt hệ thống tập tin trên
đĩa
Trước khi tập tin được đọc, tập tin phải
được mở:
Cần có đường dẫn do người sử dụng cung cấp và được định vị trong cấu trúc đầu vào thư mục (directory entry).
Directory entry cung cấp các thông tin cần thiết
để tìm kiếm các khối.
Tuỳ thuộc vào mỗi hệ thống, thông tin là địa chỉ trên đĩa của toàn bộ tập tin, số hiệu của khối đầu tiên, hoặc là số I-node.
Bảng quản lý thư mục,tập tin
Bảng này thường được cài đặt ở phần
đầu của đĩa.
Bảng là dãy các phần tử (entry) có kích
thước xác định.
Mỗi phần tử sẽ lưu thông tin về tên , thuộc tính, vị trí lưu trữ .... của một tập tin hay thư mục.
Bảng phân phối vùng nhớ
Bảng này thường được sử dụng phối hợp với bảng quản lý thư mục tập tin
Cho biết vị trí khối vật lý của một tập tin hay thư mục nào đó ( lưu giữ dãy các khối trên đĩa cấp phát cho tập tin lưu dữ liệu hay thư mục).
Có một số phương pháp được cài đặt.
Phương pháp định vị tập tin trên
đĩa
Định vị liên tiếp :
Lưu trữ tập tin trên dãy các khối liên tiếp.
Ưu điểm:
Dể dàng cài đặt.
Dể dàng thao tác vì toàn bộ tập tin được đọc từ đĩa bằng thao tác đơn giản không cần định vị lại.
Khuyết điểm
Không linh động trừ khi biết trước kích thước tối
đa của tập tin.
Sự phân mảnh trên đĩa, gây lãng phí lớn.
Phương pháp định vị tập tin trên
đĩa
Định vị bằng danh sách liên kết :
Mọi khối đều được cấp phát, không bị
lãng phí
Directory entry chỉ cần chứa địa chỉ của khối đầu tiên.
Tuy nhiên, khối dữ liệu bị thu hẹp lại và truy xuất ngẫu nhiên sẽ chậm.
Phương pháp định vị tập tin trên
đĩa
Danh sách liên kết sử dụng index:
Tương tự như cách trên nhưng thay vì dùng con trỏ thì dùng một bảng chỉ số.
Toàn bộ khối chỉ chứa dữ liệu.
Truy xuất ngẫu nhiên sẽ dễ dàng hơn.
Kích thước tập tin được mở rộng hơn.
Phương pháp định vị tập tin trên
đĩa
I-nodes :Gồm hai phần.
Phần 1: chứa thuộc tính của tập tin (kiểu, người sở hữu, kích thước, v.v...)
Phần 2: chứa địa chỉ của khối dữ liệu. Phần này chia làm hai phần nhỏ:
10 phần tử đầu, mỗi phần tử chứa địa chỉ khối dữ liệu của tập tin.
Phần tử thứ 11 chứa địa chỉ gián tiếp cấp 1 (single indirect), chứa địa chỉ của một khối, trong khối đó chứa một bảng có thể từ 210 đến 232 phần tử mà mỗi phần tử mới chứa địa chỉ của khối dữ liệu.
Phần tử thứ 12 chứa địa chỉ gián tiếp cấp 2 (double indirect), chứa địa chỉ của bảng các khối single indirect.
Phần tử thứ 13 chứa địa chỉ gián tiếp cấp 3 (double indirect), chứa địa chỉ của bảng các khối double indirect.
Cách tổ chức này tương đối linh động, phù hợp với hệ
thống tập tin lớn.
4.4.Quản lý thiết bị nhập
xuất
4.4.1.Phần mềm nhập/xuất
4.4.2.Lập lịch vào ra cho đĩa cứng
Mục đích
Hệ điều hành phải ra các chỉ thị điều khiển thiết bị, kiểm soát các ngắt và lỗi.
Hệ điều hành phải cung cấp một cách giao tiếp đơn giản và tiện dụng giữa các thiết bị và phần còn lại của hệ thống và giao tiếp này phải độc lập với thiết bị.
Nhắc lại: Tổ chức thiết bị nhập xuất
4.4.1.Phần mềm nhập/xuất
Phân lớp Phần mềm nhập/xuất nhằm tạo giao diện thống nhất giữa hệ điều hành và các thiết bị phần cứng riêng biệt
Phần mềm nhập/xuất
Chương trình độc lập với thiết bị và không gian người dùng
Không gian người dùng:
Hàm thư viện cho phép người lập trình sử dụng thiết bị
Tiện ích mức người dùng
V..v
Chương trình độc lập thiết bị:
Giao diện thống nhất giữa không gian người dùng với mọi loại thiết bị
Bảo vệ thiết bị/đặt tên thiết bị/phòng đệm vào ra/phân phối/ giải phóng và báo cáo lỗi thiết bị
Phần mềm nhập/xuất
Trình điều khiển thiết bị:
Tất cả các đoạn mã độc lập thiết bị đều được chuyển đến device drivers. Mỗi device drivers kiểm soát mỗi loại thiết bị, nhưng cũng có khi là một tập hợp các thiết bị liên quan mật thiết với nhau.
Device drivers phải xác định được những thao tác nào của bộ điều khiển phải thi hành và theo trình tự nào. Một khi đã xác định được chỉ thị cho bộ điều khiển, nó bắt đầu thực hiện bằng cách chuyển lệnh vào thanh ghi của bộ điều khiển thiết bị. Bộ điều khiển có thể nhận một hay nhiều chỉ thị liên tiếp và sau đó tự nó thực hiện không cần sự trợ giúp của hệ điều hành.
Kiểm soát ngắt:
Khi một ngắt xảy ra, hàm xử lý ngắt khởi
tạo một tiến trình mới để xử lý ngắt.
4.4.2.Lập lịch vào ra cho đĩa cứng
Trình điều khiển thiết bị tập hợp các yêu cầu truy nhập đĩa cứng và áp dụng các thuật toán lập lịch sao cho tối thiểu hóa các thao tác di chuyển đầu đọc đĩa.
Thuật toán
FCFS (First Come First Server)
SSF (Shortest Seek Time First )
SCAN
C-SCAN (Circular SCAN )
Ví dụ : cần phải đọc các khối theo thứ tự như sau :
98, 183, 37, 122, 14, 124, 65, và 67
Giả sử hiện tại đầu đọc đang ở vị trí 53. Như vậy đầu
đọc lần lượt đi qua các khối 53, 98, 183, 37, 122, 14,
124, 65, và 67 như hình sau :
Đầu đọc lần lượt đi qua các khối 53,
65, 67, 37, 14, 98, 122, 124 và 183
Đầu đọc lần lượt đi qua các khối 53,
37, 14, 0 , 65, 67, 98, 122, 124 và
183
Thứ tự truy xuất các khối sẽ là : 53,
65, 67, 98, 122, 124, 183, 199, 0,
14, 37
4.5.Các dịch vụ của hệ điều
hành
4.5.1.Xác thực người dùng
4.5.2. Bảo vệ dữ liệu
Các vấn đề bảo mật
Xác thực người dùng:
Xác thực người sử dụng tài khoản là chủ của tài khỏan (account)
Bảo vệ
Gán việc điều khiển tài nguyên với các mức đặc quyền khác nhau cho người dùng hoặc nhóm người dùng và bảo vệ tài nguyên khỏi việc sử dụng không hợp lệ.
Các mối đe dọa an toàn bảo mật
Sử dụng các biện pháp để tránh sự tấn công do
Lỗ hổng kỹ thuật
Ý thức người dùng
Sai sót quản lý
4.5.1.Xác thực người dùng
Định danh người dùng (UID): Số hiệu
để định danh cho chủ tài nguyên
Xác thực:
Hệ thống thực hiện việc xác thực thông qua có chế đăng nhập sử dụng mật khẩu
Mã hóa mật khẩu: Tăng độ bảo mật
Lựa chọn và thay đổi mật khẩu
4.5.2. Bảo vệ
Chính sách và cơ chế
Chính sách được quyết định bởi người quản trị hệ thống:
dữ liệu được bảo vệ khỏi ai
Cơ chế được hỗ trợ bởi hệ điều hành: cách thức để thực hiện chính sách bảo vệ
Phân lớp người dùng và gán các đặc quyền cho lớp người dùng bằng cấu trúc thông tin bao gồm hai thành tố
Đối tượng được tác động (tập tin, bộ nhớ ...)
Quyền thực thi các thao tác trên đối tượng đó (đọc, ghi, xóa...)
Hệ thống gán một định danh người dùng/nhóm với lớp xác định
Bảo vệ
Ma trận
Hệ điều hành lưu một ma trận liệt kê các cặp thông tin (đối tượng, quyền) cho mỗi một lớp Tốn không gian lưu trữ
Bảo vệ
Danh sách điều khiển truy nhập (ACL): Lưu trữ ma trận bảo vệ theo cột
Mỗi một đối tượng có một danh sách truy nhập tương ứng
Phần tử của danh sách là cặp (lớp người dùng, quyền)
Sửa đổi quyền đối với mỗi một lớp người dùng rất phức tạp
Bảo vệ
Danh sách các khả năng (C-List): Lưu
trữ ma trận bảo vệ theo hàng
Mỗi một lớp người dùng có một danh sách khả năng tương ứng
Phần tử của danh sách là cặp (đối tượng, quyền)
Sửa đổi quyền truy nhập trên từng đối
tượng rất phức tạp
Các mối đe dọa an toàn bảo
mật
Bị động
Chặn để nghe trộm
Chủ động
Ngắt giữa chừng
Sửa đổi, giả mạo
Các mối đe dọa an toàn bảo
mật
Mã độc:
Cần chương trình chủ
Mã độc được gắn chương trình chủ như là một phần của chương trình
Ví dụ Trapdoors, Logic bomb, Trojan horses, Viruses
Độc lập
Các đoạn mã độc lập:
Ví dụ Bacteria, Worms
Tạo bản sao
Các đoạn mã có khả năng tự tạo các bản sao của chính mình để nhân rộng sự lây nhiễm
Ví dụ Bacteria, Worms, Viruses
Bạn đang đọc truyện trên: Truyen2U.Com