Ng Duc ThuanCơ chế vận hành của hệ thống 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àn
Trang 1Ng Duc Thuan
nguyên lý
hỆ ĐIỀU HÀNH
ThS Nguyễn Đức Thuần
Trang 2Ng Duc Thuan
Chương 0: Cấu trúc hệ thống máy tính
Trang 3Ng Duc Thuan
Cơ chế vận hành của hệ thống
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
các 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
Mỗi khi kết thúc một tác vụ I/O, BĐKTB thông báo cho
CPU bằng cách gây ra ngắt (interrupts).
Trang 4Ng Duc Thuan
Ngắt (interrupts)
Ngắt (interrupt) là cơ chế cho phép tạm ngưng công việc
đang được CPU xử lý để phục vụ một yêu cầu khác
Khi có ngắt xảy ra, quyền điều khiển được chuyển giao
cho trình phục vụ ngắt (interrupt service routine) thông
qua bảng vector ngắt
Các đặc điểm của cơ chế ngắt :
– tăng hiệu suất xử lý công việc – đặc biệt là các tác vụ I/O
– ngắt thường được phát khởi bởi một thiết bị phần cứng
– thực hiện theo cơ chế bất đồng bộ (asynchronously) với process bị
ngắt.
Trap: ngắt mềm, phát khởi bởi một lỗi nào đó hoặc do
user yêu cầu Ví dụ:
– Lỗi chia cho 0 (divided-by-zero), memory page fault…
Hầu hết OS là interrupt-driven operating systems
Trang 5Ng Duc Thuan
Chu trình thực hiện lệnh
Trang 6Ng Duc Thuan
Chu trình lệnh với ngắt quãng
CPU kiểm tra ngắt sau mỗi lệnh
– polling
– vectored interrupt system
Nếu không có ngắt, bắt đầu một chu kỳ lệnh mới
Nếu có ngắt đang chờ, tạm ngưng và lưu trạng thái chương trình đang
thực thi (Program Check, Program Status Word, các thanh ghi dữ liệu, ),
chuyển qua thực thi trình điều khiển xử lý ngắt (interrupt handler)
Trang 7Ng Duc Thuan
I/O structure Hai phương thức thực hiện I/O
Sau khi bắt đầu tác vụ I/O, quyền điều khiển chỉ được
trả về khi và chỉ khi tác vụ I/O hoàn tất.
– CPU phải chờ đến khi tác vụ I/O hoàn tất
– Trong một thời điểm, có nhiều nhất là 1 tác vụ I/O
được thực hiện, không xử lý được đồng thời nhiều yêu
cầu I/O
Sau khi bắt đầu tác vụ I/O, quyền điều khiển được trả
về ngay mà không cần chờ hoàn tất tác vụ I/O
– CPU có thể thực thi lệnh kế tiếp mà không phải chờ
đến khi tác vụ I/O hoàn tất
– Trong một thời điểm, có thể có nhiều tác vụ I/O được
Trang 8Ng Duc Thuan
Hai phương thức I/O
Synchronous I/O Asynchronous I/O
Trang 9Ng Duc Thuan
Các kỹ thuật thực hiện I/O
Programmed I/O (PIO)
– Không dùng ngắt, CPU phải chờ tác vụ I/O hoàn tất
Interrupt-driven I/O
– CPU có thể tiếp tục thực thi trong suốt quá trình xảy ra
I/O, khi tác vụ I/O hoàn tất thì sẽ phát ra một ngắt báo
hiệu cho CPU
Direct Memory Access (DMA)
– Một khối dữ liệu được chuyển trực tiếp giữa bộ nhớ và
thiết bị I/O mà không cần qua CPU
Trang 10Ng Duc Thuan
Storage structure
Bộ nhớ chính (main memory): CPU chỉ có thể truy cập
trực tiếp thanh ghi (registers) và bộ nhớ RAM
Bộ nhớ phụ (secondary storage): hệ thống lưu trữ thông tin
bền vững (nonvolatile storage)
Đĩa từ (magnetic disks)
– Bề mặt đĩa chia thành các rãnh (tracks), các rãnh này được chia
nhỏ hơn thành các cung từ (sectors).
– Cylinder: tập các track tạo thành một hình trụ
– Disk controller: bộ điều khiển quá trình giao tiếp giữa CPU và đĩa.
Trang 11Ng Duc Thuan
Cơ chế truy xuất đĩa
Thời gian định vị dữ liệu
-positioning time
(random-access time) bao gồm
– Seek time: thời gian di
chuyển đầu đọc đến cylinder
cần đọc
– Rotational latency: thời gian
tìm được sector cần đọc dữ
liệu.
Transfer rate: tốc độ chuyển
dữ liệu giữa đĩa và CPU
Trang 12Ng Duc Thuan
Phân cấp hệ thống lưu trữ
Hệ thống lưu trữ có thể phân cấp theo các tiêu
chuẩn
– Tốc độ (speed, access time)
– Dung lượng (capacity)
– Giá cả (cost)
– Độ bền vững dữ liệu (volatility)
Hệ thống phân cấp từ trên xuống theo
– Giá thành giảm dần
– Dung lượng tăng dần
– Thời gian truy cập tăng dần
– Tần suất truy cập của CPU giảm dần
– Chế độ lưu trữ bền vững (non-volatile)
Trang 13Ng Duc Thuan
Phân cấp hệ thống lưu trữ
Trang 14Ng Duc Thuan
Cơ chế caching
Caching: copy dữ liệu vào thiết bị lưu trữ tốc độ cao
hơn.
Tại sao phải dùng bộ nhớ cache
– Tốc độ CPU và bộ nhớ chính khác nhau
– Khai thác nguyên lý “locality”
Cần có chiến lược quản lý bộ nhớ cache thích hợp
Trong cơ chế caching, một dữ liệu có thể được lưu
trữ nhiều nơi ® phải bảo đảm tính nhất quán dữ
liệu (consistent): bài toán cache coherency.
Trang 15Ng Duc Thuan
Bảo vệ phần cứng
Chức năng của hệ điều hành là kiểm tra toàn bộ
hệ thống
Hệ điều hành cung cấp chức năng chia sẻ tài
nguyên cho nhiều chương trình, vì vậy phải có cơ
chế kiểm tra và xử lý lỗi ứng với mỗi một chương
trình Các lỗi chương trình do phần cứng phát
hiện và thông báo cho hệ điều hành để ra quyết
định chấm dứt và thông báo
Bảo vệ phần cứng bao gồm cơ chế bảo vệ CPU,
Bộ nhớ, Thiết bị nhập xuất…