Bài giảng hệ điều hành tổng quan
Trang 1HỆ ĐIỀU HÀHH
Trang 2Nội dung chương 1
1.1 Các thành phần của máy tính 1.2 Cấu trúc nhập/xuất
1.3 Cấu trúc lưu trữ
1.4 Bảo vệ phần cứng
Trang 3Máy tính
• Máy tính (Computer) là thiết bị điện tử
thực hiện các công việc sau:
– Nhận thông tin vào,
– Xử lý thông tin theo dãy các lệnh được nhớ sẵn bên trong,
– Đưa thông tin ra
• Dãy các lệnh nằm trong bộ nhớ để yêu
cầu máy tính thực hiện công việc cụ thể được gọi là chương trình (program)
Máy tính hoạt động theo chương trình
Trang 5Mô hình máy tính cơ bản
Control Processing Memory CPU
Trang 6Thao tác cơ bản của máy
tính
• Nhập (input) : dữ liệu được đưa vào hệ thống và chuyển thành dạng thích hợp cho xử lý bằng máy tính Thiết bị nhập.
• Xử lý (processing) : thao tác chuyển dữ liệu thành thông tin Bộ xử lý, các chương trình xử lý
• Xuất (output) : đưa thông tin ra ngoài Các định
dạng thông tin xuất Thiết bị xuất.
• Lưu trữ thứ cấp (secondary-storage): dữ liệu,
thông tin và chương trình được lưu lại cho các lần
sử dụng tiếp theo Thiết bị lưu trữ.
Trang 7Mô hình phân lớp của máy tính
Trang 9Phân loại máy tính
• Phân loại truyền thống:
– Máy vi tính (Microcomputer)
– Máy tính nhỏ (Minicomputer)
– Máy tính lớn (Mainframe Computer) – Siêu máy tính (Supercomputer)
• Phân loại máy tính hiện đại
– Máy tính để bàn (Desktop Computers) – Máy chủ (Servers)
– Máy tính nhúng (Embedded
Computers)
Trang 10Máy tính để bàn
• Là loại máy tính phổ biến nhất
• Các loại máy tính để bàn
Trang 11Máy chủ (Server)
• Thực chất là máy phục vụ
• Dùng trong mạng theo mô hình
Client/Server (Khách hàng/Người phục vụ)
• Tốc độ và hiệu năng tính toán cao
• Dung lượng bộ nhớ lớn
• Độ tin cậy cao
• Giá thành: hàng chục nghìn đến
hàng chục triệu USD
Trang 12Máy tính nhúng (Embedded Computer)
• Được đặt trong thiết bị khác để
điều khiển thiết bị đó làm việc
• Được thiết kế chuyên dụng
– Ví dụ: Điện thoại di động Bộđiều
khiển trong máy giặt, điều hoà nhiệt độ
– Router -bộ định tuyến trên mạng
• Giá thành: Vài USD đến hàng trăm
nghìn USD
Trang 13Kiến trúc máy tính
• Bao gồm hai khía cạnh:
– Kiến trúc tập lệnh (Intruction Set Architecture): nghiên cứu
máy tính theo cách nhìn của người lập trình.
– Tổ chức máy tính (Computer Organization): nghiên cứu cấu trúc phần cứng máy tính
• Kiến trúc tập lệnh thay đổi chậm, tổ chức máy tính thay đổi rất nhanh
– Ví dụ: Các máy tính PC dùng các bộ xử lý Intel 32-bit
từ 80386 đến Pentium 4:
• Cùng chung kiến trúc tập lệnh (IA-32)
• Có tổ chức khác nhau
Trang 14Kiến trúc tập lệnh
• Tập lệnh
– Tập hợp các chuỗi số nhị phân mã hoá cho các thao tác mà máy tính có thể thực hiện
• Các kiểu dữ liệu
– Các kiểu dữ liệu mà máy tính có thể
xử lý
Trang 15Cấu trúc cơ bản của máy tính
• Bộ xử lý trung tâm (CPU):
– Điều khiển hoạt động của máy tính và xử lý dữ liệu.
• Bộ nhớ chính (Main Memory):
– Chứa các chương trình và dữ liệu đang được sử dụng.
• Hệ thống vào ra (Input/Output System):
– Trao đổi thông tin giữa máy tính với bên ngoài.
• Liên kết hệ thống (System Interconnection):
– Kết nối và vận chuyển thông tin giữa các thànhphần với nhau.
Trang 16Sơ đồ cấu trúc cơ bản
Liên kết hệ thống
Hệ thống vào ra
Trang 18Bộ xử lý trung tâm (CPU)
• Chức năng
– điều khiển hoạt động của máy tính
– xử lý dữ liệu
• Nguyên tắc hoạt động cơ bản:
– CPU hoạt động theo chương trình nằm trong bộ nhớ chính
Trang 19Các thành phần cơ bản của
CPU
Trang 20Các thành phần cơ bản của CPU
• Đơn vị điều khiển (Control Unit – CU):
– điều khiển hoạt động của máy tính theo chương trình
• Tập thanh ghi (Register File - RF):
– lưu giữ các thông tin tạm thời phục vụ cho hoạt động của CPU.
• Đơn vị nối ghép bus (Bus interface Unit - BIU):
– kết nối và trao đổi thông tin giữa bus bên trong (internal bus) và bus bên ngoài (external bus)
Trang 228 bước thực hiện lệnh của CPU
1 Lấy lệnh kế tiếp từ bộ nhớ vào thanh ghi
lệnh IR
2 Thay đổi bộ đếm chương trình PC để trỏ tới lệnh tiếp sau nữa
3 Xác định loại của lệnh vừa lấy
4 Nếu lệnh sử dụng dữ liệu trong bộ nhớ thì
Trang 23– Tốc độ của bộ xử lý được đánh giá gián
tiếp thông qua tần số của xung nhịp
Trang 24– T0 = 1/f0 = 1/(2x109) = 0,5 ns.
Tốc độ của bộ xử lý
Trang 27– Bộ nhớ trong (Internal Memory)
– Bộ nhớ ngoài (External Memory)
Trang 30• Nội dung của ngăn nhớ có
thể thay đổi, song địa chỉ vật
lý của ngăn nhớ luôn cố định
Trang 31Bộ nhớ đệm nhanh (Cache memory)
• Bộ nhớ có tốc độ nhanh được đặt đệm giữa
• CPU và bộ nhớ chính nhằm tăng tốc độ CPU
• truy nhập bộ nhớ
• Dung lượng nhỏ hơn bộ nhớ chính
• Tốc độ nhanh hơn
• Cache thường được chia thành một số mức
• Cache có thể được tích hợp trên chip vi xử lý
• Cache có thể có hoặc không
Trang 33Bộ nhớ ngoài (External memory)
• Chức năng và đặc điểm:
– Lưu giữ tài nguyên phần mềm của máy tính
– Được kết nối với hệ thống dưới dạng các thiết
Trang 34Hệ thống vào-ra (Input/Output System)
• Chức năng: trao đổi thông tin giữa máy tính với thế giới bên ngoài.
Trang 35Cấu trúc cơ bản của hệ thống
vào-ra
Trang 36Các thiết bị ngoại vi
• Chức năng: chuyển đổi dữ liệu giữa bên trong và bên ngoài máy tính.
• Các loại thiết bị ngoại vi (TBNV)
Trang 37• Các TBNV được kết nối và trao đổi
dữ liệu với máy tính thông qua các cổng vào-ra.
Trang 39Màn hình
Trang 40Bàn phím
Trang 41Đĩa cứng vật lý
Trang 42Máy in
Trang 43Liên kết hệ thống
• Bus: tập hợp các đường kết nối dùng để vận chuyển thông tin giữa các thành phần của máy tính với nhau
• Độ rộng bus: là số đường dây của bus có thể truyền các bit thông tin đồng thời (chỉ dùng cho bus địa chỉ và bus dữ liệu)
• Phân loại cấu trúc bus:
– Cấu trúc đơn bus
– Cấu trúc đa bus
Trang 44Cấu trúc đơn bus
• Bus hệ thống chỉ phục vụ được một yêu cầu trao đổi dữ liệu tại một thời điểm
• Bus hệ thống phải có tốc độ bằng tốc độ bus của môđun nhanh nhất trong hệ
thống
• Bus hệ thống phụ thuộc vào cấu trúc bus (các tín hiệu) của bộ xử lý � các môđun nhớ và các môđun vào-ra cũng phụ thuộc vào bộ xử lý
• Vì vậy cần phải phân cấp bus đa bus
Trang 45BUS
Trang 46Phân cấp bus trong máy tính
• Phân cấp bus cho các thành phần:
– Bus của bộ xử lý
– Bus của bộ nhớ chính
– Các bus vào-ra
• Phân cấp bus khác nhau về tốc độ
• Bus bộ nhớ chính và các bus vào-ra không phụ thuộc vào bộ xử lý cụ thể.
Trang 47Bus đồng bộ và bus không
đồng bộ
• Bus đồng bộ
– Bus có đường tín hiệu Clock
– Các sự kiện trên bus được xác định bởi xung nhịp Clock
• Bus không đồng bộ
– Không có đường tín hiệu Clock
– Kết thúc một sự kiện này trên bus sẽ
kích hoạt cho một sự kiện tiếp theo
Trang 48Bus địa chỉ
• Chức năng: vận chuyển địa chỉ để xác
định ngăn nhớ hay cổng vào-ra
• Độ rộng bus địa chỉ: xác định dung lượng
bộ nhớ cực đại của hệ thống
• Nếu độ rộng bus địa chỉ là N bit:
AN-1, AN-2, A2, A1, A0
dung lượng bộ nhớ cực đại là 2N byte
(còn gọi là không gian địa chỉ bộ nhớ)
• Ví dụ: Bộ xử lý Intel Pentium có bus địa chỉ 32 bit
không gian địa chỉ là 232 byte = 4 GB.
Trang 50Bus điều khiển
• Chức năng: vận chuyển các tín hiệu
điều khiển
• Các loại tín hiệu điều khiển:
– Các tín hiệu phát ra từ CPU để điều khiển môđun nhớ và môđun vào-ra
– Các tín hiệu từ môđun nhớ hay môđun
vào-ra gửi đến yêu cầu CPU
Trang 51Ngắt (Interrupt)
• Khái niệm: Ngắt là cơ chế cho phép CPU tạm dừng chương trình đang thực hiện để chuyển sang thực hiện một chương trình khác, gọi là
chương trình con phục vụ ngắt.
• Các loại ngắt:
– Ngắt do lỗi khi thực hiện chương trình, ví dụ:
tràn số, chia cho 0 …
– Ngắt do lỗi phần cứng, ví dụ: lỗi bộ nhớ RAM
– Ngắt do môđun vào-ra phát tín hiệu ngắt đến CPU yêu cầu trao đổi dữ liệu.
Trang 53Hoạt động của máy tính
• Thực hiện chương trình là hoạt động
cơ bản của máy tính
• Máy tính lặp đi lặp lại hai bước:
Trang 54Chu trình lệnh
Minh họa quá trình nhận lệnh
PC IR
Trang 55• CPU nhận lệnh từ ngăn nhớ được trỏ bởi PC.
• Lệnh được nạp vào thanh ghi lệnh IR
(Instruction Register)
• Sau khi lệnh được nhận vào, nội dung PC tự động tăng để trỏ sang lệnh kế tiếp
Trang 56Quá trình thực hiện lệnh
• Bộ xử lý giải mã lệnh đã được nhận và
phát tín hiệu điều khiển thực hiện thao tác
mà lệnh yêu cầu
• Các kiểu thao tác của lệnh:
– Trao đổi dữ liệu giữa CPU và bộ nhớ chính
– Trao đổi dữ liệu giữa CPU và môđun vào-ra
– Xử lý dữ liệu: thực hiện các phép toán số học hoặc phép toán logic với các dữ liệu
– Điều khiển rẽ nhánh
– Kết hợp các thao tác trên
Trang 57– Tạm dừng chương trình đang thực hiện
– Cất ngữ cảnh (các thông tin liên quan đến chương trình
bị ngắt)
– Thiết lập PC trỏ đến chương trình con phục vụ ngắt
– Chuyển sang thực hiện chương trình con phục vụ ngắt – Cuối chương trình con phục vụ ngắt, khôi phục ngữ
cảnh và tiếp tục chương trình đang bị tạm dừng.
Trang 58Hoạt động ngắt
Trang 59Chu trình lệnh với ngắt
Trang 60Caáu truùc heä thoáng
I/O
Trang 61Các kỹ thuật thực hiện I/O
q Polling
– Để gửi dữ liệu ra một thiết bị I/O
(thông qua I/O port), CPU ghi byte dữ
liệu vào thanh ghi dữ liệu (data
register), sau đó thiết lập một bit (bit
← 1) của thanh ghi điều khiển (control
register) để báo hiệu cho I/O
controller.
(PIO: programmed I/O)
– I/O controller đọc byte dữ liệu từ
thiết bị I/O, xóa bit điều khiển (bit ←
0) CPU tiếp tục gửi byte kế.
– I/O controller không gây ra ngắt mỗi
khi xong việc CPU phải dùng cơ chế
polling để kiểm tra trạng thái thiết bị
I/O
– Truyền dữ liệu từng byte một
PIO
Trang 62Các kỹ thuật thực hiện I/O (tt)
q Interrupt-driven I/O
– CPU không poll mà I/O controller sẽ
gây ra ngắt quãng mỗi khi sẵn
sàng cho tác vụ I/O
– Trong lúc thiết bị I/O thực thi lệnh,
CPU có thể thực thi công việc
khác.
– Polling và interrupt-driven I/O đều
tiêu tốn thời gian xử lý của CPU
bởi vì CPU phải copy byte dữ liệu
được đọc/ghi ↔ memory.
– Thích hợp cho các thiết bị I/O có
tốc độ không cao (keyboard, mouse)
X
X
Trang 63Các kỹ thuật thực hiện I/O (tt)
- - - : “bypassing”
Trang 64Các kỹ thuật thực hiện I/O (tt)
q Direct Memory Access (DMA)
– CPU gửi yêu cầu đến module DMA (=
DMA controller)
– Module DMA chuyển một khối dữ liệu
giữa bộ nhớ và thiết bị I/O mà không
cần CPU can thiệp.
– Khi xong một tác vụ gửi nhận thì phát
khởi một ngắt quãng.
– CPU chỉ tham gia vào giai đoạn khởi
đầu và kết thúc của việc truyền nhận
dữ liệu
– Trong khi đang truyền nhận dữ liệu, CPU
có thể thực thi công việc khác
– Thích hợp cho các thiết bị có tốc độ
cao (đĩa)
Trang 65Cấu trúc & phân cấp
hệ thống lưu trữ
Trang 66Hệ thống lưu trữ
q Lưu trữ là một trong những dạng thức I/O quan trọng
– Bộ nhớ chính (main memory, primary memory)
§ CPU chỉ có thể truy cập trực tiếp thanh ghi (registers) và bộ nhớ ROM, 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): đĩa mềm, đĩa cứng, băng từ
§ Đĩa quang (optical disk): CD-ROM, DVD-ROM
§ Flash ROM: USB disk
Trang 67Phân cấp hệ thống lưu trữ
Tốc độ cao
Giá thành thấp
Dung lượng lớn
vd: file-system data
Trang 68Cơ chế caching
q Caching
– nạp trước dữ liệu vào thiết bị lưu trữ tốc độ cao hơn
q Tại sao phải dùng cache?
– Chênh lệch lớn giữa tốc độ CPU và tốc độ bộ nhớ RAM, đĩa,… – Khai thác nguyên lý cục bộ (locality)
q Kích thước cache nhỏ → phải quản lý cache: thay nội dung cache
q 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: cache coherency
problem
A: dữ liệu
Trang 69Bảo vệ phần cứng – dual mode
q Cơ chế dual-mode : cần có phần cứng hỗ trợ
– User mode – thực thi với quyền hạn của user bình thường
– Kernel mode (còn gọi là supervisor mode, system mode, monitor mode) – có toàn quyền truy xuất tài nguyên hệ thống
Phần cứng có thêm mode bit để kiểm soát mode hiện hành:
– mode bit = 0: kernel mode
– mode bit = 1: user mode
– Khi có ngắt hoặc có lỗi xảy ra, hệ thống sẽ chuyển sang kernel mode.
Trang 70Bảo vệ phần cứng – I/O
q Lệnh I/O đều là privileged instruction
– Users không được phép tương tác trực
tiếp với các thiết bị I/O mà phải
thông qua lời gọi system call
System call
– Là phương thức duy nhất để process
yêu cầu các dịch vụ của hệ điều
hành
– System call sẽ gây ra ngắt mềm (trap),
quyền điều khiển được chuyển đến
trình phục vụ ngắt tương ứng, đồng
thời thiết lập mode = 0 (kernel mode).
– Hệ điều hành kiểm tra tính hợp lệ,
đúng đắn của các đối số, thực hiện
yêu cầu rồi trả quyền điều khiển về
lệnh kế tiếp ngay sau lời gọi system
call, mode = 1.
Trang 71Bảo vệ phần cứng – Bộ nhớ
Vd: bảo vệ bộ nhớ dùng 2 thanh ghi
- Truy cập bộ nhớ ngoài vùng xác định bởi thanh ghi base và thanh ghi limit sẽ sinh ra trap
- Lệnh nạp giá trị cho các thanh ghi base và thanh ghi limit đều là privileged instruction
(a)
(b)
Trang 72Bảo vệ phần cứng – CPU
– Bảo đảm OS duy trì được quyền điều khiển
– Tránh trường hợp CPU bị kẹt trong các vòng lặp vô hạn
Cơ chế thực hiện là dùng timer để kích khởi các ngắt quãng định kỳ
– Bộ đếm timer sẽ giảm dần sau mỗi xung clock.
– Khi bộ đếm timer bằng 0 thì ngắt timer được kích hoạt → hệ điều hành sẽ nắm quyền điều khiển.
q Lệnh nạp giá trị bộ đếm timer là một privileged
instruction.
Trang 74
Trang 75
Thiết bị nhập
• Các thiết bị cho phép người dùng nhập dữ liệu vào máy tính.
• Thiết bị nhập: bàn phím
(keyboard), chuột (mouse),
microphone, máy quét (scanner).
Trang 76Xử lý và nhớ
• Phần hệ thống bao gồm
• CPU – Central Processing Unit:
• Bộ nhớ (memory): Bộ nhớ chính (main
memory), RAM (Random Access
Memory), bộ lưu trữ sơ cấp Chứa các dữ
liệu và chương trình đang “chạy” trong
Trang 77Thiết bị xuất
• Các thiết bị chuyển thông tin đãqua
xử lý thành dạng thông tin thân
thiện với con người
• Thiết bị xuất: màn hình (screen),
máy in (printer), thiết bị kết xuất âm thanh (sound output device).
Trang 78
Thiết bị lưu trữ thứ cấp
• Bộ nhớ chính (sơ cấp) chỉ là
thiết bị lưu trữ tạm thời.
• Thiết bị lưu trữ thứ cấp: thực
hiện lưu trữ thường trực dữ
liệu và chương trình lên
phương tiện lưu trữ (FD, HD,
hay băng từ, CD-ROM).
Trang 79Thiết bị Truyền thông
• Các thiết bị cho phép người dùng truy cập các tài nguyên thông tin ngoài phạm vi máy tính.
• Mạng máy tính, các thiết bị kết nối
vào mạng.