BÀI GIẢNG NGUYÊN LÝ HỆ ĐIỀU HÀNH

44 19 0
BÀI GIẢNG NGUYÊN LÝ 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

BÀI GIẢNG NGUYÊN LÝ HỆ ĐIỀU HÀNH Chư ng 2: Cấu trúc hệ điều hành Bộ môn Khoa học máy tính Khoa Cơng nghệ thơng tin Học viện Nơng nghiệp Việt Nam Nội dung chươ ng ■ Các dịch vụ HĐH ■ Giao diện người sử dụng HĐH ■ Lời gọi HĐH (System Calls) ■ Các chương trình hệ thống ■ Thiết kế thực thi HĐH ■ Cấu trúc HĐH ■ Virtual Machines ■ Tạo HĐH (Operating System Generation) 2.2 Mục tiêu ■ Mô tả dịch vụ mà HĐH cung cấp cho user, tiến trình hệ thống khác ■ Thảo luận cách xây dựng HĐH khác ■ Giải thích HĐH cài đặt khởi động 2.3 2.1 Các dịch vụ hệ điều hành Một tập dịch vụ HĐH cung cấp chức hữu dụng với user: ■ Giao diện người sử dụng (user interface, UI) – tất HĐH có giao diện người sử dụng ● Khác giao diện dòng lệnh (Command-Line, CLI), giao diện đồ họa (Graphics User Interface, GUI), Batch ■ Thực chương trình (Program execution) – khả hệ thống để nạp chương trình vào nhớ chạy nó, dừng chương trình (bình thường bất thường) ■ Thực vào-ra (I/O operations) – chương trình người sử dụng khơng thể thực trực tiếp hoạt động vào/ra, HĐH phải cung cấp số phương pháp để thực vào/ra (1 file thiết bị vào/ra) ■ Thao tác với hệ thống file (File-system manipulation) – chương trình cần đọc, ghi, tạo, xố, tìm kiếm, liệt kê thơng tin, quản lý quyền với file thư mục 2.4 Các dịch vụ hệ điều hành (tiếp) ■ Giao tiếp (Communications) – trao đổi thông tin tiến trình thực máy tính máy tính khác nối mạng ● Giao tiếp thơng qua nhớ chia sẻ (shared memory) chuyển thông điệp (message passing): gói tin chuyển HĐH ■ Phát lỗi (Error detection) – HĐH cần phải thường xuyên quan tâm đến lỗi xảy ● Có thể lỗi CPU nhớ, thiết bị vào-ra, chương trình người sử dụng ● Với loại lỗi, HĐH cần có hành động thích hợp để đảm bảo tính tốn phù hợp đắn ● Tính sửa lỗi tăng đáng kể khả sử dụng hiệu HĐH người sử dụng lập trình viên 2.5 Các dịch vụ hệ điều hành (tiếp) Có tập chức khác HĐH để đảm bảo hoạt động hiệu thơng qua chia sẻ tài nguyên: ■ Resource allocation – tài nguyên phải phân phối cho user/tiến trình chúng chạy đồng thời ● Có nhiều loại tài nguyên: số (như chu kỳ CPU, nhớ chính, file) có mã phân phối đặc biệt, số khác (như thiết bị vào/ra) có mã yêu cầu giải phóng chung ■ Accounting – theo dõi ghi lại loại tài nguyên lượng sử dụng (tài nguyên) user nhằm mục đích thống kê ■ Protection & Security – người chủ thông tin hệ thống máy tính nhiều người sử dụng nối mạng muốn kiểm sốt sử dụng thơng tin đó, tiến trình đồng thời khơng nên can thiệp lẫn ● Protection gồm đảm bảo tất truy nhập đến tài nguyên hệ thống kiểm soát ● Security hệ thống từ bên yêu cầu thẩm định người sử dụng, chống thiết bị vào/ra bên (modem, NIC) cố truy nhập không hợp lệ 2.6 2.2 Giao diện ngườ i sử dụng HĐH a) Command-Line Interpreter (CLI) CLI cho phép nhập lệnh trực tiếp để HĐH thực  Đôi CLI thực thi kernel, chương trình hệ thống  Đơi hệ thống có nhiều CLI – shells, vd: UNIX, LINUX  Chức tìm nạp lệnh từ người sử dụng thực – Đơi lệnh built-in, – Đôi tên chương trình (vd UNIX): » Vd lệnh rm file.txt » Nếu sau cần thêm lệnh khơng cần sửa đổi shell 2.7 Giao diện ngườ i sử dụng HĐH (tiếp) b) Graphical User Interface (GUI) ■ Giao diện desktop thân thiện ● Thường dùng chuột, bàn phím, hình ● Icons đại diện cho file, chương trình, hành động,… ● Các nút chuột khác đối tượng gây hành động khác (cung cấp thông tin, lựa chọn, thực chức năng, mở thư mục) ● Được phát minh Xerox PARC năm 1970 ■ Hiện nhiều HĐH bao gồm giao diện CLI GUI b) Microsoft Windows có GUI với CLI “command” shell c) Apple Mac OS X có giao diện GUI “Aqua” với UNIX kernel bên có shell d) Solaris CLI với giao diện GUI tùy chọn (Java Desktop, KDE) 2.8 2.3 System Calls ■ Cung cấp giao diện lập trình cho dịch vụ HĐH ■ Thường viết ngôn ngữ bậc cao (C, C++) ■ Hầu hết truy nhập chương trình thơng qua giao diện lập trình ứng dụng (Application Program Interface - API) bậc cao, sử dụng trực tiếp system call ■ Ba API phổ biến Win32 API cho Windows, POSIX API cho hệ thống POSIX (gồm hầu hết phiên UNIX, Linux, Mac OS X), Java API cho Java virtual machine (JVM) ■ Tại lại sử dụng API thay system call? (Chú ý: tên system-call sử dụng tổng quát) 2.9 Ví dụ System Call ■ Chuỗi system call để copy nội dung file tới file khác 2.10 ... tổng quát sử dụng để truyền tham số cho HĐH Đơn giản nhất: Truyền tham số ghi  Trong số trường hợp: số tham số nhiều số ghi Tham số chứa bảng nhớ, địa bảng truyền tham số ghi  Phương pháp sử dụng... Đẩy (push, store) tham số vào stack chương trình, lấy khỏi stack (pop) HĐH ● Các phương pháp dùng bảng stack không giới hạn số lượng hay độ dài tham số truyền 2.15 Truyền tham số thông qua Bảng... dung file tới file khác 2.10 Ví dụ API chuẩn ■ Xét hàm ReadFile() Win32 API – hàm đọc file ■ Các tham số truyền cho ReadFile() ● HANDLE file – file c ần đọc ● LPVOID buffer – buffer để li ệu đọc

Ngày đăng: 18/04/2022, 15:39

Từ khóa liên quan

Mục lục

  • BÀI GIẢNG NGUYÊN LÝ HỆ ĐIỀU HÀNH Chương 2: Cấu trúc hệ điều hành

  • Nội dung chương 2

  • Mục tiêu

  • 2.1. Các dịch vụ của hệ điều hành

  • Các dịch vụ của hệ điều hành (tiếp)

  • Slide 6

  • 2.2. Giao diện người sử dụng của HĐH

  • Giao diện người sử dụng của HĐH (tiếp)

  • 2.3. System Calls

  • Ví dụ các System Call

  • Ví dụ API chuẩn

  • Thực thi system call

  • Mối quan hệ API – System Call – HĐH

  • Ví dụ thư viện C chuẩn

  • Truyền tham số cho System Call

  • Truyền tham số thông qua Bảng

  • Các loại System Calls

  • Các loại System Calls (tiếp)

  • Slide 19

  • MS-DOS

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

  • Đang cập nhật ...

Tài liệu liên quan