Bài giảng Hệ điều hành - Chương I: Giới thiệu hệ điều hành - Trần Công Án
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ điều hành - Chương I: Giới thiệu hệ điều hành - Trần Công Án", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_he_dieu_hanh_chuong_i_gioi_thieu_he_dieu_hanh_tran.pdf
Nội dung text: Bài giảng Hệ điều hành - Chương I: Giới thiệu hệ điều hành - Trần Công Án
- CT107. Hệ Điều Hành Chương 1 - Giới Thiệu Hệ Điều Hành Giảng viên: Trần Công Án (tcan@cit.ctu.edu.vn) Bộ môn Mạng máy tính & Truyền thông Khoa Công Nghệ Thông Tin & Truyền Thông Đại học Cần Thơ 2013 – 2014
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Mục Tiêu Giúp sinh viên hiểu rõ Hệ điều hành là gì và vai trò của Hệ điều hành trong các hệ thống máy tính và các môi trường điện toán. TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 2
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Nội Dung Hệ điều hành là gì? Các loại hệ thống máy tính Sự phát triển của Hệ điều hành Các môi trường điện toán TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 3
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Hệ điều hành là gì? Hệ Điều Hành Là Gì? I là một chương trình quản lý tài nguyên của máy tính, đóng vai trò như một lớp trung gian giữa người sử dụng máy tính và phần cứng của máy tính. I Mục tiêu: I Cung cấp phương tiện giao tiếp giữa người dùng và máy tính. I Nhận và thực thi các yêu cầu của người dùng một cách hiệu quả, nhanh chóng và dễ dàng thông qua các chương trình ứng dụng. I Quản lý và sử dụng tài nguyên máy tính một cách hiệu quả. TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 4
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Hệ điều hành là gì? Vai trò của Hệ điều hành Thành Phần Của Một Hệ Thống Máy Tính 1. Phần cứng (hardware): cung cấp các tài nguyên cơ bản cho việc tính toán (CPU, bộ nhớ, I/O). 2. Hệ điều hành (OS): kiểm soát và điều phối việc sử dụng phần cứng của chương trình ứng dụng của người dùng. 3. Các chương trình hệ thống và ứng dụng (system and application programs): sử dụng tài nguyên hệ thống để giải quyết các vấn đề tính toán của người dùng. 4. Người dùng (user): con người hoặc các thiết bị có nhu cầu tính toán sử dụng các chương trình máy tính. TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 5
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Hệ điều hành là gì? Vai trò của Hệ điều hành Thành Phần Của Một Hệ Thống Máy Tính users compiler assembler text-editor DB system system and applica on programs system and applica on programs opera ng system computecomputer hardware r hardware TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 6
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Hệ điều hành là gì? Vai trò của Hệ điều hành Từ Góc Nhìn Của Người Dùng I Cái nhìn của người dùng đối với hệ điều hành phụ thuộc vào giao diện (interface) mà người dùng sử dụng. I Máy tính cá nhân (PC): tiện lợi, dễ sử dụng, hiệu năng cao, không quan tâm đến việc chia sẻ tài nguyên. I Shared-computer (mainframe, minicomputer): tận dụng các nguồn tài nguyên và chia sẻ công bằng. I Các trạm làm việc (workstation): hài hòa giữa việc sử dụng tài nguyên cá nhân và tận dụng tài nguyên chia sẻ. I Thiết bị cầm tay (handheld): thiết kế cho nhu cầu sử dụng cá nhân và cân đối giữa hiệu năng và năng lượng. TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 7
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Hệ điều hành là gì? Vai trò của Hệ điều hành Từ Góc Nhìn Hệ Thống – Định Nghĩa HĐH I là bộ cấp phát tài nguyên: quản lý và cung cấp các nguồn tài nguyên I là một chương trình điều khiển: điều khiển các thiết bị nhập/xuất (phần cứng) và sự thực thi của các chương trình người dùng (phần mềm) I là nhân (kernel) của hệ thống máy tính: là chương trình duy nhất chạy thường trực toàn thời gian (các chương trình khác gọi là các chương trình ứng dụng) TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 8
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Các loại hệ thống máy tính Các Loại Hệ Thống Máy Tính I Vai trò, chức năng và kiến trúc của HĐH phụ thuộc vào kiến trúc của hệ thống máy tính. I Các hệ thống máy tính có thể chia làm 2 loại: 1. Các hệ thống đa dụng: mainframe, desktop, multi-processor, distributed, clustered. 2. Các hệ thống chuyên dụng: real-time, multimedia, handheld. TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 9
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Các loại hệ thống máy tính Hệ thống mainframe Hệ Thống Bó (Batch) I là hệ điều hành thô sơ đầu tiên I người dùng không giao tiếp trực tiếp với máy tính mà thông qua người điều khiển (operator) I rút ngắn thời gian thiết lập chương trình (setup time) bằng cách bó lại (batch) các công việc tương tự nhau I tự động phân dãy công việc, chuyển quyền điều khiển một cách tự động từ một công việc đến một công việc khác thông qua bộ giám sát thường trú của HĐH I trong hệ thống này, CPU thường xuyên rảnh vì tốc độ CPU nhanh hơn rất nhiều so với các thiết bị nhập xuất cơ khí TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 10
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Các loại hệ thống máy tính Hệ thống mainframe Hệ Thống Bó – Sơ Đồ Bộ Nhớ Hệ điều hành Vùng nhớ dành cho chương trình của người sử dụng IBM 7094 Mainframe (Source: IBM) TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 11
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Các loại hệ thống máy tính Hệ thống mainframe Hệ Thống Đa Chương (Multi-Programming) I Sự ra đời của công nghệ đĩa là cơ sở cho các Hệ điều hành hệ thống đa chương: Các công việc có thể được lưu trữ và truy xuất một cách không tuần tự trên hệ thống đĩa. chương trình 1 I Một số công việc được lưu trong bộ nhớ chính. chương trình 2 I CPU được điều phối thực hiện một công việc khác nếu công việc hiện hành đang chờ đợi một thao tác xuất/nhập. chương trình 3 I Ưu điểm: Tận dụng thời gian rỗi của CPU. chương trình 4 TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 12
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Các loại hệ thống máy tính Hệ thống mainframe Hệ Thống Đa Chương – Yêu Cầu Đối Với HĐH I Các hoạt động vào ra (I/O): phải được cung cấp bởi hệ thống. I Quản lý bộ nhớ: hệ thống phải cấp phát bộ nhớ cho nhiều tiến trình. I Định thời cho CPU: hệ thống phải chọn trong số các công việc đang sẵn sàng một công việc để giao CPU cho nó sử dụng. I Một chương trình đang thực thi trong hệ thống chỉ nhường lại CPU cho chương trình khác khi nó hoàn thành hoặc cần thực hiện thao tác I/O. TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 13
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Các loại hệ thống máy tính Hệ thống mainframe Hệ Thống Chia Thời Gian (Time-Sharing) I Là sự mở rộng luận lý của hệ thống đa chương. I Nhằm tăng hiệu suất sử dụng các tài nguyên trong hệ thống. I Cho phép nhiều người dùng chia sẻ máy tính tại 1 thời điểm bằng cách phân chia thời gian sử dụng các tài nguyên. I CPU sẽ được điều phối cho nhiều công việc đang nằm trong bộ nhớ và trong đĩa (CPU chỉ được cung cấp cho công việc nào đang nằm trong bộ nhớ). I Công việc sẽ được hoán chuyển giữa bộ nhớ và đĩa. I Giao tiếp trực tuyến giữa hệ thống và người dùng được cung cấp; khi hệ điều hành hoàn thành thực thi một lệnh, nó sẽ tìm một “lệnh điều khiển” của người dùng từ bàn phím. TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 14
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Các loại hệ thống máy tính Hệ thống mainframe Hệ Thống Chia Thời Gian (Time-Sharing) I Hệ thống phân chia thời gian phức tạp hơn hệ thống đa chương: I cơ chế quản lý bộ nhớ phức tạp: quản lý cạnh tranh, bảo vệ bộ nhớ I bộ nhớ ảo: cho phép tăng số lượng chương trình trong bộ nhớ I cơ chế định thời vị cho CPU tinh vi: cung cấp cơ chế đồng bộ hóa, giao tiếp giữa các tiến trình, cơ chế định thời CPU tinh vi, . . . I phải cung cấp hệ thống quản lý đĩa TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 15
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Các loại hệ thống máy tính Các hệ thống để bàn (Desktop) Các Hệ Thống Để Bàn (Desktop) I Máy tính cá nhân (personal computer): hệ thống máy tính được dành cho một người dùng duy nhất. I Các thiết bị xuất/nhập: bàn phím, chuột, màn hình, máy in. I Tiện lợi và phản ứng nhanh đối với người dùng. I Có thể phỏng theo các kỹ thuật được phát triển cho các hệ thống lớn. I Có thể chạy nhiều họ hệ điều hành khác nhau (Windows, MacOS, UNIX, Linux). TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 16
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Các loại hệ thống máy tính Các hệ thống đa xử lý (Multi-processor) Các Hệ Thống Đa Xử Lý (Multi-Processor) I Là các hệ thống đa xử lý với nhiều hơn một CPU được nối kết chặt chẽ với nhau I Còn được gọi là các hệ thống song song hay hệ thống ghép đôi chặt I Các processors chia sẻ bộ nhớ và xung đồng hồ; việc giao tiếp diễn ra thông qua bộ nhớ được chia sẻ. I Lợi ích của hệ thống song song: I Tăng năng lực xử lý: nhiều công việc được hoàn thành/đơn vị thời gian I Kinh tế: chia sẻ ngoại vi, thiết bị lưu trữ, điện, . . . I Tăng tính tin cậy: chỉ giảm cấp xử lý khi có sự cố, cung cấp hệ thống chịu lỗi (fault tolerant) TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 17
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Các loại hệ thống máy tính Các hệ thống đa xử lý (Multi-processor) Kiến Trúc Hệ Thống Đa Xử Lý Đối Xứng I Symmetric MultiProcessing – SMP. I Mỗi CPU chạy một bản sao giống nhau của hệ điều hành. I Nhiều quá trình có thể chạy song song mà không làm giảm hiệu năng của hệ thống. I Hầu hết các hệ điều hành hiện đại đều hỗ trợ SMP Bộ nhớ Nhập/ chính Xuất Bus hệ thống . . . TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 18
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Các loại hệ thống máy tính Các hệ thống đa xử lý (Multi-processor) Kiến Trúc Hệ Thống Đa Xử Lý Bất Đối Xứng I Asymmetric multiprocessing – AMP I Mỗi CPU được giao một công việc cụ thể; CPU chủ (Master) sẽ lập lịch biểu và giao việc cho các CPU tớ (Slave). I Thường phổ biến trong các hệ thống cực lớn. Bộ nhớ chính Bus hệ thống . . . Nhập/ Xuất TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 19
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Các loại hệ thống máy tính Các hệ thống phân tán (Distributed) Các Hệ Thống Phân Tán (Distributed) I Phân phối tính toán cho nhiều bộ xử lý vật lý. I Còn được gọi là hệ thống ghép đôi lỏng: mỗi bộ xử lý có bộ nhớ riêng và giao tiếp với bộ xử lý khác thông qua nhiều đường giao tiếp khác nhau (bus tốc độ cao, đường điện thoại). I Các lợi ích của hệ thống phân tán: I Chia sẻ tài nguyên I Tăng tốc độ tính toán – cân bằng tải I Tin cậy I Yêu cầu hạ tầng cơ sở mạng: LAN hoặc WAN. TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 20
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Các loại hệ thống máy tính Các hệ thống phân tán (Distributed) Hệ Thống Phân Tán Client – Server I Một số hệ thống tập trung hoạt động như hệ máy phục vụ, thỏa mãn các yêu cầu phát sinh bởi hệ thống khách hàng. client network client server (computational/file ) client TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 21
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Các loại hệ thống máy tính Các hệ thống phân tán (Distributed) Hệ Thống Phân Tán Peer-to-Peer I Các máy tính tham gia vào hệ thống là ngang hàng, không phân biệt client hay server: I nếu có dịch vụ thì đăng ký với trung tâm tìm kiếm/dịch vụ mạng I nếu muốn yêu cầu dịch vụ thì dùng discovery protocol client network client client client client TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 22
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Các loại hệ thống máy tính Các hệ thống cụm (Clustered) Các Hệ Thống Cụm (Clustered) I Hai hay nhiều máy tính được nhóm lại với nhau sao cho chúng họat động như một máy tính độc nhất. I Mục đích: chia sẻ thiết bị lưu trữ, cân bằng tải, xử lý song song. I Cung cấp khả năng sẵn dùng, chịu lỗi và độ tin cậy cao. I Ghép cụm bất đối xứng (asymmetric clustering): các server chạy ứng dụng trong khi một server khác ở trạng thái chờ (hot standby); Khi server hoạt động bi lỗi, server chờ sẽ hoạt động. I Ghép cụm đối xứng (symmetric clustering): tất cả các hosts cùng chạy ứng dụng và chúng kiểm soát lẫn nhau để thay thế công việc cho nhau. TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 23
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Các loại hệ thống máy tính Các hệ thống thời gian thực (Real-time) Các Hệ Thống Thời Gian Thực (Real-Time) I Thường được sử dụng như là một thiết bị điều khiển trong một ứng dụng dạng chuyên biệt (special-purpose): I Điều khiển các thí nghiệm khoa học I Các hệ thống điều trị y khoa I Các hệ thống điều khiển trong công nghiệp, quân sự I Một số hệ thống hiển thị, . . . I Hệ thống có các ràng buộc về thời gian cố định được định nghĩa chính xác. I Hai loại hệ thống thời gian thực: cứng (hard) và mềm (soft). TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 24
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Các loại hệ thống máy tính Các hệ thống thời gian thực (Real-time) Các Hệ Thống Thời Gian Thực “Cứng” I Đảm bảo các tác vụ tới hạn phải hoàn thành đúng giờ → các trì hoãn phải bị hạn chế. I Hạn chế hoặc không dùng các thiết bị lưu trữ thứ cấp, dữ liệu được trữ trong bộ nhớ ngắn kỳ (short-term) hoặc ROM. I Mâu thuẫn với các hệ thống chia thời gian → không được hỗ trợ bởi các hệ điều hành đa năng. TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 25
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Các loại hệ thống máy tính Các hệ thống thời gian thực (Real-time) Các Hệ Thống Thời Gian Thực “Mềm” I Tác vụ thời thực tới hạn có độ ưu tiên cao hơn và được duy trì cho đến khi hoàn thành. I Có thể được dùng trong các hệ điều hành đa năng. I Không hỗ trợ tốt cho thời điểm tới hạn (deadline) → dễ rủi ro → ít được dùng trong điều khiển công nghiệp hoặc robotics. I Hữu dụng trong các ứng dụng yêu cầu các tính năng cao cấp của hệ điều hành (đa phương tiện, thực tại ảo). TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 26
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Các loại hệ thống máy tính Các hệ thống cầm tay (Handheld) Các Hệ Thống Cầm Tay (Handheld) I Bao gồm các loại thiết bị như: I Các máy hỗ trợ cá nhân kỹ thuật số (PDA - Personal Digital Assistant). I Điện thoại di động (Cellular phone). I Các vấn đề: I Bộ nhớ giới hạn I Các bộ xử lý chậm I Màn hình nhỏ TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 27
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Sự phát triển của Hệ điều hành Sự Phát Triển Của Hệ Điều Hành TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 28
- [CT107] Ch1. Giới thiệu Hệ Điều Hành Các môi trường điện toán Các Môi Trường Điện Toán Cách HĐH được dùng trong việc thiết đặt môi trường tính toán: I Tính toán truyền thống (traditional computing): I Môi trường office, home, thông qua network I Tính toán kiểu web (web-based computing): I Mở rộng môi trường tính toán thông qua nền web (web-based) I Hỗ trợ nhiều thiết bị: workstations, handheld PDAs, cellular phones I Tính toán kiểu hệ thống nhúng (embedded computing): I Các máy tính chạy các embedded real-time OS I Phục vụ các tác vụ chuyên biệt TS. Trần Công Án (Khoa CNTT&TT) [CT107] Ch1. Giới thiệu Hệ Điều Hành 29