Bài giảng Hệ điều hành (Operating System)

Các hệ thống số * Các hệ thống số

- Hệ thập phân (cơ số 10):

Hình thức thể hiện: 9, 249, 28d, .

- Hệ thập lục phân (cơ số 16):

Hình thức thể hiện: 9h, 0F9h, 1Ch,

pdf471 trang | Chuyên mục: Hệ Điều Hành | Chia sẻ: dkS00TYs | Lượt xem: 2376 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng Hệ điều hành (Operating System), để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
h
Chỉ số ơ FAT đầu tiên
của thư mục cha nếu
cha là thư mục gốc thì
bằng 0
Block
51
Ví dụ
• Giả sử thư mục L (6) trong ví dụ chứa tập tin A(1) và
B.doc(8) thì nội dung của block 6 và bảng FAT như sau:
1032doc
B
332
A
016..
816.
6FFF
FFFFFF
45
FFF9 
FFF0 (free)
52
Bài tập FAT và RD
• Dung lượng đĩa sẽ quyết định kích thước 1 ơ trên
bảng FAT.
• FAT12  212 ơ = 4096 ơ  tối đa là 4094 block. (vì
mỗi ơ quản lý 1 block) Tính tốn khoảng gần đúng.
• Ví dụ: cho đĩa cĩ dung lượng 20MB. Mỗi block là 2 
sector. Hỏi đĩa sử dụng bảng FAT nào là hợp lý?
– Số ơ = số block + 2 = (20*10242)/(2*512) 
= 5*212+2 Nên dùng FAT 16.
• Nếu dùng FAT 32 thì sao?
– Mỗi block cĩ kích thước nhỏ đi 1 block cĩ thể
chỉ là 1 sector.
53
Bài tập FAT và RD
• Cho một volume cĩ 20 block như sau
• Thư mục gốc \:
– E (0)
• M.TXT (1,19,18)
• C (2)
– U.TXT (4,5)
– V (6)
» N.TXT (7,8)
» I.TXT (9,10)
– M.TXT (3,17,16)
• Hãy vẽ FAT, RD và các block liên quan (block nội dung 
của thư mục cĩ cấu trúc tượng tự RD thêm vào . và ..) .
• Quy ước cĩ phần mở rộng là tập tin, cĩ chứa con thì sẽ
phải là thư mục.
Cho một đĩa cĩ dung lượng 40GB. Mỗi block gồm 16 sector. Hỏi ta sử
dụng bảng FAT nào là thích hợp nhất?
54
Câu Hỏi Ơn tập
1. So sánh thời gian các lệnh copy, move, 
delete trong tất cả các trường hợp cĩ thể cĩ.
2. Tại sao trong UNIX khơng cĩ system call 
detete(…) để xố file mà chỉ cĩ system call 
unlink(…) để xố một link đến file?
3. Trình bày các thao tác của DOS/Win khi tiến
hành khi delete một file?
1Hệ thống quản lý nhập/xuất
2Tổng quan
• Giới thiệu về thiết bị nhập xuất
• Các kỹ thuật quản lý thao tác nhập xuất
• Các vấn đề về thiết kế hệ thống quản lý 
nhập xuất trong HðH
• Kỹ thuật vùng đệm nhập xuất
• Quản lý hệ thống nhập xuất đĩa
3Phân loại các thiết bị nhập/xuất
• Human readable
– Dùng để giao tiếp với người dùng
– Máy in
– Thiết bị đầu cuối liên quan đến hiển thị
• Màn hình hiển thị
• Bàn phím
• Chuột
4Phân loại các thiết bị nhập/xuất 
(2)
• Machine readable
– Dùng để giao tiếp với thiết bị điện tử
– ðĩa
5Phân loại các thiết bị nhập/xuất 
(2)
• Giao tiếp
– Dùng để giao tiếp với các thiết bị ở xa 
(remote device)
– Modem
6Sự khác nhau giữa các thiết bị
I/O
• Tốc độ
• Ứng dụng
• Mức độ phức tạp để kiểm sốt
• ðơn vị truyền
• Biểu diễn dữ liệu
• Phát sinh lỗi
8Sự khác nhau giữa các thiết bị I/O 
(2)
• Ứng dụng
– ðĩa dùng để lưu trữ địi hỏi phải cĩ hệ thống 
quản lý tập tin đi kèm
– ðĩa dùng để làm bộ nhớ ảo địi hỏi phải cĩ sự
hỗ trợ phần cứng và phần mềm.
– Các thiết bị đầu cuối được sử dụng bởi quản 
trị sẽ cĩ độ ưu tiên cao hơn.
9Sự khác nhau giữa các thiết bị I/O 
(3)
• ðộ phức tạp để kiểm sốt:
– Máy in so với đĩa
• ðơn vị truyền
– Cĩ thể được truyền theo byte hoặc khối (cĩ thể là bit)
• Biểu diễn dữ liệu
– Cơ chế mã hĩa
• Phát sinh lỗi
– Thiết bị khác nhau xử lý lỗi phát sinh khác nhau
10
Kỹ thuật xử lý I/O
• Programmed I/O
– Tiến trình phải busy-waiting cho thao tác nhập 
xuất hồn thành
• Interrupt-driven I/O
– Phát sinh lệnh I/O
– Bộ xử lý tiếp tục thực thi các chỉ thị khác
– Module I/O gởi một ngắt đến bộ xử lý khi 
hồn thành thao tác I/O
11
Kỹ thuật quản lý I/O (2)
• Direct Memory Access (DMA)
– Module DMA điều khiển việc chuyển đổi dữ
liệu giữa bộ nhớ chính và thiết bị I/O
– Bộ xử lý chỉ bị ngắt khi tồn bộ khối đã được 
chuyển
12
Lịch sử phát triển của quản lý 
I/O
• Bộ xử lý trực tiếp điều khiển thiết bị ngoại 
vi
• Bộ điều khiển (Controller) hay module I/O 
module được thêm vào
– Bộ xử lý dùng programmed I/O khơng cĩ hỗ
trợ ngắt
– Bộ xử lý khơng cần phải quản lý chi tiết các 
thiết bị ngoại vi
13
Lịch sử phát triển của quản lý 
I/O
• Bộ điều khiển hoặc module I/O module cĩ
hỗ trợ ngắt
– Bộ xử lý khơng cần phải bỏ thời gian chờ thao 
tác I/O thi hành
• Direct Memory Access
– Khối dữ liệu được chuyển vào bộ nhớ mà
khơng cần xử lý của bộ xử lý
– Bộ xử lý chỉ liên quan vào lúc bắt đầu và lúc 
kết thúc chuyển khối.
14
Lịch sử phát triển của quản lý 
I/O
• Module I/O là một bộ xử lý riêng biệt
– Cĩ tập lệnh chuyên biệt
• Bộ xử lý I/O
– Module I/O cĩ bộ nhớ riêng
15
Các vấn đề thiết kế liên quan đến 
HðH
• Tính hiệu quả
– Hầu hết các thiết bị I/O đều rất chậm so với 
bộ nhớ chính
• Sử dụng cơ chế đa chương cho phép một vài tiến 
trình chờ I/O trong khi tiến trình khác thi hành
– Cơ chế swapping
• Bản chất cũng là thao tác nhập/xuất
16
Các vấn đề thiết kế liên quan đến 
HðH
• Tính tổng quát
– Mong muốn xử lý tất cả các thiết bị I/O giống 
nhau
– Che giấu hầu hết chi tiết của thiết bị nhận 
xuất để tiến trình (mức cao) xem các thiết bị ở
một vài chức năng thơng dụng như read, 
write, open, close, lock, unlock
17
Mơ hình lơgic các chức năng nhập xuất
• Giao tiếp đơn giản (thiết bị ngoại vi cục 
bộ)
– Logical I/O
– Device I/O
– Scheduling and Control
• Giao tiếp thơng quan cổng kết nối
– Communication architecture
– Device I/O
– Scheduling and Control
18
Mơ hình lơgic các chức năng nhập 
xuất
• Hệ thống tập tin
– Directory management
– File system
– Physical organization
– Device I/O
– Scheduling and Control
20
Kỹ thuật vùng đệm nhật/xuất
• Lý do
– Các tiến trình phải chờ hồn thành I/O trước 
khi xử lý tiếp
– Thao tác I/O vẫn phải tốn bộ nhớ
21
Kỹ thuật vùng đệm nhật/xuất (2)
• Các thiết bị I/O cĩ hai dạng hỗ trợ nhập/xuất cơ bản:
– Hướng khối (block – oriented)
– Hướng dịng (stream – oriented)
• Block-oriented
– Thơng tin được lưu trong những khối cĩ kích thước cho trước
– ðơn vị chuyển là một khối / một lần
– Dùng cho đĩa
• Stream-oriented
– Truyền thơng tin như là một dịng các byte
– Dùng cho các thiết bị đầu cuối, máy in, chuột, cổng giao tiếp,…
22
Single Buffer
• HðH dành riêng một vùng đệm trong bộ nhớ
chính cho thao tác I/O
• Block-oriented
– Dữ liệu vào được chuyển vào vùng đệm theo đơn vị
khối
– Khối đĩ sẽ chuyển đến cho tiến trình người dùng khi 
cần
– Khối khác được chuyển vào vùng đệm, trong khi tiến 
trình đang xử lý khối trước đĩ.
• Stream-oriented
– Như khối nhưng với đơn vị là dịng. Một dịng được 
kết thúc bởi dấu CF.
23
I/O Buffering
24
Double Buffer
• Dùng hai vùng đệm thay vì một
• Một tiến trình cĩ thể chuyển dữ liệu vào và
ra một vùng đệm trong khi hệ điều hành 
truyền thơng tin hoặc thao tác trên vùng 
đệm cịn lại
25
Circular Buffer
• Nhiều hơn hai vùng đệm
• Trong trường hợp thao tác nhập xuất gắn 
liền với tiến trình.
26
I/O Buffering
27
Nhắc lại cấu trúc đĩa
• Các thành phần của đĩa
– platters
– surfaces
– tracks
– sectors
– cylinders
– arm
– heads
platter
surface
track
sector
cylinder
arm
head
28
Các tham số liên quan đến hiệu 
năng truy xuất đĩa
• ðể đọc hay ghi, đầu đĩa phải di chuyển đến 
track và sector tương ứng
• Seek time
– Thời gian dùng để định vị đầu đĩa đến track mong 
muốn
• Rotational delay hoặc rotational latency
– Thời gian dùng để di chuyển đầu đĩa đến sector 
tương ứng (vị trí đầu tiên của sector)
• Transfer time
– Thời gian chuyển dữ liệu (từ hoặc vào bộ nhớ chính)
29
Thời gian thi hành tác vụ I/O
30
Tham số hiệu năng đĩa
• Access time = seek time + rotational delay
– Thời gian để đặt đầu đĩa và đúng vị trí để đọc 
và ghi
• Dữ liệu sẽ được chuyển khi đầu đĩa nằm 
đúng vị trí sector.
31
Chính sách lập lịch trên đĩa
• Mấu chốt là Seek time.
– Vì sao?
• Với một đĩa cĩ thể một số các yêu cầu I/O
• Cần cĩ cơ chế xử lý các yêu cầu này thích 
hợp  tăng hiệu năng xử lý I/O
32
Chính sách lập lịch trên đĩa (2)
• First-in, first-out (FIFO)
– Xử lý yêu cầu một cách tuần tự
– Cơng bằng cho tất cả tiến trình
– Nếu nhiều tiến trình thì xác suất xem như là
ngẫu nhiên
33
Chính sách lập lịch trên đĩa (3)
• Cĩ ưu tiên
– Mục tiêu khơng phải là tối ưu đĩa mà để phục 
vụ cho các mục tiêu khác
– Các cơng việc cĩ thời gian thi hành ngắn cĩ
thể cĩ độ ưu tiên cao hơn
– Khả năng tương tác cao
34
Chính sách lập lịch trên đĩa (4)
• Last-in, first-out
– Tốt cho các hệ thống xử lý giao dịch
(transaction processing system)
• Thiết bị được giao cho người dùng gần đây nhất
 đầu đọc di chuyển ít nhất
– Cĩ thể xảy ra tình trạng đĩi (starvation)
35
Chính sách lập lịch trên đĩa (5)
• First Come, First Service
– Phương pháp này dễ lập trình nhưng khơng
cung cấp dịch vụ tốt.
– Ví dụ: cần phải đọc các khối theo thứ tự sau
98 183 37 122 14 75 và đầu đọc đang ở vị trí
59.
– ðầu đọc sẽ lần lượt đi qua các khối 59 98 183 
37 122 12 75.
36
Chính sách lập lịch trên đĩa (6)
• Shortest Service Time First (SSTF)
– Chọn yêu cầu I/O mà địi hỏi ít di chuyển nhất
đầu đĩa từ vị trí hiện tại
– Luơn luơn cho ra seek time nhỏ nhất.
– Ví dụ: cần đọc các khối 98 183 37 122 14 124 
65 và 67. Giả sử đầu đọc đang ở vị trí 53.
– ðầu đọc sẽ lần lượt qua các khối 53 65 67 37 
4 98 122 124 183
37
Chính sách lập lịch trên đĩa (7)
• SCAN
– ðầu đọc di chuyển theo một hướng nhất định. 
Ví dụ cần đọc các khối 98 183 37 122 14 124 
65 67. Giả sử đầu đọc ở vị trí 53.
– ðầu đọc sẽ lần lượt qua các khối 53 37 14 0
65 67 98 122 124 183 (theo SCAN định
hướng về 0)
38
Chính sách lập lịch trên đĩa (7)
• C-SCAN
– Như SCAN, giới hạn chỉ di chuyển theo 1 
chiều
– Quay về vị trí bắt đầu ngay khi đụng track ở
xa nhất, khơng cần phải tiếp tục.
– Ví dụ cần đọc các khối 98 183 37 122 14 124 
65 67. Giả sử đầu đọc ở vị trí 53.
– ðầu đọc sẽ lần lượt qua các khối 53 65 67 98 
122 124 183 199 0 14 37
39
Disk Scheduling Algorithms
40
Câu hỏi ơn tập
– Ví dụ: cần đọc các khối 98 183 124 65 12 và
67. Giả sử đầu đọc đang ở vị trí 53.
– ðầu đọc sẽ lần lượt qua các khối nào và vẽ
sơ đồ theo các thuật tốn đọc đĩa FCFS, 
SSTF, SCAN và C-SCAN.
– Từ đĩ kết luận xem cách đọc nào tối ưu nhất.
41
ðịa chỉ tương đối = (head, cylinder, sector)
Head : 0  Số mặt trên đĩa – 1
Cylinder: 0  Số cylinder trên đĩa – 1
Sector : 1  Số sector trên track
ðịa chỉ tuyệt đối = head * Số sector/track + 
track * số sector/cylinder + sector - 1

File đính kèm:

  • pdfBài giảng Hệ điều hành (Operating System).pdf