ươCh ươ Ch T ng quan h đi u hành T ng quan h đi u hành
ng I: ng I: ệ ề ệ ề
ổ ổ
02/19/13
1
Vũ Đ c Lung ứ
ộ
ộN i dung N i dung
ổ
1. T ng quan 2. Phân lo i h đi u hành 3. L ch s phát tri n h đi u hành
ạ ệ ề ể
ệ ề
ử
ị
02/19/13
2
Vũ Đ c Lung ứ
1.1. T ng quan 1.1. T ng quan
ổ ổ
• Gi
ớ
ệ ề
i thi u ệ ị ấ
Đ nh nghĩa h đi u hành C u trúc h th ng máy tính ệ ố Các ch c năng chính c a h đi u hành
ệ ề
ứ
ủ
02/19/13
3
Vũ Đ c Lung ứ
ị
ịĐ nh nghĩa (tt) Đ nh nghĩa (tt)
• H đi u hành là gì?
Ngöôøi duøng
ng trình
ứ
Caùc öùng duïng
ệ ấ ầ
trung gian gi a ữ i ườ đi u ề ử ụ ứ và cung c p các ụ ơ ả cho các ng ứ ị
Heä Ñieàu Haønh
Phaàn cöùng
i dùng d dàng s ử ễ
ệ ề – Ch ươ ph n c ng máy tính và ng ầ s d ng, có ch c năng ứ ử ụ khi nể và ph i h p vi c s d ng ố ợ ph n c ng d ch v c b n d ng.ụ • M c tiêu ụ – Giúp ng ụ
d ng h th ng. ườ ệ ố
02/19/13
4
Vũ Đ c Lung ứ
– Qu n lý và c p phát tài nguyên h th ng m t cách hi u qu . ả ả ệ ố ấ ộ ệ
Đ nh nghĩa (tt)
ị
Application programs
Web browser
Banking system
Airline reservation
Compilers
Editors
Command interpreter
System programs
Operating system
Machine language
Hardware
Microprogramming
Physical devices
Hình cuûa Dror G. Feitelson
02/19/13
5
Vũ Đ c Lung ứ
Hình chính xác h nơ
C u trúc h th ng máy tính ệ ố
ấ
– Bao g m các tài nguyên c b n c a máy tính nh CPU, b nh , ớ
ơ ả
ủ
ư
ộ
t b I/O
Ph n c ng (hardware) ầ
ứ ồ các thi ế ị
H đi u hành (operating system)
ạ ộ
ố ợ
ể ệ ố
ệ ề – Phân ph i tài nguyên, đi u khi n và ph i h p các ho t đ ng
ố c a các ch ủ ươ
– S d ng h th ng tài nguyên đ gi
i quy t m t bài toán tính
ể ả
ử ụ
ế
ộ
i s d ng.
toán nào đó c a ng
ề ng trình trong h th ng. ươ ứ ệ ố ủ
ườ ử ụ
– Ví dụ: compilers, database systems, video games, business
programs.
Ch ng trình ng d ng (application programs) ụ
02/19/13
6
Vũ Đ c Lung ứ
Users (people, machines, other computers)
4 thành ph n c a h th ng
ầ ủ ệ ố
02/19/13
7
Vũ Đ c Lung ứ
Đ nh nghĩa h đi u hành
ệ ề
ị
• OS là b ph n c p phát tài nguyên ấ t c tài nguyên
ậ ấ ả
ẫ
ầ
ộ – Qu n lí t ả – Quy t đ nh các yêu c u mâu thu n đ s ể ử ế ị d ng tài nguyên hi u qu và công b ng ệ
ả
ằ
ụ • OS là ch
ề
ng trình đ ể i và các s d ng sai c a máy tính
b o v l
ng trình đi u khi n ể – Đi u khi n th c thi c a các ch ươ ủ ự ủ ử ụ
ươ ể ệ ỗ
ề ả
02/19/13
8
Vũ Đ c Lung ứ
ứ
Các ch c năng chính c a h ủ ệ đi u hành
ề ử lý và đ nh th i CPU
ị ờ
Phân chia th i gian x Ph i h p và đ ng b ố ợ ồ ờ ộ ho t đ ng gi a các processes ữ ạ ộ
(coordination & synchronization) Qu n lý tài nguyên h th ng (thi ệ ố ế ị t b I/O, b nh , file ộ ớ
ả ứ ự
ệ ố
ch a d li u,…) ữ ệ ể ệ ự ụ Th c hi n và ki m soát access control, protection Duy trì s nh t quán (integrity) c a h th ng, ki m soát ủ ể i (error recovery) ỗ l ỗ
02/19/13
9
Vũ Đ c Lung ứ
ấ i và ph c h i h th ng khi có l ồ ệ ố Cung c p giao di n làm vi c cho users ệ ệ ấ
Các d ng h đi u hành Các d ng h đi u hành
ệ ề ệ ề
ạ ạ
Same machine, different operating systems:
– IBM PC: DOS, Linux, NeXTSTEP, Windows, SCO
Unix
– DEC VAX: VMS, Ultrix-32, 4.3 BSD UNIX
Same OS, different machines: UNIX
– PC (XENIX 286, APPLE A/UX) – CRAY-Y/MP (UNICOS - AT&T Sys V) – IBM 360/370 (Amdahl UNIX UTS/580, IBM UNIX
AIX/ESA)
Windows NT, XP, 2000, 2003
– Intel i386 (i486 an NT 4.0), Alpha, PowerPC, MIPS,
02/19/13
10
Vũ Đ c Lung ứ
Itanium
1.2. PHÂN LO I H ĐI U HÀNH
Ạ Ệ Ề
ề CPU
PDA (Embedded OS
t
ệ
D i góc đ lo i máy tính ộ ạ H đi u hành dành cho máy MainFrame H đi u hành dành cho máy Server H đi u hành dành cho máy nhi u H đi u hành dành cho máy tính cá nhân (PC) H đi u hành dành cho máy - h đi u hành nhúng) H đi u hành dành cho máy chuyên bi H đi u hành dành cho th chíp (SmartCard)
ướ ệ ề ệ ề ệ ề ệ ề ệ ề ệ ề ệ ề ệ ề
ẻ
02/19/13
11
Vũ Đ c Lung ứ
1.2. PHAÂN LOAÏI HEÄ ÑIEÀU HAØNH (tt)
ng trình đ
c s d ng
ượ ử ụ
ộ ố ươ
ơ
D i góc đ s ch ướ cùng lúc
– H đi u hành đ n nhi m ệ – H đi u hành đa nhi m ệ
i dùng (truy xu t tài nguyên
ướ
ộ
ườ
ấ
ệ ề ệ ề D i góc đ ng cùng lúc)
i dùng i dùng ườ •M ng ngang hàng •M ng có máy ch :
02/19/13
12
Vũ Đ c Lung ứ
– M t ng ườ ộ – Nhi u ng ề ạ ạ ủ LAN, WAN, ...
1.2. PHÂN LO I H ĐI U HÀNH (tt) Ạ Ệ Ề
ộ
ứ ử
D i góc đ hình th c x lý ướ –H th ng x lý theo lô ử –H th ng chia s ẻ –H th ng song song –H th ng phân tán
ệ ố ệ ố ệ ố ệ ố
ệ ố
ử
ờ
ự –H th ng x lý th i gian th c
02/19/13
13
Vũ Đ c Lung ứ
NG
H TH NG X LÝ Đ N CH Ử
Ệ Ố
Ơ
ƯƠ
. ầ ự
ụ ượ
ườ
c thi hành tu n t ng tr c ự ậ
• Tác v đ • B giám sát th ộ • CPU và các thao tác nh p xu t ấ • X lý offline • Đ ng b hóa các thao tác bên ngoài –
ử ồ
ộ
Spooling (Simultaneous Peripheral Operation On Line)
02/19/13
14
Xuaát Nhaäp
Maùy tính chính Vũ Đ c Lung ứ
HEÄ THOÁNG XÖÛ LYÙ ÑA CHÖÔNG
Nhieàu taùc vuï saün saøng thi haønh cuøng moät thôøi ñieåm.
Khi moät taùc vuï thöïc hieän I/O, baét ñaàu taùc vuï khaùc.
Boä xöû lyù vaø thieát bò thi haønh toaøn thôøi gian.
I/O
Taùc vuï
Boä xöû lyù
02/19/13
15
Vũ Đ c Lung ứ
Keát thuùc taùc vuï
HEÄ THOÁNG XÖÛ LYÙ ÑA CHÖÔNG
Multiprogrammed systems - Nhieàu coâng vieäc ñöôïc
naïp ñoàng thôøi vaøo boä nhôù chính
- Khi moät tieán trình thöïc hieän I/O, moät tieán trình khaùc ñöôïc thöïc thi
- Taän duïng ñöôïc thôøi gian raûnh, taêng hieäu suaát söû duïng CPU (CPU utilization)
02/19/13
16
Vũ Đ c Lung ứ
HEÄ THOÁNG XÖÛ LYÙ ÑA CHÖÔNG
ầ
ề
ị
ọ
ờ
• Yêu c u đ i v i h ệ
ạ
ộ
ự ộ
ả
ờ
ố ớ ệ đi u hành – Đ nh th i công vi c (job scheduling): ch n job trong job pool trên đĩa và n p nó vào b nh ớ để th c thi. – Qu n lý b nh (memory management) ớ – Đ nh th i CPU (CPU scheduling) ị – C p phát tài nguyên (đĩa, máy in,…) ấ – B o vả
ệ
02/19/13
17
Vũ Đ c Lung ứ
HEÄ THOÁNG XÖÛ LYÙ ÑA CHÖÔNG
02/19/13
18
Vũ Đ c Lung ứ
HEÄ THOÁNG CHIA XEÛ THÔØI GIAN
• H th ng đa nhi m (multitasking). ệ ệ ố
• L p l ch CPU. ậ ị
• Th i gian chuy n đ i gi a các tác v r t ng n. ữ ụ ấ ể ắ ờ ổ
02/19/13
19
Vũ Đ c Lung ứ Boä xöû lyù
HEÄ THOÁNG CHIA XEÛ THÔØI GIAN Time-sharing systems - Multiprogrammed systems khoâng cung caáp khaû naêng töông
taùc hieäu quaû vôùi users
o Moãi coâng vieäc ñöôïc chia moät phaàn nhoû thôøi gian
CPU (time slice, quantum time)
o Cung caáp töông taùc giöõa user vaø heä thoáng vôùi
thôøi gian ñaùp öùng (response time) nhoû (1 s)
- CPU luaân phieân thöïc thi giöõa caùc coâng vieäc
- Moät coâng vieäc chæ ñöôïc chieám CPU khi noù
02/19/13
20
naèm trong boä nhôù chính.
- Khi caàn thieát, moät coâng vieäc naøo ñoù coù theå ñöôïc chuyeån töø boä nhôù chính ra thieát bò löu tröõ (swapping), nhöôøng boä nhôù chính cho coâng vieäc khaùc. Vũ Đ c Lung ứ
HEÄ THOÁNG CHIA XEÛ THÔØI GIAN
• Yeâu caàu ñoái vôùi OS trong heä thoáng time-
sharing – Ñònh thôøi coâng vieäc (job scheduling) – Quaûn lyù boä nhôù (memory management)
• Virtual memory
– Quaûn lyù caùc quaù trình (process
management) Ñònh thôøi CPU Ñoàng boä caùc quaù trình (synchronization) Giao tieáp giöõa caùc quaù trình (process
02/19/13
21
communication) Traùnh deadlock
– Quaûn lyù heä thoáng file, heä thoáng löu tröõ Vũ Đ c Lung ứ – Caáp phaùt hôïp lyù caùc taøi nguyeân
– Baûo veä (protection)
HEÄ THOÁNG ÑA XÖÛ LYÙ
Hai hoaëc nhieàu boä xöû lyù cuøng chia seû moät boä nhôù.
Boä
Boä
xöû lyù
xöû lyù
Boä nhôù chính
02/19/13
22
Vũ Đ c Lung ứ
Master/Slave : moät boä xöû lyù chính kieåm soaùt moät soá boä xöû lyù I/O
HEÄ THOÁNG ÑA XÖÛ LYÙ
• Heä thoáng song song (parallel, multiprocessor, hay
tightly-coupled system) – Nhieàu CPU – Chia seû computer bus, clock – Öu ñieåm
o Naêng xuaát heä thoáng (System throughput): caøng nhieàu processor thì caøng nhanh xong coâng vieäc • Multiprocessor system ít toán keùm hôn
multiple single-processor system: vì coù theå duøng chung taøi nguyeân (ñóa,…)
02/19/13
23
Vũ Đ c Lung ứ
o Ñoä tin caäy: khi moät processor hoûng thì coâng vieäc cuûa noù ñöôïc chia seû giöõa caùc processor coøn laïi
HEÄ THOÁNG ÑA XÖÛ LYÙ
• Phaân loaïi heä thoáng song song
– Ña xöû lyù ñoái xöùng (symmetric multiprocessor - SMP) • Moãi processor vaän haønh moät identical
copy cuûa heä ñieàu haønh
• Caùc copy giao tieáp vôùi nhau khi caàn • (Windows NT, Solaris 5.0, Digital UNIX, OS/2,
Linux)
– Ña xöû lyù baát ñoái xöùng (asymmetric multiprocessor) • Moãi processor thöïc thi moät coâng vieäc
khaùc nhau
• Master processor ñònh thôøi vaø phaân coâng
vieäc cho caùc slave processors
02/19/13
24
Vũ Đ c Lung ứ
• (SunOS 4.0)
HEÄ THOÁNG PHAÂN TAÙN
Nhieàu maùy tính lieân keát vôùi nhau baèng ñöôøng truyeàn thoâng ñaëc bieät. Töông töï heä thoáng ña xöû lyù nhöng khoâng chia xeû boä nhôù. Heä thoáng maùy tính 1 Giao tieáp maïng Heä thoáng maùy tính 2 Giao tieáp maïng
Maïng
Boä xöû lyù Boä xöû lyù
02/19/13
25
Vũ Đ c Lung ứ
Boä nhôù Boä nhôù
HEÄ THOÁNG PHAÂN TAÙN
• Heä thoáng phaân taùn (distributed system, loosely-coupled
system) – Moãi processor coù boä nhôù rieâng, caùc
processor giao tieáp qua caùc keânh noái nhö maïng, bus toác ñoä cao
– Ngöôøi duøng chæ thaáy moät heä thoáng ñôn
nhaát – Öu ñieåm
Chia seû taøi nguyeân (resource sharing) Chia seû söùc maïnh tính toaùn
02/19/13
(computational sharing)
26 cuûa heä thoáng ñöôïc cung caáp lieân tuïc cho duø moät thaønh phaàn hardware trôû neân hoûng
Ñoä tin caäy cao (high reliability) Ñoä saün saøng cao (high availability): caùc dòch vuï Vũ Đ c Lung ứ
HEÄ THOÁNG PHAÂN TAÙN
Caùc moâ hình heä thoáng phaân taùn
– Client-server
Server: cung caáp dòch vuï Client: coù theå söû duïng dòch vuï
cuûa server – Peer-to-peer (P2P)
Caùc peer (maùy tính trong heä thoáng)
ñeàu ngang haøng nhau
Khoâng coù cô sôû döõ lieäu taäp
trung
02/19/13
27
Vũ Đ c Lung ứ
Caùc peer laø töï trò Ví dụ: Gnutella
Heä thoáng thôøi gian thöïc (real-time system)
• Heä thoáng thôøi gian thöïc (real-time system)
– Söû duïng trong caùc thieát bò chuyeân duïng nhö ñieàu
khieån caùc thöû nghieäm khoa hoïc, ñieàu khieån trong y khoa, daây chuyeàn coâng nghieäp, thieát bò gia duïng, quaân söï
– Raøng buoäc veà thôøi gian: hard vaø soft real-time
Phaân loaïi
– Hard real-time
• Haïn cheá (hoaëc khoâng coù) boä nhôù phuï, taát caû döõ lieäu naèm trong boä nhôù chính (RAM hoaëc ROM)
• Yeâu caàu veà thôøi gian ñaùp öùng/xöû lyù raát
nghieâm ngaët, thöôøng söû duïng trong ñieàu khieån coâng nghieäp, robotics,…
– Soft real-time
02/19/13
28
Vũ Đ c Lung ứ • Thöôøng ñöôïc duøng trong lónh vöïc multimedia,
virtual reality vôùi yeâu caàu meàm deûo hôn veà thôøi
gian ñaùp öùng
Thieát bò caàm tay (Handheld system)
– Personal digital assistant (PDA): Palm,
Pocket-PC
– Ñieän thoaïi di ñoäng (cellular phones) – Ñaëc tröng
– Boä nhôù nhoû (512 KB – 128 MB) – Toác ñoä processor thaáp (ñeå ít toán pin) – Maøn hình hieån thò coù kích thöôùc nhoû vaø
ñoä phaân giaûi thaáp.
– Coù theå duøng caùc coâng ngheä keát noái
02/19/13
29
Vũ Đ c Lung ứ
nhö IrDA, Bluetooth, wireless
1.3. LÒCH SÖÛ PHAÙT TRIEÅN CUÛA HEÄ ÑIEÀU HAØNH
- Thieát keá, xaây döïng, laäp trình, thao taùc: ñeàu do 1 nhoùm ngöôøi - Löu treân phieáu ñuïc loã
Theá heä 2 (1955 - 1965)
- Xuaát hieän söï phaân coâng coâng vieäc - Heä thoáng söû lyù theo loâ ra ñôøi, löu treân baêng töø - Hoaït ñoäng döôùi söï ñieàu khieån ñaëc bieät cuûa 1 chöông trình
Theá heä 3 (1965 - 1980)
- Ra ñôøi heä ñieàu haønh, khaùi nieäm ña chöông - HÑH chia seû thôøi gian nhö CTSS cuûa MIT - MULTICS, UNIX
02/19/13
30
Vũ Đ c Lung ứ
Theá heä 1 (1945 - 1955)
1.3. LÒCH SÖÛ PHAÙT TRIEÅN CUÛA HEÄ ÑIEÀU HAØNH
• Th h 4 (1980 - )
ờ
• •
02/19/13
31
Vũ Đ c Lung ứ
• ế ệ Ra đ i máy tính cá nhân, IBM PC HĐH MS-DOS, MacOS (Apple Macintosh), MS Windows, OS/1 Linux, QNX, HĐH m ng,…ạ
Operating Systems Evolution
IBSYS
IOCS
55
60
CTSS
65
DOS/360
OS/360
MULTICS
CP/CM5
RSX-11M
70
UNIX
TSO
RT-11
CP/M
75
UNIXV.7
VMS 1.0
DOS/VDSE
MVS/370
VM/370
4.1BSD
XENIX
MS-DOS 1.0
80
SYSTEM III
DR/DOS
SUN OS
4.2BSD
VS
MVS/XA
VM/XA
SYSTEM V
AIX
OS/2
85
POSIX
MACH
WIN 3.0
OSF/1
4.3BSD
VMS 5.4
WIN 3.1
AIX/370
90
SYSTEM V.4
VS/ESA
MVS/ES
VM/ESA
AIX/ESA
SOLARIS 2
LINUX
95
4.4BSD
WIN NT
WIN 9X
00
VMS 7.3
WIN 2000
03
WIN XP
LINUX 2.6
SOLARIS 10
WIN Server 2003
02/19/13
32
Vũ Đ c Lung ứ
Windows And Linux Evolution
• Windows and Linux kernels are based on foundations
developed in the mid-1970s
1970
1980
1990
2000
V M S v1.0
S erver 2003 W in d o w s 2000 W in d o w s X P W indo w s N T 3.1 N T 4.0
1970
1980
1990
2000
v2.0
v2.6
v2.2
v2.3
v2.4
Linux v1.0
U NIX p u blic U NIX V 6
U NIX b orn
(see http://www.levenez.com for diagrams showing history of Windows & Unix) 33
02/19/13
Vũ Đ c Lung ứ