HỆ ĐIỀU HÀHH
Hệ thống quản lý tập tin
Nội dung Nội dung
iệ
1. Các khái niệm cơ bản 1 Cá khái bả 2. Cấu trúc hệ thống file 3. Cơ chế cấp phát vùng lưu trữ 4. Sao lưu phục hồi dữ liệu 4 Sao lưu phục hồi dữ liệu
CAÁU TRUÙC ÑÓA CÖÙNG
ä
g
ä block lieân tieáp vôùi kích thöôùc coá ñònh.
-3-
Heä ñieàu haønh xem ñóa cöùng nhö moät chuoãi caùc
CAÁU TRUÙC HEÄ THONG FILE HEÄ THOÁNG FILE
Toå chöùc theo phaân lôùp File Control Block (FCB) File Control Block (FCB) – Naèm treân ñóa cöùng, chöùa Thoâng tin baûo maät file Thoâng tin nôi löu tröõ file
Virual File System (VFS) C ng caáp API ch ng tr – Cung cap API chung truy xuaát nhieàu loaïi heä thoáng file khaùc nhau á
Caáu truùc thö muïc
-4-
– Duøng danh saùch lieân keát – Dung bang bam Duøng baûng baêm
Virual File System (VFS)
-5-
Khaùi nieäm cô sôû (tt)
Ñeå giuùp ngöôøi duøng söû duïng caùc thieát bò löu tröõ moät caùch hieäu quaû, heä ñieàu haønh che daáu caùc chi tieát caáp thaáp cuûa caùc thieát bò löu tröõ vaät lyù baèng caùc khaùi nieäm luaän lyù.
Caùc khaùi nieäm luaän lyù (user view)
– File -file description -directory -file system
physical disk physical disk
operating system operating system
file system
11.6
Caùc thaønh phaàn lieân quan
File structure
Records
Physical blocks in secondary in secondary storage
Physical blocks in main memory in main memor Buffer
directory management
access method
blocking
di k disk scheduling
I/O
user& program commands Operation, Operation file name
Free storage management
File File maniputation functions
File association
User Access Control
File Management Concerns
Operating System Concerns
11.7
Khaùi nieäm cô sôû (tt)
File: khoái löu tröõ luaän lyù lieân tuïc Caùc loaïi file – Dö lieäu – Döõ lieäu
(a) Executable file (b) Archive (*.o)
11.8
numeric character binary binary – Chöông trình Phaân bieät loaïi file – extension extension – magic number – user
Khaùi nieäm cô sôû (tt)
Caùc thuoäc tính cuûa file
11.9
Khaùi nieäm cô sôû (tt)
Caùc thuoäc tính cuûa file - teân file
11.10
Khaùi nieäm cô sôû (tt)
Caáu truùc file
á
– Khoâng caáu truùc – moät chuoãi word/byte – Caáu truùc record ñôn giaûn
Fixed length vs. variable length Fi ed length s ariable length
– Caáu truùc phöùc taïp
11.11
Formatted document (Word, PDF document,...) Relocatable load file (executable dynamic linking library Relocatable load file (executable, dynamic linking library,...) )
Khaùi nieäm cô sôû (tt)
Truy caäp file (töø user-view)
– Sequential
truy xuaát döõ lieäu theo thöù töï, töøng byte hoaëc record
– Keyed (hoaëc indexed)
ñònh vò moät block döïa vaøo key value hoaëc chæ muïc (vd hash,
dictionary) – Memory mapping file Memorymappingfile
file ñöôïc aùnh xaï vaøo khoâng gian ñòa chæ duøng taùc vuï truy xuaát boä nhôù heä ñieàu haønh seõ thöïc hieän caùc
Truy caäp file (töø operating system view)
g taùc vuï töông öùng g ï
– Sequential
coù con troû file troû ñeán vò trí ñoïc/ghi keá tieáp sau moät taùc vuï ñoïc/ghi phaûi caäp nhaät vò trí con troû file môùi
– Direct access (random access)
11.12
ñònh vò vò trí baát kyø trong file döïa vaøo ñoä dôøi (offset)
Caùc taùc vuï treân file
Create
– Caáp phaùt khoâng gian löu tröõ, theâm entry trong thö muïc
– Tìm file trong thö muïc thöïc hieän taùc vuï ghi taïi vò trí con troû ghi û hi hi
hi t i
ò t í
th
th
t ù
fil
t
t
ä
Write Tì Read
– Tìm file trong thö muïc thöïc hieän taùc vuï ñoïc taïi vò trí con troû ñoïc
Reposition – file seek Reposition file seek
– Thieát laäp con troû ñoïc/ghi ñeán vò trí ñöôïc chæ ñònh.
Delete
Tìm thö muïc chöa file can xoa, xoa cac disk block, xoa entry trong thö – Tìm thö muc chöùa file caàn xoùa xoùa caùc disk block xoùa entry trong thö muïc
Truncate
– Giöõ laïi taát caû caùc thuoäc tính file, ngoaïi tröø kích thöôùc file thieát laäp veà 0
Open(Fi)
– Tìm file Fi trong caáu truùc thö muïc treân ñóa, kieåm tra quyeàn truy caäp, naïp
noäi dung entry Fi trong thö muïc vaøo boä nhôù
Close(Fi) (Fi)
11.13
Cl – Chuyeån noäi dung entry Fi trong boä nhôù vaøo ñóa
Thoâng tin cuûa thö muïc
Name Type: file, directory, symbolic link,... Address: ñòa chæ cua khoi löu trö file Address: ñòa chæ cuûa khoái löu tröõ file Current length Maximum length Date last accessed Date last updated Owner ID Protection information ...
11.14
Caùc taùc vuï treân thö muïc
Search Create file Delete file Deletefile List Rename Traverse ...
11.15
Naming vaø thö muïc
Vaán ñeà
– heä ñieàu haønh duøng kyù soá ñeå ñònh danh file (file descriptor) – ngöôøi söû duïng thích duøng file theo teân gôïi nhôù (textual name) directory: caáu truùc döõ lieäu cuûa heä ñieàu haønh giuùp aùnh xaï file
descriptor teân gôïi nhôù
Caùc chieán löôïc naming – Single-level directory l – Multi-level directory – Tree-structured directory – Acyclic-graph directory vs. general graph directory – Acyclic-graph directory vs general graph directory
Moät soá muïc tieâu
l Si l di t
– Hieäu quaû: tìm kieám nhanh Thuaän tieän cho user khi ñaët ten file, cac user khac nhau co the ñaët – Thuaän tieän cho user khi ñaët teân file caùc user khaùc nhau coù theå ñaët teân file truøng nhau
11.16
– file coù theå coù nhieàu hôn moät teân – hoã trôï phaân nhoùm (grouping): toå chöùc caùc files cuøng ñaëc ñieåm vaøo chung nhoùm (e.g. nhoùm file chöông trình C, nhoùm file Word,...) ) t ì h C h ù fil W d h ù h ù fil h h (
Naming vaø thö muïc (tt)
Single-level directory (flat name space)
– moät directory cho taát caû file (IBM MVS, PalmOS)
Two-level directory y
11.17
Naming vaø thö muïc (tt)
Tree-structured directory
11.18
– path name
Naming vaø thö muïc (tt)
Acyclic-graph directory
11.19
– alias (link)
Naming vaø thö muïc (tt)
General graph directory
– cycle
11.20
chæ cho phep taïo links cua file ( nix) chæ cho pheùp tao links cuûa file (*nix) duøng giaûi thuaät kieåm tra chu trình moãi khi taïo file
Hieän thöïc file
Hieän thöïc file
– File l
i
l
[0 N 1]
f bl
k
i
logical view = array[0..N-1] of blocks physical view = CHS(cylinder, head, sector)
– Hieän thöïc
caáp phaùt khoâng gian löu tröõ cho moãi file quaûn lyù thoâng tin veà khoâng gian löu tröõ cuûa file trong thö
muïcï
Caùc phöông phaùp caáp phaùt phoå bieán – Caáp phaùt lieân tuïc (contiguous allocation) – Danh saùch lieân keát (linked list allocation)) – Chæ muïc (indexed allocation) )
(
ï
12.21
Caáp phaùt ñóa lieân tuïc
Seek time Seek time Di chuyeån ñaàu ñoïc Coù theå truy xuaát ngaãu nhieân moät block
(@block = @start + block_number) (@block = @start + block number)
Phaân maûnh ngoaïi Vaán ñeà khi taïo file môùi vaø thay ñoåi kích
thöôc file thöôùc file
ÖÙng duïng hieän taïi: ISO-9660 (CDROM)
12.22
IBM OS/360
Danh saùch lieân keát
12.23
Danh saùch lieân keát (tt)
pointer
block
data
– Khoâng coù phaân maûnh ngoaïi – Deã daøng thay ñoåi kích thöôùc file – Quaûn lyù khoâng gian troáng baèng
danh saùch Nhöôïc ñieåm
– Chæ hieäu quaû ñoái vôùi sequential-
access file access file
– Toán khoâng gian löu tröõ caùc con troû – Ñoä tin caäy: neáu pointer bò hoûng
TOPS-10, Alto
12.24
Öu ñiem Öu ñieåm
FILE ALLOCATION TABLE (FAT)
-25-
FILE ALLOCATION TABLE (FAT)
FAT (File Allocation Table)
– OS/2, MS-DOS Moi block ñóa co moät entry – Moãi block ñóa coù moät entry töông öùng trong baûng FAT, ñaùnh chæ muïc baèng chæ soá block
Töông töï linked list Chöùa chæ soá block keá tieáp
– Toán chi phí tìm kieám treân ñóa â ñó Tìm treân FAT + tìm data Caûi thieän baèng caùch thöïc
trong file hi hí tì ki T á t á
-26-
hieän caching FAT hoaëc ñaët hieän caching FAT hoaëc ñaët FAT hoaøn toaøn trong RAM (20G disk, block = 1KB -> 20K entry ~ 80 MB RAM)
CAÁP PHAÙT VUØNG LÖU TRÖÕ THEO ) CHÆ SOÁ (Indexed Allocation) C SO (
Duøng baûng
ù
caùc chæ soá ñeå á ñ å hæ löu caùc con tro ñen cac troû ñeán caùc block döõ lieäu cuûa file
-27-
CAÁP PHAÙT VUØNG LÖU TRÖÕ THEO ) CHÆ SOÁ (Indexed Allocation) C SO (
Öu ñieåm
– Random + sequential access – Khoâng coù phaân maûnh ngoaïi – Giaûi quyeát vaán ñeà veà kích thöôùc
Khuyeát ñieåm
– Toán khoâng gian löu tröõ baûng index – Khi file coù kích thöôùc nhoû
Vaán ñeà
– kích thöôùc index block bao nhieâu laø phuø hôïp? multilevel index: töông töï multi-level paging
-28-
LÖU TRÖÕ BAÛNG CHÆ SOÁ CUÛA FILE
Löu lieân tuïc
û ñó
1 bl
k
B û
á lö t
hæ Löu theo kieåu lieân keát
– Baûng chæ soá löu trong 1 block cuûa ñóa
Löu bang bang chæ so ña cap Löu baèng baûng chæ soá ña caáp
– Bang chæ so löu trong n block cua ñóa noi vôi Baûng chæ soá löu trong n block cuûa ñóa noái vôùi nhau baèng danh saùch lieân keát
caùc index block cuûa file Söû duïng cô cheá keát hôïp
-29-
– Duøng baûng chæ soá khaùc ñeå löu caùc con troû ñeán
HEÄ THOÁNG FILE CUÛA UNIX
– Boot block – Super block – Caùc block chöùa danh saùch caùc i-node Cac block dö lieäu – Caùc block döõ lieäu
Ñóa cöùng chia thaønh nhieàu block
äp ,
y
ï
– Mode truy caäp – Owner UID – Soá link troû tôùi file – Thoâng tin veà thôøi ñieåm truy caäp , taïo file… g – Kích thöôùc file – Daõy caùc ñòa chæ khoái chöùa döõ lieäu – …
-30-
Thoâng tin löu trong 1 i-node
CAÁU TRUÙC I-NODE CUÛA BSD UNIX
-31-
I-NODE CUÛA THÖ MUÏC
Thö muïc /
Thö muïc /home
Chæ soá i-node
Chæ soá i-node
Teân file / thö muïc con con
Teân file / thö muïc con con
2
.
10
.
2 2
.. ..
2 2
..
5
etc
15
hung
10 10
home home
20 20
Os01 Os01
12
usr
21
Os02
-32-
Cấu trúc hệ thống tệp Cấu trúc hệ thống tệp
Biểu diễn bởi một cây phân cấp thư mục
và các tệp dữ liệu ệp
ệ
Một thư mục dùng để tạo nhóm một tập các
tệp dữ liệu tệp dữ liệu
Một thư mục có thể chứa các thư mục con
Thư mục gốc (/) là điểm vào đầu tiên cho
ố (/) là điể
à đầ tiê
h
Th cả cây thư mục
21.33
Các thư mục thông dụng Các thư mục thông dụng
/ (thư mục gốc)
/bin : thư mục tệp chương trình cơ bản
/boot : thư mục chứa hạt nhân của HĐH
/etc : thư mục các tệp cấu hình
/dev : thư mục các tệp thiết bị
/home : thư mục chứa dữ liệu NSD
/lib : thư viện hệ thống
/usr : thư mục ứng dụng
/var : thư mục dữ liệu hệ thống, thường được cập
nhật
21.34
Tệp UNIX vs. tệp Windows Tệp UNIX vs. tệp Windows
Giống nhau
độ dài tối đa cho tên tệp là 255 độ dài tối đa cho tên tệp là 255 Chấp nhận tất cả các kí tự để đặt tên tệp (nhưng nên tránh sử dụng các kí tự đặc biệt như * ? [ ] & để tránh sự nhập nhằng trong câu lệnh sử dụng sau này) sự nhập nhằng trong câu lệnh sử dụng sau này)
Tính đặc thù của Unix
Quản lý dưới một khung nhìn của tệp cho cả thư mục Quản lý dưới một khung nhìn của tệp cho cả thư mục và các loại tài nguyên hệ thống (ngoại vi, bảng phân chương đĩa)
Không có khái niệm phần mở rộng của tên tệp (kí tự Không có khái niệm phần mở rộng của tên tệp (kí tự
'.' trong tên tệp được đối xử như mọi kí tự khác
Không dùng ổ đĩa logic trong cây thư mục '/' được dùng thay cho '\' trong đường dẫn thư mục
dẫ th
h '\' t
đ ờ
'/' đ
dù
th
21.35
Kiểu của tệp Kiểu của tệp
Có 3 loại tệp chính trong một cây thư mục của Có 3 loại tệp chính trong một cây thư mục của
Unix:
Tệp thư mục là một thư mục trong đường dẫn phân Tệp thư mục là một thư mục trong đường dẫn phân loại (vd., /usr, /home,…)
Tệp thông thường là một tệp chứa dữ liệu hoặc tệp chương trình (vd., /bin/passwd, /etc/passwd, …)
Tệp đặc biệt là một tệp thiết bị tương ứng với thiết bị
ngoại vi hoặc các tệp tự sinh bởi HĐH (vd., ngoại vi hoặc các tệp tự sinh bởi HĐH (vd /dev/hda1, /dev/cdrom, /dev/lp0, …)
21.36
Các kiểu tệp Các kiểu tệp ểể
Các ký hiệu dưới đây được sử dụng để biểu diễn Các ký hiệu dưới đây được sử dụng để biểu diễn
các kiểu tệp
: tệp thông thường - : tệp thông thường
d : thư mục
b : tệp đặc biệt (block) b : tệp đặc biệt (block)
c : tệp đặc biệt (ký tự)
l : link l : link
m : phần bộ nhớ trong dùng chung
p : đường ống p : đường ống
21.37
ản lý tệp QuQuản lý tệp y g pwd: hiển thị đường dẫn tuyệt đối của thư mục hiện tại
p
cd: thay đổi vị trí thư mục hiện tại
$ cd /home/tuananh $ cd tuananh
ls: liệt kê các tệp trong một thư mục
$ ls $ ls $ ls /home/tuananh
$ ls –la tuananh
tuỳ chọn -a cho phép hiển thị cả các tệp ẩn
tuỳ chọn -l cho phép hiển thị thuộc tính cho mỗi tệp (kiểu, quyền, liên
ể ẩ
mkdir: tạo một thư mục rỗng
ỗ
rmdir: xoá một thư mục rỗng
kết, chủ sở hữu, nhóm sở hữu, kích thước, ngày sửa đổi)
21.38
Tên đặc biệt Tên đặc biệt
« . » : thư mục hiện tại
« .. » : thư mục cha
» : thư mục cá nhân « ~ » : thư mục cá nhân «
« .xxx » : tệp ẩn (e.g.,
/home/tuananh/.bashrc) /h
h/ b h )
/t
21.39
Ví dụVí dụ
$ cd ~
$ pwd $ pwd
/home/tuananh
$ ls -la
-rw-r--r-- 1 tuananh user1 2451 Feb 7 07:30 .bashrc
-rw-r--r-- 1 tuananh user1 4025 Feb 10 19:12 linux.ppt
drwxr-xr-- 2 tuananh user1 512 Feb 10 19:12 linux
$ mkdir vanban
$ cd vanban
$ pwd $ pwd
/home/tuananh/vanban
$ cd ..
$ pwd
$ rmdir vanban
21.40
Các siêu kí tự Các siêu kí tự
* dùng để thay thế cho một chuỗi kí tự bất kì * dùng để tha thế cho một ch ỗi kí t bất kì bao gồm cả xâu rỗng
? thay thế cho một kí tự bất kì ột kí t bất kì
thế h
? th
[ ] được thay thế bởi một kí tự trong một tập
kí tự cho trước kí t h t ớ
[! ] được thay thế bởi một kí tự không có
trong một tập kí tự cho trước
21.41
Ví dụVí dụ
$ ls -l *.[c,h]
-rw-r--r-- 1 tuananh user1 2451 Feb 7 07:30 myprog.c
-rw-r--r-- 1 tuananh user1 2451 Feb 7 07:30 myprog.h
$ ls -l *prog
drwxr-xr-- 2 tuananh user1 512 Feb 10 19:12 c_prog
drwxr-xr-- 2 tuananh user1 512 Feb 10 19:12 java_prog drwxr xr 2 tuananh user1 512 Feb 10 19:12 java prog
$ ls -l .*
-rw-r--r-- 1 tuananh user1 451 Feb 7 07:30 .bashrc
-rw-r--r-- 1 tuananh user1 225 Feb 7 07:30 .bash_profile
-rw-r--r-- 1 tuananh user1 351 Feb 7 07:30 .bash_logout
21.42
Quản lý tệp Quản lý tệp
$ $cp file1 […] dir
sao chép một hoặc nhiều tệp vào một thư mục
$mv file1 […] dir
di chuyển một hoặc nhiều tệp đến một thư mục
$rm file1 […]
ệp xoá một hoặc nhiều tệp ặ
ộ
tuỳ chọn -R (recursive)
cho phép sao chép/di chuyển/xoá toàn bộ thư mục cho phép sao chép/di chuyển/xoá toàn bộ thư mục
bao gồm cả các thư mục con
21.43
Ví dụVí dụ
$ ls -l
-rw-r--r-- 1 tuananh user1 16 Feb 10 19:12 test.txt
2 tuananh user1 512 Feb 10 19:14 vanban drwxr-xr-- 2 tuananh user1 512 Feb 10 19:14 vanban drwxr xr
$ cp test.txt vanban
$ ls -l vanban
-rw-r--r-- 1 tuananh user1 16 Feb 12 20:03 test.txt
$ rm –R vanban
$ ls -l
-rw-r--r-- 1 tuananh user1 16 Feb 10 19:12 test.txt
$ rm test.txt
$ ls -l $ ls -l
$
21.44
QUAÛN LYÙ VUØNG TROÁNG (1/2)
Duøng bit vector: N bit quaûn lyù N block data
Bi
bl
k
ø
– Bít =0 : block ñaõ caáp – Bit=1: block coøn troáng á Duøng danh saùch lieân keát caùc block troáng Nhom cac block trong (Grouping) Nhoùm caùc block troáng (Grouping)
troáng khaùc kh û
Ñeám khoaûng troáng (Counting) ) t
(C
ti
á
p
g
g
ò
Ñ á – Moãi block troáng löu tröõ soá khoaûng troáng lieân tuïc p tieáp theo noù & ñòa chæ block troáng khoâng keâ tieáp.
-45-
– Chöùa ñòa chæ N block trong 1 block troáng ñaàu tieân ñòa c ñau t o ñe cac b oc t o g t öïc söï – N-1 ñòa chæ ñaàu troû ñeán caùc block troáng thöc sö – Ñòa chæ cuoái troû ñeán block chöùa N ñòa chæ block
QUAÛN LYÙ VUØNG TROÁNG (2/2)
P/p grouping
1
2
3
4
5
6
7
8
Block 2: 3,4, 5,10 Block 10: 11, 13,14,15 Block 15: 18,-,-,-
9
10
11
12
13
14
15
16
17 17
18
19
20
Block 15 18 P/p counting Block 2: 3, 5 Block 2: 3 5 Block 5: 0,10 Block 10: 1, 13 Block 10: 1, 13 Block 13: 2, 18`
18 Vuøng troáng
17
Vuøng ñaõ caáp phaùt
-46-
QUAÛN LYÙ VUØNG TROÁNG (2/2)
Bit vector (bitmap)
…
Ñôn giaûn vaø hieäu quaû khi caàn tìm khoái troáng ñaàu tieân hoaëc chuoãi khoái troáng lieân tuïc – Thao taùc treân bit
Caàn khoâng gian löu tröõ. Ví
0 1 2 n-1
bit[i] =
0 block[i]coøn troáng
duï – Kích thöôùc block = 212
1 block[i]ñaõ ñöôïc caáp
bytes
– Kích thöôùc ñóa = 230
001111001111100011000011100…
– n = 230/212 = 218 bit
bytes b t
-47-
(32KB) – chæ so khoi cua khoi trong chæ soá khoái cuûa khoái troáng ñaàu tieân
QUAÛN LYÙ VUØNG TROÁNG (2/2)
Linked list
Lieân keát caùc khoái troáng vôùi nhau Chæ caàn giöõ con troû ñeán khoái nhôù
troáng ñaàu tieân treân ñóa hoaëc cache trong boä nhôù chính ñeå taêng toác
Ít laõng phí khoâng gian ñóa
Doø bieát khoaûng khoâng gian troáng lieân
tuïc?
Khong hieäu qua: phai duyeät toan boä Khoânghieäuquaû:phaûiduyeättoaønboä
ñóa ñeå tìm khoâng gian troáng
-48-
QUAÛN LYÙ VUØNG TROÁNG (2/2)
Grouping & counting
– Ñòa chæ cuûa nkhoái troáng ñöôïc löu trong khoái nhôù ñaàu
tieân.
– Khoi nhô thö nchöa ñòa chæ cua nkhoi nhô trong ke tiep. – Khoái nhôù thöù nchöùa ñòa chæ cuûa nkhoái nhôù troáng keá tieáp
Groupingp g
– Toå chöùc baûng chæ muïc, trong ñoù moãi phaàn töû cuûa baûng
û
æ
à
á
– Coù theå caáp phaùt hoaëc thu hoài ñoàng thôøi nhieàu khoái nhôù ù
á
à
ø
å
à
à
ù
chöùa ñòa chæ treân ñóa cuûa khoái troáng ñaàu tieân trong nhoùm á khoái troáng keøm theo moät chæ soá ñeám (cho bieát soá khoái troáng trong nhoùm). á C ù lieân tuïc
-49-
Counting
ÑOÄ HIEÄU QUAÛ/ HIEÄU SUAÁTÛ CUA HEÄ THONG FILE CUÛA HEÄ THOÁNG FILE
Ñoä hieäu quaû heä thoáng file phuï thuoäc
Taêng hieäu suaát heä thoáng file
á
á
P
– Caùch caáp phaùt ñóa, caùc giaûi thuaät treân thö muïc – Loaïi döõ lieäu trong muïc cuûa baûng thö muïc
-50-
– Disk cache – Page cache h – Free-behind & read-ahead – Virtual Disk/ RAM disk Virtual Disk/ RAM disk – Parallel I/O
SAO LÖU VAØ PHUÏC HOÀI DÖÕ LIEÄU
å
Kieåm tra söï nhaát quaùn cuûa döõ lieäu
û d õ li
h á
ä
ù
Ki – So saùnh thoâng tin treân block ñóa vaø trong thö
mucmuïc
– Söû duïng caùc tieän ích: ndd, fsck, scandisk,… Sao löu (backup) dö lieäu sang thiet bò löu trö Sao löu (backup) döõ lieäu sang thieát bò löu tröõ
p
khaùc p) – Sao löu toaøn phaàn (normal backup) ( – Sao löu taêng daàn (incremental backup) Phuïc hoài (restore) döõ lieäu töø thieát bò sao löu
)
(
ò
ï
ä
g
p
– Khi coù hoûng hoùc heä thoáng g – Khi caàn phuïc hoài heä thoáng veà traïng thaùi cuõ Heä thoáng file coù ghi log (Log Structured File
-51-
System)
Baûo veä (protection)
Heä ñieàu haønh phaûi hoã trôï chuû nhaân cuûa file khaû naêng kieåm soaùt
quaù trình truy caäp file – Caùc taùc vu coù theå thöc hieän treân file? – Nhöõng ai ñöôïc quyeàn thöïc hieän thao taùc treân file?
Caùc quyeàn truy xuaát file
Cac tac uï co t e t öïc eä t e e
Cach tiep caän thong thöông Caùch tieáp caän thoâng thöôøng
– ReadRead – Write – Execute Append – Append – Delete – ...
– Access-control list (ACL):
Windows NT/2K/XP, Linux
11.52
– Group, a.k.a access-control bits (*NIX): user, group, public Group a k a access control bits (*NIX): user group public
ACL (Access Control List)
11.53
Access Control Bit
Caùc cheá ñoä truy caäp: read, write, execute Ba nhoùm user: owner, group, other (public)
– User name vaø user identifier (user ID) – Group name vaø group identifier (group ID)
Ví duï trong UNIX: co 3 field, moi field co 3 bits Ví du trong UNIX: coù 3 field moãi field coù 3 bits
– Field – Bit
: read, write, execute : r(4), w(2), x(1)
owner access
7
group access
6
public access
bli
1 1
RWXRWX 1 1 1 RWX 1 1 0 RWX 0 0 1 0 0 1
11.54
Phân quyền truy cập tệp Phân quyền truy cập tệp
ềề
21.55
Khái niệm người sử dụng Khái niệm người sử dụng
Tạo một người sử dụng
Tên
Mật khẩu
home của người sử dụng (/home/tên)
ử
ủ
Nhóm (một người sử dụng có thể thuộc một
hoặc nhiều nhóm, tuy nhiên cần phải xác định hoặc nhiều nhóm tuy nhiên cần phải xác định một nhóm chính)
Tất cả các thông tin về người sử dụng được
ụ g
ợ
g
g lưu trong file: /etc/passwd
21.56
Nhóm người sử dụng Nhó Nhóm người sử dụng Nhó
ời ử d ời ử d
Mỗi người sử dụng có thể thuộc về một hoặc Mỗi người sử dụng có thể thuộc về một hoặc
nhiều nhóm
Một nhóm = tên nhóm + danh sách các thành viên Một nhóm = tên nhóm + danh sách các thành viên
Khả năng chia sẻ các file giữa những người sử dụng
g
g trong cùng một nhóm.
Danh sách các nhóm được lưu trữ trong file:
/etc/group
root có khả năng tạo ra các nhóm bổ xung, ngoài các
nhóm mà hệ điều hành đã ngầm định
21.57
Các quyền Các quyền
Mỗi file luôn thuộc về một người sử
dụng và một nhóm xác định dụng và một nhóm xác định Người tạo ra file hoặc thư mục sẽ là
người sở hữu nhóm chứa người tạo ra người sở hữu, nhóm chứa người tạo ra file hoặc thư mục sẽ là nhóm sở hữu đối với file/thư mục.
q y
g
Sự phân quyền cho phép xác định rõ các quyền mà người sử dụng có đối ụ g với một file hoặc một thư mục.
21.58
Quyền truy cập Quyền truy cập
r : đọc
Cho phép hiển thị nội dung của file hoặc thư Cho phép hiển thị nội dung của file hoặc thư
mục
w : ghi w : ghi
Cho phép thay đổi nội dung của file
Cho phép thêm hoặc xóa các file trong một thư Cho phép thêm hoặc xóa các file trong một thư
mục
x : thực thi x : thực thi
Cho phép thực thi file dưới dạng một chương
trình
Cho phép chuyển đến thư mục cần truy cập
21.59
Các nhóm người sử dụng Các nhóm người sử dụng
Có 3 nhóm người sử dụng đối với 1 file/ thư
mục:mục:
u (người sở hữu) : người sở hữu duy nhất của file
g (groupe) : những người sử dụng thuộc nhóm chứa g (groupe) : những người sử dụng thuộc nhóm chứa
file
o (others) : những người sử dụng khác, không phải là o (others) : những người sử dụng khác, không phải là người sở hữu file cũng như không thuộc nhóm chứa file.
Mỗi nhóm người sử dụng sẽ có một tập các
quyền (r, w, x) xác định.
21.60
Ví dụVí dụ
$ ls -l
----rw-rw- 1 tuananh user1 16 Feb 10 19:12
test1.txt 1
-rw-rw-rw- 1 tuananh user1 16 Feb 10 19:12
test2.txt
drw-r--r-- 2 tuananh user1 512 Feb 10 19:14 vanban drw r r 2 tuananh user1 512 Feb 10 19:14 vanban
$ whoami
tuananh
1
$ cat test1.txt $ cat: test1.txt: Permission denied
$ cat test2.txt
Un fichier de test
$ cp test2.txt vanban
cp: vanban: Permission denied
21.61
Các lưu ýýý Các lưu ý
Để có thể thêm các file, cần phải có quyền « w » đối với
thư mụcụ
Để có thể xóa, thay đổi nội dung hoặc di chuyển 1 file,
người sử dụng cũng cần phải có quyền « w » đối với thư mục
Việc xóa một file còn phụ thuộc vào quyền đối với thư
mục chứa file đó mục chứa file đó
Để bảo mật các dữ liệu, người sở hữu file thậm chí có thể bỏ cả quyền đọc « r » đối với tất cả mọi người sử thể bỏ cả quyền đọc « r » đối với tất cả mọi người sử dụng khác.
Để hạn chế quá trình truy cập vào hệ thống file, người sử dụng có thể bỏ quyền thực thi (x) đối với thư mục gốc của hệ thống file.
21.62
Một số quyền đặc biệt đối với Một số quyền đặc biệt đối với các file thực thi các file thực thi các file thực thi các file thực thi
set-uid: -rws --- ---
Chương trình được chạy dưới quyền của
ề
ủ
C người sở hữu
set-gid: - --- rws --- set gid:
rws
Chương trình được chạy bởi các người sử dụng thuộc cùng nhóm với người sở hữu dụng thuộc cùng nhóm với người sở hữu
bit sticky
Chương trình chỉ được cấp phát bộ nhớ trong Chương trình chỉ được cấp phát bộ nhớ trong
1 lần
21.63
Ví dụVí dụ
$ ls -l /etc/passwd
-rw-rw---- 1 root root 568 Feb 10 19:12
passwd
$ ls -l /bin/passwd
-rwsrws--x 1 root
x 1 root root 3634 Feb 10 19:12
root 3634 Feb 10 19:12
rwsrws
passwd
thô
ời ử d
th ờ
Khi ột Khi một người sử dụng thông thường gọi lệnh /bin/passwd, xem như người đó được « mượn » quyền root để đó được « mượn » quyền root để thay đổi mật khẩu trong file /etc/passwd /etc/passwd
21.64
Thay đổi quyền truy cập (1) Thay đổi quyền truy cập (1)
$chmod
set_uid set-gid sticky user group other
rwx --x --x
1 0 1 111 001 001
6 7 1 1
$ chmod 6711 test $ ls -l test
-rws--s--x 1 tuananh user1 Mar 10 10:20 test
$ chmod 711 test
$ ls -l test
-rwx--x--x 1 tuananh user1 Mar 10 10:20 test
21.65
Thay đổi quyền truy nhập (2) Thay đổi quyền truy nhập (2)
$chmod
Qui = u | g | o | a (all)
Operation
+ (thêm 1 hoặc 1 số quyền vào tập các quyền file đã
ó)có)
- (bỏ 1 hoặc 1 số quyền khỏi tập các quyền file đã có)
= (gán mới 1 hoặc 1 số quyền cho file) h fil )
ới 1 h ặ 1 ố
( á
ề
Quyền = r | w | x | s
21.66
Ví dụVí dụ
$ ls -l test.txt
-rw-rw-r-- 1 tuananh user1 150 Mar 19 19:12 test.txt
$ chmod o+w test.txt
$ ls -l test.txt
-rw-rw-rw- 1 tuananh user1 150 Mar 19 19:12 test.txt -rw-rw-rw- 1 tuananh user1 150 Mar 19 19:12 test txt
$ chmod a-rw test.txt
$ ls -l test.txt
---------- 1 tuananh user1 150 Mar 19 19:12 test.txt
$ cat test.txt
cat: test.txt: Permission denied
21.67
Định nghĩa các quyền ngầm Định nghĩa các quyền ngầm định khi tạo ra 1 file định khi tạo ra 1 file định khi tạo ra 1 file định khi tạo ra 1 file
Các quyền ngầm định của 1 file khi tạo ra có thể được xác định bằng lệnh umask có thể được xác định bằng lệnh umask
$umask
022022
Số 0 có nghĩa là quyền của người sử dụng
không bị hạn chế (rwx) không bị hạn chế (rwx)
Số 2 có nghĩa là quyền ghi (w) bị hạn chế (r-w).
$umask 022 $umask 022
21.68
Thay đổi người sở hữu và nhóm Thay đổi người sở hữu và nhóm
$chown [-R]
$chgrp
ự
ụ ự
ệ
ệ
ệ
ệ
Có thể sử dụng tùy chọn –R để lặp lại việc y ( thực hiện các lệnh (ví dụ thực hiện việc thay đổi quyền sở hữu hoặc nhóm của mọi file trong cùng một thư mục)
Các lệnh trên chỉ dành cho những người Các lệnh trên chỉ dành cho những người
sử dụng có quyền root
21.69
Tìm kiếm file Tìm kiếm file ếế
$ find tên_thư_mục expressions
Cho phép tìm kiếm các file trong một thư mục (ngầm định là Cho phép tìm kiếm các file trong một thư mục (ngầm định là
trong thư mục hiện tại) với một số điều kiện hoặc các lệnh thực thi trên tập các file tìm được.
Các điều kiện
Tên : -name tên
Quyền truy cập : -perm quyền_truy_cập
Kiểu : -type d/f/...
Kích thước : -size N
Thời gian : -atime N, -mtime N, -ctime N
Các lệnh thực thi trên tạp các file tìm được Các lệnh thực thi trên tạp các file tìm được
-exec câu_lệnh
21.70
Ví dụVí dụụụ
$find /usr -name toto -print
Tìm kiếm file tên là toto trong thư mục /usr (bao gồm Tìm kiếm file tên là toto trong thư mục /usr (bao gồm
cả các thư mục con của /usr) $find /usr -name " *.c " -print
Đưa ra danh sách các file kết thúc bằng « .c »
$find / -mtime 3 -print
Tìm tất cả các file có thay đổi trong 3 ngày gần đây
ầ
ấ
ổ
Tìm tất cả các file có kích thước lớn hơn 1 GB (=
ó kí h th ớ lớ h
1 GB (
$find / -size 2000 -print tất ả á fil Tì 2000 block 512 KB)
$find / -type f -user olivier -perm 755 -print
yp
p
p
$ Tìm tất cả các file thuộc về người sử dụng olivier,
đồng thời có quyền truy cập là 755
21.71
CAÁU TRUÙC ÑÓA CÖÙNG
ä
g
ä block lieân tieáp vôùi kích thöôùc coá ñònh.
-72-
Heä ñieàu haønh xem ñóa cöùng nhö moät chuoãi caùc
CAÁU TRUÙC ÑÓA CÖÙNG
Thôøi gian ñoïc/ghi döõ lieäu treân ñóa bao goàm
– Seek time: thôi gian di chuyen ñau ñoïc ñe ñònh vò ñung Seek time: thôøi gian di chuyeån ñaàu ñoc ñeå ñònh vò ñuùng track/cylinder (phuï thuoäc toác ñoä/caùch di chuyeån cuûa ñaàu ñoïc)
Rotational delay (latency): thôøi gian ñaàu ñoc chôø ñeán ñuùng sector – Rotational delay (latency): thôi gian ñau ñoïc chô ñen ñung sector caàn ñoïc (phuï thuoäc toác ñoä quay cuûa ñóa)
– Transfer time: thôi gian chuyen dö lieäu tö ñóa vao boä nhô hoaëc
f ø b ä hôù h ë töø ñó thôøi h ti i ä
Disk I/O time = seek time + rotational delay + transfer time
-73-
å döõ li T ngöôïc laïi (phuï thuoäc baêng thoâng keânh truyeàn giöõa ñóa vaø boä nhôù)
CAÁU TRUÙC ÑÓA CÖÙNG
•Thời gian tìm kiếm và thời gian trễ được xác định phụ thuộc vào việc đầu đọc đang ở vị trí nào, vì vậy chúng ta sử dụng giá trị trung bình. đầu đọc đang ở vị trí nào, vì vậy chúng ta sử dụng giá trị trung bình. •Trong các câu hỏi ví dụ, thời gian tìm kiếm luôn cho trước, và thời gian trễ có thể tính theo thời gian của một vòng quay, thời gian này nhận được bằng cách ngịch đảo giá trị số vòng quay trên một đơn vị thời gian. •Vì thời gian trễ tối thiểu là 0 và tối đa là thời gian một vòng quay nên thời gian trễ trung bình là khoảng thời gian nửa vòng quay.
-74-
CAÁU TRUÙC ÑÓA CÖÙNG
Tính thời gian truy cập thực cho việc đọc dữ liệu bao gồm một khối (5,000 bytes). (5,000 bytes).
Tính toán thời gian trễ trung bình
-75-
Số vòng quay của đĩa cứng này là 2,500 vòng trên phút nghĩa là cứ mỗi Số vòng quay của đĩa cứng này là 2 500 vòng trên phút nghĩa là cứ mỗi phút nó quay được 2,500 vòng. Do đó thời gian quay được tính như sau: Thời gian 1 vòng quay =(1 * 60,000 ms/phút) / 2,500 vòng quay/phút = 24 ms/vòng quay Thời gian trễ trung bình bằng ½ thời gian 1 vòng quay nên nó là 12 miliseconds
CAÁU TRUÙC ÑÓA CÖÙNG
Tính toán tốc độ trao đổi dữ liệu
y ộ g q ộ p ệ p , ,
Vì một vòng quay cho phép trao đổi dữ liệu trên một rãnh, nên 20,000 bytes được trao đổi trong vòng 24 miliseconds. Do đó 20,000 /24 (bytes/ms) là tốc độ trao đổi dữ liệu Tính toán thời gian trao đổi dữ liệu
Thời gian yêu cầu để trao đổi 5 000 bytes được tính như sau: Thời gian yêu cầu để trao đổi 5,000 bytes được tính như sau: Thời gian trao đổi dữ liệu = (Tổng dữ liệu cần trao đổi) / (Tốc độ trao đổi) = 5,000 / (20,000 / 24) = 5,000 / 20,000 * 24 = 6 (msec)
-76-
Tính toán thời gian truy cập Thời gian truy cập = 25 msec + 12 msec + 6 msec = 43 msec
CAÁU TRUÙC ÑÓA CÖÙNG
Giaûm kích thöôùc ñóa
Tang toc ñoä quay cua ñóa Taêng toác ñoä quay cuûa ñóa
Ñònh thôøi caùc taùc vuï truy xuaát ñóa ñeå haïn cheá di chuyeån ñaàu ñoïc
Boá trí ghi döõ lieäu treân ñóa
Caùc döõ lieäu coù lieân quan naèm treân caùc track gaàn nhau
Boá trí caùc file thöôøng söû duïng vaøo vò trí thích hôïp
-77-
h
ät thi
xem nhö moät thieát bò löu truõ luaän
õ l
t
ä
RAID (Redundant Array of Inexpensive Disks) ) Taäp hôïp caùc ñóa cöùng ñöôïc heä ñieàu haønh át bò l Döõ lieäu ñöôïc phaân boá treân taát caû caùc ñóa Cac muïc tieu chính Caùc m c tieâ chính – Taêng dung löôïng löu tröõ Tang hieäu suat I/O – Taêng hieäu suaát I/O – Taêng tính saün saøng cao – Taêng khaû naêng phuïc hoài heä thoáng
Caùc loaïi RAID
-78-
– RAID 0 RAID 10 (phoå bieán RAID 0, 1, 3, 5) – Software RAID/ Hardware RAID Software RAID/ Hardware RAID
RAID-0
-79-
Döõ lieäu löu tröõ traûi ñeàu treân caùc ñóa Taêng khoâng gian löu tröõ Tang khong gian löu trö Taêng hieäu suaát heä thoáng Tính saün saøng cuûa döõ lieäu thaáp
RAID-1
ä g
-80-
Nhaân baûn döõ lieäu treân caùc ñóa taùch bieät Tính san sang & toc ñoä ñoïc dö lieäu rat cao Tính saün saøng & toác ñoä ñoc döõ lieäu raát cao Yeâu caàu dung löôïng ñóa gaáp ñoâi ä Toác ñoä ghi chaäm hôn
RAID-3
ù
Löu dö lieäu trai ñeu tren cac ñóa Löu döõ lieäu traûi ñeàu treân caùc ñóa Söû duïng moät ñóa löu thoâng tin kieåm tra döõ lieäu Tính san sang cao, chi phí hôïp ly Tính saün saøng cao chi phí hôp l Hieäu suaát I/O thaáp
-81-
RAID-5
-82-
Döõ lieäu, thoâng tin kieåm tra ñöôïc löu traûi ñeàu treân caùc ñóa Tính saün saøng döõ lieäu trung bình, chi phí hôïp lyù Toác ñoä ghi thaáp Yeâu caàu phaàn cöùng ñaëc bieät