Quản lý thiết bị ngoại vi: Cần đảm bảo hệ
thống thích nghi với:
– Số lượng nhiều,
– Chất lượng đa dạng,
– Thuận tiện cho người dùng.
Quản lý files: Cho phép người dùng:
– Tạo files ở các loại bộ nhớ ngoài,
– Tìm kiếm, truy nhập files,
– Đảm bảo độc lập giữa CT và thiết bị
61 trang |
Chia sẻ: Mr Hưng | Lượt xem: 2220 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Hệ điều hành - Chương 4: Quản lý files và thiết bị ngoại vi, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1
Chương 4
QUẢN LÝ FILES VÀ THIẾT BỊ NGOẠI VI
• Quản lý thiết bị ngoại vi: Cần đảm bảo hệ
thống thích nghi với:
– Số lượng nhiều,
– Chất lượng đa dạng,
– Thuận tiện cho người dùng.
• Quản lý files: Cho phép người dùng:
– Tạo files ở các loại bộ nhớ ngoài,
– Tìm kiếm, truy nhập files,
– Đảm bảo độc lập giữa CT và thiết bị
2
Chương 4
QUẢN LÝ FILES VÀ THIẾT BỊ NGOẠI VI
• Quản lý thiết bị ngoại vi: Cần đảm bảo hệ
thống thích nghi với:
– Số lượng nhiều,
– Chất lượng đa dạng,
– Thuận tiện cho người dùng.
• Quản lý files: Cho phép người dùng:
– Tạo files ở các loại bộ nhớ ngoài,
– Tìm kiếm, truy nhập files,
– Đảm bảo độc lập giữa CT và thiết bị
3
$1 – Nguyên tắc phân cấp trong quản lý
thiết bị ngoại vi
1.1 UCB và Driver
1.2 Kênh vào ra
• Máy tính thế hệ I và II: Processor làm việc trực tiếp
với thiết bị ngoại vi,
• Hạn chế: Tốc độ - Số lượng - Chủng loại,
• Từ thế hệ III trở lên:
+ Phân kênh vào ra
+ Bộ điều khiển kênh (Controllers)
4
Procesor
Controller 1 Controller 2 Controller n
TB Vào/Ra
TB Vào/Ra
TB Vào/Ra
. . .
Kênh
(Channel)
- TB Điều khiển và TB
vào/ra: MT chuyên dụng
Hệ lệnh + Ngôn ngữ riêng
- Hoạt động độc lập với
nhau và với Processor.
5
Procesor
Controller 1 Controller 2 Controller n
TB Vào/Ra
TB Vào/Ra
TB Vào/Ra
. . .
Kênh
(Channel)
CT kênh
(Channel Prog)
T
h
ự
c
h
iệ
n
C
T
K
ê
n
h
Thực hiện công
việc của mình
X
ử
l
ý
n
g
ắ
t
v
à
o
/r
a
Ngắt vào/ra (I/O Interrupt)
Mã trở về (Return Code)
TRAO ĐỔI
VÀO/RA
6
Nguyên tắc phân cấp trong quản lý thiết bị ngoại vi
• Phép trao đổi vào ra: thực hiện theo nguyên lý
Macroprocessor,
• Với máy vi tính: Thiết bị điều khiển vào ra I/O
Card,
• Máy Card on Board,
• Lập trình trên Card vào/ra: Viết TOOLS khởi tạo
chương trình kênh,
• Khái niệm kênh bó (Multiplex), Card Multimedia.
7
Kênh Multiplex
CONTROLLER 1
CTRL 11
I/O D
CTRL 11
I/O D
I/O D
Kênh Multiplex
Kênh con
1.3 Phân cấp quản lý
Processor TB điều khiển TB ngoại vi
9
$2 - KỸ THUẬT PHÒNG ĐỆM
2.1 Khái niệm phòng đệm (Buffer) của OS.
DISK
BUFFER
SYSTEM
a
re
a
d
(f,a
);
A
M
B
U
F
F
E
R A
M
W
ri
te
(f
2,
a)
;
S
Y
S
T
E
M
RAM
C
a
c
h
e
10
2.2 Kỹ thuật phòng đệm
• Cơ chế phục vụ phòng đệm,
• Vấn đề đóng file output, FLUSH(F),
• Vai trò phòng đệm:
– Song song giữa trao đổi vào ra và xử lý,
– Đảm bảo độc lập:
• Thông tin và phương tiện mang,
• Bản ghi lô gíc và vật lý,
• Lưu trữ và xử lý,
– Giảm số lần truy nhập vật lý:Giả thiết mỗi lẩn truy
nhập vật lý: 0.01”, truy nhập kiểu BYTE.
11
KỸ THUẬT PHÒNG ĐỆM
Không có
Buffer
Buffer
512B
1B 0.01” 0.01”
512B ~5” 0.01”
5KB ~50” 0.1”
50KB ~8’ 1”
12
2.3 Các loại phòng đệm
• Phòng đệm chung hoặc gắn với file,
• Các Hệ QTCSDL còn hệ thống phòng đệm riêng để
nâng độ linh hoạt và tốc độ xử lý,
• Các loại bộ nhớ Cache và phòng đệm.
• Ba kiểu tổ chức chính:
– Phòng đệm truy nhập theo giá trị,
– Phòng đệm truy nhập theo địa chỉ,
– Phòng đệm vòng tròn.
13
• A) Phòng đệm truy nhập theo giá trị:
a
A
M
read(f,a);G
iá trị
b
iến Đặc điểm:
- Vạn năng,
- Hệ số song song cao,
- Tốn bộ nhớ và thời gian
chuyển thông tin trong bộ nhớ.
14
Các loại phòng đệm
• B) Phòng đệm truy nhập theo địa chỉ:
a
A
M
read(f,a);
Đ
ịa ch
ỉ b
iến
tro
n
g
p
h
ò
n
g
đ
ệm
Đặc điểm:
- Kém vạn năng,
- Hệ số song song thấp,
- Không tốn bộ nhớ và thời
gian chuyển thông tin trong bộ
nhớ.
15
• C) Phòng đệm vòng tròn: thường áp dụng cho
các hệ QT CSDL.
XỬ LÝ
ĐỌC GHI
16
2.3 - SPOOL
• SPOOL – Simultaneuos Peripheral Opearations
On-Line,
• Không can thiệp vào CT người dùng,
• Hai giai đoạn:
– Thực hiện: thay thế thiết vị ngoại vi bằng thiết bị
trung gian (Đĩa cứng),
– Xử lý kết thúc:
• Sau khi kết thúc việc thực hiện CT,
• Đưa thông tin ra thiết bị yêu cầu.
• Chú ý: Đặc trưng của thiết bị trung gian.
17
SPOOL
• Đảm bảo song song giữa xử lý một CT với trao
đổi vào ra của CT khác.
Chương trình
USER’S
DISK
O
S
Thực hiện
chương trình
Xử lý kết thúc
(miễn phí)
18
SPOOL
• Giải phóng hệ thống khỏi sự ràng buộc về số
lượng thiết bị,
• Khai thác thiết bị ngoại vi tối ưu,
• Kỹ thuật lập trình hiệu quả.
• Hệ thống cung cấp các phương tiện để người
dụng tạo SPOOL,
• Ai tạo SPOOL – người đó xử lý kết thúc.
19
• Giai đoạn thực hiện: với mỗi phép trao đổi vào
ra hệ thống tạo 2 CT kênh:
– CT kênh I – theo thiết bị yêu cầu,
– CT kênh II – phục vụ ghi CT kênh I ra thiết bị trung
gian,
• Xử lý kêt thúc: Đọc CT kênh đã lưu và chuyển
giao cho kênh.
• Như vậy, mỗi thiết bị sử dụng file CT kênh.
20
$3 – HỆ THỐNG QUẢN LÝ FILES
3.1 Các thành phần cơ bản:
- Thành phần giao tiếp người - máy
- Thành phần quản lí các phương pháp truy nhập
- Thành phần giao tiếp thiết bị
- Các dịch vụ quản lí File
21
• Hệ thống quản lý files - Hệ QT CSDL.
Hệ thống truy
nhập vật lý (truy
nhập cơ sở)
Hệ thống truy
nhập lô gíc
22
R1
R2
R3
R4
S1
S2
S3
File của User
File lưu trữ
trên đĩa
512 B
512 B
512 B
300 B
300 B
300 B
300 B
300 B
300 B
23
HỆ QT CSDL
Quản lý files
AM
Truy nhập lô
gíc
Truy nhập cơ
sở
Phép trao đổi
vào/ra
Thiết bị vào/ra
- Giao diện tốt,
- Kích thước lớn
- Đặc thù từng hệ thống
- Có công cụ cho phép
- Cơ sở: Lệnh Macro,
- Nén cao
- Vạn năng
A
P
I
USER
HỆ
THỐNG
TB
Kỹ thuật
3.2 Khối FCB (file control block)
3.3 Kết khối dữ liệu:
- Khái niệm kết khối
- Nguyên tắc kết khối
- Các dạng kết khối (F,FB, V, VB và U)
3.3 Các phương pháp điều khiển truy nhập
- QSAM (Queue Sequential Access Method)
- QISAM (Q-- Index S--)
- BSAM (Base --)
- BDAM (B--- Direct ---)
- BPAM (B--- Partition ---)
26
QUẢN LÝ FILE TRONG WINDOWS
• Mục đích:
– Minh hoạ nguyên lý bảng tham số điều khiển,
– Tính kế thừa và thích nghi,
– Cơ chế bảo vệ,
– Cách thể hiện một số chế độ quản lý bộ nhớ
(chương tiếp theo).
3.2 Khối FCB (file control block)
3.3 Kết khối dữ liệu:
- Khái niệm kết khối
- Nguyên tắc kết khối
- Các dạng kết khối (F,FB, V, VB và U)
3.3 Các phương pháp điều khiển truy nhập
- QSAM (Queue Sequential Access Method)
- QISAM (Q-- Index S--)
- BSAM (Base --)
- BDAM (B--- Direct ---)
- BPAM (B--- Partition ---)
3.2 Khối FCB (file control block)
3.3 Kết khối dữ liệu:
- Khái niệm kết khối
- Nguyên tắc kết khối
- Các dạng kết khối (F,FB, V, VB và U)
3.3 Các phương pháp điều khiển truy nhập
- QSAM (Queue Sequential Access Method)
- QISAM (Q-- Index S--)
- BSAM (Base --)
- BDAM (B--- Direct ---)
- BPAM (B--- Partition ---)
31
TỔ CHỨC THÔNG TIN TRÊN ĐĨA TỪ
Tr
ac
k
1
1
1
22
2
3
3
3
Sector
Đ
ầu
t
ừ
32
CÁC KHÁI NIỆM CƠ BẢN
• Sector:
– Đánh số từ 1,
– Số Sector/track – Constant,
– Hệ số đan xen (Interleave) – nguyên tố cùng nhau
với số sector/track,
– Kích thước 1 sector:
• 128B
• 256B
• 512B
• 1KB
33
• Cylinder: 0,1,2, . . .
• Đầu từ (Header): 0, 1, 2, . . .
• Cluster:
– Nhóm sectors liên tiếp lôgic,
– Đơn vị phân phối cho người dùng,
– Đánh số: 2, 3, 4, . . .
– Kích thước: 1, 2, 4, 8, 16, 32, 64 (S),
• Địa chỉ vật lý:(H, S, Cyl),
• Địa chỉ tuyệt đối: 0, 1, 2, . . .
CÁC KHÁI NIỆM CƠ BẢN
0 1 2 3 4 . . . . . . . . .
34
CẤU TRÚC THÔNG TIN TRÊN ĐĨA TỪ
MB BS FAT1 FAT2 ROOT FILES
Vùng hệ thống (System Area)
FAT16
MB BS FAT1
Vùng hệ thống (System Area)
FAT32
FAT2 ROOT
FILES
0E
0E
24 24
16
16
1C
1C
11
2C
35
BOOT SECTOR
Đặc thù
Chữ ký
(Signature)
Như nhau với mọi
đĩa cho mỗi loại
OS
Chương trình
mồi
(Boot Strap
Loader)
Tham số
55AA
36
BOOT SECTOR
Stt Offs L (Byte) Ý Nghĩa
1 0 3 Lệnh JMP (EB xx 90)
2 3 8 Tên hệ thống Format đĩa
3 B 2 Kích thước Sector
4 D 1 Sec/Cluster
5 E 2 Địa chỉ tuyệt đối FAT1 trong đĩa lô gíc
6 10H 1 Số lượng bảng FAT
7 11 2 FAT16: Số phần tử ROOT
FAT32: 00 00
8 13 2 sect/Disk (<32MB) hoặc 00 00
37
BOOT SECTOR
9 15 1 Kiểu đĩa từ (F8 – HD, F0 – 1.44MB)
10 16 2 FAT16: Sec/FAT
FAT32: 00 00
11 18 2 Sec/ Track
12 1A 2 Số đầu từ
13 1C 4 Địa chỉ tuyệt BS trong đĩa vật lý
14 20 4 Sec / Disk (32MB) hoặc 0
15 24 4 Sec / FAT
16 28 2 Flags
17 2A 2 Version
18 2C 4 Địa chỉ ROOT (Cluster)
38
19 30 2 Inf
20 32 2 Địa chỉ lưu BS
21 34 1210 Dự trữ (00...00)
22 40 1 Địa chỉ ổ đĩa ( 80 – C:)
23 41 1 00
24 42 1 29 – BIOS mở rộng
25 43 4 Serial Number
26 47 1110 Volume Name
27 52 8 FAT32
39
Boot Sector FAT 16
15 24 1 Địa chỉ ổ đĩa ( 80 – C:)
16 25 1 00
17 26 1 29 – BIOS mở rộng
18 27 4 Serial Number
19 2B 1110 Volume Name
20 36 8 FAT16
40
Ví dụ
EB 58 90 4D 53 57 49 4E 34 2E 31 00 02 08 2D 00
02 00 00 00 00 F8 00 00 3F 00 40 00 3F 00 00 00
41 0C 34 00 03 0D 00 00 00 00 00 00 02 00 00 00
01 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00
80 00 29 D1 09 47 32 20 20 20 20 20 20 20 20 20
20 20 46 41 54 33 32 20 20 20 FA 33 C9 8E 41 BC
41
THƯ MỤC
• Đóng vai trò mục lục tra cứu, tìm kiếm,
• Mọi hệ thống đều phải có với những tên khác nhau
(Catalog, Directory, Folder,. . .),
• Bao gồm: Thư mục gốc (ROOT) + Thư mục con,
• Các hệ thống của Microsoft và OS IBM – cấu trúc cây,
• UNIX - cấu trúc phân cấp,
• Thư mục = {Phần tử}, mỗi phần tử: 3210 B
• Phần tử file,
• Thư mục con và ROOT: File có cấu trúc.
42
Cấu trúc phần tử thư mục tên ngắn
(Phần tử 8.3)
Stt Offs L Ý nghĩa
1 0 8 Tên (Name)
2 8 3 Phần mở rộng (Extention)
3 B 1 Thuộc tính (Attribute)
4 C 2 Thời điểm tạo file
5 E 2 Ngày tạo file
6 10H 2 Ngày truy nhập gần nhất
7 12 1 00 (Cho NT)
8 13 1 Số 0.1” của thời điểm tạo file
43
Phần tử 8.3
9 14 2 2 bytes cao của cluster xuất
phát
10 16 2 Thời điểm cập nhật cuối cùng
11 18 2 Ngày cập nhật cuối cùng
12 1A 2 2 bytes thấp của cluster xuất
phát
13 1C 4 Kích thước file (Byte)
44
Phần tử 8.3
• Byte số 0: Vai trò đặc biệt.
• 00 – Chưa sử dụng, phần tử chưa sử
dụng đầu tiên - dấu hiệu kết thúc thư
mục,
• E5 – () Đã bị xoá,
• 05 – Tên bắt đầu bằng ký tự ,
• 2E 20 (. ) – Phần tử thứ I của thư mục
con,
• 2E 2E (..) – Phần tử thứ II của thư mục
con
xx
xx
xx
xx
00
45
.
..
.
..
46
5 bits
Giờ
6 bits
Phút
5 bits
2 Giây
Time
x x x x x x x x x x x x x x x x
7 bits
Năm - 1980
4 bits
Tháng
5 bits
Ngày
Date
x x x x x x x x x x x x x x x x
1998 – 18
1999 – 19
2000 – 20
2001 – 21
Dự trữ thời gian:
1980 + 2
7
-1 = 2107
System
Thuộc tính
0
X
x
0
X
x
3
2
A
x
1
6
D
x
8
V
x
4
S
x
2
H
x
1
R
x
Read Only
Hidden
Vol. Name
Directory
Archive
Reserved
47
Tên dài
• Không quá 255 ký tự,
• Unicode,
• Hệ thống phân biệt
theo 66 ký tự đầu
tiên,
• Lưu trữ theo cách
đưa vào,
• Nhận dạng: Đưa về
chữ hoa.
Phần tử tên dài n
Phần tử tên dài n-1
Phần tử tên dài 1
.
.
.
Phần tử 8.3
Lưu trữ tên dài
48
Cấu trúc phần tử tên dài
Stt Offs L Ý nghĩa
1 0 1 Số thứ tự i (64+i)
2 1 1010 5 ký tự C1 – C5
3 B 1 Thuộc tính (00001111B)
4 C 1 00 – dấu hiệu phần tử tên dài
5 D 1 K phần tử 8.3
6 E 1210 C6 – C11
7 1A 2 00 00
8 1C 4 C12 – C13
49
File Allocation Table
(FAT)
• Chức năng:
– Quản lý bộ nhớ phân phối cho từng file,
– Quản lý bộ nhớ tự do trên đĩa,
– Quản lý bộ nhớ kém chất lượng.
• FAT = {phần tử}
• Phần tử:
– Đánh số:0, 1, 2, . . .
– Từ phần tử số 2: phần tử Cluster
50
Phần tử
12 bits 16 bits 32 bits
FAT 16 FAT 32
Phần tử 0: Fxx FFF8 FFFFFFF8
Phần tử 1: FFF xx11FF8 0xx11FFFFF8
Bit Shutdown
Bit Diskerror Bit Shutdown
Bit Diskerror
51
FAT
• Bit Shutdown = 1 – Ra khỏi hệ thống đúng cách
• Bit Diskerror = 1 – không có lỗi truy nhập đĩa ở lần truy
nhập cuối cùng.
• Từ phần tử 2 trở đi:
• Giá trị 0 – Cluster tự do,
• FF7 (FFF7, 0FFFFFF7) – Bad cluster,
• Các giá trị khác – đã phân phối,
• Các phần tử tương ứng những Clusters của một file - tạo
thành một danh sách móc nối,
• EOC (End of Cluster Chain) – FFF (FFFF, FFFFFFFF).
52
FF0
FFF
FF0
5
FFF
4
9
3
7
8
0
1
2
3
4
5
6
7
8
9
6 9 8 7 3 5 4
DISK
C
C
C
I
I
I
RAM
Cluster
xuất phát
FAT
53
MASTER BOOT
55AA
Chương trình
nhận biết cấu
trúc
(Master Boot
Record - MBR)
Đặc thù
Chữ ký
(Signature)
Bảng phân
vùng
Như nhau với mọi
đĩa cho mỗi loại
OS
FDISK /MBR
54
• Nguyên tắc khai thác HD:
– Chia HD thành các phần, mỗi phần có kích
thước cố định,
– Mỗi phần sử dụng như một đĩa từ độc lập:
Đĩa lô gic ( Logical Volume).
• OS cho phép tạo các đĩa kích thước động
trong mỗi đĩa lô gic.
MASTER BOOT
55
Cấu trúc bảng phân vùng
• Bảng phân vùng bắt đầu từ địa chỉ 1BEH,
• Bảng phân vùng = {4 phần tử},
• Mỗi phần tử sử dụng Đĩa lô gic,
• Tồn tại cơ chế cho phép tạo nhiều hơn 4 đĩa lô gíc trên
một đĩa vật lý.
Địa chỉ vật lý
đầu
Địa chỉ vật lý
cuối
Địa chỉ tuyệt
đối đầu
Tổng số
Sectors
4 Bytes 4 Bytes 4 Bytes 4 Bytes
56
Cấu trúc phần tử bảng phân vùng
Địa chỉ vật lý
đầu
Địa chỉ vật lý
cuối
Địa chỉ tuyệt đối
đầu
Tổng số Sectors
4 Bytes 4 Bytes 4 Bytes 4 Bytes
SYS H S Cyl
x x x x x x x x x x x x x x x x
6 bits Sector
2 8
10 bits Cylinder
Type H S Cyl
x x x x x x x x x x x x x x x x
6 bits Sector
2 8
10 bits Cylinder
00 – Cấm truy nhập, 0B – FAT32 ( £ 2047 GB)
01 – DOS12, 0C – » 0B, chế độ LBA,
04 – DOS16, 0E– » 06, chế độ LBA,
06 – BIGDOS, 0F– » 05, chế độ LBA,
05 – Mở rộng (Extended)
57
Bảng phân vùng
80 01 01 00 0B 3F FF 4D 3F 00 00 00 41 0C 34 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
55AA
80010100 010511BF 11000000 6F4C0000
000001C0 5105511F 804C0000 40260000
00004120 510551DF C0720000 804C0000
000041E0 5105D132 40BF0000 12870000
55AA
58
Truy nhập Boot Sector
• Dùng các hàm API,
• Chương trình đọc và đưa ra màn hình nội dung BS của đĩa mềm A:
(Hexa và ASCII):
Program R_BS_A;
Uses Crt, Dos;
Const s16: string[16]=‘0123456789ABCDEF’;
Var B: array[0..511] of char;
reg: registers;
i,j,k: integer;
c: char;
BEGIN
clrscr;
fillchar(b,sizeof(b),0);
writeln(‘Cho dia vao o A: va bam phim bat
ky.’);
c:=readkey;
59
I := 0;
Repeat
with reg do
begin
dl := 0; { 0 -> A:, 128 -> C:}
dh := 0; {Đầu từ}
cl := 1; {Sector}
ch := 0; {Cylinder}
al := 1; {So Sectors can doc}
ah := 2; {2 -> Read; 3 -> Write;. . .}
es := seg(b);
bx := ofs(b)
end;
60
intr($13,reg);
inc(i)
Until i = 2;
for i := 0 to 511 do
begin
j := b[i] shr 4 + 1;
k := b[i] and $0F + 1;
write(s16[j]:2, s16[k]);
if (i+1) mod 16 = 0 then
begin write(‘ ‘:5);
for j := i-15 to i do
if (b[j] <32) or (b[j] = 255) then
write(‘.’)
else write(chr(b[j]));
61
writeln;
if i = 255 then c:= readkey
end
end;
Repeat
Until keypressed
END.
Các file đính kèm theo tài liệu này:
- he_dieu_hanh_do_van_uy_c4_5866.pdf