Bài giảng Hệ điều hành: Chương 2 - Hà Duy An (ĐH Cần Thơ)
Số trang: 45
Loại file: pdf
Dung lượng: 5.77 MB
Lượt xem: 14
Lượt tải: 0
Xem trước 5 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng "Hệ điều hành - Chương 2: Cấu trúc hệ điều hành" cung cấp cho người học các kiến thức: Các dịch vụ của hệ điều hành, giao diện người dùng, lời gọi hệ thống, chương trình hệ thống, thiết kế và cài đặt, cấu trúc hệ điều hành. Mời các bạn cùng tham khảo nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Hệ điều hành: Chương 2 - Hà Duy An (ĐH Cần Thơ) Khoa Công Nghệ Thông Tin & Truyền Thông Đại học Cần Thơ Giảng viên: Hà Duy An 1. Các dịch vụ của hệ điều hành 2. Giao diện người dùng 3. Lời gọi hệ thống 4. Chương trình hệ thống 5. Thiết kế và cài đặt 6. Cấu trúc hệ điều hành 8/17/2013 2 Chương 2: Cấu trúc hệ điều hành tai nguyen phân bô 8/17/2013 4 Chương 2: Cấu trúc hệ điều hành • HĐH cung cấp môi trường cho các chương trình thực thi và các dịch vụ cho các chương trình và người dùng. • Các dịch vụ cung cấp các tính năng hữu ích với người dùng: o User interface (UI) - Hầu hết tất cả các hệ điều hành điều có một giao diện người dùng: Command-Line (CLI), Graphics User Interface (GUI), Batch. o Program execution – nạp chương trình vào bộ nhớ, thực thi và kết thúc nó o I/O operations – do chương trình người dùng không thể thực hiện trực tiếp các thao tác I/O, HĐH phải cung cấp phương tiện để thực hiện thao tác I/O (file trên đĩa hay các thiết bị I/O khác) o File-sytem manipulation – cung cấp các phương tiện để chương trình có thể đọc, ghi, tạo, xóa, liệt kê, tìm kiếm, quản lý quyền truy cập trên tập tin/thư mục. 8/17/2013 5 Chương 2: Cấu trúc hệ điều hành • Communications – các tiến trình có thể trao đổi thông tin với nhau trên cùng một máy tính hay giữa các máy tính thông qua mạng o Việc giao tiếp có thể qua bộ nhớ chia sẽ (shared memory) hay qua phương thức truyền thông điệp (message passing) • Error detection – để bảo đảm tính toán chính xác HĐH cần phát hiện ra các lỗi xảy ra trong hệ thống o Có thể tồn tại trong CPU, memory, I/O devices, user program o Với mỗi loại lỗi, HĐH cần có một cơ chế thích hợp để đảm bảo việc tính toán là chính xác và nhất quán. 8/17/2013 6 Chương 2: Cấu trúc hệ điều hành • Các dịch vụ đảm bảo sự hoạt động hiệu quả của chính hệ thống với cơ chế chia sẽ tài nguyên o Resource allocation – khi có nhiều người dùng hay nhiều công việc đang thực thi đồng thời, các nguồn tài nguyên phải được cấp phát cho mỗi công việc • Có nhiều loại tài tài nguyên – một vài loại có mã cấp phát riêng biệt (CPU cycles, main memory, file storage), những loại khác có mã yêu cầu và giải phóng tài nguyên chung (I/O devices) o Accounting - theo dõi và ghi lại thông tin sử dụng tài nguyên của người dùng để làm cơ sở tính tiền sử dụng hệ thống hoặc thống kê sử dụng. 8/17/2013 7 Chương 2: Cấu trúc hệ điều hành • Protection and security – đảm bảo rằng tất cả truy cập đến hệ thống đều được kiểm soát. o Protection: đảm bảo tất cả các truy cập đến các nguồn tài nguyên của hệ thống điều được kiểm soát o Security: đảm bảo an toàn cho hệ thống từ các truy cập bên ngoài o Để đảm bảo an toàn, sự phòng ngừa phải được thực hiện trên toàn hệ thống 8/17/2013 8 Chương 2: Cấu trúc hệ điều hành • CLI hay command interpreter cho phép nhập các câu lệnh trực tiếp o Có thể được cài đặt trong nhân hay như là một chương trình hệ thống (system program) o Một hệ thống có thể cài đặt nhiều CLI – shells • Các CLI có thể được cung cấp bởi bên thứ 3 o Chức năng chính là lấy lệnh từ người dùng và thực thi nó o Các lệnh trên shell có thể được cài đặt: • Shell chứa mã thực thi các lệnh của người dùng • Shell thực thi các lệnh của người dùng bằng cách gọi các chương trình bên ngoài => chương trình CLI nhỏ, việc cập nhật các lệnh không ảnh hưởng đến CLI 8/17/2013 10 Chương 2: Cấu trúc hệ điều hành 8/17/2013 11 Chương 2: Cấu trúc hệ điều hành • Giao diện người dùng đồ họa (Desktop): thân thiện, dễ sử dụng o Mouse, keyboard, monitor o Icons hiển thị file, chương trình, thao tác,… o Các sự kiện chuột trên những đối tượng khác nhau trên giao diện là cơ sở cho các thao tác khác nhau o Phát minh tại Xerox PARC • Nhiều hệ thống ngày nay có cả CLI và GUI: o Microsoft Windows o Apple Mac OS X o Unix và Linux GUI (CDE, KDE, GNOME), CLI (BASH SHELL, C SHELL, …) 8/17/2013 12 Chương 2: Cấu trúc hệ điều hành • Giao diện màn hình cảm ứng: o Không sử dụng chuột o Các thao tác dựa trên cử chỉ o Dùng bàn phím ảo 8/17/2013 13 Chương 2: Cấu trúc hệ điều hành • Lời gọi hệ thống (System call) là giao diện lập trình để sử dụng các dịch vụ được cung cấp bởi hệ điều hành • Thường được viết bằng ngôn ngữ cấp cao (C, C++) • Hầu hết các chương trình sử dụng system call thông qua một giao diện lập trình ứng dụng ở mức cao (API) hơn là dùng trực tiếp • 3 API phổ biến nhất: o Windows API (HĐH Windows) o POSIX API cho POSIX-based systems (tất cả các phiên bản của UNIX, Linux, Mac OS X) o Java API cho Java virtual machine (JVM) 8/17/2013 15 Chương 2: Cấu trúc hệ điều hành • Sử dụng system call để sao chép tuần tự nội dung một file vào một file khác: 8/17/2013 16 Chương 2: Cấu trúc hệ điều hành • Giao diện lời gọi hệ thống (System-call interface): cung cấp giao diện trực tiếp đến các lời gọi hệ thống bên trong nhân => bắt các lời gọi hàm trong API và gọi các lời gọi hệ thống cần thiết • Thông thường, mỗi system call sẽ được kết hợp với một số o Giao diện lời gọi hệ thống duy trì một bảng được lặp chỉ mục theo các số này • Giao diện lời gọi hệ thống gọi system call được chỉ định trong nhân HĐH (OS kernel) và trả về trạng thái + giá trị (nếu có) của lời gọi hệ th ...
Nội dung trích xuất từ tài liệu:
Bài giảng Hệ điều hành: Chương 2 - Hà Duy An (ĐH Cần Thơ) Khoa Công Nghệ Thông Tin & Truyền Thông Đại học Cần Thơ Giảng viên: Hà Duy An 1. Các dịch vụ của hệ điều hành 2. Giao diện người dùng 3. Lời gọi hệ thống 4. Chương trình hệ thống 5. Thiết kế và cài đặt 6. Cấu trúc hệ điều hành 8/17/2013 2 Chương 2: Cấu trúc hệ điều hành tai nguyen phân bô 8/17/2013 4 Chương 2: Cấu trúc hệ điều hành • HĐH cung cấp môi trường cho các chương trình thực thi và các dịch vụ cho các chương trình và người dùng. • Các dịch vụ cung cấp các tính năng hữu ích với người dùng: o User interface (UI) - Hầu hết tất cả các hệ điều hành điều có một giao diện người dùng: Command-Line (CLI), Graphics User Interface (GUI), Batch. o Program execution – nạp chương trình vào bộ nhớ, thực thi và kết thúc nó o I/O operations – do chương trình người dùng không thể thực hiện trực tiếp các thao tác I/O, HĐH phải cung cấp phương tiện để thực hiện thao tác I/O (file trên đĩa hay các thiết bị I/O khác) o File-sytem manipulation – cung cấp các phương tiện để chương trình có thể đọc, ghi, tạo, xóa, liệt kê, tìm kiếm, quản lý quyền truy cập trên tập tin/thư mục. 8/17/2013 5 Chương 2: Cấu trúc hệ điều hành • Communications – các tiến trình có thể trao đổi thông tin với nhau trên cùng một máy tính hay giữa các máy tính thông qua mạng o Việc giao tiếp có thể qua bộ nhớ chia sẽ (shared memory) hay qua phương thức truyền thông điệp (message passing) • Error detection – để bảo đảm tính toán chính xác HĐH cần phát hiện ra các lỗi xảy ra trong hệ thống o Có thể tồn tại trong CPU, memory, I/O devices, user program o Với mỗi loại lỗi, HĐH cần có một cơ chế thích hợp để đảm bảo việc tính toán là chính xác và nhất quán. 8/17/2013 6 Chương 2: Cấu trúc hệ điều hành • Các dịch vụ đảm bảo sự hoạt động hiệu quả của chính hệ thống với cơ chế chia sẽ tài nguyên o Resource allocation – khi có nhiều người dùng hay nhiều công việc đang thực thi đồng thời, các nguồn tài nguyên phải được cấp phát cho mỗi công việc • Có nhiều loại tài tài nguyên – một vài loại có mã cấp phát riêng biệt (CPU cycles, main memory, file storage), những loại khác có mã yêu cầu và giải phóng tài nguyên chung (I/O devices) o Accounting - theo dõi và ghi lại thông tin sử dụng tài nguyên của người dùng để làm cơ sở tính tiền sử dụng hệ thống hoặc thống kê sử dụng. 8/17/2013 7 Chương 2: Cấu trúc hệ điều hành • Protection and security – đảm bảo rằng tất cả truy cập đến hệ thống đều được kiểm soát. o Protection: đảm bảo tất cả các truy cập đến các nguồn tài nguyên của hệ thống điều được kiểm soát o Security: đảm bảo an toàn cho hệ thống từ các truy cập bên ngoài o Để đảm bảo an toàn, sự phòng ngừa phải được thực hiện trên toàn hệ thống 8/17/2013 8 Chương 2: Cấu trúc hệ điều hành • CLI hay command interpreter cho phép nhập các câu lệnh trực tiếp o Có thể được cài đặt trong nhân hay như là một chương trình hệ thống (system program) o Một hệ thống có thể cài đặt nhiều CLI – shells • Các CLI có thể được cung cấp bởi bên thứ 3 o Chức năng chính là lấy lệnh từ người dùng và thực thi nó o Các lệnh trên shell có thể được cài đặt: • Shell chứa mã thực thi các lệnh của người dùng • Shell thực thi các lệnh của người dùng bằng cách gọi các chương trình bên ngoài => chương trình CLI nhỏ, việc cập nhật các lệnh không ảnh hưởng đến CLI 8/17/2013 10 Chương 2: Cấu trúc hệ điều hành 8/17/2013 11 Chương 2: Cấu trúc hệ điều hành • Giao diện người dùng đồ họa (Desktop): thân thiện, dễ sử dụng o Mouse, keyboard, monitor o Icons hiển thị file, chương trình, thao tác,… o Các sự kiện chuột trên những đối tượng khác nhau trên giao diện là cơ sở cho các thao tác khác nhau o Phát minh tại Xerox PARC • Nhiều hệ thống ngày nay có cả CLI và GUI: o Microsoft Windows o Apple Mac OS X o Unix và Linux GUI (CDE, KDE, GNOME), CLI (BASH SHELL, C SHELL, …) 8/17/2013 12 Chương 2: Cấu trúc hệ điều hành • Giao diện màn hình cảm ứng: o Không sử dụng chuột o Các thao tác dựa trên cử chỉ o Dùng bàn phím ảo 8/17/2013 13 Chương 2: Cấu trúc hệ điều hành • Lời gọi hệ thống (System call) là giao diện lập trình để sử dụng các dịch vụ được cung cấp bởi hệ điều hành • Thường được viết bằng ngôn ngữ cấp cao (C, C++) • Hầu hết các chương trình sử dụng system call thông qua một giao diện lập trình ứng dụng ở mức cao (API) hơn là dùng trực tiếp • 3 API phổ biến nhất: o Windows API (HĐH Windows) o POSIX API cho POSIX-based systems (tất cả các phiên bản của UNIX, Linux, Mac OS X) o Java API cho Java virtual machine (JVM) 8/17/2013 15 Chương 2: Cấu trúc hệ điều hành • Sử dụng system call để sao chép tuần tự nội dung một file vào một file khác: 8/17/2013 16 Chương 2: Cấu trúc hệ điều hành • Giao diện lời gọi hệ thống (System-call interface): cung cấp giao diện trực tiếp đến các lời gọi hệ thống bên trong nhân => bắt các lời gọi hàm trong API và gọi các lời gọi hệ thống cần thiết • Thông thường, mỗi system call sẽ được kết hợp với một số o Giao diện lời gọi hệ thống duy trì một bảng được lặp chỉ mục theo các số này • Giao diện lời gọi hệ thống gọi system call được chỉ định trong nhân HĐH (OS kernel) và trả về trạng thái + giá trị (nếu có) của lời gọi hệ th ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Hệ điều hành Hệ điều hành Cấu trúc hệ điều hành Dịch vụ của hệ điều hành Lời gọi hệ thống Chương trình hệ thống Cài đặt hệ điều hànhGợi ý tài liệu liên quan:
-
Giáo trình Lý thuyết hệ điều hành: Phần 1 - Nguyễn Kim Tuấn
110 trang 451 0 0 -
Lecture Operating systems: Lesson 24 - Dr. Syed Mansoor Sarwar
29 trang 383 0 0 -
Lecture Operating systems: Lesson 21 - Dr. Syed Mansoor Sarwar
22 trang 330 0 0 -
173 trang 274 2 0
-
175 trang 271 0 0
-
Lecture Operating systems: Lesson 13 - Dr. Syed Mansoor Sarwar
31 trang 271 0 0 -
Giáo trình Nguyên lý các hệ điều hành: Phần 2
88 trang 270 0 0 -
70 trang 250 1 0
-
Giáo trình Nguyên lý hệ điều hành (In lần thứ ba): Phần 1 - PGS.TS. Hà Quang Thụy
98 trang 247 0 0 -
Đề tài nguyên lý hệ điều hành: Nghiên cứu tìm hiểu về bộ nhớ ngoài trong hệ điều hành Linux
19 trang 244 0 0