HDH Chuong 1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 57

H IU HNH

CHNG 1. TNG QUAN


V H IU HNH
Phan Trung Kin
B mn K thut my tnh v Mng

Ni dung
1.1. H iu hnh l g?
1.3. Cu trc h iu hnh
1.2. Cu trc h thng my tnh

1.1. H iu hnh l g?
1.1.1. Cc thnh phn ca h thng my tnh

Cu trc ca my tnh

nh ngha

HH l chng trnh trung gian gia phn cng


my tnh v ngi s dng, c chc nng iu
khin phn cng v cung cp cc dch v c bn
cho cc ng dng.
Mc tiu ca HH l lm cho ngi s dng:

Thc thi d dng cc ng dng ca mnh


Thao tc iu khin my tnh tr nn thun tin.
Qun l v cp pht ti nguyn h thng mt cch hiu
qu.

Cc chc nng chnh ca HH

Phn chia thi gian x l trn CPU (nh thi)

Phi hp v ng b hot ng gia cc qu trnh

Qun l ti nguyn h thng hiu qu

Kim sot qu trnh truy cp, bo v h thng

Duy tr s nht qun ca h thng, kim sot li v phc


hi h thng khi c li xy ra.

Cung cp giao din lm vic thun tin cho ngi dng

Lch s pht trin

My tnh ln (mainframes)

X l b (batch)

a chng (multiprogrammed)

a nhim (time-sharing, multitasking)

(Mainframe) Batch systems

I/O: card c l, bng t (tapes), line printer

Cn c ngi vn hnh (user operator)

Gim setup time bng cch ghp nhm cng vic (batching)

Vd: ghp cc cng vic cng s dng trnh bin dch Fortran

T ng np ln lt cc chng trnh
8

Lch s pht trin h iu hnh (tt)

(Mainframe) Multiprogrammed systems

Nhiu cng vic c np ng thi vo b


nh chnh
Thi gian x l ca CPU c phn chia gia
cc cng vic
Tn dng c thi gian rnh, tng hiu sut
s dng CPU (CPU utilization)
Yu cu i vi h iu hnh

nh thi cng vic (job scheduling): chn job


trong job pool trn a v np n vo b nh
thc thi.
Qun l b nh (memory management)
nh thi CPU (CPU scheduling)
Cp pht ti nguyn (a, my in,)
Bo v
9

Lch s pht trin h iu hnh (tt)

10

Lch s pht trin h iu hnh (tt)

(Mainframe) Time-sharing systems

Multiprogrammed systems khng cung cp kh nng tng tc


hiu qu vi users
CPU lun phin thc thi gia cc cng vic

Mi cng vic c chia mt phn nh thi gian CPU (time slice,


quantum time)

Cung cp tng tc gia user v h thng vi thi gian p ng


(response time) nh (1 s)

Mt cng vic ch c chim CPU khi n nm trong b nh


chnh.
Khi cn thit, mt cng vic no c th c chuyn t b
nh chnh ra thit b lu tr (swapping), nhng b nh chnh
cho cng vic khc.
11

Lch s pht trin h iu hnh (tt)

Yu cu i vi HH trong h thng time-sharing

nh thi cng vic (job scheduling)


Qun l b nh (memory management)

Qun l cc qu trnh (process management)

Virtual memory
nh thi CPU
ng b cc qu trnh (synchronization)
Giao tip gia cc qu trnh (process communication)
Trnh deadlock

Qun l h thng file, h thng lu tr


Cp pht hp l cc ti nguyn
Bo v (protection)
12

Lch s pht trin h iu hnh (tt)

My bn (desktop system, personal computer)

Nhiu thit b I/O: bn phm, chut, mn hnh, my


in,
Phc v ngi dng n l.
Mc tiu chnh ca HH

Thun tin cho user v kh nng tng tc cao.


Khng cn ti u hiu sut s dng CPU v thit b ngoi vi.

Nhiu h iu hnh khc nhau (MS Windows, Mac


HH, Solaris, Linux,).

1.13

Lch s pht trin h iu hnh (tt)

H thng song song

Nhiu CPU
Chia s computer bus, clock
u im

System throughput: cng nhiu processor th cng nhanh


xong cng vic
Multiprocessor system t tn km hn multiple singleprocessor system: v c th dng chung ti nguyn (a,)
tin cy: khi mt processor hng th cng vic ca n
c chia s gia cc processor cn li

14

Lch s pht trin h iu hnh (tt)

Phn loi h thng song song

a x l i xng (symmetric multiprocessor SMP)

Mi processor vn hnh mt identical copy ca h iu


hnh
Cc copy giao tip vi nhau khi cn

a x l bt i xng (asymmetric multiprocessor)

Mi processor thc thi mt cng vic khc nhau


Master processor nh thi v phn cng vic cho cc
slave processors

15

Lch s pht trin h iu hnh (tt)

H thng phn b (distributed system, loosely-coupled


system)

Mi processor c b nh ring, cc processor giao tip qua


cc knh ni nh mng, bus tc cao, leased line
Ngi dng ch thy mt h thng n nht
u im

Chia s ti nguyn (resource sharing)


Chia s sc mnh tnh ton (computational sharing)
tin cy cao (high reliability)
sn sng cao (high availability): cc dch v ca h thng c
cung cp lin tc cho d mt thnh phn hardware tr nn hng

16

Lch s pht trin h iu hnh (tt)

H thng phn b (tt)


Cc m hnh h thng phn b

Client-server

Server: cung cp dch v


Client: c th s dng dch v ca server

Peer-to-peer (P2P)

Cc peer (my tnh trong h thng) u ngang hng nhau


Khng c c s d liu tp trung
Cc peer l t tr
Vd: Gnutella
(Napster khng phi l h thng P2P ng ngha v c c s d liu
tp trung)

17

Lch s pht trin h iu hnh (tt)

H thng thi gian thc (real-time system)

S dng trong cc thit b chuyn dng nh iu khin cc th


nghim khoa hc, iu khin trong y khoa, dy chuyn cng
nghip, thit b gia dng
Rng buc v thi gian: hard v soft real-time

Phn loi

Hard real-time

Hn ch (hoc khng c) b nh ph, tt c d liu nm trong b nh


chnh (RAM hoc ROM)

Yu cu v thi gian p ng/x l rt nghim ngt, thng s dng


trong iu khin cng nghip, robotics,

Soft real-time

Thng c dng trong lnh vc multimedia, virtual reality vi yu


cu mm do hn v thi gian p ng
18

1.2. Cu trc h thng my tnh

Kin trc c bn ca h thng my tnh


C ch vn hnh ca h thng
Cu trc h thng xut nhp (I/O)
Cu trc v phn cp h thng lu tr

19

Kin trc c bn ca h thng my


tnh
Keyboard
Disks
Mouse
Disk controller

Monitor
Printer

USB controller

Graphics adapter

CPU

MEMORY

m d liu (local buffer)


20

Chu trnh hot ng ca CPU

Start

Fetch Next
Instruction

Execute
Instruction

HALT

1. Chu trnh n gin (khng c ngt)

Interrupts
disabled
Start

Fetch Next
Instruction

Execute
Instruction

Interrupts
enabled

Check for interrupt;


Process interrupt

HALT

2. Chu trnh c iu khin ngt


21

Ngt

Phn loi: ngt do

Program: trn s hc, chia cho 0, truy cp b nh bt hp php


Timer: cho php CPU thc thi mt tc v no theo nh k
I/O: kt thc tc v I/O, xy ra li trong I/O
Hardware failure: H hng ngun, li memory parity,
Trap (software interrupt): yu cu dch v h thng (gi system call),

Lc thi gian khi process c yu cu cc tc v I/O


22

Qu trnh x l ngt
User
Program

Interrupt vector
table
0

00ffe23f

interrupt
0x21 routine

21

00ffe23f

ret

int. 0x21

i+1
N

ffffffff

M
Interrupt
handler

23

Qu trnh x l ngt (tt)

I/O interrupts

Khng c ngt

C ngt
24

Cu trc h thng I/O

Cc k thut thc hin I/O

Polling

PIO

gi d liu ra mt thit b I/O (thng qua I/O


port), CPU ghi byte d liu vo thanh ghi d
liu (data register), sau thit lp mt bit (bit
1) ca thanh ghi iu khin (control register)
bo hiu cho I/O controller.
(PIO: programmed I/O)

I/O controller c byte d liu t thit b I/O,


xa bit iu khin (bit 0). CPU tip tc gi
byte k.
I/O controller khng gy ra ngt mi khi xong
vic. CPU phi dng c ch polling kim tra
trng thi thit b I/O
Truyn d liu tng byte mt
1.A.26

Cc k thut thc hin I/O (tt)

Interrupt-driven I/O

CPU khng poll m I/O controller s gy ra


ngt mi khi sn sng cho tc v I/O.
Trong lc thit b I/O thc thi lnh, CPU c th
thc thi cng vic khc.

X
X

Polling v interrupt-driven I/O u tiu tn thi


gian x l ca CPU bi v CPU phi copy byte
d liu c c/ghi memory.
Thch hp cho cc thit b I/O c tc khng
cao (keyboard, mouse)

1.A.27

Cc k thut thc hin I/O (tt)

Phng php thc hin I/O

kernel

kernel

Synchronous

Asynchronous

- - - : bypassing
28

Cc k thut thc hin I/O (tt)

Asynchronous I/O

Cc hng i (wait queue) I/O


29

Cc k thut thc hin I/O (tt)

Direct Memory Access (DMA)

CPU gi yu cu n module DMA (= DMA


controller)
Module DMA chuyn mt khi d liu gia b nh
v thit b I/O m khng cn CPU can thip.
Khi xong mt tc v gi nhn th pht khi mt ngt.
CPU ch tham gia vo giai on khi u v kt thc
ca vic truyn nhn d liu
Trong khi ang truyn nhn d liu, CPU c th thc
thi cng vic khc
Thch hp cho cc thit b c tc cao (a)

1.A.30

Cu trc & phn cp


h thng lu tr

H thng lu tr

Lu tr l mt trong nhng dng thc I/O quan trng

B nh chnh (main memory, primary memory)

CPU ch c th truy cp trc tip thanh ghi (registers) v b nh ROM,


RAM

B nh ph (secondary storage)

H thng lu tr thng tin bn vng (nonvolatile storage)

a t (magnetic disks): a mm, a cng, bng t

a quang (optical disk): CD-ROM, DVD-ROM

Flash ROM: USB disk

1.A.32

Phn cp h thng lu tr
Tc cao

vd: file-system data

Gi thnh thp
Dung lng ln
1.A.33

C ch caching

Caching

np trc d liu vo thit b lu tr tc cao hn

Ti sao phi dng cache?

Chnh lch ln gia tc CPU v tc b nh RAM, a,

Khai thc nguyn l cc b (locality)

Kch thc cache nh phi qun l cache: thay ni dung cache


Trong c ch caching, mt d liu c th c lu tr nhiu ni phi bo
m tnh nht qun d liu: cache coherency problem

A: d liu
34

Bo v phn cng dual mode

C ch dual-mode: cn c phn cng h tr

User mode thc thi vi quyn hn ca user bnh thng


Kernel mode (cn gi l supervisor mode, system mode, monitor mode) c ton
quyn truy xut ti nguyn h thng

Phn cng c thm mode bit kim sot mode hin hnh:

mode bit = 0: kernel mode


mode bit = 1: user mode
Khi c ngt hoc c li xy ra, h thng s chuyn sang kernel mode.

1.A.35

Bo v phn cng I/O

Lnh I/O u l privileged instruction

Users khng c php tng tc trc tip vi


cc thit b I/O m phi thng qua li gi system
call

System call

L phng thc duy nht process yu cu cc


dch v ca h iu hnh
System call s gy ra ngt mm (trap), quyn
iu khin c chuyn n trnh phc v ngt
tng ng, ng thi thit lp mode = 0 (kernel
mode).
H iu hnh kim tra tnh hp l, ng n ca
cc i s, thc hin yu cu ri tr quyn iu
khin v lnh k tip ngay sau li gi system
call, mode = 1.

1.A.36

Bo v phn cng B nh
Vd: bo v b nh dng 2 thanh ghi
- Truy cp b nh ngoi vng xc nh bi thanh
ghi base v thanh ghi limit s sinh ra trap
- Lnh np gi tr cho cc thanh ghi base v
thanh ghi limit u l privileged instruction
(b)

(a)
37

Bo v phn cng CPU

Bo v CPU

Bo m HH duy tr c quyn iu khin


Trnh trng hp CPU b kt trong cc vng lp v hn

C ch thc hin l dng timer kch khi cc ngt


nh k

B m timer s gim dn sau mi xung clock.


Khi b m timer bng 0 th ngt timer c kch hot h
iu hnh s nm quyn iu khin.

Lnh np gi tr b m timer l mt privileged


instruction.

1.A.38

Timer

C th s dng timer thc hin c ch timesharing.

Thit lp timer gy ngt nh k N ms (N: time slice,


quantum time) v nh thi CPU sau mi ln ngt.

C th dng timer tnh thi gian tri qua


(elapse time)

1.A.39

Cu Trc H iu Hnh

Cc thnh phn ca h iu hnh

Cc dch v h iu hnh cung cp

Giao tip gia tin trnh v h iu hnh

Cc chng trnh h thng (system programs)

Cu trc logic ca h thng

My o (virtual machine)

40

Cc thnh phn ca h iu hnh

Qun l tin trnh (process management)

tin trnh vs. chng trnh

Mt tin trnh cn cc ti nguyn ca h thng nh CPU, b


nh, file, thit b I/O, hon thnh cng vic.
Cc nhim v ca thnh phn

To v hy tin trnh

Tm ngng/tip tc thc thi (suspend/resume) tin trnh

Cung cp cc c ch

ng b hot ng cc tin trnh (synchronization)

giao tip gia cc tin trnh (interprocess communication)

khng ch deadlock
41

Cc thnh phn ca h iu hnh (tt)

Qun l b nh chnh

c hiu sut s dng CPU v thi gian p ng tt,


h iu hnh cn dng gii thut qun l b nh thch
hp
Cc nhim v ca thnh phn

Theo di, qun l cc vng nh trng v cp pht


Quyt nh s np chng trnh no khi c vng nh trng
Cp pht v thu hi cc vng nh

42

Cc thnh phn ca h iu hnh (tt)

Qun l file (file management)

H thng file (file system)

File

Th mc

Cc dch v m thnh phn cung cp

To v xo file/th mc.

Cc tc v x l file/th mc (rename, copy, move, new,)

nh x file/th mc vo thit b lu tr th cp tng ng

Sao lu v phc hi d liu

43

Cc thnh phn ca h iu hnh (tt)

Qun l h thng I/O (I/O system management)

Che du cc c trng ring bit ca tng thit b I/O

C chc nng

C ch: buffering, caching, spooling

Cung cp giao din chung n cc trnh iu khin thit b


(device-driver interface)

Trnh iu khin thit b (device driver) cho mi chng loi


thit b phn cng khc nhau.

44

Cc thnh phn ca h iu hnh (tt)

Qun l h thng lu tr th cp (secondary


storage management)

B nh chnh: kch thc nh, l mi trng cha tin


khng bn vng cn h thng lu tr th cp lu
tr bn vng cc d liu, chng trnh

Phng tin lu tr thng dng l a t, a quang

Nhim v ca thnh phn

Qun l vng trng (free space management)

Cp pht khng gian lu tr (storage allocation)

nh thi a (disk scheduling)


1.B.45

Cc thnh phn ca h iu hnh (tt)

H thng bo v
Khi h thng cho php nhiu user hay nhiu tin trnh

Kim sot tin trnh ngi dng ng nhp/xut v s dng h


thng
Kim sot vic truy cp cc ti nguyn trong h thng
Bo m ch nhng ngi dng/tin trnh quyn hn mi
c php s dng cc ti nguyn tng ng
Cc nhim v ca thnh phn

Cung cp c ch kim sot ng nhp/xut (login, log out)

Phn nh c s truy cp ti nguyn hp php v bt hp php


(authorized/unauthorized)

Phng tin thi hnh cc chnh sch (enforcement of policies) Chnh sch:
cn bo v d liu ca ai i vi ai
46

Cc thnh phn ca h iu hnh (tt)

Trnh thng dch lnh

L giao din ch yu gia ngi dng v HH

Khi user login

V d: shell, mouse-based window-and-menu


command line interpreter (shell) chy, v ch nhn lnh t ngi dng,
thc thi lnh v tr kt qu v

Lin h cht ch vi cc thnh phn khc ca h iu hnh


thc thi cc yu cu ca ngi dng
Cc nhm lnh trnh thng dch lnh

To, hy, xem thng tin tin trnh, h thng


iu khin truy cp I/O
Qun l, truy cp h thng lu tr th cp
Qun l, s dng b nh
Truy cp h thng file

47

Cc dch v h iu hnh

Mt s dch v ch yu m ngi dng hay chng trnh


cn

Thc thi chng trnh


Thc hin cc tc v I/O do yu cu ca chng trnh
Cc tc v ln h thng file

C ch giao tip, trao i thng tin gia cc tin trnh

c/ghi hay to/xa file


Shared memory
Message passing

Pht hin li

Trn thit b I/O: d liu h, ht giy,


Chng trnh ng dng: chia cho 0, truy cp n a ch b nh khng
c php

48

Cc dch v h iu hnh (tt)

Cc chc nng khc (gip h iu hnh chy hu hiu)

Cp pht ti nguyn (resource allocation)

Ti nguyn: CPU, b nh chnh, tape drives,

HH c cc routine tng ng

K ton (accounting)

V d tnh ph

Bo v (protection)

Cc tin trnh l nhau khng c nh hng nhau

Kim sot c cc truy cp vo ti nguyn

An ninh (security)

Ch cc user c php s dng h thng mi truy cp c ti nguyn


ca h thng (vd: thng qua password)
49

Giao tip gia tin trnh v h iu hnh

System call

Cung cp giao din gia tin trnh v h iu hnh

Vd: open, read, write file

Thng thng dng th vin nh phn (binary libraries)


Trong cc ngn ng lp trnh cp cao, mt s th vin lp trnh
c xy dng da trn cc th vin h thng (v d Windows
API, th vin GNU C/C++ nh glibc, glibc++,)
Ba phng php truyn tham s khi s dng system call

Truyn thng s qua thanh ghi

Truyn tham s thng qua mt vng nh, a ch ca vng nh c gi


n h iu hnh qua thanh ghi

Truyn tham s qua stack


50

Cc chng trnh h thng

Chng trnh h thng (system program, phn bit vi


application program) gm

Qun l h thng file: nh create, delete, rename, list

Thng tin trng thi: nh date, time, dung lng b nh trng

Son tho file: nh file editor

H tr ngn ng lp trnh: nh compiler, assembler, interpreter

Np, thc thi, gip tm li chng trnh: nh loader, debugger

Giao tip: nh email, talk, web browser

Ngi dng ch yu lm vic thng qua cc system


program (khng lm vic trc tip vi cc system call)
51

Cu trc logic ca h thng

H thng n (monolithic)

MS-DOS: khi thit k, do gii hn v dung lng b nh nn


khng phn chia module (modularization), cha phn chia r
chc nng gia cc phn ca h thng.
MS-DOS, xem nh c phn lp (layered):

1.B.52

Cu trc logic ca h thng (tt)

H thng n (monolithic)

UNIX: gm hai phn

cc system program v kernel (file system, CPU scheduling, memory


management, v mt s chc nng khc)

Xem nh c
phn lp:
signals
terminal handling
character I/O system
terminal drivers

file system
swapping
block I/O system
disk and tape drivers

1.A.53

Cu trc logic ca h thng (tt)

Thit k HH: phn chia module theo cch phn


lp (layered). Vd: h iu hnh OS/2

54

Cu trc logic ca h thng (tt)

Thit k HH: phn chia module theo microkernel


(CMU Mach HH, 1980)

Chuyn mt s chc nng ca HH t kernel space sang user


space
Thu gn kernel microkernel, microkernel ch bao gm cc
chc nng ti thiu nh qun l tin trnh, b nh v c ch
giao tip gia cc tin trnh
Giao tip gia cc module qua c ch truyn thng ip
mt module

Application
File
server

POSIX
application

X-application
X-window
server

POSIX
server

Microkernel
55

My o

T HH layer n my o (virtual machine)


processes
processes
processes

processes

programming
interface
kernel
hardware

Non-virtual machine
system model

kernel

kernel

kernel

VM1

VM2

VM3

Virtual-machine
implementation
hardware

Virtual machine system model

56

My o (tt)

Hin thc nim VM

Lm th no thc thi mt
chng trnh MS-DOS trn
mt h thng Sun vi h iu
hnh Solaris?
1.

2.

To mt my o Intel bn trn h
iu hnh Solaris v h thng
Sun
Cc lnh Intel (x86) c my
o Intel chuyn thnh lnh tng
ng ca h thng Sun.

Intel x86 Application


Intel x86 VM
VM interpretation

Solaris kernel
Sun hardware

1.B.57

You might also like