intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Hệ điều hành UNIX-Linux: Chương 3 - Nguyễn Trí Thành

Chia sẻ: Năm Tháng Tĩnh Lặng | Ngày: | Loại File: PDF | Số trang:83

94
lượt xem
8
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chương 3 của bài giảng hệ điều hành giới thiệu về hệ thống File trong hệ điều hành. Các nội dung chính được trình bày trong chương này gồm có: Khái niệm cơ bản, file trong Linux - UNIX, cách tổ chức file, siêu khối, cấu trúc thư mục,... Mời các bạn cùng tham khảo để nắm bắt các nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Hệ điều hành UNIX-Linux: Chương 3 - Nguyễn Trí Thành

  1. Hệ ñiều hành UNIX-Linux Chương 3. Hệ thống File Linux operating system - Nguyen Tri Thanh 1
  2. Khái niệm cơ bản  Một ñối tượng ñiển hình trong các hệ ñiều hành ñó là file  File là một tập hợp dữ liệu có tổ chức ñược hệ ñiều hành quản lý  Cách tổ chức dữ liệu trong file thuộc về người ñã tạo ra file  File có thể là:  một văn bản (trường hợp ñặc biệt là chương trình nguồn trên C, PASCAL, shell script ...)  một chương trình ngôn ngữ máy,  Hệ ñiều hành tổ chức việc lưu trữ nội dung file trên các thiết bị nhớ lâu dài và ñảm bảo các thao tác lên file. Linux operating system - Nguyen Tri Thanh 2
  3. Khái niệm cơ bản  Hệ ñiều hành ñảm bảo các chức năng liên quan ñến file nên người dùng không cần biết file của mình lưu ở vùng nào trên ñĩa từ, bằng từ cách nào ñọc/ghi lên các vùng của ñĩa từ mà vẫn thực hiện ñược yêu cầu tìm kiếm, xử lý lên các file  Hệ ñiều hành quản lý file theo tên gọi của file (tên file) và một số thuộc tính liên quan ñến file  Hệ ñiều hành không chỉ quản lý nội dung file mà còn phải quản lý các thông tin liên quan ñến các file.  Thư mục (directory) là ñối tượng ñược dùng ñể chứa thông tin về các file  Các thư mục cũng ñược hệ ñiều hành quản lý trên vật dẫn ngoài và vì vậy thư mục cũng ñược coi là file Linux operating system - Nguyen Tri Thanh 3
  4. File trong Linux - UNIX  Tên file trong Linux có thể dài > 256 ký tự  Nên chỉ gồm các chữ cái, chữ số, dấu gạch nối, gạch chân, dấu chấm  Tên thư mục/file trong Linux có thể có nhiều hơn một dấu chấm: This_is.a.VERY_long.filename  Xâu con của tên file từ dấu chấm cuối cùng ñược gọi là phần mở rộng của tên file  Phần mở rộng ở ñây không mang ý nghĩa như một số hệ ñiều hành khác (chẳng hạn như MS-DOS)  Phân biệt chữ hoa và chữ thường ñối với tên thư mục/file  Nếu trong tên thư mục/file có chứa khoảng trống, ñặt tên vào trong cặp dấu nháy kép: # mkdir “My document”  Một số ký tự không ñược sử dụng trong tên thư mục/file: !, *, $, &, # ... Linux operating system - Nguyen Tri Thanh 4
  5. Cách tổ chức file  Trên ñĩa hệ thống file là dãy tuần tự các khối lôgic mỗi khối chứa hoặc 512B hoặc 1024B hoặc bội của 512B  Các khối dữ liệu ñược ñịa chỉ hóa bằng cách ñánh chỉ số liên tiếp, mỗi ñịa chỉ ñược chứa trong 4 byte (32 bit)  Cấu trúc nội tại gồm 4 thành phần kế tiếp nhau: Boot block (dùng ñể khởi ñộng hệ thống), Siêu khối (Super block), Danh sách inode và Vùng dữ liệu. Linux operating system - Nguyen Tri Thanh 5
  6. Siêu khối Chứa thông tin liên quan ñến trạng thái của hệ thống file  Kích thước của danh sách inode  Kích thước của hệ thống file.  Danh sách chỉ số các khối rỗi  Chỉ số các khối rỗi thường trực trên siêu khối  Chỉ số của khối rỗi tiếp theo trong danh sách các khối rỗi  Một danh sách các inode rỗi  Danh sách này chứa chỉ số các inode rỗi ñược dùng ñể phân phối ngay ñược cho một file mới ñược khởi tạo  Cờ chỉ dẫn rằng hệ thống file chỉ có thể ñọc (cấm ghi)  Số lượng tổng cộng các khối rỗi trong hệ thống file  Số lượng tổng cộng các inode rỗi trong hệ thống file  Thông tin về thiết bị  Kích thước khối của hệ thống file Linux operating system - Nguyen Tri Thanh 6
  7. Linux operating system - Nguyen Tri Thanh Cấu trúc thư mục 7
  8. Kiến trúc hệ thống file Linux operating system - Nguyen Tri Thanh 8
  9. Hình ảnh các khối bộ nhớ Linux operating system - Nguyen Tri Thanh 9
  10. Cấu trúc thư mục  Nội dung của một thư mục là một danh sách các file entry  Mỗi một file entry gồm  Số hiệu inode quản lý file này  Tên file  ðộ dài của tên file  ðộ dài của entry Inode No File name File name length Entry length 320 a.txt 5 7 Thông tin một file entry Linux operating system - Nguyen Tri Thanh 10
  11. Cấu trúc thư mục  Khi một file bị xóa thì trường entry length của file ñứng trước sẽ ñược tăng ñộ dài  Khi chèn thêm một file entry, nó sẽ tính toán ñộ dài của entry ñể quyết ñịnh là chèn vào một entry bị xóa nào ñó hay cuối danh sách Trạng thái Linux operating của system thư mục - Nguyen Tri Thanh 11
  12. Inode  Khi tạo một file mới, hệ thống sẽ cấp một inode chưa sử dụng  inode cho ta biết các khối dữ liệu của file và các thông tin về file  Tổ hợp gồm inode + tập các khối dữ liệu = file vật lý  Các inode có chỉ số: số thứ tự của inode trong danh sách inode  Hệ thống dùng 2 bytes ñể lưu trữ chỉ số của inode  Một file chỉ có một inode + một hoặc một số tên file  Người dùng tác ñộng thông qua tên file và tên file lại tham chiếu ñến inode Linux dùng một vùng bộ nhớ chứa danh sách các inode: in-core inode Linux operating system - Nguyen Tri Thanh 12
  13. Cấu trúc Inode  Kiểu file (file thông thường, thư mục, ñặc tả kí tự, ñặc tả khối, ống dẫn)  Kiểu file có giá trị 0 tương ứng ñó là inode chưa ñược sử dụng  Quyền truy nhập file: có 3 mức quyền truy nhập  chủ của file  nhóm người dùng của chủ nhân của file  người dùng khác  Quyền truy nhập là ñọc (r), ghi (w), thực hiện (x) hoặc một tổ hợp nào ñó từ nhóm gồm 3 quyền trên  Quyền thực hiện ñối với một thư mục tương ứng với việc cho phép tìm một tên file có trong thư mục ñó Linux operating system - Nguyen Tri Thanh 13
  14. Cấu trúc Inode (tiếp)  Số lượng liên kết ñối với inode (số lượng các tên file)  ðịnh danh chủ nhân của inode  ðịnh danh nhóm chủ nhân  ðộ dài của file tính theo byte  Thời gian truy nhập file  thời gian file ñược sửa ñổi muộn nhất  thời gian file ñược truy nhập muộn nhất  thời gian file ñược khởi tạo 13 phần tử ñịa chỉ  10 phần tử trực tiếp  1 phần tử gián tiếp bậc 1  1 phần tử gián tiếp bậc 2  1 phần tử gián tiếp bậc 3 Linux operating system - Nguyen Tri Thanh 14
  15. Cácsystem Linux operating con trỏ dữ liệu - Nguyen Tri Thanh 15
  16. Nội dung của một Inode  type regular  perms rwxr-xr-x  links 2  owner 41CT  group 41CNTT  size 5703 bytes  accessed Sep 14 1999 7:30 AM  modified Sep 10 1999 1:30 PM  inode Aug 1 1995 10:15 AM  Các phần tử ñịa chỉ dữ liệu Linux operating system - Nguyen Tri Thanh 16
  17. Truy cập ñến một file Linux operating system - Nguyen Tri Thanh 17
  18. Linux operating system - Nguyen Tri Thanh 18
  19. Thuật toán truy nhập tới inode (iget) Tình huống ñòi hỏi thuật toán iget: mở / tạo một file mới … iget cấp phát một bản in-core inode ñối với một số hiệu inode Nếu chưa có bản sao in-core inode thì ñể có nội dung của nó cần phải ñọc ñược nội dung của inode Nếu mỗi inode ñĩa chiếm 64 bytes, mỗi khối ñĩa chứa 8 inode ñĩa thì inode số 8 sẽ bắt ñầu từ byte thứ 448 trên khối ñĩa ñầu tiên trong vùng danh sách các inode. Linux operating system - Nguyen Tri Thanh 19
  20. Thuật toán iget Vào: hệ thống file, số hiệu inode Ra: inode ñược khóa hoặc mã lỗi while (not done){ if (inode trong vùng ñệm các inode){ /*có quá trình ñang làm việc với inode*/ if (inode ñã bị khóa) { sleep (cho ñến khi inode ñược mở khóa); continue; /* quay về while */ } if (inode tồn tại trong danh sách các inode rỗi) Loại bỏ nó khỏi danh sách các inode rỗi; Tăng giá trị trường số file tích cực trong in-core inode; return (inode) } if (danh sách các inode rỗi rỗng) return (mã lỗi) Loại bỏ một inode mới từ danh sách các inode rỗi; ðặt lại số lượng inode rỗi vào hệ thống file; Loại bỏ inode ñó trên hàng ñợi cũ và ñặt nó lên hàng ñợi mới; ðọc inode từ ñĩa vào in-core inode; Khởi tạo inode; return (inode) } Linux operating system - Nguyen Tri Thanh 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2