430 likes | 690 Views
Hệ Điều Hành (Operating Systems). Nguyễn Phan Trung. Địa chỉ liên lạc Nguyển Phan Trung – Khoa CNTT Email: trungngph@yahoo.com.sg. Thông tin về môn hoc. Sách tham khảo “Operating System Concepts”, Silberschatz et at. 6 th Ed, 2003
E N D
Hệ Điều Hành(Operating Systems) Nguyễn Phan Trung • Địa chỉ liên lạc • Nguyển Phan Trung – Khoa CNTT • Email: trungngph@yahoo.com.sg Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Thông tin về môn hoc • Sách tham khảo • “Operating System Concepts”, Silberschatz et at. 6thEd, 2003 • “An Introduction to Operating Systems”; Harvay M. Deitel. 1990. • Đánh giá - 30% điểm bài tập lớn về nhà(10/10) Nộp trước khi thi chậm nhất là 1 tuần - 70% thi trắc nghiệm cuối học kỳ (10/10) Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Nội dung môn Hệ Điều Hành • Chương 1: Tổng quan về Hệ Điều Hành • Chương 2: Khái niệm về quá trình(process) • Chương 3: Quản lý các quá trình đồng thời • Chương 4 : tắc nghẽn (Deadlock) • Chương 5 Định thời biểu cho quá trình • Chương 6 Phân cấp bộ nhớ - Bộ nhớ thực • Chương 7 Bộ nhớ ảo • Chương 8 Hệ thống I/O • Chương 9 Hệ thống file • Ôn tập Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Chương 1 Hệ Điều Hành Sau khi đọc xong chương này và hoàn thành hết các bài tập bạn sẽ có thể: • Hiểu nguyên lý hoạt động của hệ điều hành • Mô tả các loại hệ điều hành • Hiểu được lịch sử phát triển của hệ điều hành Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Chương 1 Hệ Điều Hành Sau khi đọc xong chương này và hoàn thành hết các bài tập bạn sẽ có thể: • Thảo luận về chế độ đơn nhiệm và chế độ đa nhiệm • Phân biệt sự khác nhau giữa hệ điều hành một người dùng và hệ điều hành nhiều người dùng. • Liệt kê và miêu tả một cách ngắn gọn các hệ điều hành hiện nay Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Chương 1 Hệ Điều Hành • Giới thiệu tổng quan • Định nghĩa Hệ Điều Hành (Operating System) • Các thành phần của hệ thống máy tính • Các chức năng chính của OS • Quá trinh phát triển của Hệ Điều Hành • Mainframe Systems • Desktop Systems • Multiprocessor Systems • Distributed Systems • Realtime Systems • Handheld Systems Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
GIỚI THIỆU TỔNG QUAN Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Các nhiệm vụ chung của tất cả các os Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Các thành phần hệ thống • Phần cứng (Hardware): Bao gồm các tài nguyên cơ bản của máy tính như : • Processor CPU • Registers (address, data, control) • Instruction cycle (fetch, decode, execute) • Interrupts • Usually includes hardware and special instruction to help the O.S manage memory, devices,etc, • Memory Bộ nhớ Diifferent levels (cache, main memory, disk) • các thiết bị I/O,… • Usually use interupts, DMA • OS usually controls use of I/O devices • Hệ điều hành (Operating System) Phân phối tài nguyên, điều khiển và phối hợp các hoạt động của các chương trình trong hệ thống • Chương trình ứng dụng (applications programs) sử dụng tài nguyên hệ thống để giải quyết một vấn đề tính toán nào đó của người sử dụng ( ví dụ: compilers, database systems, video games, business progams). • Các users sử dụng hệ thống Con người, máy móc, hệ thống máy tính khác,… Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
CÁC THÀNH PHẦN CỦA HỆ THỐNG Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Các chức năng chính của OS • Phân chia thời gian xử lý và định thời CPU • Phối hợp và đồng bộ hoạt động giữa các processes (coordination & synchronization) • Quản lý tài nguyên hệ thống (I/O,bộ nhớ, file chứa dữ liệu, …) • Thực hiện và kiểm soát access, protection • Duy trì nhất quán (integrity) của hệ thống, kiểm soát lỗi và phục hồi hệ thống khi có lỗi (error recovery) • Cung cấp giao diện làm việc cho users Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Tại sao phải nghiên cứu Os • Thiết kế Os là một case study rất tốt về thiết kế công nghệ phần mềm (software engineering design) • The better you know the Os, the better apps you write. The better you understand its bugs and work around them. • Os sử dụng các thuật giải phức tạp, rất nhiều trong đó có thể được sử dụng lại trong các phần mềm khác. Vd phát hiện khóa chết( deadlock detection). • Os cần có sư phát triển nhanh của phần cứng. Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Quá trình phát triển OS • Mainframe Systems • Batch systems • Multi-programmed systems • Time-sharing systems Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Mainframe Systems • Batch System • Là Os sơ khai nhất chỉ có Resident Monitor, trong đó chưá các phần điều khiển quá trình xử lý, tính toán như: Loader, job sequencing, control card interpreter, device driver • Cần có người vận hành: operator (user ≠ operator), giảm setup time -> ghép nhóm công việc (battching jobs) ví dụ : ghép 2 công việc cùng dùng trình biên dịch Fortran, -> tiết kiệm được thời gian load trình biên dịch Fortral. Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
UNIVAC mainframe system Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
FACOM mainframe Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Tổ chức bộ nhớ của Simple BatchMainframe Systems Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Quá trình phát triển OS (t.t) • Multi-programmed System • Multiprogramming làm tăng hiệu năng của CPU bằng cách tổ chức các công việc để CPU luôn có 1 công việc cần thực hiện. • Các công việc đó được lưu trong bộ nhớ chính tại cùng một thời điểm và CPU là đa nhiệm giữa chúng • Khi một công việc phải đợi tác vụ nào đó, vd đợi họat động I/O. Os sẽ chuyển CPU cho một công việc khác. • Yêu cầu đối với OS trong Multi-programmed System • Job Scheduling • Memory management • CPU scheduling • Allocation of devices • protection Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Tổ chức bộ nhớ của Multiprogrammed Batch System Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Quá trình phát triển Os Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Quá trình phát triển OS (t.t) • Time-Sharing Systems • Multi-programmed systems không cung cấp khả năng tương tác users • CPU luân phiên chuyển đổi thực thi giữa các công việc nhưhg sự chuyển đổi xẩy ra rất thường xuyên để các user có thể tương tác với mỗi chương trình đang chạy và có cảm giác là tòan bộ hệ thống đang được dành riêng cho mình • Cung cấp sự tương tác giữa hệ thống với user • Khi kết thúc thực thi một lệnh, OS sẽ tìm câu lệnh điều khiển (control statement) tiếp theo từ keyboard or mouse chứ không phải từ card reader • Một công việc chỉ được chiếm CPU để xử lý khi nó nằm trong bộ nhớ chính • Khi cần thiết, một công việc nào đó có thể được chuyển từ bộ nhớ chính ra thiết bị lưu trữ, nhường bộ nhớ chính cho công việc khác. Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Time-Sharing System • Os sử dụng CPU scheduling và multiprogramming để cung cấp cho mỗi user một phần nhỏ tài nguyên của máy tính • Multiprogramming và time shsring vẫn đóng vai trò chủ đạo trong các OS hiện nay Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Time-Sharing System(t.t) • Yêu cầu đối với OS trong Time-Sharing Systems • Định thời công việc (job scheduling) • Quản lý bộ nhớ (Memory Management) • Các công việc được hoán chuyển giữa bộ nhớ chính và đĩa • Virtual memory: cho phép một công việc có thể được thực thi mà không cần phải nạp hoàn toàn vào bộ nhớ chính • Quản lý các process (Process Management) • Định thời CPU (CPU scheduling) • Đồng bộ các công việc (synchronization) • Tương tác giữa các công việc ( process communication) • Tránh Deadlock • Quản lý hệ thống file, hệ thống lưu trữ (disk management) • Phân bổ các thiết bị tài nguyên • Cơ chế bảo vệ (protection) Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
IBM 360_67 time-sharing system Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Quá trình phát triển OS (t.t) • Desktop System (Personal Computer) • Được thiết kế dành cho user đơn. • Có sự thuận tiện và dễ điều khiển đối với user • Mục tiêu chính của các hệ thống PC là hướng đến sự tiện lợi (convinience) cho user và khả năng đáp ứng (reponsiveness) cao • Có nhiều thiết bi I/O như keyboards, mouse, màn hình, máy in • Có thể ứng dụng các kỹ thụât được phát trỉển cho các Os lớn hơn • Thường mỗi người sở hữu một máy tính do đó không yêu cầu cao cấp về bảo mật và tối ưu hiệu suất CPU như các hệ thống khác. • Có thể vận hành nhiều hệ điều hành khác nhau (Windows, MacOS, Solaris, Linux,…) Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Destop system Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Quá trình phát triển OS (t.t) • Hệ thống đa xử lý (multiprocessor systems) còn gọi là hệ thống song song (Parallel Systems) • hệ thống có nhiều hơn một CPU và được kết nối chặt ( tightly coupled) i.e. các processor chia sẻ bộ nhớ chung và một clock, sự giao tiếp thường xuyên diễn ra qua bộ nhớ chung. • Ưu điểm: • Tăng thông lượng (system throughput):- Mức tăng tỉ lệ thuận –N processor, tốc độ tăng N lần • Tiết kiệm (thời gian, tài ngyên): các tài nguyên phụ thuộc và chia sẻ • Tăng độ tin cậy trong một số trường hợp Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Parallel Systems (t.t) • Symmetric multiprocessing (SMP) • Các processor vận hành cùng một hệ điều hành duy nhất • Nhiều ứng dụng thực thi cùng lúc với hiệu suất (performance) cao • Đa số các hệ điều hành hỗ trợ SMP • Asymmetric multiprocessing • Mỗi processor thực thi một công việc khác nhau, master processor định thời và phân cong việc cho các slave processor Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Kiến trúc đa xử lý đối xứng Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
fujGS8400 multi-processor Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Quá trình phát triển OS (t.t) • Hệ thống phân bố (Distributed Systems) • Phân bố công việc trên nhiều processors • loosely coupled system (Hệ thống được kết nối lỏng). Mỗi processor có bộ nhớ riêng nó (local memory), các processor giao tiếp với các processor khác qua các kênh nối như : bus tốc độ cao , đường điện thoại. internet Trong góc nhìn của user, OS được vận hành bởi một hệ điều hành duy nhất • Ưu điểm • Cho phép chia sẻ tài nguyên (resource sharing) • Chia sẻ công việc tính toán ( computational sharing) • độ tin cậy cao (high reliability) nhờ sự backup data một cách tuyệt đối • Khuyết điểm: Khó quản lý hơn paralellet systems: network failures, node failures, chi phí vận chuyển data lớn Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Distributed Systems (tiếp) • Yêu cầu cơ sở hạ tầng mạng máy tính : • Local area network (LAN) • Wide area network (WAN) • Dựa trên mô hình • client-server • hoặc peer-to-peer. Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Cấu trúc client-Server Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Cấu trúc Peer-to-Peer Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Quá trình phát triển OS (t.t) • Hệ thống thời gian thực (Real-Time systems) • Thường dùng trong các thiết bị chuyên dụng như điều khiển các thí nghiêm khoa học, các hệ thống xử lý ảnh trong y khoa, hệ thống điều khiển công nghiệp và một số hệ thống hiển thị khác. • Có những ràng buộc thời gian cố định (fixed-time) một cách rõ ràng • Real-Time systems có thể là hard hoặc soft real-time Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Real-Time Systems • Hard real-time: • Hạn chế hoặc không có bộ nhớ phụ, tất cả dữ liệu nằm trong bộ nhớ chính RAM hoặc ROM • Yêu cầu thời gian đáp ứng, xử lý rất nghiêm ngặt, thường sử dụng trong điều khiển công nghiệp, công nghệ robotics • Trái ngược với time-sharing systems, không được hỗ trợ bởi các HĐH đa năng. • Soft real-time: • Tiện ích hạn chế trong công nghiệp điều khiển robot • Hữu dụng trong lĩnh vực multimedia, thực tế ảo (virtual reality) với yêu cầu mềm dẻo hơn về thời gian Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Realtime system Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Handheld Systems • Personal Digital Assistants (PDAs), Mobile Phone • Cellular telephones • Các hạn chế: • bộ nhớ có dung lượng nhỏ • Tốc độ processor không cao ( vì phải tiêu thụ ít năng lượng) • Màn hình hiển thị có kích thước nhỏ, độ phân giải thấp • Portability, convenience Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Ex: Handheld Systems Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Gaming system Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Ex : Gaming system Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh
Câu hỏi và bài tập về nhà • Ba mục đích chính của Hệ điều Hành là gì? • Liệt kê các thành phần của tổ chức máy tính? • Lợi ích chính của Hệ điều Hành đa chương là cái gí? • Khác biệt chính của máy tính mainframe và máy tính PC là cái gì? • Phân biệt kết nối lỏng và kết nối chặt (cũng như giữa multiprocessor và distributed system) Khoa Công Nghệ Thông Tin – Đại Hoc Công Nghiệp TP Hồ Chí Minh