Bài giảng hệ điều hành - chương 2 - cấu trúc hệ điều hành

45 367 0
Bài giảng hệ điều hành  - chương 2 - cấu trúc hệ điều hành

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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

Ngày đăng: 28/04/2016, 00:06

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan