Thứ Sáu, 30 tháng 9, 2011

Appending

·                    Appending: Người sử dụng có thể thêm dữ liệu vào file, thường là ở  va mang trinhdo choi tinh ducam dao giaphau thuat tham my
 dữ liệu vào file.
·                    Changing protection: Người sử dụng có thể thay đổi các quyền truy cập được gán đến người sử dụng khác. Quyền này thường chỉ được gán cho người sở hữu file.
·                    Deletion: Người sử dụng có thể xoá được file từ hệ thống file.  
Người sử dụng được gán quyền truy cập đến file, và họ chỉ có thể truy cập file ở mức độ tương ứng với quyền truy cập được gán. Ví dụ, người sử dụng A được gán quyền đọc (read) file tailieu.doc, nhưng không được gán quyền xoá (delete) file tailieu.doc thì người sử dụng A này chỉ có thể thực hiện thao tác mở file tailieu.doc ra để đọc nội dung của file, chứ không thể thay xóa hay thay đổi nội dung của file (vì không được gán quyền thay đổi (modify) nội dung file).          
Người sử dụng có thể được gán nhiều quyền truy cập đến một file, khi đó họ sẽ có đầy đủ các sự cho phép và sự giới hạn tương ứng với các quyền đã được gán. Tuy nhiên quyền truy cập có tính kế thừa, nên chỉ cần gán một quyền truy cập cao nhất thì họ có đủ  các sự cho phép và sự giới hạn của các quyền khác. Ví dụ , nếu người sử dụng được gán quyền Updating với một file nào đó, thì xem như họ đã được gán các quyền Knowledge, execution, reading và appending đối với file này.
Mở và đóng tập tin: Hệ điều hành cho rằng các tập tin được lưu trữ trên đĩa đều ở trang thái đóng, để thực hiện bất kỳ một thao tác đọc/ghi/thay đổi nội dung của tập tin thì trước hết chương trình, tiến trình của người sử dụng (kể cả người sử dụng) phải thực hiện thao tác mở tập tin. Khi nhận được yêu cầu mở tập tin bộ phận quản lý tập tin của hệ điều hành sẽ đọc nội dung của tập tin từ đĩa và nạp nó vào bộ nhớ chính, sau đó trả về cho chương trình, tiến trình của người sử dụng một thẻ tập tin/ thẻ file (file handle) hoặc một biến tương ứng với tập tin này để chương trình, tiến trình theo dõi và thao tác trên tập tin này. Sau khi thực hiện xong một thao tác nào đó trên nội dung của tập tin thì chương trình, tiến trình và cả người sử dụng phải thực hiện thao tác đóng tập tin lại. Đối tượng yêu cầu đóng tập tin phải cung cấp đúng thẻ tập tin của tập tin cần đóng cho hệ điều hành.
Một số hệ điều hành cho phép thực các thao tác trên tập tin (mở/cập nhật/ đóng) bằng chính tên của tập tin. Các hệ điều hành đều cung cấp hai thủ tục chính để chương trình của người sử dụng thực hiện các thao tác mở/đóng file: Open (tên file cần mở, chế độ mở): dùng để mở file (chế độ: Đọc/ Viết/ Tạo lập) và Close (tên file cần đóng): dùng để đóng file khi mở.
Thao tác mở/đóng file sẽ đơn giảm trong môi trường hệ điều hành đơn nhiệm và sẽ phức tạp hơn trong môi trường hệ điều hành đa nhiệm. Trong môi trường đa nhiệm, hệ điều hành chỉ thực sự đóng file theo yêu cầu của một tiến trình từ một người sử dụng nào đó khi tất cả các thao tác ghi/đọc file này từ các tiến trình người sử dụng khác đều đã kết thúc. Trong trường hợp này hệ điều hành phải luôn theo dõi các tiến trình người sử dụng tham gia vào việc mở file này. Để đáp ứng yêu cầu mở file từ một chương trình, tiến trình của người sử dụng trong môi trường đa nhiệm hệ điều hành phải thực hiện các bước cơ bản sau đây để đảm bảo việc truy xuất file sau này là hợp lệ:                
1.     Kiểm tra tên của file cần mở, tại các entry, trong bảng danh mục file của hệ thống (đó là bảng thư mục trong hệ điều hành DOS và Windows9x).
2.     Kiểm tra tiến trình gọi tới từ một người sử dụng hay chương trình người sử dụng có được quyền truy cập file ở chế độ đã được chỉ ra hay không.
3.     Kiểm tra nếu file đã được mở để đọc bởi một tiến trình trước đó thì tiến trình hiện tại không thể mở để ghi vào file, mặc dầu tiến trình này được quyền ghi file. Ngược lại tiến trình hiện tại không thể mở file để đọc khi đã có một tiến trình nào đó đang ghi vào file.
4.     Đảm bảo sự  sẵn sàng của các thiết bị lưu trữ, đĩa chẳng hạn, và vật mang liên quan đến file cần mở.
Để mô tả đầy đủ các thông tin về một file thì một phần tử trong bảng danh mục cần phải chứa các trường sau: Tên file; Mô tả của đơn vị của lưu trữ  file; Địa chỉ của Block đầu tiên trong dãy các block (trên đĩa) chứa file; Địa chỉ của các block kế tiếp trong dãy các block chứa file; Chế độ truy cập tập tin; vv.
          Trong môi trường hệ điều hành đa nhiệm có thể có các tiến trình song song cùng đọc nội dung của một file, đối với các file chia sẻ, nhưng không thể xảy ra trường hợp có hai tiến trình cùng ghi vào một file hoặc có một tiến trình ghi vào file trong khi có một hoặc nhiều tiến trình khác đang đọc nội dung của file. Hệ điều hành phải kiểm soát chặt chẽ các trường hợp này. Để tránh  hiện tượng này hệ điều hành phải tạo một cơ chế thích hợp để va mang trinhdo choi tinh ducam dao giaphau thuat tham my

Không có nhận xét nào:

Đăng nhận xét