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

đ ờ

'/' đ

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): hoaëc

 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]  Thay đổi người sở hữu của file  Thay đổi người sở hữu của file

$chgrp  Thay đổi nhóm của file  Thay đổi nhóm của file

ụ ự

 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

 -print

 -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