Bài giảng Tổng quan về hệ điều hành

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: 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. Làm cho hệ thống máy tính trở nên thuận lợi trong việc sử dụng. Sử dụng hiệu quả phần cứng máy tính

pdf40 trang | Chia sẻ: vietpd | Lượt xem: 1563 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Tổng quan về 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