Sei sulla pagina 1di 25

Chng 1 (bo sung)

A. He thong may tnh

Kien truc c ban cua he thong may tnh C che van hanh cua he thong Cau truc he thong xuat nhap (I/O) Cau truc va phan cap he thong lu tr

Kien truc c ban cua he thong may tnh


PC
Keyboard Disks Mouse Disk controller CPU Printer Graphics adapter Monitor

USB controller

MEMORY

em d lieu (local buffer)


2

Chu trnh hoat ong cua CPU

Interrupts disabled Start Fetch Next Instruction Execute Instruction Check for interrupt; Process interrupt

Interrupts enabled

HALT

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


2.1 Fig 2.2; 7th ed fig 1.3 4

Qua trnh x ly ngat quang

X ly trap tng t x ly HW interrupt


User Program Interrupt vector table
0 0 00ffe23f interrupt 0x21 routine

21

00ffe23f

ret

i i+1

int. 0x21

ffffffff

M Interrupt handler thc thi 5

Cau truc he thong I/O

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 tnh trang (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

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

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

Truyen d lieu gia bo nh va thiet b

Programmed I/O
OS dung CPU cycle e di chuyen data gia bo nh va thiet b

Direct memory access (DMA)


Programmed I/O khong hu hieu (can nhieu CPU cycle) khi thc hien di chuyen khoi lng ln d lieu Ky thuat 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

10

Ky thuat thc hien I/O mc ng dung

Blocking / nonblocking I/O

Blocking

Nonblocking, asynchronous

kernel

kernel

- - - : bypassing
2.2.1 Fig 2.3 11

Quan ly cac truy cap thiet b I/O

Hang i cac yeu cau I/O, vd

Cac hang i (wait queue) I/O


2.2.1 Fig 2.4 12

Cau truc & phan cap he thong lu tr

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 a

t (magnetic disk): a mem, a cng, bang t quang (optical disk): CD-ROM, DVD-ROM ROM: USB disk

Flash

2.3

14

Phan cap he thong lu tr


Toc o nhanh

vd: file-system data

Gia thanh moi byte re Dung lng ln

2.4 Fig 2.6

15

Phan cap he thong lu tr

Muc tieu
Gia thanh moi byte thap gan vi mc lu tr re nhat Toc o nhanh gan vi mc lu tr nhanh nhat

16

Ky thuat caching

Caching
nap trc d lieu vao thiet b lu tr toc o cao hn

Tai sao dung cache?


Chenh lech ln gia toc o CPU va toc o bo nh RAM, a,

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 cache Van e: mot d lieu co the c lu tr nhieu ni can bao am tnh nhat quan d lieu:

cache coherency problem

A: d lieu
2.4 Fig 2.7 17

Ky thuat caching

Caching: nap trc d lieu vao thiet b lu tr toc o cao hn

A: d lieu

Tai sao dung cache?


Chenh lech ln gia toc o CPU va toc o bo nh RAM, a,

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 cache
Van e: mot d lieu co the c lu tr nhieu ni can bao am tnh nhat quan d lieu: cache coherency problem
18

Dual mode (1)


Muc ch: bao ve he ieu hanh va chng trnh ng dung Giai phap Ky thuat dual mode: can co phan cng ho tr

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

2.5.1

19

Dual mode (2)

Hnh cua Dror G. Feitelson

20

Dual mode (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.

mode bit = user

kernel

user mode bit = kernel

Dong thc thi va thay oi mode khi goi system call


21

Bao ve phan cng Lenh I/O

Giai phap: lenh I/O eu la privileged instruction

System call

User mode program khong thc thi c lenh I/O ( trap), phai thong qua li goi 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

2.5.2 Fig 2.8

22

Bao ve phan cng Bo nh


Vd: bao ve bo nh dung 2 thanh ghi - 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 (b)

(a)

2.5.3 Figs 2.9 + 2.10

23

Bao ve phan cng CPU

Bao ve CPU

Bao am OS duy tr c quyen ieu khien Tranh trng hp CPU b ket trong cac vong lap vo han Bo em timer se giam dan sau moi xung clock

C che thc hien la dung timer e kch khi cac ngat quang nh ky
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 mot privileged instruction

2.5.4

24

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)

2.5.4

25

Potrebbero piacerti anche