Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 45 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
45
Dung lượng
5,77 MB
Nội dung
Khoa Công Nghệ Thông Tin & Truyền Thông Đại học Cần Thơ Giảng viên: Hà Duy An Các dịch vụ 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ế cài đặt Cấu trúc hệ điều hành 8/17/2013 Chương 2: Cấu trúc hệ điều hành tai nguyen phân bô 8/17/2013 Chương 2: Cấu trúc hệ điều hành • HĐH cung cấp môi trường cho chương trình thực thi dịch vụ cho chương trình người dùng • Các dịch vụ cung cấp tính hữu ích với người dùng: o User interface (UI) - Hầu hết tất hệ điều hành điều có 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 nhớ, thực thi kết thúc o I/O operations – chương trình người dùng thực trực tiếp thao tác I/O, HĐH phải cung cấp phương tiện để thực thao tác I/O (file đĩa hay thiết bị I/O khác) o File-sytem manipulation – cung cấp phương tiện để chương trình đọc, ghi, tạo, xóa, liệt kê, tìm kiếm, quản lý quyền truy cập tập tin/thư mục 8/17/2013 Chương 2: Cấu trúc hệ điều hành • Communications – tiến trình trao đổi thông tin với máy tính hay máy tính thông qua mạng o Việc giao tiếp qua nhớ chia (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 xác HĐH cần phát lỗi xảy hệ thống o Có thể tồn CPU, memory, I/O devices, user program o Với loại lỗi, HĐH cần có chế thích hợp để đảm bảo việc tính toán xác quán 8/17/2013 Chương 2: Cấu trúc hệ điều hành • Các dịch vụ đảm bảo hoạt động hiệu hệ thống với chế chia tài nguyên o Resource allocation – có nhiều người dùng hay nhiều công việc thực thi đồng thời, nguồn tài nguyên phải cấp phát cho công việc • Có nhiều loại tài tài nguyên – vài loại có mã cấp phát riêng biệt (CPU cycles, main memory, file storage), loại khác có mã yêu cầu giải phóng tài nguyên chung (I/O devices) o Accounting - theo dõi ghi lại thông tin sử dụng tài nguyên người dùng để làm sở tính tiền sử dụng hệ thống thống kê sử dụng 8/17/2013 Chương 2: Cấu trúc hệ điều hành • Protection and security – đảm bảo tất truy cập đến hệ thống kiểm soát o Protection: đảm bảo tất truy cập đến nguồn tài nguyên hệ thống điều kiểm soát o Security: đảm bảo an toàn cho hệ thống từ truy cập bên o Để đảm bảo an toàn, phòng ngừa phải thực toàn hệ thống 8/17/2013 Chương 2: Cấu trúc hệ điều hành • CLI hay command interpreter cho phép nhập câu lệnh trực tiếp o Có thể cài đặt nhân hay chương trình hệ thống (system program) o Một hệ thống cài đặt nhiều CLI – shells • Các CLI cung cấp bên thứ o Chức lấy lệnh từ người dùng thực thi o Các lệnh shell cài đặt: • Shell chứa mã thực thi lệnh người dùng • Shell thực thi lệnh người dùng cách gọi chương trình bên => chương trình CLI nhỏ, việc cập nhật 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 33 8/17/2013 Chương 2: Cấu trúc hệ điều hành • Có nhiều hướng tiếp cận • Cấu trúc bên HĐH khác • Bắt đầu việc xác định mục tiêu đặt tả kỹ thuật o Phần cứng, kiểu hệ thống (batch, time sharing, single user, multiuser, distributed, real time, or general purpose) • Mục tiêu người dùng mục tiêu hệ thống: o Mục tiêu người dùng: HĐH cần tiện dụng, dễ học, đáng tin cậy, an toàn nhanh o Mục tiêu hệ thống: HĐH cần dễ thiết kế, cài đặt bảo trì, linh hoạt, tin cậy, không lỗi hiệu 8/17/2013 34 Chương 2: Cấu trúc hệ điều hành • Nguyên tắt quan trọng: phân chia sách (policy) chế (Mechanism) o Chính sách : làm? o Cơ chế : làm nào? • Đây nguyên tắt quan trọng cho phép hệ thống có khả linh hoạt cao sách bị thay đổi sau 8/17/2013 35 Chương 2: Cấu trúc hệ điều hành • Ngôn ngữ sử dụng: o Hợp ngữ o Các ngôn ngữ lập trình hệ thống Algol, PL/1 o C, C++ • Thực tế thường kết hợp nhiều ngôn ngữ: o Mức thấp: hợp ngữ o Phần chính: C o Các chương trình hệ thống: C, C++, scripting languages (PERL, Python, shell scripts) • Việc dùng ngôn ngữ cấp cao cho phép HĐH dễ thực thi phần cứng khác chậm 8/17/2013 36 Chương 2: Cấu trúc hệ điều hành Các hệ điều hành đa mục đích lớn phức tạp Các thành phần cần bố trí cẩn thận => đảm bảo chức dễ bổ xung sửa đổi 37 8/17/2013 Chương 2: Cấu trúc hệ điều hành • MS-DOS – viết để cung cấp nhiều chức với dung lượng nhỏ o Không chia thành modules o Mặc dù MS-DOS tổ chức có cấu trúc, mức chức giao diện chúng không tách biệt rõ ràng 8/17/2013 38 Chương 2: Cấu trúc hệ điều hành • UNIX – bị giới hạn phần cứng, hệ điều hành UNIX khởi đầu có cấu trúc giới hạn Gồm phần riêng biệt: o Các chương trình hệ thống o Nhân (kernel) • Bao gồm tất bên giao diện lời gọi hệ thống bên phần cứng • Cung cấp hệ thống quản lý tập tin, định thời CPU, quản lý nhớ, chức khác HĐH => lượng lớn chức mức 8/17/2013 39 Chương 2: Cấu trúc hệ điều hành • Có cấu trúc giống với cấu trúc phân tầng 8/17/2013 40 Chương 2: Cấu trúc hệ điều hành • HĐH chia thành số tầng (mức), tầng xây dựng tảng tầng khác thấp Tầng thấp (layer 0) tầng vật lý, tầng cao (layer N) giao diện người dùng • Sự phân chia chức thực cho tầng sử dụng chức dịch vụ cung cấp tầng mức thấp 8/17/2013 41 Chương 2: Cấu trúc hệ điều hành • Di chuyển nhiều chức từ nhân lên mức người dùng, giữ lại phần yếu: quản lý trình, nhớ, giao tiếp trình → nhân nhỏ • Giao tiếp trình người dùng thực chế chuyển thông điệp gián tiếp thông qua nhân • Lợi ích: o Dễ dàng mở rộng HĐH dịch vụ mới, đưa vào không gian người dùng o Dễ dàng chuyển đổi HĐH sang kiến trúc nhân nhỏ o Tin cậy an toàn (ít mã lệnh chạy mức nhân hơn) • Nhược điểm: o Chi phí cho việc giao tiếp tiến trình không gian người dùng nhân 8/17/2013 42 Chương 2: Cấu trúc hệ điều hành Application Program File System messages Interprocess Communication Device Driver user mode messages memory managment CPU scheduling kernel mode microkernel hardware 8/17/2013 43 Chương 2: Cấu trúc hệ điều hành • Hầu hết HĐH dùng loadable kernel module o o o o Dùng tiếp cận hướng đối tượng Các thành phần lõi tách Giao tiếp với thông qua interface Được nạp vào nhân cần thiết • Nhìn chung gần giống với kiến trúc phân tầng linh hoạt o Linux, Solaris, Mac OS X, Windows, … 8/17/2013 44 Chương 2: Cấu trúc hệ điều hành 8/17/2013 45 Chương 2: Cấu trúc hệ điều hành • Hầu hết hệ điều hành không thật dùng kiểu cấu trúc đơn o Kết hợp nhiều hướng tiếp cận nhằm đạt hiệu suất, độ an toàn, khả linh hoạt cao 8/17/2013 46 Chương 2: Cấu trúc hệ điều hành [...]... and detach remote devices 8/17 /20 13 24 Chương 2: Cấu trúc hệ điều hành • Protection o Control access to resources o Get and set permissions o Allow and deny user access 8/17 /20 13 25 Chương 2: Cấu trúc hệ điều hành 8/17 /20 13 26 Chương 2: Cấu trúc hệ điều hành • Các chương trình hệ thống (System Programs) cung cấp một môi trường thuận lợi cho việc phát triển và thực thi chương trình Nó có thể đơn giản... chậm hơn 8/17 /20 13 36 Chương 2: Cấu trúc hệ điều hành Các hệ điều hành đa mục đích rất lớn và phức tạp Các thành phần cần được bố trí cẩn thận => đảm bảo các chức năng và dễ bổ xung sửa đổi 37 8/17 /20 13 Chương 2: Cấu trúc hệ điều hành • MS-DOS – được viết để cung cấp nhiều chức năng nhất với dung lượng nhỏ nhất o Không được chia thành các modules o Mặc dù MS-DOS được tổ chức có cấu trúc, nhưng các... SHELL, C SHELL, …) 8/17 /20 13 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 /20 13 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... chương trình thực thi đến khi hệ thống shutdown o Chạy trong chế độ người dùng o Được biết như là services, subsystems, daemons 8/17 /20 13 32 Chương 2: Cấu trúc hệ điều hành 33 8/17 /20 13 Chương 2: Cấu trúc hệ điều hành • Có nhiều hướng tiếp cận • Cấu trúc bên trong các HĐH có thể rất khác nhau • Bắt đầu bằng việc xác định các mục tiêu và đặt tả kỹ thuật o Phần cứng, kiểu hệ thống (batch, time sharing,... 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 /20 13 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 /20 13 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... tham số vào thanh ghi (Linux, Solaris) o Dùng stack: các tham số được đặt (pushed) vào stack bởi chương trình và lấy ra bởi HĐH o Phương pháp dùng block hay stack không giới hạn số lượng hay chiều dài của tham số cần truyền 8/17 /20 13 20 Chương 2: Cấu trúc hệ điều hành 8/17 /20 13 21 Chương 2: Cấu trúc hệ điều hành • Các System Call có thể được nhóm vào trong 6 loại chính: process control, file manipulation,... HĐH sẽ làm gì khi thực hiện một lời gọi o Hầu hết các chi tiết của giao diện HĐH ẩn với người lập trình bởi API 8/17 /20 13 18 Chương 2: Cấu trúc hệ điều hành 8/17 /20 13 19 Chương 2: Cấu trúc hệ điều hành • Thông thường, nhiều thông tin được yêu cầu hơn là chỉ có định danh của lời gọi hệ thống (kiểu, dữ liệu, tùy chọn) • Nhìn chung có 3 phương pháp để truyền tham số cho HĐH: o Đơn giản nhất: truyền qua... systems for higher-level and machine language • Communications – cung cấp cơ chế để tạo các kết nối ảo giữa các tiến trình, người dùng hay các hệ thống máy tính 8/17 /20 13 31 Chương 2: Cấu trúc hệ điều hành • Background Services: disk checking, error monitoring, network daemon o Khởi chạy vào thời gian hệ thống được khởi động • Vài chương trình dùng để khởi động hệ thống, sau đó kết thúc • Vài chương trình... nào? • Đây là nguyên tắt quan trọng cho phép hệ thống có khả năng linh hoạt cao khi các chính sách bị thay đổi sau đó 8/17 /20 13 35 Chương 2: Cấu trúc hệ điều hành • Ngôn ngữ sử dụng: o Hợp ngữ o Các ngôn ngữ lập trình hệ thống như Algol, PL/1 o C, C++ • Thực tế thường là sự kết hợp của nhiều ngôn ngữ: o Mức thấp: hợp ngữ o Phần chính: C o Các chương trình hệ thống: C, C++, scripting languages (PERL,... đến các lời gọi hệ thống hay phức tạp hơn Bao gồm: o o o o o o o File management Sua doi file Status information File modification Programming language support Program loading and execution Communications Background services • Hầu hết người dùng quan tâm đến các chương trình hệ thống được cung cấp kèm theo HĐH, mà không cần biết về system call 8/17 /20 13 29 Chương 2: Cấu trúc hệ điều hành • File management ... dịch vụ 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ế cài đặt Cấu trúc hệ điều hành 8/17/2013 Chương 2: Cấu trúc hệ điều hành tai nguyen phân bô 8/17/2013 Chương. .. lượng lớn chức mức 8/17/2013 39 Chương 2: Cấu trúc hệ điều hành • Có cấu trúc giống với cấu trúc phân tầng 8/17/2013 40 Chương 2: Cấu trúc hệ điều hành • HĐH chia thành số tầng (mức), tầng xây dựng... với kiến trúc phân tầng linh hoạt o Linux, Solaris, Mac OS X, Windows, … 8/17/2013 44 Chương 2: Cấu trúc hệ điều hành 8/17/2013 45 Chương 2: Cấu trúc hệ điều hành • Hầu hết hệ điều hành không