Title: H?
1H? Ði?u Hành(Operating Systems)
Ð?a ch? liên l?c Nguy?n Phan Trung Khoa
CNTT Email trungngph_at_yahoo.com.sg
2Thông tin v? môn hoc
- Sách tham kh?o
- Operating System Concepts, Silberschatz et at.
6thEd, 2003 - An Introduction to Operating Systems Harvay M.
Deitel. 1990. - Ðánh giá
- - 30 di?m bài t?p l?n v? nhà(10/10) N?p tru?c
khi thi ch?m nh?t là 1 tu?n - - 70 thi tr?c nghi?m cu?i h?c k? (10/10)
3N?i dung môn H? Ði?u Hành
- Chuong 1 T?ng quan v? H? Ði?u Hành
- Chuong 2 Khái ni?m v? quá trình(process)
- Chuong 3 Qu?n lý các quá trình d?ng th?i
- Chuong 4 t?c ngh?n (Deadlock)
- Chuong 5 Ð?nh th?i bi?u cho quá trình
- Chuong 6 Phân c?p b? nh? - B? nh? th?c
- Chuong 7 B? nh? ?o
- Chuong 8 H? th?ng I/O
- Chuong 9 H? th?ng file
- Ôn t?p
4(No Transcript)
5Chuong 1 H? Ði?u Hành
- Sau khi d?c xong chuong này và hoàn thành h?t các
bài t?p b?n s? có th? - Hi?u nguyên lý ho?t d?ng c?a h? di?u hành
- Mô t? các lo?i h? di?u hành
- Hi?u du?c l?ch s? phát tri?n c?a h? di?u hành
6Chuong 1 H? Ði?u Hành
- Sau khi d?c xong chuong này và hoàn thành h?t các
bài t?p b?n s? có th? - Th?o lu?n v? ch? d? don nhi?m và ch? d? da nhi?m
- Phân bi?t s? khác nhau gi?a h? di?u hành m?t
ngu?i dùng và h? di?u hành nhi?u ngu?i dùng. - Li?t kê và miêu t? m?t cách ng?n g?n các h? di?u
hành hi?n nay
7Chuong 1 H? Ði?u Hành
- Gi?i thi?u t?ng quan
- Ð?nh nghia H? Ði?u Hành (Operating System)
- Các thành ph?n c?a h? th?ng máy tính
- Các ch?c nang chính c?a OS
- Quá trinh phát tri?n c?a H? Ði?u Hành
- Mainframe Systems
- Desktop Systems
- Multiprocessor Systems
- Distributed Systems
- Realtime Systems
- Handheld Systems
8GI?I THI?U T?NG QUAN
9Các nhi?m v? chung c?a t?t c? các os
10Các thành ph?n h? th?ng
- Ph?n c?ng (Hardware)
- Bao g?m các tài nguyên co b?n c?a máy tính nhu
- Processor CPU
- Registers (address, data, control)
- Instruction cycle (fetch, decode, execute)
- Interrupts
- Usually includes hardware and special instruction
to help the O.S manage memory, devices,etc, - Memory B? nh?
- Diifferent levels (cache, main memory, disk)
- các thi?t b? I/O,
- Usually use interupts, DMA
- OS usually controls use of I/O devices
- H? di?u hành (Operating System)
- Phân ph?i tài nguyên, di?u khi?n và ph?i h?p các
ho?t d?ng c?a các chuong trình trong h? th?ng - Chuong trình ?ng d?ng (applications programs)
- s? d?ng tài nguyên h? th?ng d? gi?i quy?t m?t v?n
d? tính toán nào dó c?a ngu?i s? d?ng ( ví d?
compilers, database systems, video games,
business progams). - Các users s? d?ng h? th?ng
- Con ngu?i, máy móc, h? th?ng máy tính khác,
11CÁC THÀNH PH?N C?A H? TH?NG
12Các ch?c nang chính c?a OS
- Phân chia th?i gian x? lý và d?nh th?i CPU
- Ph?i h?p và d?ng b? ho?t d?ng gi?a các processes
(coordination synchronization) - Qu?n lý tài nguyên h? th?ng (I/O,b? nh?, file
ch?a d? li?u, ) - Th?c hi?n và ki?m soát access, protection
- Duy trì nh?t quán (integrity) c?a h? th?ng, ki?m
soát l?i và ph?c h?i h? th?ng khi có l?i (error
recovery) - Cung c?p giao di?n làm vi?c cho users
13T?i sao ph?i nghiên c?u Os
- Thi?t k? Os là m?t case study r?t t?t v? thi?t k?
công ngh? ph?n m?m (software engineering design) - The better you know the Os, the better apps you
write. The better you understand its bugs and
work around them. - Os s? d?ng các thu?t gi?i ph?c t?p, r?t nhi?u
trong dó có th? du?c s? d?ng l?i trong các ph?n
m?m khác. Vd phát hi?n khóa ch?t( deadlock
detection). - Os c?n có su phát tri?n nhanh c?a ph?n c?ng.
14Quá trình phát tri?n OS
- Mainframe Systems
- Batch systems
- Multi-programmed systems
- Time-sharing systems
15Mainframe Systems
- Batch System
- Là Os so khai nh?t ch? có Resident Monitor, trong
dó chuá các ph?n di?u khi?n quá trình x? lý, tính
toán nhu Loader, job sequencing, control card
interpreter, device driver - C?n có ngu?i v?n hành operator (user ?
operator), gi?m setup time -gt ghép nhóm công vi?c
(battching jobs) ví d? ghép 2 công vi?c cùng
dùng trình biên d?ch Fortran, -gt ti?t ki?m du?c
th?i gian load trình biên d?ch Fortral.
16UNIVAC mainframe system
17FACOM mainframe
18T? ch?c b? nh? c?a Simple BatchMainframe Systems
19Quá trình phát tri?n OS (t.t)
- Multi-programmed System
- Multiprogramming làm tang hi?u nang c?a CPU b?ng
cách t? ch?c các công vi?c d? CPU luôn có 1 công
vi?c c?n th?c hi?n. - Các công vi?c dó du?c luu trong b? nh? chính t?i
cùng m?t th?i di?m và CPU là da nhi?m gi?a chúng - Khi m?t công vi?c ph?i d?i tác v? nào dó, vd d?i
h?at d?ng I/O. Os s? chuy?n CPU cho m?t công vi?c
khác. - Yêu c?u d?i v?i OS trong Multi-programmed System
- Job Scheduling
- Memory management
- CPU scheduling
- Allocation of devices
- protection
20T? ch?c b? nh? c?a Multiprogrammed Batch System
21Quá trình phát tri?n Os
22Quá trình phát tri?n OS (t.t)
- Time-Sharing Systems
- Multi-programmed systems không cung c?p kh? nang
tuong tác users - CPU luân phiên chuy?n d?i th?c thi gi?a các công
vi?c nhuhg s? chuy?n d?i x?y ra r?t thu?ng xuyên
d? các user có th? tuong tác v?i m?i chuong trình
dang ch?y và có c?m giác là tòan b? h? th?ng dang
du?c dành riêng cho mình - Cung c?p s? tuong tác gi?a h? th?ng v?i user
- Khi k?t thúc th?c thi m?t l?nh, OS s? tìm câu
l?nh di?u khi?n (control statement) ti?p theo t?
keyboard or mouse ch? không ph?i t? card reader - M?t công vi?c ch? du?c chi?m CPU d? x? lý khi nó
n?m trong b? nh? chính - Khi c?n thi?t, m?t công vi?c nào dó có th? du?c
chuy?n t? b? nh? chính ra thi?t b? luu tr?,
nhu?ng b? nh? chính cho công vi?c khác.
23Time-Sharing System
- Os s? d?ng CPU scheduling và multiprogramming d?
cung c?p cho m?i user m?t ph?n nh? tài nguyên c?a
máy tính - Multiprogramming và time shsring v?n dóng vai trò
ch? d?o trong các OS hi?n nay
24Time-Sharing System(t.t)
- Yêu c?u d?i v?i OS trong Time-Sharing Systems
- Ð?nh th?i công vi?c (job scheduling)
- Qu?n lý b? nh? (Memory Management)
- Các công vi?c du?c hoán chuy?n gi?a b? nh? chính
và dia - Virtual memory cho phép m?t công vi?c có th?
du?c th?c thi mà không c?n ph?i n?p hoàn toàn vào
b? nh? chính - Qu?n lý các process (Process Management)
- Ð?nh th?i CPU (CPU scheduling)
- Ð?ng b? các công vi?c (synchronization)
- Tuong tác gi?a các công vi?c ( process
communication) - Tránh Deadlock
- Qu?n lý h? th?ng file, h? th?ng luu tr? (disk
management) - Phân b? các thi?t b? tài nguyên
- Co ch? b?o v? (protection)
25IBM 360_67 time-sharing system
26Quá trình phát tri?n OS (t.t)
- Desktop System (Personal Computer)
- Ðu?c thi?t k? dành cho user don.
- Có s? thu?n ti?n và d? di?u khi?n d?i v?i user
- M?c tiêu chính c?a các h? th?ng PC là hu?ng d?n
s? ti?n l?i (convinience) cho user và kh? nang
dáp ?ng (reponsiveness) cao - Có nhi?u thi?t bi I/O nhu keyboards, mouse, màn
hình, máy in - Có th? ?ng d?ng các k? th?ât du?c phát tr??n cho
các Os l?n hon - Thu?ng m?i ngu?i s? h?u m?t máy tính do dó không
yêu c?u cao c?p v? b?o m?t và t?i uu hi?u su?t
CPU nhu các h? th?ng khác. - Có th? v?n hành nhi?u h? di?u hành khác nhau
(Windows, MacOS, Solaris, Linux,)
27Destop system
28Quá trình phát tri?n OS (t.t)
- H? th?ng da x? lý (multiprocessor systems) còn
g?i là h? th?ng song song (Parallel Systems) - h? th?ng có nhi?u hon m?t CPU và du?c k?t n?i
ch?t ( tightly coupled) i.e. các processor chia
s? b? nh? chung và m?t clock, s? giao ti?p thu?ng
xuyên di?n ra qua b? nh? chung. - Uu di?m
- Tang thông lu?ng (system throughput)- M?c tang
t? l? thu?n N processor, t?c d? tang N l?n - Ti?t ki?m (th?i gian, tài ngyên) các tài nguyên
ph? thu?c và chia s? - Tang d? tin c?y trong m?t s? tru?ng h?p
29Parallel Systems (t.t)
- Symmetric multiprocessing (SMP)
- Các processor v?n hành cùng m?t h? di?u hành duy
nh?t - Nhi?u ?ng d?ng th?c thi cùng lúc v?i hi?u su?t
(performance) cao - Ða s? các h? di?u hành h? tr? SMP
- Asymmetric multiprocessing
- M?i processor th?c thi m?t công vi?c khác nhau,
master processor d?nh th?i và phân cong vi?c cho
các slave processor
30Ki?n trúc da x? lý d?i x?ng
31fujGS8400 multi-processor
32Quá trình phát tri?n OS (t.t)
- H? th?ng phân b? (Distributed Systems)
- Phân b? công vi?c trên nhi?u processors
- loosely coupled system (H? th?ng du?c k?t n?i
l?ng). M?i processor có b? nh? riêng nó (local
memory), các processor giao ti?p v?i các
processor khác qua các kênh n?i nhu bus t?c d?
cao , du?ng di?n tho?i. internet Trong góc nhìn
c?a user, OS du?c v?n hành b?i m?t h? di?u hành
duy nh?t - Uu di?m
- Cho phép chia s? tài nguyên (resource sharing)
- Chia s? công vi?c tính toán ( computational
sharing) - d? tin c?y cao (high reliability) nh? s? backup
data m?t cách tuy?t d?i - Khuy?t di?m
- Khó qu?n lý hon paralellet systems network
failures, node failures, chi phí v?n chuy?n data
l?n
33Distributed Systems (ti?p)
- Yêu c?u co s? h? t?ng m?ng máy tính
- Local area network (LAN)
- Wide area network (WAN)
- D?a trên mô hình
- client-server
- ho?c peer-to-peer.
34C?u trúc client-Server
35C?u trúc Peer-to-Peer
36Quá trình phát tri?n OS (t.t)
- H? th?ng th?i gian th?c (Real-Time systems)
- Thu?ng dùng trong các thi?t b? chuyên d?ng nhu
di?u khi?n các thí nghiêm khoa h?c, các h? th?ng
x? lý ?nh trong y khoa, h? th?ng di?u khi?n công
nghi?p và m?t s? h? th?ng hi?n th? khác. - Có nh?ng ràng bu?c th?i gian c? d?nh (fixed-time)
m?t cách rõ ràng - Real-Time systems có th? là hard ho?c soft
real-time
37Real-Time Systems
- Hard real-time
- H?n ch? ho?c không có b? nh? ph?, t?t c? d? li?u
n?m trong b? nh? chính RAM ho?c ROM - Yêu c?u th?i gian dáp ?ng, x? lý r?t nghiêm ng?t,
thu?ng s? d?ng trong di?u khi?n công nghi?p, công
ngh? robotics - Trái ngu?c v?i time-sharing systems, không du?c
h? tr? b?i các HÐH da nang. - Soft real-time
- Ti?n ích h?n ch? trong công nghi?p di?u khi?n
robot - H?u d?ng trong linh v?c multimedia, th?c t? ?o
(virtual reality) v?i yêu c?u m?m d?o hon v? th?i
gian
38Realtime system
39Handheld Systems
- Personal Digital Assistants (PDAs), Mobile Phone
- Cellular telephones
- Các h?n ch?
- b? nh? có dung lu?ng nh?
- T?c d? processor không cao ( vì ph?i tiêu th? ít
nang lu?ng) - Màn hình hi?n th? có kích thu?c nh?, d? phân gi?i
th?p - Portability, convenience
40Ex Handheld Systems
41Gaming system
42Ex Gaming system
43Câu h?i và bài t?p v? nhà
- Ba m?c dích chính c?a H? di?u Hành là gì?
- Li?t kê các thành ph?n c?a t? ch?c máy tính?
- L?i ích chính c?a H? di?u Hành da chuong là cái
gí? - Khác bi?t chính c?a máy tính mainframe và máy
tính PC là cái gì? - Phân bi?t k?t n?i l?ng và k?t n?i ch?t (cung nhu
gi?a multiprocessor và distributed system)