Tổ chức hệ thống máy tính Computer-System Organization Kiến trúc hệ thống máy tính Computer-System Architecture Cấu trúc hệ điều hành Operating-System Structure Các hoạt động hệ
Trang 1CHƯƠNG 1: GIỚI THIỆU
Trang 21.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005
NỘI DUNG
Hệ điều hành là gì?
Tổ chức hệ thống máy tính (Computer-System Organization)
Kiến trúc hệ thống máy tính (Computer-System Architecture)
Cấu trúc hệ điều hành (Operating-System Structure)
Các hoạt động hệ điều hành (Operating-System Operations)
Quản trị quá trình (Process Management)
Quản trị bộ nhớ (Memory Management)
Quản trị lưu trữ (Storage Management)
Bảo vệ và an ninh (Protection and Security)
Các hệ thống phân tán (Distributed Systems)
Các hệ thống mục đích đặc biệt (Special-Purpose Systems)
Môi trường tính toán (Computing Environments)
Trang 41.4 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005
Chương trình giữ vai trò trung gian giữa người dùng và phầncứng máy tính
Đích của HĐH:
z Thực hiện các chương trình người dùng và làm cho các vấn
đề người dùng đang giải quyết dễ dàng hơn
z Làm cho hệ thống máy tính trở nên thuận lợi trong việc sửdụng
z Sử dụng hiệu quả phần cứng máy tính
Trang 5CẤU TRÚC HỆ THỐNG MÁY TÍNH
Hệ thống máy tính có thể được chia thành 4 thành phần:
z Phần cứng (Hardware): cung cấp các tài nguyên tính toán cơ sở
CPU, memory, I/O devices
z Hệ điều hành
Điều khiển và phối hợp sử dụng phần cứng giữa các ứng dụng và các người dùng
z Các trình ứng dụng: Xác định cách các tài nguyên hệ thống được dùng
để giải quyết các vấn đề tính toán của người dùng
Các bộ xử lý từ (Word processors), các trình biên dịch (compilers), các trình duyệt Web (web browsers), các hệ cơ sở dữ liệu
(database systems), các trò chơi điện tử (video games)
z Các người dùng
Người, các máy móc, các máy tính khác
Trang 61.6 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005
BỐN THÀNH PHẦN HỆ THỐNG MÁY TINH
Trang 7ĐỊNH NGHĨA HỆ ĐIỀU HÀNH
HĐH là một nhà cấp phát tài nguyên:
z Quản trị tất cả các tài nguyên
z Quyết định giải quyết các yêu cầu xung đột để sự sử dụng tàinguyên hiệu quả và hợp lý
HĐH là một chương trình điều khiển
z Điều khiển sự thực hiện các chương trình để ngăn ngừa lỗi và
sự sử dụng máy tính không đúng
Trang 81.8 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005
ĐỊNH NGHĨA HĐH (Cont.)
Không có định nghĩa nào được chấp nhận bởi tất cả mọi người
“Chương trình chạy toàn thời gian trên máy tính” là hạt nhân
(kernel) Mọi chương trình khác hoặc là chương trình hệ thống
(gắn với HĐH) hoặc là chương trình ứng dụng
Trang 9KHỞI ĐỘNG MÁY TÍNH
Chương trình bootstrap được nạp khi bật máy hoặc reboot
z Thường được lưu trong ROM / EPROM, được biết dưới tên
firmware
z Khởi động tất cả các sắc thái hệ thống
z Nạp hạt nhân HĐH và bắt đầu sự thực hiện
Trang 101.10 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005
Trang 11SỰ HOẠT ĐỘNG HỆ THỐNG MÁY TÍNH
Các thiết bị I/O và CPU có thể thực hiện đồng thời
Mỗi bộ điều khiển thiết bị đảm trách một kiểu thiết bị riêng
Mỗi bộ điều khiển thiết bị có buffer cục bộ
CPU di chuyển dữ liệu từ/ đến bộ nhớ chính đến/ từ các buffer cục
bộ
I/O là từ thiết bị đến buffer cục bộ
Bộ điều khiển thiết bị báo cho CPU hoạt động của nó đã kết thức
bởi một interrupt.
Trang 121.12 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005
CHỨC NĂNG CHUNG CỦA CÁC INTERRUPTS
Interrupt chuyển điều khiển cho thủ tục dịch vụ interrupt, thông qua
interrupt vector (chứa địa chỉ của toàn bộ các thủ tục dịch vụ).
Kiến trúc Interrupt phải bảo toàn địa chỉ của chỉ thị bị gián đoạn
Các interrupts đến bị vô hiệu hóa khi interrupt khác đang được xử
lý để ngăn ngừa thất lạc interrupt
Trap là một interrupt được sinh ra khi có một lỗi hoặc đòi hỏi của
người dùng
Một HĐH là sự truyền interrupt (interrupt driven).
Trang 13z vectored interrupt system
Tách biệt các đoạn mã xác định hành động sẽ được chọn cho mỗi
kiểu interrupt
Trang 141.14 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005
ĐƯỜNG THỜI GIAN INTERRUPT
Trang 15CẤU TRÚC I/O
Sau khi I/O bắt đầu, điều khiển trả lại cho chương trình ngườidùng chỉ khi I/O hoàn tất
z Chỉ thị chờ làm “nhàn rỗi” CPU đến tận khi interrupt kế tiếp
z Vòng lặp chờ (tranh chấp truy xuất bộ nhớ)
z Tại mội thời điểm, nhiều nhất một yêu cầu I/O được thựchiện, không có xử lý I/O đồng thời
Sau khi I/O bắt đầu, điều khiển trả lại cho chương trình ngườidùng không chờ I/O hoàn tất
z Lời gọi hệ thống (System call) : yêu cầu HĐH cho phép
người dùng chờ sự hoàn tất I/O
z Bảng tình trạng thiết bị (Device-status table) chứa đầu vào
cho mỗi thiết bị I/O chỉ ra kiểu của nó, địa chỉ và trạng thái
z HĐH lập chỉ mục bảng thiết bị I/O để xác định tình trạngthiết bị và để sửa đổi đầu vào bảng bao gồm cả interrupt
Trang 161.16 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005
HAI PHƯƠNG PHÁP I/O
Trang 17BẢNG TÌNH TRẠNG THIẾT BỊ
Trang 181.18 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005
CẤU TRÚC TRUY XUẤT BỘ NHỚ TRỰC TIẾP
Được dùng cho các thiết bị I/O tốc độ cao (tốc độ truyền thông tin
sát với tốc độ bộ nhớ)
Bộ điều khiển thiết bị truyền các khối dữ liệu từ lưu trữ buffer trực
tiếp đến bộ nhớ chính không cần sự can thiệp của CPU
Chỉ một interrupt được sinh ra cho một khối thay vì một interrupt
cho một byte
Trang 201.20 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005
Caching : sao chép thông tin vào hệ thống lưu trữ nhanh hơn (bộ
nhớ chính có thể xem như cache đối với lưu trữ thứ cấp).
Trang 21PHÂP CẤP THIẾT BỊ LƯU TRỮ
Trang 221.22 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005
Caching
Nguyên lý quan trọng, được thực hiện ở nhiều mức trong máy tính
(hardware, operating system, software)
Thông tin cần dùng được sao chép tạm thời từ bộ nhớ chậm sang
bộ nhớ nhanh hơn
Lưu trữ nhanh hơn (cache) được kiểm tra để xác định thông tin đã
tồn tại ở đó?
z Nếu đã tồn tại, thông tin được sử dụng trực tiếp từ cache
z Nếu không, dữ liệu được sao chép đến cache và được dùng ởđó
Cache nhỏ hơn lưu trữ được cached
z Vấn đề quản trị cache
z Kích thước cache và chính sách thay thế
Trang 23HIỆU NĂNG CỦA CÁC MỨC LƯU TRỮ
Di chuyển giữa các mức phân cấp lưu trữ có thể tường minh hay
ẩn
Trang 241.24 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005
SỰ DI TRÚ MỘT SỐ NGUYÊN A TỪ ĐĨA ĐẾN
THANH GHI
Các môi trường đa nhiệm phải thận trọng trong sử dụng giá trị mới
nhất
Môi trường đa xử lý (Multiprocessor) phải cung cấp sự kết dính
cahe trong phần cứng sao cho tất cả các CPUs có giá trị mới nhấttrong cache của chúng
Tình huống môi trường phân tán phức tạp hơn: Có thể tồn tại một
vài bản sao của cùng một dữ liệu
Trang 25CẤU TRÚC HĐH
Đa chương (Multiprogramming) sự cần thiết cho tính hiệu quả
z Một ngưới dùng không dùng CPU và thiết bị I/O toàn thời gian
z Đa chương tổ chức các công việc sao cho CPU “bận rộn nhất như có thể
z Một tập con các công việc được lưu trong bộ nhớ
z Một công việc được chọn và chạy thông qua lập lịch biểu công việc (job
scheduling)
z Khi một công việc phải chờ (ví dụ I/O), HĐH chuyển CPU cho công việc khác
Chia sẻ thời gian (Timesharing /multitasking) là mở rộng logic trong đó
CPU được chuyển nhanh giữa các công việc sao cho các người dùng có thể trao đổi với mỗi công việc khi nó chạy tạo ra tính toán tương tác
z Thời gian đáp ứng (Response time) (< 1s)
z Mỗi người dùng có ít nhất một chương trình đang thực hiện trong bộ
nhớ > quá trình (process)
z Nếu cùng lúc có một vài công việc sẵn sàng chạy > CPU scheduling Nếu các quá trình không thể cùng chứa trong bộ nhớ, swapping di
Trang 261.26 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005
BỐ TRÍ BỘ NHỚ TRONG HỆ ĐA CHƯƠNG
Trang 27CÁC HOẠT ĐỘNG HĐH
Truyền Interrupt bởi hardware
Lỗi software hoặc yêu cầu tạo ra exception / trap
Các vấn đề quá trình khác bao hàm vòng lặp vô hạn, các quá trình
sửa đổi lẫn nhau hoặc HĐH
Hoạt động phương thức đối ngẫu (Dual-mode) cho phép HĐH bảo
vệ chính nó và các thành phần hệ thống khác
z User mode và kernel mode
z Mode bit được cung cấp bởi hardware
Cung cấp khả năng phân biệt khi hệ thống đang chạy code người dùng hoặc code hạt nhân
Một số chỉ thị đặc quyền chỉ có thể thực hiện trong phươngthức hạt nhân (kernel mode)
Lời gọi hệ thống thay đổi phương thức sang phương thứchạt nhân, return từ lời gọi đặt lại nó sang phương thức
Trang 281.28 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005
CHUYỂN TỪ USER MODE SANG KERNEL
z Khi bộ đếm về zero sinh ra một interrupt
z Dựng lên trước lập lịch biểu quá trình để thu hồi điều khiển / kết thúc chương trình vượt quá thời gian được phân phối
Trang 29QUẢN TRỊ QUÁ TRÌNH
Một quá trình là một chương trình trong sự thực hiện, là một đơn vị công
việc trong hệ thống Chương trình là một thực thể bị động, quá trình là một thực thể chủ động
Quá trình cần các tài nguyên để hoàn thành nhiệm vụ của nó
z CPU, memory, I/O, files
z Dữ liệu khởi đầu (Initialization data)
Kết thúc quá trình đòi hỏi thu hồi bất kỳ tài nguyên nào có thể sử dụng lại
Quá trình đơn luồng (Single-threaded process) có một bộ đếm chương
Trang 301.30 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005
CÁC HOẠT ĐỘNG QUẢN TRỊ QUÁ TRÌNH
HĐH có trách nhiệm đối với các hoạt động sau với tư cách quản trị
quá trình
Tạo, xóa các quá trình người dùng và quá trình hệ thống
Treo và phục hồi lại các quá trình
Cung cấp cơ chế đồng bộ hóa quá trình
Cung cấp cơ chế liên lạc quá trình
Cung cấp cơ chế quả lý deadlock
Trang 31QUẢN TRỊ BỘ NHỚ
Toàn bộ dữ liệu trong bộ nhớ trước và sau xử lý
Toàn bộ các chỉ thị trong bộ nhớ để thực hiện
Quản trị bộ nhớ xác định cái trong bộ nhớ khi
z Tối ưu hóa sự sử dụng CPU và đáp ứng người dùng
Các hoạt động quản trị bộ nhớ
z Lưu vết các phần bộ nhớ hiện đang được dùng và bởi ai
z Quyết định các quá trình nào, dữ liệu nào di chuyển vào / ra bộnhớ
z Cấp phát, thu hồi không gian bộ nhớ khi cần thiết
Trang 321.32 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005
QUẢN TRỊ LƯU TRỮ
Quản trị hệ thống file
z Các files thường được tổ chức trong các thư mục
z Điều khiển truy xuất trên hầu hết các hệ thống xác định “ai có thểtruy xuất cái gì”
z Các hoạt động HĐH bao gồm:
Tạo và xóa các files và các thư mục
Các nguyên thủy thao tác files và thư mục
Ánh xạ các file lên lưu trữ thứ cấp
Backup files
Trang 33QUẢN TRỊ LƯU TRỮ LỚN Mass-Storage Management
Thông thường đĩa được dùng để lưu trữ dữ liệu lớn và được giữ
trong khoảng thời gian dài
Tốc độ tổng thể của hoạt động máy tính xoay quanh hệ thống con
đĩa và các thuật toán của nó
Các hoạt động HĐH
z Quản trị không gian tự do
z Cấp phát lưu trữ
z Lập lịch biểu đĩa
Lưu trữ tốc độ chậm vẫn phải được quản trị:
z Lưu trữ tam cấp (lưu trữ quang học , băng từ)
Trang 341.34 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005
Hệ thống con I/O có trách nhiệm:
z Quản trị bộ nhớ I/O bao gồm buffer, cache, spooling (sự gốiđầu output của một công việc với input của các công việckhác)
z Giao diện device-driver chung
z Các Drivers cho các thiết bị phần cứng đặc biệt
Trang 35BẢO VỆ VÀ AN NINH
Protection : cơ chế điều khiển truy xuất của các quá trình, các
người dùng đến các tài nguyên bởi HĐH
Security : Phòng thủ của hệ thống chống lại các tấn công trong và
ngoài
Trang 361.36 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005
CÁC MÔI TRƯỜNG TÍNH TOÁN
Now portals allowing networked and remote systems access to same resources
z Home networks
Used to be single system, then modems
Now firewalled, networked
Trang 37Computing Environments (Cont.)
Client-Server Computing
z Dumb terminals supplanted by smart PCs
z Many systems now servers, responding to requests generated by
clients
services (i.e database)
files
Trang 381.38 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005
Peer-to-Peer Computing
Another model of distributed system
P2P does not distinguish clients and servers
z Instead all nodes are considered peers
z May each act as client, server or both
z Node must join P2P network
Registers its service with central lookup service on network, or
Broadcast request for service and respond to requests for
service via discovery protocol
z Examples include Napster and Gnutella
Trang 39Web-Based Computing
Web has become ubiquitous
PCs most prevalent devices
More devices becoming networked to allow web access
New category of devices to manage web traffic among similar
servers: load balancers
Use of operating systems like Windows 95, client-side, have
evolved into Linux and Windows XP, which can be clients and servers
Trang 40End of Chapter 1