Nguyên lý hệ điều hành - Nguyễn Đức Thuần

Một hệ thống thông thường gồm CPU và các bộ điều khiển thiết bị (BĐKTB - device controller). Các tác vụ của CPU và BĐKTB có thể thực thi song hành và tranh chấp bộ nhớ chia sẻ qua sự điều khiển đồng bộ của memory controller

Mỗi BĐKTB phụ trách một loại thiết bị cụ thể (video adapter, disk drive.)

Mỗi BĐKTB có một buffer riêng

CPU chuyển dữ liệu từ bộ nhớ chính đến buffer riêng của BĐKTB và ngược lại. Dữ liệu của các tác vụ I/O được chuyển từ thiết bị đến buffer riêng của BĐKTB tương ứng

pdf215 trang | Chuyên mục: Hệ Điều Hành | Chia sẻ: dkS00TYs | Lượt xem: 2225 | Lượt tải: 2download
Tóm tắt nội dung Nguyên lý hệ điều hành - Nguyễn Đức Thuần, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ố thích hợp cho
lời gọi hệ thống
– Chức năng của spooling là tránh trường hợp một tiến
trình truy xuất và chiếm giữ thiết bị khiến các tiến
trình khác khơng truy xuất được thiết bị đĩ
– Ứng dụng của spooling: printing, sending/receiving 
email
Ng 
Duc
 Thu
an
194
Chương 6: Quản lý xuất /nhập
• Cài đặt hệ thống quản lý nhập xuất
– Cài đặt hệ thống nhập xuất đĩa
– Cài đặt hệ thống nhập xuất chuẩn
– Cài đặt đồng hồ
Ng 
Duc
 Thu
an
195
Chương 6: Quản lý xuất /nhập
• Cài đặt hệ thống nhập xuất đĩa
– Ưu điểm của đĩa: dung lượng, chi phí, bảo tịan thơng
tin
– Cấu trúc vật lý: cylinder, track, head, sector
– Tốc độ đĩa phụ thuộc vào các thao tác:
• Seek: di chuyển đầu đọc đến track/cylinder (seek 
time *)
• Chờ cho khối cần thiết đến dưới đầu đọc (latency 
time *)
• Đọc dữ liệu từ đĩa vào bộ nhớ (transfer time)
– HĐH cần cĩ các thuật tốn lập lịch truy xuất đĩa
Ng 
Duc
 Thu
an
196
Chương 6: Quản lý xuất /nhập
• Các thuật tốn đọc đĩa
– Lập lịch FCFS
– Lập lịch SSTF
– Lập lịch SCAN
– Lập lịch C-SCAN
– Lập lịch LOOK
Ng 
Duc
 Thu
an
197
Chương 6: Quản lý xuất /nhập
• Lập lịch FCFS (First Come, First Served)
– Phương pháp đơn giản, dễ lập trình
– Khơng cung cấp dịch vụ tốt
Ví dụ đầu đọc đang ở khối 53, cần đọc các khối theo
thứ tự
98, 183, 37, 122, 14, 124, 65, 67
Đầu đọc phải lần lượt đi qua các khối
53, 98, 183, 37, 122, 14, 124, 65, 67
Ng 
Duc
 Thu
an
198
Chương 6: Quản lý xuất /nhập
• Lập lịch SSTF (Shortest-Seek-Time-First)
– Di chuyển đầu đọc đến các khối cần thiết theo vị trí
lần lượt gần với vị trí hiện hành của đầu đọc nhất
Ví dụ đầu đọc đang ở khối 53, cần đọc các khối theo
thứ tự
98, 183, 37, 122, 14, 124, 65, 67
Đầu đọc lần lượt đi qua các khối
53, 65, 67, 37, 14, 98, 122, 124, 183
– Thích hợp cho hệ thống cần truy xuất dữ liệu liên tục
Ng 
Duc
 Thu
an
199
Chương 6: Quản lý xuất /nhập
• Lập lịch SCAN
– Đầu đọc di chuyển về 1 phía của đĩa và từ đĩ di
chuyển qua phía kia.
Ví dụ đầu đọc đang ở khối 53, cần đọc các khối theo
thứ tự
98, 183, 37, 122, 14, 124, 65, 67
Đầu đọc lần lượt đi qua các khối
53, 37, 14, 0, 65, 67, 98, 122, 124 và 183
– Thích hợp cho hệ thống truy xuất dữ liệu khối lượng
lớn
Ng 
Duc
 Thu
an
200
Chương 6: Quản lý xuất /nhập
• Lập lịch C-SCAN
– Tương tự thuật tĩan SCAN, chỉ khác khi di chuyển đến
một đầu nào đĩ của đĩa, nĩ sẽ lập tức trở về đầu bắt
đầu của đĩa
Ví dụ đầu đọc đang ở khối 53, cần đọc các khối theo thứ
tự
98, 183, 37, 122, 14, 124, 65, 67
Đầu đọc lần lượt đi qua các khối
53, 65, 67, 98, 122, 124, 183, 0, 14, 37
– Thích hợp cho hệ thống truy xuất dữ liệu khối lượng lớn
Ng 
Duc
 Thu
an
201
Chương 6: Quản lý xuất /nhập
• Lập lịch LOOK
– Giống C-SCAN nhưng chỉ chuyển đến khối xa nhất ở
mỗi hướng chứ khơng đến cuối.
Ví dụ đầu đọc đang ở khối 53, cần đọc các khối theo thứ
tự
98, 183, 37, 122, 14, 124, 65, 67
Đầu đọc lần lượt đi qua các khối
53, 65, 67, 98, 122, 124, 183, 14, 37
– Thích hợp cho hệ thống truy xuất dữ liệu khối lượng lớn
Ng 
Duc
 Thu
an
202
Chương 6: Quản lý xuất /nhập
• Quản lý lỗi
– Lỗi lập trình: tìm khơng thấy cylinder, sector, head, 
địa chỉ buffer. Xử lý bằng kiểm tra tham số, thơng báo
lỗi.
– Lỗi checksum tạm thời: gây ra bởi bụi trên đầu đọc
– Lỗi checksum thường trực: đĩa hư vật lý trên các khối
– Lỗi tìm kiếm: seek đầu đọc sai địa chỉ
– Lỗi điều khiển: bộ điều khiển từ chối thi hành lệnh
Ng 
Duc
 Thu
an
203
Chương 6: Quản lý xuất /nhập
• RAM disk
– RAM disk dùng một phần bộ nhớ chính để lưu trữ các
khối dữ liệu
– RAM disk được chia làm nhiều khối tùy theo dung lượng
yêu cầu cấp phát. Mỗi khối cĩ cùng kích thước với khối
trên đĩa
– Khi nhận được chỉ thị đọc/ghi các khối, driver tìm trong
bộ nhớ RAM disk vị trí của khối, thực hiện đọc/ghi ngay
trong vùng nhớ
– RAM disk truy xuất nhanh hơn đĩa vật lý
– HĐH phải lưu dữ liệu vào đĩa cứng trước khi người dùng
shutdown
Ng 
Duc
 Thu
an
204
Chương 6: Quản lý xuất /nhập
• Interleave
– Khoảng cách giữa các sector dùng để đồng bộ chức năng
đọc/ghi dữ liệu trên đĩa. 
– Interleave được xác định trong quá trình format đĩa
VD: đĩa cĩ 17 sector/track, interleave=4, sơ đồ sector như sau: 
1, 14, 10, 6, 2, 15, 11, 7, 3, 16, 12, 8, 4, 17, 13, 9, 5
Lần 1: 1, 14, 10, 6, 2, 15, 11, 7, 3, 16, 12, 8, 4, 17, 13, 9, 5
Lần 2: 1, 14, 10, 6, 2, 15, 11, 7, 3, 16, 12, 8, 4, 17, 13, 9, 5
Lần 3: 1, 14, 10, 6, 2, 15, 11, 7, 3, 16, 12, 8, 4, 17, 13, 9, 5
Lần 4: 1, 14, 10, 6, 2, 15, 11, 7, 3, 16, 12, 8, 4, 17, 13, 9, 5
Ng 
Duc
 Thu
an
205
Chương 6: Quản lý xuất /nhập
• Cài đặt hệ thống nhập xuất chuẩn (terminal)
– Terminal là hệ thống nhập xuất (chỉ cĩ bàn phím, 
màn hình và bộ điều hợp dữ liệu vào ra) 
– Terminal chuyển dữ liệu Một máy tính cĩ thể liên lạc
với nhiều terminal
– HĐH chia terminal thành 2 loại: RS-232 và ánh xạ bộ
nhớ
– RS-232: hard-copy, glasstty, Intelligent, blit
– Ánh xạ bộ nhớ: ký tự, bit 
Ng 
Duc
 Thu
an
206
Chương 6: Quản lý xuất /nhập
• Các terminal RS-232
– Thiết bị giao tiếp tuần tự theo bit với bàn phím, màn hình...
– Connector 25 pins: mass, receiver, sender, 22 reserved pins
– Data package: start bit-data to be tranfered-end bit(s) 
– Tốc độ chuyển:1200, 2400, 4800, 9600 bps (bit per second)
– Sử dụng bộ chuyển UART gắn trên card giao tiếp
– Hard-copy/glassttys: nhập ký tự từ bàn phím, huyển cho máy
tính, xuất ra máy in/màn hình
– Terminal Intelligent: gửi ký tự ASCII ESC sau những ký tự
khác nhau để di chuyển con trỏ trên màn hình
– Blit: bộ xử lý mạnh với màn hình độ phân giải 1024x800
Ng 
Duc
 Thu
an
207
Chương 6: Quản lý xuất /nhập
• Các terminal ánh xạ bộ nhớ
– Giao tiếp với máy tính bằng video RAM (khơng dùng
cổng serial)
– Chip điều khiển trên video card lấy thơng tin từ video 
RAM, tạo ra tín hiệu video để điều khiển màn hình
– Màn hình tạo tia điện tử quét từ trên xuống dưới.
– Bộ điều khiển tín hiệu sẽ xác định mỗi điểm (pixel) là
sáng hay tối (đối với màn hình mono), màu gì (màn hình
màu) 
– Text mode (mono $B000, màu $B800): 2000 ký tự 2 byte 
(thuộc tính-chữ), box 9x14, bố trí trên 25 dịng, 80 cột. 
Graphic mode ($A000): độ phân giải 320x200, 640x480, 
800x600, 1027x768... pixels
Ng 
Duc
 Thu
an
208
Chương 6: Quản lý xuất /nhập
• Phần mềm nhập cho terminal
– Dữ liệu nhập từ bàn phím, chuyển cho ứng dụng
– Khi cĩ phím nhấn, ngắt bàn phím báo cho bộ điều
khiển biết cĩ ký tự nhập đang lưu trữ trong buffer của
bộ nhớ chính. Bộ điều khiển sẽ ánh xạ lại mã ASCII 
của ký tự phím nhấn
– Cĩ 2 dạng buffer bàn phím: pool buffer, structred
buffer
– Một số terminal cần phần mềm echoing điều khiển
hiển thị ký tự gõ: mật khẩu, tab, backspace, line feed, 
carriage return...
Ng 
Duc
 Thu
an
209
Chương 6: Quản lý xuất /nhập
• Phần mềm xuất cho terminal
– Mỗi loại terminal sử dụng phần mềm xuất khác nhau
– Terminal RS-232 sử dụng pool buffer chứa dữ liệu
xuất: các ký tự được xuất tuần tự theo các tín hiệu ngắt
– Terminal ánh xạ: các ký tự được xuất 1 lần từ video 
RAM. Các ký tự đặc biệt (backspace, bell, cr, lf...) được
cập nhật cho phù hợp.
– Các chức năng của phần mềm soạn thảo màn hình
terminal: di chuyển con trỏ, chèn xĩa ký tự/dịng, cuộn
màn hình lên xuống, tạo hiệu ứng (tương phản, gạch
dưới, nhấp nháy...), tạo/hủy/di chuyển/quản trị cửa
sổ... 
Ng 
Duc
 Thu
an
210
Chương 6: Quản lý xuất /nhập
• Cài đặt đồng hồ (timer)
– Timer là thiết bị phần cứng đặc biệt, khơng thuộc thiết
bị khối (vd đĩa) hay thiết bị tuần tự (vd bàn phím, màn
hình). 
– Chức năng chính của timer
• Kiểm sốt thời gian trong ngày
• Phân chia thời gian chia xẻ cho các tiến trình sử
dụng CPU
– Phần mềm đồng hồ hoạt động như device driver 
Ng 
Duc
 Thu
an
211
Chương 6: Quản lý xuất /nhập
• Phần cứng đồng hồ: 
– Dạng 1: sử dụng điện thế 110/220v, tạo ngắt theo mỗi
chu kỳ hiệu điện thế 50/60 MHz
– Dạng 2: bộ dao động thạch anh, bộ đếm và bộ thanh ghi
• Dưới tác dụng của dịng diện, tinh thể thạch anh tạo
ra dao động 5-100 MHz, chuyển cho bộ đếm
• Bộ đếm giảm dần sau mỗi dao động, tạo ngắt khi
Counter=0. Bộ thanh ghi sẽ nạp lại giá trị cho bộ đếm
• Khi ngắt đồng hồ kích hoạt, HĐH sẽ thực hiện trình xử
lý ngắt của nĩ
Ng 
Duc
 Thu
an
212
Chương 6: Quản lý xuất /nhập
 Phần mềm đồng hồ
– Phần cứng đồng hồ tạo các ngắt theo từng khoảng thời
gian đều đặn
– Phần mềm (driver) đồng hồ có nhiệm vụ:
 Quản lí thời gian trong ngày
 Không cho phép tiến trình chạy lâu hơn thời gian
cho phép
 Điều phối kế họach sử dụng CPU
 Cung cấp watchdog timer cho hệ thống
Ng 
Duc
 Thu
an
213
Chương 6: Quản lý xuất /nhập
• Quản lý thời gian trong ngày
– Tăng bộ đếm sau mỗi nhịp đồng hồ. 
– Vấn đề lưu ý : Kích thước bộ đếm
– Các loại bộ đếm:
• Bộ đếm nhịp 32 bits: dao động 60MHz bị tràn sau
2 năm
• Bộ đếm 64 bits: tốn kém
• Bộ đếm giây 32 bits: 232 lưu được 136 năm
• Bộ đếm nhịp liên hệ với thời gian khởi động của
hệ thống
Ng 
Duc
 Thu
an
214
Chương 6: Quản lý xuất /nhập
• Quản lý thời gian chạy của tiến trình
– Khi một tiến trình bắt đầu, bộ lập lịch sẽ khởi tạo giá
trị cho bộ đếm. 
– Giá trị này giảm dần sau mỗi ngắt đồng hồ
– Counter=0, thời gian chạy của tiến trình kết thúc. Bộ
điều khiển đồng hồ sẽ yêu cầu bộ lập lịch thiết lập giá
trị cho tiến trình khác
• Điều phối kế họach sử dụng CPU
– Sử dụng timer cục bộ cho từng tiến trình
– Khởi tạo, kích hoạt timer khi tiến trình bắt đầu
– Dừng timer khi tiến trình kết thúc
Ng 
Duc
 Thu
an
215
Chương 6: Quản lý xuất /nhập
• Cung cấp watchdog timer
– Một số thiết bị nhập xuất cần đo thời gian đạt đến
trạng thái sẵn sàng hoạt động
VD: Sau 500 ms từ lúc khởi động, ổ đĩa mềm mới đạt
được tốc độ cần thiết cho các tác vụ truy xuất
– Watchdog timer đếm thời gian cho các thiết bị nhập
xuất
VD: Khơng tắt motor ổ đĩa mềm, chờ các thao tác nhập
xuất tiếp theo. Quá thời gian khơng cĩ yêu cầu truy
xuất, tắt motor. 

File đính kèm:

  • pdfNguyên lý hệ điều hành - Nguyễn Đức Thuần.pdf