OS = Kernel + System processes
- Kernel đươc bảo vệ
- Đa nhiệ m
- Kernel chịu trá ch nhiệ m phân chia thơi gian sư
dụ ng CPU, Giao tiế p giưa các tiến trì nh
Chỉ có 2 mưc kernel/non-kernel =>kernel lơn,
thiế u tin cậ y như trư ơ c
Định nghĩa cưng các giao tiế p vơi ưng dụng
trong kernel
- Ví dụ : Windows NT
6 trang |
Chia sẻ: thienmai908 | Lượt xem: 1268 | Lượt tải: 0
Nội dung tài liệu Hệ điều hành nâng cao, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
11
HỆ ĐIỀU HÀNH NÂNG CAO
Trường Đại Học Lạc Hồng
Khoa Công nghệ Thông tin
Phạm Đức Thành
2
Mục tiêu
Kết quảmong đợi vềlýthuyết :
Hiểu đư ợc cách thư ùc Hệđiều hành làm việc
Nắm đư ợc các nguyên lýthiết kếHệđiều hành
Biết đư ợc một sốcơ chế, chiến lư ợc cơ bản đểgiải
quyết các nhiệm vụcủa Hệđiều hành
Kết quảcần đạt đư ợc vềthư ïc hành
Vận dụng đư ợc các kiến thư ùc lýthuyết đểcài đặt giả
lặp một sốmodule của Hệđiều hành
Sư ûdụng đư ợc các cơ chếhỗtrợcủa một Hệđiều
hành cụthể(Windows NT) đểgiải quyết các bài toán
cơ bản.
3
Kiến thức yêu cầu
Kiến trúc Máy tính
Hệđiều hành cơ bản
Lập trình C/C++
4
Tính điểm
60% Lýthuyết + 40% Thư ïc hành (báo cáo &
chư ơng trình)
Lýthuyết :
Một bài thi cuối khoá(không sư ûdụng tài liệu)
Thư ïc hành: mỗi nhóm làm 2 bài tập
Viết một báo cáo thu hoạch vàchư ơng trình đi kèm.
Mỗi nhóm thư ïc hành gồm 2 sinh viên
Bắt buộc cónộp bài báo cáo thư ïc hành mới đư ợc
thi lýthuyết
25
Tài liệu tham khảo
Trần Hạnh Nhi: Giáo trình Hệđiều hành Nâng cao
A.Silberschatz & P/Galvin: OS concepts (5e)
W. Stallings: Operating Systems
A.Tanenbaum et al: OS Design and Implementation
R.Finkel: An OS vade mecum
Jeffrey Richter: Advanced Windows
Tiến Huy- Đan Thư- Hạnh Nhi: Kỹthuật lập trình trên
Windows NT
Nguyễn Văn Hoàng – Nhóm Elicom: Tư ïhọc visual C++
trong 21 ngày
6
Nội dung
Chư ơng 1 : Tổchư ùc Hệđiều hành
Chư ơng 2 : Quản lýtiến trình
Chư ơng 3 : Liên lạc giư õa các tiến trình
Chư ơng 4 : Quản lýbộnhớchính
Chư ơng 5 : An toàn hệthống
7
Bài giảng 1 : Giới thiệu
Tại sao phải tìm hiểu vềHệđiều hành ?
Hệđiều hành làgì ?
Vai tròtrong hệthống ?
Chư ùc năng ?
Kiến trúc ?
Các nguyên lýthiết kếHệđiều hành
8
Tại sao cần tìm hiểu Hệ điều hành ?
Đểphávỡsư ï“bí ẩn” của hệthống :
Tại sao máy tính cóthể“biết” đư ợc nội dung đĩa ?
Tại sao cóthểvư øa soạn thảo, vư øa nghe nhạc trên cùng 1 máy
tính (có1 CPU ?)
Tại sao 1 ư ùng dụng kích thư ớc 1 M cóthểhoạt động trên
Windows màbịbáo “Not enough memory” trên DOS ?
Đểkhai thác tốt hơn môi trư ờng làm việc :
Lập trình trên môi trư ờng đa nhiệm (multitask), đa xư û
lý(multiprocessing) với các môhình multiprocess, multithreads..
Sư ûdụng bộnhớhiệu quả
sư ûdụng các cơ chếThông tin liên lạc, an toàn & bảo mật…
Vì làmôn học bắt buộc
39
Hệ điều hành, anh là ai ?
Ư ùng dụng
Hệđiều hành
Phần cư ùng
Giao diện ảo
Giao diện vật lý
10
Chức năng của Hệ điều hành
Quản trịtài nguyên (resource principle) :
Tài nguyên : CPU, Mem, IO; Files, ports, mailboxes…
Đối tư ợng sư ûdụng tài nguyên : Process, Thread
Nhiệm vụ: Cung cấp các giải thuật cấp phát, quản lýtài
nguyên.cho các đối tư ợng hoạt động trong hệthống
Mục tiêu : Cấp phát đầy đủ, công bằng R cho Ps; Sư ûdụng hiệu
quảRs, Nâng cao thông lư ợng Ps…
Trư øu tư ợng hoáhệthống (beautification principle)
Nhiệm vụ: Cung cấp các giải thuật đểche dấu chi tiết phần
cư ùng, tạo 1 môi trư ờng dễlàm việc hơn (hope) cho user
Mục tiêu : tạo môi trư ờng an toàn, tạo sư ïtrư øu tư ợng hoá, độc
lập thiết bị
Ví dụ: device driver
11
Các thành phần
Quản lýtiến trình
Quản lýbộnhớchính
Quản lýnhập xuất
Quản lýbộnhớphụ
Hệthống tập tin
Hệthống bảo vệ
Giao tiếp mạngBộthông dịch lệnh
12
Kiến trúc Hệ điều hành
Đơn giản (Monolithic)
Hạt nhân (Kernel)
Phân lớp (Layered)
Máy ảo (Virtual Machine)
Hư ớng đối tư ợng (OOOS)
Exokernel
413
Monolithic
14
Monolithic
OS = Thư viện tiện ích
Có thể tổ chư ùc thành nhiều module : CPU
scheduling, Mem Management, Device
management… như ng chỉ có 1 trong như õng
module này hoạt động tại một thời điểm
Đơn nhiệm
Quyền điều khiển đư ợc chuyển đổi thông qua lời
gọi hàm
Khi tầm vóc phát triển hệthống trởnên thiếu tin
cậy.
Ví dụ: MS-DOS, Ultrix (mature Unix)
15
Kernel
16
Kernel
OS = Kernel + System processes
Kernel đư ợc bảo vệ
Đa nhiệm
Kernel chịu trách nhiệm phân chia thời gian sư û
dụng CPU, Giao tiếp giư õa các tiến trình
Chỉ có 2 mư ùc kernel/non-kernel =>kernel lớn,
thiếu tin cậy như trư ớc
Định nghĩa cư ùng các giao tiếp với ư ùng dụng
trong kernel
Ví dụ: Windows NT
517
Layered
18
Layered
OS = các lớp trư øu tư ợng hoámột tác vụquản lý
Lớp trên đư ợc sư ûdụng các hàm xư ûlý tài nguyên
thuộc tác vụdo lớp dư ới cung cấp
Khóxác định đư ợc các lớp xư û lýrạch ròi, thư ùtư ï
lớp ?
Tạo tiến trình -> PM gọi MM
Bộnhớđầy -> MM gọi PM
Xếp lớp theo hàm xư ûlý, thay vì tác vụ
Seg management- P scheduling- Seg creation- P
creation
Ví dụ: THE , MULTICS
19
Virtual Machine
20
Virtual Machine
OS = Virtualizing kernel + virtual machines
Virtual machine = physical hardware
Virtualizing kernel tạo ra nhiều VM trên 1 máy tính.
Process interface = hardware interface
Ư u điểm :
Môi trư ờng thuận lợi cho sư ïtư ơng thích (compatibility)
Tăng tính an toàn hệthống do cung cấp các VM độc lập.
Dểphát triển các HDH đơn nhiệm cho mỗi VM
Khuyết điểm:
Phư ùc tạp cho việc giảlặp (transput, add translation… )
Ví dụ : CMS(conversational Monitor System) trên
VM/370 (hỗtrợhardware)
621
OOOS
OS = tập các đối tư ợng
Tiến trình, tập tin, hàm, khối nhớ…
Một hàm xư û lý (kernel/non-kernel mode) thao
tác trên một tập các đối tư ợng.
Che dấu thông tin
Ví dụ:CAP, StarOS, iMAX432
22
Exokernel
23
Exokernel
Hư ớng đến một HDH linh đông trong giao tiếp
với ư ùng dụng, cho phép ư ùng dụng chuyên biệt
hoáhệđiều hành theo nhu cầu đặc thùmột cách
dễdàng
OS = Exokernel + Library OS
Ư ùng dụng có thểphát triển các môhình tổchư ùc
VM, IPC theo nhu cầu riêng
Ví dụ: ýtư ởng của project do Dawson R Engler
et al phát triển tại MIT
Các file đính kèm theo tài liệu này:
- Bai01.pdf