Giới thiệu về hệ điều hành
-
Upload
oo-tuan-oo -
Category
Documents
-
view
18 -
download
0
description
Transcript of Giới thiệu về hệ điều hành
-
H iu hnh Operating System
1
-
2
Thong tin can biet
Tai lieu tham khao
[1] Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau, Operating Systems: Three Easy Pieces, 0.8v, 2014.
[2] Silberschatz et al, Operating System Principles, 9th Ed., 2012.
[3] A. Tanenbaum, Modern Operating Systems, Prentice Hall, 4nd Ed., 2014.
iem mon hoc
Thi cuoi ky 50%, 90 phut
Bai tap ln 30%
Thc hanh 10%
Bai tap 10%
Lien lac
Phone: 8.647.256(5840)
ltvan@ hcmut.edu.vn
(Tap slide nay co s dung slide t cac nguon khac.)
-
3
Noi dung
Tong quan
Khai niem ve qua trnh
ong bo va giai quyet tranh chap
Deadlock va phng cach giai quyet
nh thi bieu cho qua trnh
Quan ly bo nh
Thay the trang
Quan ly nhap xuat
He thong file Three pieces Concurrency
Virtualization
Persistence
-
4
Chng 1: Tong Quan
Gii thieu
Cau truc luan ly cua he thong may tnh
nh ngha he ieu hanh
Cac chc nang chnh cua he ieu hanh
Qua trnh phat trien
May tnh ln (mainframe system)
May e ban (desktop system)
a x ly (multiprocessor system)
Phan bo (distributed system)
Thi gian thc (real-time system)
Cam tay (handheld system)
-
What is an operating system?
5
-
6
nh ngha
He ieu hanh la g?
Phan mem trung gian gia
phan cng may tnh va ngi
s dung, co chc nang ieu
khien phan cng va cung cap
cac dch vu c ban cho cac ng
dung
Muc tieu
Giup ngi dung de dang s
dung he thong
Quan ly va cap phat tai nguyen
he thong mot cach hieu qua
[yeu to kinh te]
Phan cng
He ieu Hanh
Cac ng dung
Ngi dung
-
7 1.1 Fig 1.1
Cac thanh phan cua he thong may tnh
CPU, b nh, cc thit b nhp
xut cung cp ti nguyn tnh ton
cho h thng
kim sot v phn phi cc ti nguyn
cho cc ng dng khc nhau cho
nhng ngi dng khc nhau
x l vn bn, bng tnh, cc tin ch
gii tr ,
-
8
Cac chc nang chnh cua OS
Phan chia thi gian x ly tren CPU (nh thi)
Phoi hp va ong bo hoat ong gia cac qua trnh
Quan ly tai nguyen he thong hieu qua
Kiem soat qua trnh truy cap, bao ve he thong
Duy tr s nhat quan cua he thong, kiem soat loi va phuc
hoi he thong khi co loi xay ra
Cung cap giao dien lam viec thuan tien cho ngi dung
-
9
Lch s phat trien
May tnh ln (mainframe)
X ly bo (batch, 1960)
a chng (multiprogrammed, 1970)
a nhiem (time-sharing, multitasking; 1970)
-
10
Lch s phat trien
(Mainframe) Batch system,
1960
I/O: card uc lo, bang t (tape),
line printer
Can co ngi van hanh
(operator)
Giam setup time bang cach
ghep nhom (batching) cong
viec (job)
Vd: ghep cac cong viec
cung s dung trnh bien
dch Fortran
T ong nap lan lt cac cong
viec t card reader
-
11
Lch s phat trien (tt)
(Mainframe) Batch system n
gian
Uniprogramming
Khi mot job thc thi xong,
quyen ieu khien tr ve he
ieu hanh (resident monitor)
Resident monitor oc job
ke tiep t card reader vao
bo nh
Thc thi job cho en khi
xong
resident
monitor
user job
Layout bo nh
-
12
-
13
Mainframe computer
in 1967
-
14 1.2.2
(Mainframe) Multiprogrammed system
Nhieu job c gi ong thi trong bo nh
CPU thc thi luan phien gia cac job trong
bo nh
Tan dung c thi gian ranh, tang hieu
suat s dung CPU
Yeu cau oi vi he ieu hanh
nh thi job
nh thi CPU
Quan ly bo nh (memory management)
Cap phat tai nguyen (a, may in,)
Bao ve
Lch s phat trien he ieu hanh (tt)
-
15
Lch s phat trien he ieu hanh (tt)
-
16 1.2.3
Lch s phat trien he ieu hanh (tt)
(Mainframe) Time-sharing
system
Multiprogrammed system
khong cung cap kha nang
tng tac hieu qua vi user
CPU thc thi luan phien gia
cac cong viec
Moi cong viec c chia
mot phan nho thi gian
CPU (time slice, quantum
time)
Cung cap tng tac gia
user va he thong vi thi
gian ap ng (response
time) nho (1 s)
Computer terminal, 1982
-
17
Lch s phat trien he ieu hanh (tt)
Yeu cau oi vi OS trong he thong time-sharing
Quan ly bo nh
Virtual memory
Quan ly cac qua trnh
nh thi CPU
ong bo cac qua trnh (synchronization)
Giao tiep gia cac qua trnh (process communication)
Van e deadlock
Quan ly he thong file, he thong lu tr (memory system)
Cap phat hp ly cac tai nguyen
Bao ve
-
18
Lch s phat trien he ieu hanh (tt)
May e ban (desktop system,
personal computer)
Nhieu thiet b I/O: ban phm,
chuot, man hnh, may in,
Phuc vu ngi dung n le
Muc tieu chnh cua OS
Thuan tien cho user va kha
nang tng tac cao
Khong can toi u hieu suat
s dung CPU va thiet b
ngoai vi
Nhieu he ieu hanh khac nhau
MS Windows, Mac OS, Unix, Linux,
1981: IBM 5150
-
19 1.4
Lch s phat trien he ieu hanh (tt)
He thong song song (parallel, multiprocessor, hay
tightly-coupled system)
Nhieu CPU
Chia se computer bus, clock
u iem
System throughput: cang nhieu processor th cang nhanh
xong cong viec ( d oan thi tiet)
Multiprocessor system t ton kem hn multiple single-
processor system: v co the dung chung tai nguyen (a,)
o tin cay: khi mot processor hong th cong viec cua no
c chia se gia cac processor con lai
-
20 1.4
Lch s phat trien he ieu hanh (tt)
Phan loai he thong song song
a x ly oi xng (symmetric multiprocessor SMP)
Moi processor van hanh mot identical copy cua he ieu
hanh
Cac copy giao tiep vi nhau khi can
a x ly bat oi xng (asymmetric multiprocessor)
Moi processor thc thi mot cong viec khac nhau
Master processor nh thi va phan cong viec cho cac
slave processor
-
21 1.5
Lch s phat trien he ieu hanh (tt)
He thong phan bo (distributed system, loosely-coupled
system)
Mi processor co bo nh rieng, cac processor giao tiep qua
cac kenh noi nh mang, bus toc o cao, leased line
Ngi dung ch thay mot he thong n nhat
u iem
Chia se tai nguyen (resource sharing)
Chia se sc manh tnh toan (computational sharing)
o tin cay cao (high reliability)
o san sang cao (high availability): cac dch vu cua he
thong c cung cap lien tuc cho du mot thanh phan
hardware tr nen hong
-
22
-
23 1.5.1, 1.5.2
Lch s phat trien he ieu hanh (tt)
He thong phan bo (tt)
Cac mo hnh he thong phan bo
Client-server
Server: cung cap dch vu
Client: co the s dung dch vu cua server
-
24
Lch s phat trien he ieu hanh (tt)
He thong phan bo
Cac mo hnh he thong phan bo (tt)
Peer-to-peer (P2P,1990s)
Cac peer (may tnh trong he thong) eu ngang hang nhau
Khong da tren c s d lieu tap trung
Cac peer la t tr
Vd: mang gnutella, mot mang trong Internet e chia se file
-
25 1.7
Lch s phat trien he ieu hanh (tt)
He thong thi gian thc (real-time system)
ieu khien trong xe hi, day chuyen cong nghiep,
Rang buoc ve thi gian: ap ng cua he thong phai thoa thi
han (deadline) e x ly bien co (event)
Phan loai
Hard real-time
ieu khien may no, airbag trong xe hi, robotics,
Do han che (hoac khong co) bo nh th cap, tat ca d lieu
nam trong bo nh chnh (RAM hoac ROM)
Yeu cau ve thi gian ap ng/x ly rat nghiem ngat
Soft real-time
Multimedia, virtual reality
Yeu cau mem deo hn ve thi gian ap ng
-
26
Lch s phat trien he ieu hanh (tt)
Thiet b cam tay (handheld system)
http://www.phonearena.com/phones/compare/Apple-iPhone-
6,Samsung%20Galaxy%20Note%204/phones/8346,8577
Iphone 6 Samsung Galaxy Note 4
Device
type Smart phone Smart phone
OS iOS (8.x) Android (4.4)
Dimensi
ons
5.44 x 2.64 x 0.27
inches (138.1 x 67 x 6.9
mm)
6.04 x 3.09 x 0.33 inches
(153.5 x 78.6 x 8.5 mm)
Weight 4.55 oz (129 g)
6.21 oz (176 g)
Body
material Aluminium
-
History of Windows
History of Windows
https://www.youtube.com/watch?v=aqkkByP8RDM
History of Android
https://www.youtube.com/watch?v=DNAQtgH1ErI
History of Linux
http://www.youtube.com/watch?v=0kteK4-RSJ8
27
-
Cau truc he thong may
tnh
28
-
29
Kien truc c ban cua he thong PC
CPU
Disk controller USB controller Graphics adapter
MEMORY
Disks
Mouse
Keyboard
Printer
Monitor
em d lieu (local buffer)
-
C che van hanh cua he thong
-
31
Chu trnh hoat ong cua CPU
Start Fetch Next
Instruction
Execute
Instruction
HALT
Check for interrupt;
Process interrupt Interrupts
enabled
Interrupts
disabled
-
32
Ngat quang
Phan loai: ngat quang do
Program: tran so hoc, chia cho 0, truy cap bo nh bat hp phap
Timer: cho phep CPU thc thi mot tac vu nao o theo nh ky
I/O: ket thuc tac vu I/O, xay ra loi trong I/O
Hardware failure: H hong nguon, loi memory parity,
Trap (software interrupt): yeu cau dch vu he thong (goi system call),
Lc o thi gian khi process co yeu cau cac tac vu I/O
-
33
Qua trnh x ly ngat quang
X ly trap tng t x ly HW interrupt
i
i+1
0
M
User
Program
Interrupt
handler thc thi
0
21 00ffe23f
N
Interrupt
vector table
int. 0x21
0
00ffe23f interrupt
0x21 routine
ret
ffffffff
1
2
3
-
Cau truc he thong I/O
-
35
ieu khien thiet b I/O
Tren device controller co
Thanh ghi lenh (command / control register) e nhan yeu
cau I/O t OS
Thanh ghi trang thai (status register) e bao OS tnh
trang san sang / ang ban / loi cua thiet b
Thanh ghi d lieu (data register) OS oc d lieu t thiet b hay ghi d lieu ra thiet b qua thanh ghi nay
-
36
Cac ky thuat thc hien I/O (1/2)
Ky thuat I/O dung polling
I/O code ch thiet b san sang bang cach lien tuc (nh bang
cach dung vong lap) kiem tra tnh trang cua thiet b
Khi thiet b san sang, I/O code gi lenh, va oc/ghi d lieu thong
qua cac thanh ghi cua thiet b
-
37
Cac ky thuat thc hien I/O (2/2)
Ky thuat I/O dung ngat quang (interrupt-driven I/O)
I/O code gi lenh, va oc/ghi d lieu thong qua cac thanh ghi
cua thiet b
Khi thiet b hoan tat lenh I/O th se gay ngat en CPU
-
38
Truyen d lieu gia bo nh va thiet b
Programmed I/O
OS dung CPU cycle e di chuyen d lieu gia bo nh va thiet b
Nhan xet: programmed I/O khong hu hieu (can nhieu CPU
cycle) khi thc hien di chuyen khoi lng ln d lieu
Ky thuat Direct Memory Access (DMA)
DMA can co phan cng ho tr ac biet, o la DMA controller
Ky thuat DMA thc hien truyen d lieu trc tiep gia thiet b I/O
va bo nh ma khong can s can thiep cua CPU
-
39 2.2.1 Fig 2.3
Ky thuat thc hien I/O mc ng dung
Blocking Nonblocking, asynchronous
-- Thng bo I/O hon tt bng signal hay callback
Blocking / nonblocking I/O
- - - : bo qua oan ma
kernel kernel
-
40 2.2.1 Fig 2.4
Quan ly cac truy cap thiet b I/O
Cac hang i (wait queue) I/O
Hang i cac yeu cau I/O, vd
-
Cau truc & phan cap
he thong lu tr
-
42 2.3
He thong lu tr
Lu tr (memory, storage) la mot trong nhng dang thc
I/O quan trong
Bo nh chnh (main memory, primary memory)
Trc tiep th CPU ch co the truy cap c cac thanh ghi
(register) va bo nh ROM, RAM
Bo nh phu (secondary storage): He thong lu tr thong tin ben
vng (nonvolatile storage)
a t (magnetic disk): a mem, a cng, bang t
a quang (optical disk): CD-ROM, DVD-ROM
Flash ROM: USB disk
-
43
Metaphor (an du) cho phan cap he thong lu tr
oc sach th vien
Ke sach phong oc
Phong / ham lu tr sach
Ban oc memory
a cng
bang t
Dung
lng
tang
-
44 2.4 Fig 2.6
Phan cap he thong lu tr
Toc o nhanh
Gia thanh moi byte re
Dung lng ln
vd: file-system data
-
45 2.4 Fig 2.7
Ky thuat caching
Caching: nap trc d lieu vao thiet b lu tr co toc o
truy cap cao hn
Tai sao dung cache?
Cai thien toc o truy cap d lieu
A: d lieu
-
46 2.4 Fig 2.7
Ky thuat caching
V sao caching works?
Nguyen ly cuc bo (locality principle)
Van e:
D lieu ln, con kch thc cache nho phai quan ly cache:
thay noi dung nao cua cache khi no ay?
Mot d lieu co the c lu tr nhieu ni can bao am tnh
nhat quan d lieu: cache coherency problem
-
Bao ve tai nguyen chia se
-
48 2.5.1
Dual mode (1/3)
Muc tieu: bao ve he ieu hanh va chng trnh ng dung
Giai phap
Ky thuat dual mode: CPU thc thi di mot trong hai che
o (mode)
User mode ch thc thi c cac lenh nonprivileged
Application chay trong user mode
Kernel mode (con goi la supervisor mode, system mode, monitor
mode) thc thi c tat ca cac lenh (privileged va nonprivileged) cua CPU
Kernel chay trong kernel mode
-
49
Dual mode (2/3)
Hnh cua Dror G. Feitelson
-
50
Dual mode (3/3)
Phan cng co them mode bit e kiem soat mode hien hanh:
mode bit = kernel (= 0) -- kernel mode
mode bit = user (= 1) -- user mode
Khi CPU b ngat (do thiet b ngoai vi, trap,), CPU se chuyen sang kernel mode va thc thi interrupt service routine tng ng.
Dong thc thi va thay oi che o CPU khi goi system call
kernel user
mode bit = user
mode bit = kernel
-
51 2.5.2 Fig 2.8
Bao ve I/O
Ngan user s dung I/O khong hp le
Giai phap: lenh I/O eu la privileged
instruction
User mode program khong thc thi c lenh I/O ( trap), phai thong qua li goi system call
System call
La phng thc duy nhat e process yeu cau cac dch vu cua he ieu hanh
System call se gay ra ngat mem (trap), quyen ieu khien c chuyen en
trnh phuc vu ngat tng ng, ong
thi thiet lap mode = kernel
He ieu hanh kiem tra tnh hp le, ung an cua cac oi so, thc hien
yeu cau roi tra quyen ieu khien ve
lenh ke tiep ngay sau li goi system
call, mode = user
-
52 2.5.3 Figs 2.9 + 2.10
Bao ve bo nh (1/2)
V du: bao ve vung nh cap
phat cho cac process, ho tr
bi phan cng
Base register
Limit register
-
53 2.5.3 Figs 2.9 + 2.10
Bao ve bo nh (2/2)
Truy cap bo nh ngoai vung xac nh bi thanh ghi base va thanh
ghi limit se sinh ra trap
Lenh nap gia tr cho cac thanh ghi base va thanh ghi limit eu la
privileged instruction
memory
-
54 2.5.4
Bao ve CPU
Bao ve CPU
Bao am OS duy tr c quyen ieu khien CPU
Lam g trng hp CPU thc thi trong vong lap vo han?
C che thc hien la dung timer e kch khi cac ngat
quang nh ky
Bo em timer se giam dan sau moi xung clock
Khi bo em timer bang 0 th ngat timer c kch hoat he ieu
hanh se nam lai quyen ieu khien
Lenh nap gia tr bo em timer la privileged instruction
-
55 2.5.4
Timer
Co the s dung timer e thc hien time-sharing
Thiet lap timer gay ngat nh ky N ms (N: time slice, quantum
time) va nh thi CPU sau moi lan ngat
Co the dung timer e tnh thi gian troi qua (elapse time)
-
56 3.1.1
Cac thanh phan cua he ieu hanh (1/7)
Quan ly qua trnh
Qua trnh vs chng trnh
Mot qua trnh can cac tai nguyen cua he thong nh CPU, bo
nh, file, thiet b I/O, e hoan thanh cong viec
Cac nhiem vu
Tao va huy qua trnh
Tam ngng / tiep tuc thc thi (suspend / resume) qua trnh
Cung cap cac c che
ong bo hoat ong cac qua trnh
giao tiep gia cac qua trnh
x ly deadlock
-
57 3.1.2
Cac thanh phan cua he ieu hanh (2/7)
Quan ly bo nh chnh
Can thiet v nhieu qua trnh chay ong thi trong he thong phai
chia se bo nh
Tuy thuoc kien truc may tnh
e co hieu suat cao, he ieu hanh can dung giai thuat quan ly
bo nh thch hp
Cac nhiem vu
Theo doi, quan ly cac vung nh trong va a cap phat
Quyet nh se nap chng trnh nao khi co vung nh trong
Cap phat va thu hoi cac vung nh
-
58 3.1.3
Cac thanh phan cua he ieu hanh (3/7)
Can thiet cho viec lu tr d lieu ben vng (persistent):
Tien ch file va quan ly file
He thong file (file system)
File
Th muc
Cac dch vu ma thanh phan cung cap
Tao va xoa file/th muc
Cac tac vu x ly file/th muc (rename, copy, move, new,)
Anh xa file/th muc vao thiet b lu tr th cap tng ng
Sao lu va phuc hoi d lieu
-
59 3.1.4
Cac thanh phan cua he ieu hanh (4/7)
Quan ly he thong I/O
Che dau cac ac trng rieng biet cua tng
thiet b I/O oi vi user
Co chc nang
Buffering, caching, spooling
Buffer: vung nh e lu d lieu khi
chung c truyen gia hai thiet b
hay gia thiet b va ng dung
Cung cap giao dien chung en cac trnh
ieu khien thiet b (device-driver
interface)
Trnh ieu khien thiet b cho moi chung
loai thiet b phan cng khac nhau
-
60 3.1.5
Cac thanh phan cua he ieu hanh (5/7)
Quan ly he thong lu tr th cap
Bo nh chnh: kch thc nho, la moi trng cha tin khong ben
vng can he thong lu tr th cap e lu tr ben vng cac d
lieu, chng trnh
Phng tien lu tr thong dung la a t, a quang
Nhiem vu
Quan ly vung trong
Cap phat khong gian lu tr (storage allocation)
nh thi a (disk scheduling)
-
61 3.1.7
Cac thanh phan cua he ieu hanh (6/7)
He thong bao ve (protection system) can thiet khi he
thong cho phep nhieu user hay nhieu qua trnh
Kiem soat qua trnh ngi dung ang nhap/xuat (login, logout)
va s dung he thong
Kiem soat viec truy cap cac tai nguyen trong he thong
Bao am ch nhng ngi dung/qua trnh u quyen han mi
c phep s dung cac tai nguyen tng ng
Cac nhiem vu
Cung cap c che kiem soat ang nhap/xuat
Phan nh c s truy cap tai nguyen hp le va bat hp le
(authorized / unauthorized)
Phng tien thi hanh cac chnh sach (enforcement of policies)
Chnh sach: can bao ve d lieu cua ai oi vi ai
-
62 3.1.8
Cac thanh phan cua he ieu hanh (7/7)
Trnh thong dch lenh (command line interpreter)
La giao dien chu yeu gia ngi dung va OS
V du: shell, mouse-based window-and-menu
Khi user login
He thong khi tao command line interpreter (shell) cho user,
va no ch nhan lenh t ngi dung, thc thi lenh va tra ket
qua ve
Lien he chat che vi cac thanh phan khac cua he ieu hanh e
thc thi cac yeu cau cua ngi dung
-
63 3.1.8
Cac thanh phan cua he ieu hanh (7/7)
Trnh thong dch lenh (tt)
Cac nhom lenh trnh thong dch lenh e
Tao, huy, xem thong tin qua trnh, he thong
ieu khien truy cap I/O
Quan ly, truy cap he thong lu tr th cap
Quan ly, s dung bo nh
Truy cap he thong file
-
64 3.2
Cac dch vu he ieu hanh cung cap (1/2)
Mot so dch vu chu yeu ma ngi dung hay chng trnh
can
Thc thi chng trnh
Thc hien cac tac vu I/O do yeu cau cua chng trnh
Cac tac vu len file
oc/ghi hay tao/xoa file
Giao tiep, trao oi thong tin gia cac qua trnh
Shared memory
Message passing
Phat hien loi
Tren thiet b I/O: d lieu h, het giay,
Chng trnh ng dung: chia cho 0, truy cap en a ch bo
nh khong c phep
-
65 3.2
Cac dch vu he ieu hanh cung cap (2/2)
Cac dch vu khac
Cap phat tai nguyen
Tai nguyen: tape drives,
OS co cac routine tng ng
Ke toan (accounting)
V du e tnh ph
-
66 3.3
Giao dien gia qua trnh va he ieu
hanh
System call
Phng phap hien thc giao dien gia qua trnh va he ieu hanh
Vd: open, read, write file
Thong thng dang th vien nh phan (binary library)
Trong cac ngon ng lap trnh cap cao, mot so th vien lap trnh
c xay dng da tren cac th vien he thong (v du Windows
API, th vien GNU C/C++ nh glibc, glibc++,)
Ba cach truyen tham so trong system call
Truyen tham so qua thanh ghi
Truyen tham so thong qua mot vung nh, a ch cua vung
nh c gi en he ieu hanh qua thanh ghi
Truyen tham so qua stack
-
V d v system call
67
-
68 3.4
Cac chng trnh he thong
Chng trnh he thong (phan biet vi application program)
gom
Quan ly file: nh create, delete, rename, list
Thong tin trang thai he thong: nh time, dung lng bo nh trong
Soan thao van ban: nh vi/vim tren Unix/Linux
Ho tr ngon ng lap trnh: nh compiler, assembler, interpreter
Nap, thc thi, giup tm loi chng trnh: nh loader, debugger
Giao tiep: nh email, talk, web browser
Ngi dung cuoi chu yeu lam viec thong qua cac system
program (khong s dung trc tiep cac system call).