Caching
Nguyên lý quan trọng, đượcthựchiệnởnhiềumức trong máy tính
(hardware, operating system, software)
Thông tin cần dùngđược sao chép tạmthờitừbộnhớchậm sang
bộnhớnhanh hơn.
Lưutrữnhanh hơn (cache) đượckiểmtrađểxácđịnh thông tin đã
tồntại ởđó?
- Nếuđãtồntại, thông tin đượcsửdụng trựctiếptừcache.
- Nếu không, dữliệuđược sao chépđến cache vàđược dùngở đó
Cache nhỏhơnlưutrữ được cached
- Vấnđềquảntrị cache
- Kích thước cache và chính sách thay thế
40 trang |
Chia sẻ: maiphuongdc | Lượt xem: 4114 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Bài giảng môn Hệ điều hành, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƯƠNG 1: GIỚI THIỆU
1.2 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th 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)
1.3 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
MỤC TIÊU
Cung cấp cái nhìn bao quát về hệ điều hành và các thành phần
của nó
Cung cấp cái nhìn bao quát về tổ chức hệ thống máy tính
1.4 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
HỆ ĐIỀU HÀNH LÀ GÌ?
Chương trình giữ vai trò trung gian giữa người dùng và phần
cứ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.
1.5 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
CẤ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
1.6 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
BỐN THÀNH PHẦN HỆ THỐNG MÁY TINH
1.7 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
ĐỊ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ài
nguyê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
1.8 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th 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
1.9 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
KHỞ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
1.10 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
TỔ CHỨC HỆ THỐNG MÁY TÍNH
Sự hoạt động hệ thống máy tính
z Một / nhiều CPU, các bộ điều khiển thiết bị nối qua bus chung
cung cấp truy xuất bộ nhớ chia sẻ
z Sự thực hiện đồng thời của CPU và các thiết bị cạnh tranh các
chu ký bộ nhớ
1.11 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
SỰ 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.
1.12 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th 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).
1.13 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
QUẢN LÝ INTERRUPT
HĐH bảo tồn trạng thái của CPU bởi lưu trữ các thanh ghi và bộ
đếm chương trình.
Xác định kiểu interrupt nào đã xảy ra:
z polling
z 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.
1.14 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
ĐƯỜNG THỜI GIAN INTERRUPT
1.15 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
CẤ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ười
dù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ực
hiệ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ười
dù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ạng
thiết bị và để sửa đổi đầu vào bảng bao gồm cả interrupt.
1.16 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
HAI PHƯƠNG PHÁP I/O
Synchronous Asynchronous
1.17 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
BẢNG TÌNH TRẠNG THIẾT BỊ
1.18 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th 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.
1.19 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
CẤU TRÚC LƯU TRỮ
Bộ nhớ chính: phương tiện lưu trữ lớn duy nhất CPU có thể truy
xuất trực tiếp.
Lưu trữ thứ cấp: Mở rộng bộ nhớ chính, cung cấp khả năng lưu trữ
lớn và ổn định.
Đĩa từ:
z Bề mặt đĩa được chia logic thành các rãnh (tracks), mỗi rãnh
được chia thành các sectors.
z Bộ điều khiển đĩa xác định trao đổi logic giữa thiết bị và máy
tính.
1.20 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
PHÂN CẤP LƯU TRỮ
Các hệ thống lưu trữ được tổ chức theo phân cấp.
z Tốc độ (Speed)
z Giá (Cost)
z Tính không ổn định (Volatility)
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).
1.21 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
PHÂP CẤP THIẾT BỊ LƯU TRỮ
1.22 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th 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ế
1.23 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
HIỆ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
1.24 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th 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ất
trong 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
1.25 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
CẤ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
z Nếu các quá trình không thể cùng chứa trong bộ nhớ, swapping di
chuyển chúng vào và ra
z Bộ nhớ ảo (Virtual memory) cho phép thực hiện nhiều quá trình không
hoàn toàn nằm trong bộ nhớ
1.26 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
BỐ TRÍ BỘ NHỚ TRONG HỆ ĐA CHƯƠNG
1.27 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
CÁ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ương
thức hạt nhân (kernel mode)
Lời gọi hệ thống thay đổi phương thức sang phương thức
hạt nhân, return từ lời gọi đặt lại nó sang phương thức
người dùng
1.28 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
CHUYỂN TỪ USER MODE SANG KERNEL
MODE
Bộ đếm thời gian ngăn ngừa vòng lặp vô hạn / quá trình lấn phần
tài nguyên
z Đặt interrupt sau chu kỳ xác định
z HĐH giảm bộ đếm
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
1.29 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
QUẢ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
trình xác định vị trí của chỉ thị kế tiếp
z Quá trình thực hiện các chỉ thị tuần tự, một tại một thời điểm đến tận
khi kết thúc
Quá trình đa luồng (Multi-threaded process) mỗi luồng có một bộ đếm
chương trình
1.30 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th 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
1.31 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
QUẢ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
1.32 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th 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
1.33 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
QUẢ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ừ)
1.34 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
HỆ THỐNG CON I/O
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ệc
khá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
1.35 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
BẢ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
1.36 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
CÁC MÔI TRƯỜNG TÍNH TOÁN
Traditional computer
z Blurring over time
z Office environment
PCs connected to a network, terminals attached to
mainframe or minicomputers providing batch and
timesharing
Now portals allowing networked and remote systems
access to same resources
z Home networks
Used to be single system, then modems
Now firewalled, networked
1.37 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
Computing Environments (Cont.)
Client-Server Computing
z Dumb terminals supplanted by smart PCs
z Many systems now servers, responding to requests generated by
clients
Compute-server provides an interface to client to request
services (i.e. database)
File-server provides interface for clients to store and retrieve
files
1.38 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th 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
1.39 Silberschatz, Galvin and Gagne ©2005Operating System Concepts – 7th Edition, Jan 12, 2005
Web-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
End of Chapter 1