CHƯƠNG 9: GIAO TIẾP VỚI HỆ THỐNG FILE
Tổng quan về dữ liệu và file Các thuộc tính & thao tác trên file Các phương pháp truy cập file Tổ chức thư mục Mount hệ thống file Bảo vệ hệ thống file Sao lưu và phục hồi dữ liệu
TỔNG QUAN VỀ DỮ LIỆU & TỔNG QUAN VỀ DỮ LIỆU & FILEFILE
YêuYêu cầucầu llưưuu trữtrữ củacủa useruser
LLưưuu trữtrữ lâulâu dàidài nhanh TruyTruy cậpcập nhanh nhiêu dữdữ liệuliệu LLưưuu đđựocựoc nhiêu ChiaChia xẻxẻ vàvà bảobảo vệvệ tốttốt dụng DễDễ sửsử dụng
cầncần sựsự hỗhỗ trợtrợ củacủa phầnphần cứng KháiKhái niệmniệm filefile (tập(tập tin, cứng vàvà OSOS tệp) tin, tệp)
ĐĐơơnn vịvị llưưuu trữtrữ luậnluận lýlý củacủa OSOS loại:: chchươươngng trình PhânPhân loại CóCó thểthể có/có/ không
trình hoặchoặc dữdữ liệuliệu
không cócó cấucấu trúctrúc::
2
Thuộc
CÁC THUỘC TÍNH & CÁC THUỘC TÍNH & THAO TÁC TRÊN FILE THAO TÁC TRÊN FILE attribute)) Thuộc tínhtính filefile ((filefile attribute Tên,Tên, kiểu,
kiểu, vịvị trítrí llưưuu trũtrũ ,, kíchkích cỡ,cỡ, thông
thông tintin bảobảo vệvệ……
operation)) ThaoThao táctác vềvề dữdữ liệuliệu trêntrên filefile ((datadata operation truncate delete, truncate
seek, delete,
read, seek,
create, open( close
create, write,write, read, open(FFii)) close ((FFii))
ThaoThao táctác vềvề đđặtặt têntên filefile ((naming
TạoTạo hardhard link, Thiết lậplập thuộc Thiết
link, soft thuộc tính,
operation)) naming operation rename, link, rename, thuộc tínhtính
soft link, tính, lấylấy thuộc
3
CẤU TRÚC DỮ LIỆU QUẢN LÝ CẤU TRÚC DỮ LIỆU QUẢN LÝ FILEFILE BảngBảng thông
((OpenOpen FileFile Table Table))..
DànhDành chocho nn quáquá trình trình dùng ChứaChứa:: biếnbiến đđiếmiếm sửsử dụng,
thông tintin vềvề cáccác filefile đđangang mởmở dùng chung dụng, thuộc chung mộtmột filefile thuộc tínhtính file, file, vịvị trítrí filefile trêntrên đđĩa,ĩa,
concon trỏtrỏ đđếnến vịvị trítrí củacủa filefile trong trong bộbộ nhớnhớ..
BảngBảng thông ((PerPer--process
process FileFile Table
từng quáquá trình trình chứa:: file, bảngbảng nàynày chứa trong OpenOpen FileFile TableTable
trong filefile
rw) trình vớivới filefile (r,(r, w,w, rw)
thông tintin vềvề cáccác filefile củacủa từng Table)):: VớiVới mỗimỗi file, ConCon trỏtrỏ đđếnến mụcmục ttươươngng ứngứng trong VịVị trítrí hiệnhiện tạitại trong ChếChế đđộộ truytruy cậpcập củacủa quáquá trình buffer ConCon trỏtrỏ tớitới filefile buffer
4
TÁC VỤ FILE (1) TÁC VỤ FILE (1)
thông tintin quảnquản lýlý filefile
Create(name) TạoTạo filefile:: Create(name) không giangian llưưuu trữtrữ descriptor chứa
chứa thông descriptor vàovào ththưư mụcmục chứa
chứa filefile
chứa filefile
CấpCấp không TạoTạo filefile descriptor ThêmThêm filefile descriptor XoáXoá filefile:: Delete(name) Delete(name) TìmTìm ththưư mụcmục chứa GiảiGiải phóng XoáXoá filefile descriptor
chứa filefile
MởMở filefile:: file_id
phóng cáccác khốikhối đđĩaĩa dànhdành chocho filefile descriptor khỏikhỏi ththưư mụcmục chứa Open(name, mode)mode)
file_id == Open(name,
quyền sửsử dụngdụng filefile.. count củacủa filefile..
thống thông tintin quảnquản lýlý filefile đđangang mởmở vàovào bảngbảng filefile củacủa hệhệ thống
KiểmKiểm tratra filefile cócó mởmở hayhay chchưưaa chiachia xẻxẻ filefile.. KiểmKiểm tratra quyền TTăăngng openopen count TạoTạo vàvà thêmthêm thông trình.. vàvà củacủa quáquá trình Close(file_id) ?? ĐóngĐóng filefile:: Close(file_id)
5
TÁC VỤ FILE (2) TÁC VỤ FILE (2)
ĐọcĐọc filefile::
Read(file_id, Read(file_id,
nhiên buf_addr) :: đđọcọc ngẫungẫu nhiên
GhiGhi filefile::
TTươươngng tựtự đđọcọc filefile ThựcThực hiệnhiện copycopy dữdữ liệuliệu từtừ buffer
Read(file_id, from, Read(file_id, size, from, size, size, buf_addr) size, buf_addr) buf_addr) :: đđọcọc tuầntuần tựtự
SeekSeek::
buffer vàovào filefile
memory mapping
CậpCập nhậtnhật vịvị trítrí concon trỏtrỏ filefile ÁnhÁnh xạxạ filefile vàovào bộbộ nhớnhớ ((memory
vùng đđịaịa chỉchỉ ảoảo vàovào nộinội dung
mapping aa filefile)):: dung filefile
AùnhAùnh xạxạ 11 vùng TácTác vụvụ đđọc/ọc/ ghighi lênlên vùng
vùng nhớnhớ đđọc/ọc/ ghighi filefile
6
record……)) theotheo trật (byte, record trật tựtự
NG PHÁP TRUY CẬP CÁC PHƯƠƯƠNG PHÁP TRUY CẬP CÁC PH FILEFILE TheoTheo quanquan đđiểmiểm ngngưườiời lậplập trình trình TuầnTuần tựtự:: xửxử lýlý dữdữ liệuliệu (byte, TheoTheo khoákhoá:: tìmtìm khối
TheoTheo quanquan đđiểmiểm hệhệ đđiềuiều hànhhành
TruyTruy cậpcập tuầntuần tựtự ((sequential
khóa khối dữdữ liệuliệu theotheo giágiá trịtrị khóa
access)):: giữgiữ vàvà cậpcập nhậtnhật concon
trỏtrỏ đđếnến vịvị trítrí truytruy cậpcập kếkế tiêptiêp trong
TruyTruy cậpcập trực offset củacủa khôi offset
sequential access trong filefile access):: truytruy cậpcập dữdữ liệuliệu theotheo
trực tiếptiếp ((random khôi dữdữ liệuliệu trong random access) trong filefile..
7
TỔ CHỨC THƯƯ MỤCMỤC TỔ CHỨC TH
directory)) ThThưư mụcmục ((directory
CấuCấu trúctrúc dữdữ liệuliệu củacủa HĐHHĐH đđểể ánhánh xạxạ têntên sangsang sốsố
nhậnnhận dạngdạng filefile củacủa HĐHHĐH
TácTác vụvụ thực TìmTìm file,
liệt kêkê nộinội dungdung ththưư mục,mục,
file, xoáxoá file, duyệt hệhệ thống
thực hiệnhiện trêntrên ththưư mụcmục file, liệt file, tạotạo file, thống filefile file, duyệt đđổiổi têntên file, thống ththưư mụcmục YêuYêu cầucầu khikhi tổtổ chức
chức hệhệ thống
HiệuHiệu quảquả TiệnTiện lợilợi chocho ngngưườiời sửsử dụng dụng CóCó khảkhả nnăăngng nhómnhóm cáccác filefile theotheo thuộc
thuộc tínhtính
8
CÁCH TỔ CHỨC THƯƯ MỤCMỤC CÁCH TỔ CHỨC TH
TổTổ chức
Directory) Level Directory)
SửSử dụng useruser
ViệcViệc đđặtặt têntên dễdễ đđụngụng đđộộ Không
TổTổ chức
chức 11 cấpcấp (Single dụng 11 không (Single--Level không giangian têntên (th(thưư mục)mục) duyduy nhấtnhất chocho mọimọi
dụng đưđườngờng dẫndẫn đđểể xácxác đđịnhịnh nnơơii llưưuu filefile
Không cócó khảkhả nnăăngng nhómnhóm cáccác filefile Level Directory) Directory) (Two--Level chức 22 cấpcấp (Two riêng 11 useruser cócó mộtmột ththưư mụcmục riêng SửSử dụng nhanh TìmTìm kiếmkiếm nhanh VẫnVẫn cócó khảkhả nnăăngng đđụngụng đđộộ khikhi đđặtặt têntên Không cócó khảkhả nnăăngng nhómnhóm cáccác filefile Không
9
MỤC ĐA CẤP TỔ CHỨC THƯƯ MỤC ĐA CẤP TỔ CHỨC TH Multilevel Directory)) ((Multilevel Directory
NhậnNhận xétxét
10
MỤC DẠNG TỔ CHỨC THƯƯ MỤC DẠNG TỔ CHỨC TH
General ĐỒ THỊ TỔNG QUÁT (General ĐỒ THỊ TỔNG QUÁT (
GraphGraph))
K/niệmK/niệm linklink HardHard linklink SoftSoft linklink
VấnVấn đđề?ề? quyết? GiảiGiải quyết?
11
MOUNT HỆ THỐNG FILE MOUNT HỆ THỐNG FILE
MountMount
hệthống thiết bịbị llưưuu trữtrữ vàovào hệthống
thống filefile trêntrên 11 thiết chính đđểể truytruy cậpcập
GắnGắn hệhệ thống ththưư mụcmục chính point MountMount point
thống filefile ởở ngoài ngoài vàovào
ThThưư mụcmục nnơơii gắngắn hệhệ thống Unmount Unmount TáchTách hệhệ thống
thống filefile củacủa thiết thiết bịbị llưưuu trữtrữ rara khỏi khỏi mountmount
thống filefile đưđượcợc mountmount::
point point LoạiLoại hệhệ thống tùytùy thuộc thuộc sựsự hỗhỗ trợtrợ củacủa hệhệ đđiềuiều hànhhành
12
BẢO VỆ HỆ THỐNG FILE BẢO VỆ HỆ THỐNG FILE
NgNgưườiời tạo/
khiển đưđượcợc
CácCác thaothao táctác cócó thểthể thực quyền thực AiAi cócó quyền
tạo/ sởsở hữuhữu filefile phảiphải đđiềuiều khiển thực hiệnhiện trêntrên filefile
thực hiệnhiện cáccác thaothao táctác trêntrên
CácCác quyền Read,
quyền thao thao táctác trêntrên filefile
PhPhươươngng pháppháp bảobảo vệvệ list && group Access list (Windows NT)NT) group (Windows (UNIX) control bitsbits (UNIX) Access control
Access Access ĐiềuĐiều khiển
Read, Write,Write, Execute, Execute, Append, Append, Delete, Delete, ListList
KhóaKhóa toàntoàn bộbộ filefile KhóaKhóa từng
thời khiển truytruy cậpcập đđồngồng thời
từng phầnphần filefile
13
execute write, execute others group, others dùng:: owner,
BẢO VỆ FILE TRÊN UNIX BẢO VỆ FILE TRÊN UNIX read, write, ChếChế đđộộ truytruy cậpcập :: read, 33 loại owner, group, loại ngngưườiời dùng BiểuBiểu diếndiến quyền
quyền truytruy cậpcập filefile bằngbằng tổtổ hợphợp bitbit
Others
Group
Owner
Kiểm tra quyền sử dụng lần lượt theo owner, group rồi
rwx r-x r-x
user
14
MụcMục tiêutiêu
GiớiGiới thiệu
thiệu vaivai tròtrò củacủa việcviệc tổtổ chức chức dữdữ liệuliệu trong trong mộtmột
đềđề ánán tintin họchọc..
thuật vàvà cấucấu trúctrúc dữdữ liệuliệu..
MốiMối quanquan hệhệ giữagiữa giảigiải thuật CácCác yêuyêu cầucầu tổtổ chức KháiKhái niệmniệm kiểukiểu dữdữ liệuliệu__cấucấu trúctrúc dữdữ liệuliệu TổngTổng quanquan vềvề đánhđánh giágiá độđộ phức
chức cấucấu trúctrúc dữdữ liệuliệu
thuật phức tạptạp giảigiải thuật