Bài giảng Chương 1: Tổng quan về hệ điều hành

Nhóm các chương tr c chương trình HT: Cung cấp các công cụcho ngư cho người dùng thực hiện các thao tác quản lí và đi điều khiển hệ thống. Các chương tr chương trình HT bao gồm: + Các CT thao tác với file vàthưm thưmục. + Các CT thông tin trạng thái. + Các CT hỗtrợngôn ngữlập trình. + Các CT đi c CT điều khiển nạp vàthực hiện CT. + Các CT phiên dịch lệnh

pdf43 trang | Chia sẻ: chaien | Lượt xem: 1759 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Chương 1: 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
Nguyen Huu Mui - Khoa CNTT, DHSPHN 1 Chương 1 Tổng quan về HĐH Nguyen Huu Mui - Khoa CNTT, DHSPHN 2 Chương 1: Tổng quan về HĐH ƒNội dung cơ bản môn HĐH ƒKhái niệm về HĐH ƒQuá trình phát triển của HĐH ƒ Phân loại HĐH, các thuộc tính cơ bản của HĐH ƒCác nguyên tắc thiết kế và xây dựng HĐH ƒCác chức năng cơ bản của HĐH ƒCác thành phần của HĐH Nguyen Huu Mui - Khoa CNTT, DHSPHN 3 Chương 1: Tổng quan về HĐH Mục tiêu: • Cung cấp cho người học những kiến thức cơ bản về HĐH. • Giúp người học nắm được những nguyên lí cơ bản và nguyên tắc làm việc của môn HĐH nói chung. • Hiểu và xử lí các vấn đề có thể xẩy ra trong hệ thống. • Xu hướng phát triển HĐH trong tương lai. Nguyen Huu Mui - Khoa CNTT, DHSPHN 4 Nội dung cơ bản của môn học • Chương 1: Tổng quan về HĐH. • Chương 2: Quản lí tiến trình. • Chương 3: Lập lịch cho CPU. • Chương 4: Quản lí bộ nhớ trong. • Chương 5: Quản lí bộ nhớ ngoài. • Chương 6: Quản lí thiết bị. • Chương 7: Bảo vệ và an toàn hệ thống. • Chương 8: Hệ điều hành đa xử lí. • Chương 9: Hệ điều hành Windows. Nguyen Huu Mui - Khoa CNTT, DHSPHN 5 Tài nguyên hệ thống máy tính + Một hệ thống máy tính bao gồm các thiết bị phần cứng và các chương trình phần mềm. - Phần cứng cơ bản bao gồm CPU, bộ nhớ, các thiết bị vào/ra. Nó đặc chưng cho sức mạnh của hệ thống. - Phần mềm bao gồm HĐH, các chương trình ứng dụng, các CSDL đã cài đặt trong hệ thống. - Tài nguyên phần mềm hiện nay cao hơn nhiều giá trị tài nguyên phần cứng. Nguyen Huu Mui - Khoa CNTT, DHSPHN 6 Cấu trúc của một Hệ thống máy tính 1. Phần cứng: Cung cấp các tài nguyên máy tính cơ bản: CPU, bộ nhớ, các thiết bị vào/ra,... 2. Hệ điều hành: Điều khiển và phối hợp việc sử dụng phần cứng máy tính giữa các ứng dụng khác nhau và các người dùng khác nhau. Nguyen Huu Mui - Khoa CNTT, DHSPHN 7 Cấu trúc của một Hệ thống máy tính 3. Các chương trình HT và ứng dụng: Xác định các cách mà theo đó các tài nguyên của hệ thống được sử dụng để giải quyết các vấn đề tính toán của người dùng như: Các bộ xử lí văn bản, các trình biên dịch, các trình duyệt web, các hệ cơ sở dữ liệu, các trò chơi,... 4. Users: Con người, các máy móc, các máy tính khác. Nguyen Huu Mui - Khoa CNTT, DHSPHN 8 Bốn thành phần của một hệ thống máy tính Nguyen Huu Mui - Khoa CNTT, DHSPHN 9 HĐH là gì? ƒ HĐH là một bộ chương trình đóng vai trò trung gian giữa users và phần cứng của máy tính. • HĐH là một bộ phân bổ tài nguyên: + Quản lí tất cả các tài nguyên + Giải quyết các yêu cầu tranh chấp để 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: + Điều khiển việc thực thi các chương trình để ngăn ngừa các lỗi và việc sử dụng máy tính không đúng. Nguyen Huu Mui - Khoa CNTT, DHSPHN 10 Nhân của HĐH là gì? “Các chương trình chạy trong suốt thời gian máy tính hoạt động (thường trực trong bộ nhớ trong)" được gọi là nhân (kernel) của HĐH. Nguyen Huu Mui - Khoa CNTT, DHSPHN 11 Quá trình phát triển của HĐH ƒ Quá trình phát triển của HĐH điển hình trải qua các giai đoạn chính sau: 1. Monitor đơn giản: Là thế hệ đầu tiên có thể tự động hóa, sắp xếp công việc cho máy tính thi hành. Nó là một CT nhỏ thường trú trong bộ nhớ trong. 2. Thao tác Off-Line: cho phép truy cập các thiết bị một cách logic mà không phụ thuộc vào tính chất vật lí của thiết bị dẫn đến loại trừ được hiện tượng các thiết bị I/O làm việc song hành với CPU. Nguyen Huu Mui - Khoa CNTT, DHSPHN 12 Quá trình phát triển của HĐH 3. Thao tác Buffering: làm tăng tốc trao đổi thông tin với các thiết bị ngoại vi, nó cho phép giảm số lượng các thao tác I/O vật lí, thực hiện đồng thời các thao tác I/O với các thao tác xử lí thông tin khác nhau, thực hiện trước các phép nhập DL,... 4. Thao tác SPOOL (Simultaneous Peripheral Operations On Line): trong chế độ này HĐH chỉ là việc với đĩa từ, còn đĩa từ và các thiết bị được thực hiện theo các cơ chế riêng làm tăng tốc độ I/O một cách đáng kể. Nguyen Huu Mui - Khoa CNTT, DHSPHN 13 Quá trình phát triển của HĐH 5. Đa chương trình và chia sẻ thời gian: + HĐH có khả năng điều khiển hoạt động của nhiều CT tại cùng một thời điểm. Do vậy, tài nguyên HT phải được chia sẻ cho các CT. + Một số tài nguyên HT không thể cung cấp trong chế độ chia sẻ (ví dụ CPU), do vậy HĐH phải phân bổ tài nguyên theo cơ chế hàng đợi. Tuy nhiên, vì thời gian tài nguyên phục vụ cho hoạt động của chương trình trong một chu kỳ rất ngắn, nên người dùng có cảm nhận như là đang sở hữu toàn bộ tài nguyên HT. Nguyen Huu Mui - Khoa CNTT, DHSPHN 14 Phân loại HĐH Dựa vào phương thức hđ, điều khiển, ql tài nguyên,... có một số loại HĐH chính sau: 1. HĐH đơn chương trình + Tại mỗi thời điểm chỉ có một công việc được giải quyết, công việc này xong mới chuyển sang công việc khác. + HĐH luôn thường trú trong bộ nhớ chính. Nguyen Huu Mui - Khoa CNTT, DHSPHN 15 Phân loại HĐH 2. HĐH đa chương trình + Một ứng dụng không thể giữ CPU và các thiết bị I/O bận tại mọi thời điểm. + Đa chương trình tổ chức các công việc (code & data) để CPU luôn có một công việc để thực thi. + Tại một thời điểm, một tập con của tất cả các công việc trong hệ thống được lưu giữ trong bộ nhớ chính. Một công việc được chọn và chạy thông qua lập lịch công việc. + Khi CPU có trạng thái chờ (vì không đồng bộ tốc độ), HĐH sẽ chuyển sang thực thi công việc khác. Nguyen Huu Mui - Khoa CNTT, DHSPHN 16 Phân loại HĐH 3. HĐH Chia sẻ thời gian (đa nhiệm) • Là sự mở rộng logic của HĐH đa chương trình theo cách CPU chuyển đổi các công việc một cách thường xuyên sao cho users có thể tương tác với mỗi công việc trong khi nó đang chạy. • Mỗi user có ít nhất một chương trình đang thi hành trong bộ nhớ (thường được gọi là một tiến trình). Nguyen Huu Mui - Khoa CNTT, DHSPHN 17 Phân loại HĐH 4. HĐH thời gian thực Đòi hỏi sự đáp ứng của CPU rất khắt khe về thời gian. Các hệ thời gian thực có 2 dạng: + Hệ thời gian thực cứng: đòi hỏi tất cả các tác vụ trong hệ thống đều là tới hạn và phải được hoàn thành đúng giờ. + Hệ thời gian thực mềm: trong loại này các tác vụ tới hạn có độ ưu tiên hơn các tác vụ không tới hạn khác. Nguyen Huu Mui - Khoa CNTT, DHSPHN 18 Phân loại HĐH 5. HĐH cho các hệ thống đa xử lí Các hệ này còn có tên xử lí song song, cho nên HĐH phải đảm nhiệm các tác vụ chia sẻ bus, đồng hồ xung nhịp, bộ nhớ,... Các hệ song song có các ưu điểm: 1. Gia tăng tốc độ và số lượng xử lí công việc. Tuy nhiên, với hệ thống N bộ xử lí không có nghĩa là gia tăng tốc độ N lần (thường là nhỏ hơn N). Vì phải chi phí cho việc đồng bộ các CPU, chia sẻ tài nguyên,... 2. Hiệu quả về kinh tế: do dùng chung các thiết bị ngoại vi, thiết bị lưu trữ, tiêu thụ điện, cơ sở dữ liệu,... Nguyen Huu Mui - Khoa CNTT, DHSPHN 19 Phân loại HĐH 3. Tăng độ tin cậy: Nếu việc phân bổ các chức năng hợp lí trên các CPU thì lỗi xẩy ra trên một CPU sẽ sẽ không làm ngưng hệ thống mà chỉ giảm năng lực thực hiện. Các hệ thông này là các hệ thống có khả năng chịu lỗi. Hệ thống vẫn tiếp tục trong khi lỗi xuất hiện được chuẩn đoán và sửa lỗi. Nguyen Huu Mui - Khoa CNTT, DHSPHN 20 Phân loại HĐH 6. HĐH cho các hệ thống phân tán + Mạng máy tính kết nối hai hay nhiều hệ thống với nhau. Hệ điều hành phân tán cho phép truyền thông, chia sẻ các tác vụ tính toán và cung cấp nhiều chức năng tới users. + Có nhiều giao thức mạng (phổ biến nhất là TCP/IP: Transmission Control Protocol/Internet Protocol). HĐH phân tán hỗ trợ đa dạng về giao thức, hầu hết hỗ trợ TCP/IP như Windows, Unix. Nguyen Huu Mui - Khoa CNTT, DHSPHN 21 Các thuộc tính cơ bản của HĐH ƒ Tính tin cậy Mọi hoạt động, mọi thông báo của HĐH phải chính xác. VD, khi truy cập đĩa, nếu gặp lỗi truy cập thì HĐH cố gắng lặp lại thao tác nhiều lần, nếu vẫn không được thì mới đưa ra thông báo lỗi. ƒ Tính an toàn HĐH phải đảm bảo dữ liệu và các chương trình không bị thay đổi ngoài ý muốn trong khi hệ thống hoạt động. Muốn vậy, HĐH phải có cơ chế bảo vệ dữ liệu và các tài nguyên dùng chung tránh được sự vi phạm vô tình hay cố ý của users và các chương trình. Nguyen Huu Mui - Khoa CNTT, DHSPHN 22 Các thuộc tính cơ bản của HĐH ƒ Tính hiệu quả Các tài nguyên của HT phải được khai thác một cách hiệu quả sao cho cả khi tài nguyên hạn chế vẫn có thể giải quyết được các yêu cầu phức tạp của người dùng. Ngoài ra phải duy trì tính đồng bộ của HT để tránh trường hợp các thiết bị chậm trì hoãn hoạt động của HT. ƒ Tính kế thừa HĐH phải đảm bảo tính kế thừa các ưu điểm, loại bỏ các nhược điểm của phiên bản trước và phải sẵn sàng thích ứng với sự thay đổi trong tương lai. Nguyen Huu Mui - Khoa CNTT, DHSPHN 23 Các thuộc tính cơ bản của HĐH ƒ Tính sử dụng HĐH phải dễ sử dụng với đại đa số người dùng, có hiệu quả tùy theo kiến thức và kinh nghiệm người dùng. HĐH phải có hệ thống trợ giúp, hướng dẫn đầy đủ giúp người dùng có thể tự đào tạo mình trong quá trình khai thác. • Lưu ý: Các thuộc tính trên khó có thể đồng thời thỏa mãn, mỗi HĐH cần có một giải pháp dung hòa, ưu tiên hợp lí thuộc tính này hay thuộc tính kia. Nguyen Huu Mui - Khoa CNTT, DHSPHN 24 Các nguyên tắc thiết kế và xây dựng HĐH ƒNguyên tắc modul HĐH phải được cấu thành từ các modul độc lập và được liên kết thành một hệ có tổ chức. Các modul được tổ chức theo phân cấp và quan hệ với nhau thông qua DL vào/ra. Nguyên tắc này cho phép tổ hợp các modul theo nhiều cách khác nhau, đảm bảo tính đa dạng chức năng của HĐH. Nguyen Huu Mui - Khoa CNTT, DHSPHN 25 Các nguyên tắc thiết kế và xây dựng HĐH ƒNguyên tắc tương đối trong định vị Các modul chương trình của HĐH được viết theo địa chỉ tương đối tính từ đầu bộ nhớ. Khi thực hiện chúng mới được định vị vào một vùng nhớ cụ thể. Nguyên tắc này giúp cho HT sử dụng bộ nhớ linh hoạt và HĐH không bị lệ thuộc vào cấu hình bộ nhớ cụ thể. Nguyen Huu Mui - Khoa CNTT, DHSPHN 26 Các nguyên tắc thiết kế và xây dựng HĐH ƒ Nguyên tắc xử lí Macro Khi có NV cụ thể, HT sẽ xây dựng các thẻ yêu cầu, liệt kê các công việc phải thực hiện. Trên cơ sở đó thực thi các chương trình tương ứng với các công việc cần giải quyết. Nguyên tắc này làm giảm độ phức tạp của chương trình dịch.ƒ Nguyên tắc lặp chức năng Mỗi công việc phải có nhiều cách thực hiện khác nhau với tổ hợp modul khác nhau. Nguyên tắc này đảm bảo tính an toàn của hệ thống (HT vẫn có thể hoạt động khi hỏng một số thành phần), thuận lợi cho người dùng khi thao tác. Nguyen Huu Mui - Khoa CNTT, DHSPHN 27 Các nguyên tắc thiết kế và xây dựng HĐH ƒNguyên tắc giá trị chuẩn Mỗi modul có thể có nhiều tham số, việc nhớ hết các tham số và phạm vi sử dụng chúng là rất phức tạp. Để giải quyết vấn đề này, mỗi modul có một tập các tham số ứng với những trường hợp thường gặp nhất. Khi trong câu lệnh gọi modul thiếu tham số nào thì HT sẽ bổ sung từ tập tham số này. Nguyen Huu Mui - Khoa CNTT, DHSPHN 28 Các nguyên tắc thiết kế và xây dựng HĐH ƒ Nguyên tắc khởi tạo khi cài đặt Theo nguyên tắc này, khi cài đặt HĐH chương trình cài đặt sẽ tạo ra các phiên bản làm việc thích hợp với các tham số kĩ thuật tương ứng để người dùng có thể lựa chọn cho phù hợp với cấu hình phần cứng và mục đích sử dụng. ƒ Nguyên tắc bảo vệ nhiều mức Để đảm bảo an toàn HT và DL, các chương trình và dữ liệu phải được bảo vệ ở nhiều mức khác nhau. Cơ chế bảo vệ này làm giảm đáng kể các lỗi không cố ý của các tiến trình và users. Nguyen Huu Mui - Khoa CNTT, DHSPHN 29 Các chức năng cơ bản của HĐH 1. Quản lí tiến trình ƒ Tiến trình là một chương trình đang thực thi, khi thực hiện, tiến trình đòi hỏi một số tài nguyên nhất định như: CPU, bộ nhớ, các file, dữ liệu khởi tạo,... ƒ Các tài nguyên được cấp phát cho tiến trình vào những thời điểm cần thiết và được thu hồi khi tiến trình kết thúc. ƒ Khi tiến trình hoạt động trong HT có thể phát sinh các tiến trình con. Nguyen Huu Mui - Khoa CNTT, DHSPHN 30 Các chức năng cơ bản của HĐH ƒ Chức năng quản lí tiến trình bao gồm: + Đảm bảo điều kiện để tiến trình thực thi. + Đảm bảo điều kiện cho sự hoạt động song song của nhiều tiến trình. + Khởi tạo và loại bỏ tiến trình của người dùng và hệ thống. + Tạm ngưng và bắt đầu lại các tiến trình. + Tạo các cơ chế đồng bộ hóa tiến trình. + Tạo các cơ chế liên lạc giữa các tiến trình. + Tạo các cơ chế xử lí lỗi tiến trình. Nguyen Huu Mui - Khoa CNTT, DHSPHN 31 Các chức năng cơ bản của HĐH 2. Quản lí bộ nhớ trong • Bộ nhớ trong là thiết bị lưu trữ mà CPU có thể truy cập trực tiếp. • Một chương trình sau khi biên dịch, nó có các địa chỉ tương đối (được đánh số từ đầu chương trình cho tới kết thúc). • Khi thực hiện, CT được nạp vào bộ nhớ, các địa chỉ tương đối được chuyển đổi thành địa chỉ vật lí để CPU có thể truy xuất trong quá trình xử lí (quá trình sinh địa chỉ). Nguyen Huu Mui - Khoa CNTT, DHSPHN 32 Các chức năng cơ bản của HĐH • Sau khi chương trình hoạt động xong, các địa chỉ đã cấp phát phải được giải phóng. • Tại một thời điểm có thể có nhiều tiến trình được thi hành. ƒ Chức năng quản lí bộ nhớ trong bao gồm: + Cấp phát và thu hồi không gian nhớ cho các tiến trình. + Ghi nhớ những vùng nhớ đang được sử dụng và do tiến trình nào. + Quyết định tiến trình nào sẽ được nạp vào bộ nhớ khi có khả năng. Nguyen Huu Mui - Khoa CNTT, DHSPHN 33 Các chức năng cơ bản của HĐH 3. Quản lí bộ nhớ ngoài • Để lưu trữ lâu dài CT và DL, hệ thống máy tính phải dùng bộ nhớ ngoài. Chức năng quản lí bộ nhớ ngoài bao gồm: + Quản lí và cấp phát không gian nhớ tự do. + Cung cấp các khả năng định vị bộ nhớ ngoài. + Lập lịch cho bộ nhớ ngoài Nguyen Huu Mui - Khoa CNTT, DHSPHN 34 Các chức năng cơ bản của HĐH 4. Quản lí vào/ra •Một trong các mục tiêu của HĐH là che dấu các chi tiết của các thiết bị phần cứng đối với users. Điều khiển hoạt động của các thiết bị bằng cách gửi các lệnh điều khiển tới các thiết bị và tiếp nhận/xử lí các tín hiệu ngắt, xử lí lỗi,... Ngoài ra HĐH còn cung cấp giao diện đơn giản, độc lập giữa các thiết bị và hệ thống. Nguyen Huu Mui - Khoa CNTT, DHSPHN 35 Các chức năng cơ bản của HĐH • Do vậy, chức năng quản lí vào/ra bao gồm: + Quản lí bộ nhớ trong quá trình vào/ra bao gồm buffering (lưu trữ dữ liệu tạm thời khi truyền), caching (lưu trữ các phần dữ liệu vào bộ nhớ nhanh hơn để thực hiện), spooling (hoán đổi các công việc vào/ra bộ nhớ). + Che dấu các đặc thù của các thiết bị vào/ra. Tạo lập các chương trình quản lí, điều khiển các thiết bị chung và đặc biệt. Nguyen Huu Mui - Khoa CNTT, DHSPHN 36 Các chức năng cơ bản của HĐH 5. Quản lí file ƒ HĐH tổ chức thông tin lưu trữ trên bộ nhớ ngoài theo đơn vị file, các file lại thường được tổ chức thành các thư mục. Chức năng quản lí file của HĐH bao gồm: • Tạo / xóa các file và các thư mục. • Hỗ trợ các nguyên lí thao tác các file và thư mục. • Ánh xạ các file vào bộ nhớ phụ. • Sao dự phòng các file vào các thiết bị lưu trữ tin cậy. Nguyen Huu Mui - Khoa CNTT, DHSPHN 37 Các chức năng cơ bản của HĐH 6. Bảo vệ (Protection) Khi HT cho phép nhiều user và nhiều tiến trình đồng thời cần phải có cơ chế bảo vệ để điều khiển việc truy cập của các tiến trình hay các người dùng tới các tài nguyên hệ thống. Mục đích của bảo vệ: Đảm bảo cho HT hoạt động bình thường; Bảo vệ tài nguyên dùng chung; ngăn ngừa sự sai sót của các tiến trình. 7. An toàn (Security) Ngăn cản mọi sự tấn công hệ thống từ bên trong và bên ngoài hệ thống. Như là sự phá hoại của các virus, sự truy cập bất hợp pháp, trộm cắp thông tin,... Nguyen Huu Mui - Khoa CNTT, DHSPHN 38 Các chức năng cơ bản của HĐH 8. Quản lí tài nguyên mạng HĐH phải hỗ trợ khả năng quản lí, chia sẻ tài nguyên, truyền thông trên mạng thông qua các thành phần điều khiển giao tiếp mạng. 9. Thông dịch Đây là chức năng rất quan trọng của HĐH, đóng vai trò tạo giao diện giữa máy tính và người dùng. Nó giúp máy tính hiểu và xử lí các chỉ thị hay các lệnh của người dùng. Nguyen Huu Mui - Khoa CNTT, DHSPHN 39 Các thành phần của HĐH ƒ HĐH bao gồm một bộ chương trình được chia thành nhiều nhóm với các chức năng tương ứng: Nhóm phục vụ: phục vụ chương trình và những user bao gồm: + Phục vụ thực hiện CT. + Điều kiển thao tác vào/ra. + Phục vụ các thao tác file/thư mục. + Phát hiện lỗi / xử lí lỗi. + Phân phối tài nguyên ... Nguyen Huu Mui - Khoa CNTT, DHSPHN 40 Các thành phần của HĐH Các lời gọi hệ thống (system calls): Các chương trình ứng dụng muốn sử dụng các dịch vụ hệ thống của HĐH nó phải gửi một yêu cầu hệ thống (system call) tới HĐH và HĐH sẽ đáp ứng nếu có thể. Các lời gọi hệ thống cung cấp giao tiếp giữa một chương trình đang chạy và HĐH. Có 2 cách tổ chức lời gọi HT: + Tổ chức như là một chỉ thị của hợp ngữ và được chứa trong danh sách các dịch vụ của hợp ngữ. + Tổ chức trực tiếp từ chương trình ngôn ngữ bậc cao và được xây dựng thành các hàm và thủ tục chứa trong thư viện của ngôn ngữ. Nguyen Huu Mui - Khoa CNTT, DHSPHN 41 Các thành phần của HĐH Nhóm các chương trình HT: Cung cấp các công cụ cho người dùng thực hiện các thao tác quản lí và điều khiển hệ thống. Các chương trình HT bao gồm: + Các CT thao tác với file và thư mục. + Các CT thông tin trạng thái. + Các CT hỗ trợ ngôn ngữ lập trình. + Các CT điều khiển nạp và thực hiện CT. + Các CT phiên dịch lệnh. Nguyen Huu Mui - Khoa CNTT, DHSPHN 42 Các thành phần của HĐH Nhóm các chương trình ứng dụng: Cung cấp các CT ứng dụng cho người dùng như: + Các CT soạn thảo văn bản đơn giản. + Các trình duyệt Web. + Các CT phục vụ giải trí. ... Nguyen Huu Mui - Khoa CNTT, DHSPHN 43 End of Chapter 1

Các file đính kèm theo tài liệu này:

  • pdfchuong_01_5715.pdf