Slides HDH 2010 Ch01 04 Lung

Embed Size (px)

Citation preview

19/14/2010 V c Lung 1TRNG H CNG NGH THNG TINKHOA K THUT MY TNHHe ieu Hanh(Operating Systems)9/14/2010 V c Lung 2He He ie ie u u Ha Ha nh nhThi gian: - L thuyt: 45 tit- Thc hnh: 30 titim s:- im thi gia k: 20%- im thc hnh hoc lm bi tiu lun: 30%- im thi cui HK: 50% Khoa K thut my tnh GV: TS. V c Lung Email: [email protected]/14/2010 V c Lung 3N N i i dungdung mn mn h h c cChng 1: Tng quan v h iu hnhChng 2: Cu trc H iu hnhChng 3: Qun l tin trnh (Processes) Chng 4: nh thi CPUChng 5: ng b ha tin trnhChng 6: Tc nghn (Deadlocks) Chng 7: Qun l b nhChng 8: B nh o c c thm thm ti ti u u lu lu n n: :Chng 9: H tng qun l tp tinChng 10: H thng qun l nhp/xutChng 11: Bo v v an ton h thng9/14/2010 V c Lung 4T T i i li li u u tham tham kh kh o o1. Trn Hnh Nhi, L Khc Nhin n. Gio trnh hiu hnh. Trung tm pht trin cng nghthng tin-HQG.HCM, 2005. 2. Nguyn Ph Trng. Gio trnh h iu hnh. H Cn Th, 2005.3. Silberschatz, Galvin, Gagne. Operating System Concepts.Sixth edition, John Wiley & Sons,20034. Mark E. Russinovich and David A. Solomon, Microsoft Windows Internals, 4th Edition, Microsoft Press, 2004.T Ti i li li u u chung chung: :http://groups.google.com/group/os-vdlung9/14/2010 V c Lung 5Ch Ch ng ng I: I:T T ng ng quan quan h h i i u u h h nh nh9/14/2010 V c Lung 61.1.1.1. To To ng ng quan quan Gii thieu nh ngha he ieu ha nh Ca u tru c he tho ng may tnh Ca c ch c nang chnh cu a he ieu hanh29/14/2010 V c Lung 7nh nh ngha ngha He ie u ha nh la g?Chng trnh trung gian gi a pha nc ng ma y tnh va ng i s du ng, coch c na ng ie u khie n va pho i h pve c sdu ng pha n c ng va cung ca pca c dch vu c ba n cho ca c ngdu ng. Mu c tie uGiu p ng i du ng de da ng s du nghe tho ng.Qua n ly va ca p pha t ta i nguye n hetho ng mo t ca ch hie u qua .Pha n c ngHe ie u Ha nhCa c ng du ngNg i du ng9/14/2010 V c Lung 8nh nh ngha ngha ( (tt tt) )Hnh cua Dror G. FeitelsonHnh chnh xac hnPhysical devicesMicroprogrammingMachine languageOperating systemCompilers EditorsCommand interpreterBanking systemAirline reservationWeb browser Application programsHardwareSystem programs9/14/2010 V c Lung 9Cac thanh phan cua he tho ng9/14/2010 V c Lung 10Cac Cac thanh thanh phan phan cua cua he he thong thong ( (tt tt) )Pha n c ng (hardware)Bao go m ca c ta i nguye n c ba n cu a ma y tnh nh CPU, bo nh , ca cthie t b I/O,...He ie u ha nh (operating system)Pha n pho i ta i nguye n, ieu khie n va pho i h p ca c hoa t o ng cu a ca cchng trnh trong he tho ng.Chng trnh ng du ng (application programs)S du ng ta i nguye n he tho ng e gia i quye t mo t va n e tnh toa n na o ocu a ng i s du ng, v du : compilers, database systems, video games, business programs.Dlie u9/14/2010 V c Lung 11Ca Ca c c ch ch c c nang nang ch ch nh nh cu cu a a OS OSPha n chia thi gian x ly va nh thi CPUPhoi hp va ong bo hoat ong gi a cac processes (coordination & synchronization)Quan ly tai nguyen he thong (thiet b I/O, bo nh, file ch a dlieu,)Th c hien va kiem soat access control, protectionDuy tr s nhat quan (integrity) cua he thong, kiem soat lo i vaphuc hoi he thong khi co lo i (error recovery)Cung cap giao dien lam viec cho users9/14/2010 V c Lung 12Cc Cc dng dng H H H H 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,Itanium39/14/2010 V c Lung 131.2. PHAN LOAI HE IEU HANHDi gc loi my tnhH iu hnh dnh cho my MainFrameH iu hnh dnh cho my ServerH iu hnh dnh cho my nhiu CPUH iu hnh dnh cho my tnh c nhn (PC) H iu hnh dnh cho my PDA (Embedded OS - h iuhnh nhng) H iu hnh dnh cho my chuyn bitH iu hnh dnh cho th chp (SmartCard) 9/14/2010 V c Lung 14Di gc s chng trnh c s dng cng lc H iu hnh n nhim H iu hnh a nhimDi gc ngi dng (truy xut ti nguyn cng lc) Mt ngi dng Nhiu ngi dngMng ngang hngMng c my ch: LAN, WAN, ...1.2. PHAN LOAI HE IEU HANH9/14/2010 V c Lung 15Di gc hnh thc x lH thng x l theo lH thng chia sH thng song songH thng phn tnH thng x l thi gian thc1.2. PHAN LOAI HE IEU HANH9/14/2010 V c Lung 16HE THONG X LY N CHNGn chng- Ta c vu c thi ha nh tua n t .- Bo gia m sa t th ng trc, - CPU va ca c thao tac nhap xuat, - X ly offline, - ong bo hoa ca c thao tac ben ngoa i - Spooling (Simultaneous Peripheral Operation On Line)Nha p Xua tMa y tnhchnh1.2. PHAN LOAI HE IEU HANH9/14/2010 V c Lung 17HE THONG X LY A CHNGBo x ly Ke t thu c ta c vuTa c vuI/O Nhieu tac vu san sang thi hanh cung mot thi iem.Khi mot tac vu thc hien I/O, bat au tac vu khac.Bo x ly va thiet b thi hanh toan thi gian.1.2. PHAN LOAI HE IEU HANH9/14/2010 V c Lung 18 Multiprogrammed systemsNhie u co ng vie c c na p o ng th i va o bonh chnhKhi mo t tie n trnh th c hie n I/O, mo t tie ntrnh kha c c th c thiTa n du ng c th i gian ra nh, ta ng hie u sua tsdu ng CPU (CPU utilization)Ye u ca u o i v i he ie u ha nhnh th i co ng vie c (job scheduling): cho n job trong job pool tre n a va na pno va o bo nh e th c thi.Qua n ly bo nh (memory management)nh th i CPU (CPU scheduling)Ca p pha t ta i nguye n (a, ma y in,)Ba o ve1.2. PHAN LOAI HE IEU HANH49/14/2010 V c Lung 191.2. PHAN LOAI HE IEU HANH9/14/2010 V c Lung 20HE THONG CHIA XE THI GIANHe thong a nhiem (multitasking).Lap lch CPU.Thi gian chuyen oi gia cac tac vu rat ngan.

Bo x ly1.2. PHAN LOAI HE IEU HANH9/14/2010 V c Lung 21 Time-sharing systemsMultiprogrammed systems kho ng cung ca p kha na ng tng ta c hie uqua v i usersCPU lua n phie n th c thi gi a ca c co ng vie c Mo i co ng vie c c chia mo t pha n nho th i gian CPU (time slice, quantum time) Cung ca p tng ta c gi a user va he tho ng v i th i gian a p ng(response time) nho (1 s) Mo t co ng vie c ch c chie m CPU khi no na m trong bo nh chnh.Khi ca n thie t, mo t co ng vie c na o o co the c chuye n t bo nhchnh ra thie t b lu tr (swapping), nh ng bo nh chnh cho co ngvie c kha c.HE THONG CHIA XE THI GIAN9/14/2010 V c Lung 22 Ye u ca u o i v i OS trong he tho ng time-sharingnh th i co ng vie c (job scheduling)Qua n ly bo nh (memory management) Virtual memoryQua n ly ca c qua trnh (process management)nh th i CPU o ng bo ca c qua trnh (synchronization)Giao tie p gi a ca c qua trnh (process communication)Tra nh deadlockQua n ly he tho ng file, he tho ng lu trCa p pha t h p ly ca c ta i nguye nBa o ve (protection)HE THONG CHIA XE THI GIAN9/14/2010 V c Lung 23HE THONG A X LYBox lyBox lyBo nh chnhHai hoac nhieu bo x ly cung chia se mot bo nh.Master/Slave : mot bo x ly chnh kiemsoat mot so bo x lyI/O1.2. PHAN LOAI HE IEU HANH9/14/2010 V c Lung 24 He tho ng song song (parallel, multiprocessor, hay tightly-coupled system) Nhie u CPU Chia se computer bus, clock u iem Na ng xuat he tho ng (System throughput): cang nhie uprocessor th ca ng nhanh xong cong vie c Multiprocessor system t ton ke m hn multiple single-processor system: v co the du ng chung ta i nguyen(a,) o tin cay: khi mo t processor ho ng th co ng vie c cu a no c chia se gi a ca c processor con la iHE THONG A X LY59/14/2010 V c Lung 25 Pha n loa i he thong 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 uha 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 oi x ng (asymmetric multiprocessor) Mo i processor th c thi mo t cong viec kha c nhau Master processor nh th i va pha n co ng vie c cho ca cslave processors (SunOS 4.0)HE THONG A X LY9/14/2010 V c Lung 26HE THONG PHAN TANNhieu may tnh lien ket vi nhau bang ng truyenthong ac biet.Tng t he thong a x ly nhng khong chia xe bonh.Giao tie p ma ngBo x lyBo nhHe tho ng may tnh 1Giao tie p ma ngBo x lyBo nhHe tho ng may tnh 2Ma ng1.2. PHAN LOAI HE IEU HANH9/14/2010 V c Lung 27 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 nhno i nh ma ng, bus to c o caoNg i du ng ch tha y mo t he tho ng n nha tu ie mChia se ta i nguye n (resource sharing)Chia se s c ma nh tnh toa n (computational sharing)o tin ca y cao (high reliability)o sa n sa ng cao (high availability): ca c dch vu cu a he tho ng ccung ca p lie n tu c cho du mo t tha nh pha n hardware tr ne n ho ngHE THONG PHAN TAN9/14/2010 V c Lung 28 He tho ng pha n ta n (tt)Ca c mo hnh he tho ng pha n ta nClient-serverServer: cung ca p dch vuClient: co the s du ng dch vu cu a serverPeer-to-peer (P2P)Ca c peer (ma y tnh trong he tho ng) e u ngang ha ng nhauKho ng co c s dlieu ta p trungCa c peer la t trVd: GnutellaHE THONG PHAN TAN9/14/2010 V c Lung 29He thong thi 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 mkhoa ho c, ie u khie n trong y khoa, da y chuye n co ng nghiep, thiet b giadu ng, qua n sRa ng buo c ve th i gian: hard va soft real-timePha n loa iHard real-time Ha n che (hoa c kho ng co ) bo nh phu , ta t ca d lie u na m trong bonh chnh (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 ngtrong ie u khie n co ng nghie p, robotics,Soft real-time Th ng c du ng trong lnh v c multimedia, virtual reality v i ye uca u me m de o hn ve th i gian a p ng9/14/2010 V c Lung 30 Thie t b ca m tay (handheld system)Personal digital assistant (PDA): Palm, Pocket-PCie n thoa i di ong (cellular phones)a c trng Bo nh nho (512 KB 128 MB) To c o processor tha p (e t to n pin) Ma n hnh hie n th co kch th c nho va o pha n gia i tha p. Co the du ng ca c co ng nghe ke t no i nh IrDA, Bluetooth, wirelessThiet b cam tay(handheld system)69/14/2010 V c Lung 311.3. LCH S PHAT TRIEN CUA HE IEU HANHThe he 1 (1945 - 1955)- Thiet ke, xay dng, lap trnh, thao tac: eu do 1 nhomngi- Lu tren phieu uc loThe he 2 (1955 - 1965)- Xuat hie n s pha n co ng co ng viec- He tho ng s ly theo lo ra i, lu tre n bang t- Hoat o ng di s ie u khie n ac biet cua 1 chng trnhThe he 3 (1965 - 1980)-Ra i he ie u ha nh, kha i nie m a chng- HH chia se th i gian nh CTSS cu a MIT- MULTICS, UNIX9/14/2010 V c Lung 321.3. LCH S PHAT TRIEN CUA HE IEU HANHThe he 4 (1980 - )-Ra i ma y tnh ca nha n, IBM PC- HH MS-DOS, MacOS (Apple Macintosh), MS Windows, OS/1- Linux, QNX, HH ma ng,9/14/2010 V c Lung 33Operating Systems Evolution5560657075808590950003IOCSDOS/360DOS/VDSEVSVS/ESAOS/360MVS/370MVS/XAMVS/ESTSOIBSYSCTSSCP/CM5VM/370VM/XAVM/ESASYSTEM IIISYSTEM VSYSTEM V.4MULTICSUNIXUNIXV.7AIX/370AIXSUN OSPOSIXSOLARIS 24.1BSD4.2BSD4.3BSD4.4BSDMACHOSF/1AIX/ESAXENIX MS-DOS 1.0CP/MDR/DOSOS/2WIN 3.0WIN NTWIN 2000WIN 9XWIN XPLINUXRSX-11MVMS 1.0VMS 5.4VMS 7.3WIN 3.1SOLARIS 10RT-11LINUX 2.6WIN Server 20039/14/2010 V c Lung 34Windows And Linux Evolution Windows and Linux kernels are based on foundations developed in the mid-1970s1970 1980 1990 2000VMS v1.0Windows NT 3.1NT 4.0Windows 2000Windows XPServer 20031970 1980 1990 2000UNIX bornUNIX publicUNIX V6Linux v1.0v2.0v2.2v2.3v2.4v2.6(see http://www.levenez.com for diagrams showing history of Windows & Unix)19/14/2010 V c Lung 1Chng Chng II:II: Cau Cau Truc Truc He Heieu ieu Hanh Hanh Ca c tha nh pha n cu a he ieu hanh Ca c dch vu he ie u ha nh cung ca p L i go i he thong (System call) Ca c chng trnh he thong (system programs) Ca u tru c he tho ng Ma y a o (virtual machine)9/14/2010 V c Lung 22.1.2.1. Cac Cac thanh thanh phan phan cua cua he heieu ieu hanh hanh- Qua trnh (hay tie n trnh process) la g?- Qua trnh kha c chng trnh ie m g?- Mo t qua trnh ca n ca c ta i nguye n cu a he tho ng nh CPU, bo nh , file, thie tb I/O, e hoa n tha nh co ng vie c.- Ca c nhie m vu cu a tha nh pha n Ta o va hu y qua trnh Ta m dng/th c thi tie p (suspend/resume) qua trnh Cung ca p ca c c che o ng bo hoa t o ng ca c qua trnh (synchronization) giao tie p gi a ca c qua trnh (interprocess communication) kho ng che tc nghn (deadlock)2.1.1. Qua n ly qua trnh (process management)9/14/2010 V c Lung 32.1.2.1. Cac Cac thanh thanh phan phan cua cua he heieu ieu hanh hanh Bo nh chnh la trung tam cua cac thao tac, x ly e nang cao hieu suat s dung CPU, he ieu hanh can quan ly bo nh thch hp Cac nhiem vu cua thanh phan Theo do i, quan ly cac vung nh trong va acap phat Quyet nh senap chng trnh nao khi co vung nhtrong Cap phat va thu hoi cac vung nh khi can thiet2.1.2. Qua n lybo nhchnh9/14/2010 V c Lung 42.1.2.1. Cac Cac thanh thanh phan phan cua cua he heieu ieu hanh hanh Hetho ng file (file system) File Th mu c Ca c dch vumathanh phan cung cap Ta o vaxoafile/th mu c. Ca c thao ta c xlyfile/th mu c (mkdir, rename, copy, move, new,) A nh xa file/th mu c va o thie t b lutrthca p tng ng Sao lu vaphu c ho i dlie u2.1.3. Qua n lyfile (file management)9/14/2010 V c Lung 52.1.2.1. Cac Cac thanh thanh phan phan cua cua he heieu ieu hanh hanh Che dau s khac biet cua cac thiet b I/O trcngi dung Co chc nang C che : buffering, caching, spooling Cung ca p giao dien chung en ca c trnh ieu khien thie t b (device-driver interface) Bo ieu khien cac thie t b (device driver) pha n c ng.2.1.4. Quan ly he tho ng I/O (I/O system management)9/14/2010 V c Lung 62.1.2.1. Cac Cac thanh thanh phan phan cua cua he heieu ieu hanh hanh Bonhchnh: kch th c nho , lamo i tr ng ch a tin kho ng be n v ng => ca n hetho ng lu trthca p elu trbe n v ng ca c dlie u, chng trnh Phng tie n lu trtho ng du ng laa t , a quang Nhie m vucu a he ie u ha nh trong qua n ly a Qua n lykho ng gian tro ng tren a(free space management) Ca p pha t kho ng gian lu tr(storage allocation) nh th i ho at o ng cho a (disk scheduling)S dung thng xuyen => a nh hng ln en toc o cuaca he thong => can hieu qua2.1.5. Quan ly he tho ng lu tr th cap (secondary storage management)29/14/2010 V c Lung 72.1.2.1. Cac Cac thanh thanh phan phan cua cua he heieu ieu hanh hanhTrong he tho ng cho phe p nhie u user hay nhie u process die n ra o ng th i: Kie m soa t qua trnh ng i du ng a ng nha p/xua t va s du ng he tho ng Kie m soa t vie c truy ca p ca c ta i nguye n trong he tho ng Ba o a m nh ng user/process ch c phe p s du ng ca c ta i nguye n da nh cho no Ca c nhie m vu cu a he tho ng ba o ve Cung ca p c che kie m soa t a ng nha p/xua t (login, log out) Pha n nh c s truy ca p ta i nguye n h p pha p va ba t h p pha p(authorized/unauthorized) Phng tie n thi ha nh ca c chnh sa ch (enforcement of policies)Chnh sa ch: ca n ba o ve d lie u cu a ai o i v i ai2.1.6. Hetho ng ba o ve9/14/2010 V c Lung 82.1.2.1. Cac Cac thanh thanh phan phan cua cua he heieu ieu hanh hanh Lagiao die n chuye u gi a ng i du ng vaOS V du : shell, mouse-based window-and-menu Khi user login command line interpreter (shell) cha y, vachnha n le nh tng i du ng, th c thi le nh vatrake t quave . Ca c le nh ->bo ie u khie n le nh ->he ie u ha nh Ca c le nh co quan he v i ca c vie c: Ta o, hu y, va qua n ly quatrnh, hetho ng Kie m soa t I/O Qua n ly bo lu trthca p Qua n lybonh chnh Truy ca p hetho ng file va c che ba o ma t2.1.7. He thong thong dch lenh9/14/2010 V c Lung 92.2.2.2. Cac Cac dch dch vu vuhe heieu ieu hanh hanh cung cung cap cap Th c thi chng trnh Th c hie n ca c thao ta cI/O theo ye u ca u cu a chng trnh Ca c thao ta c tre n hetho ng file o c/ghi hay ta o/xo a file Trao o i tho ng tin gi a ca c quatrnh qua hai ca ch: Chia xe bo nh (Shared memory) Chuye n tho ng ie p (Message passing) Pha t hie n lo i Trong CPU, bo nh , tre n thie t b I/O (dlieu h, he t gia y,) Do chng trnh: chia cho 0, truy ca p e n a ch bonhkho ng cho phe p.9/14/2010 V c Lung 102.2.2.2. Cac Cac dch dch vu vuhe heieu ieu hanh hanh cung cung cap capNgoai ra con cac dch vu giup ta ng hieu suat cua he thong: Ca p pha t ta i nguye n (resource allocation) Ta i nguye n: CPU, bonhchnh, tape drives, OS coca c routine tng ng Ketoa n (accounting) Nha m lu ve t user etnh ph hoa c n gia n e tho ng ke . Ba o ve(protection) Hai quatrnh kha c nhau kho ng c a nh h ng nhau Kie m soa t c ca c truy xua t ta i nguye n cu a he tho ng An ninh (security) Ch ca c user c phe p sdu ng hetho ng m i truy ca p c ta i nguye n cu a hetho ng (vd: tho ng qua username va password)9/14/2010 V c Lung 112.3.2.3. Li Li goi goi he hethong thong ( (System call System call) ) Dung e giao tiep gia qua trnh va he ieu hanh Cung ca p giao die n gi a quatrnh vaheie u ha nh Vd: open, read, write file Tho ng th ng da ng th vie n nh pha n (binary libraries) hay gio ngnh ca c le nh h p ng . Trong ca c ngo n ngla p trnh ca p cao, mo t soth vie n la p trnh c xa y d ng d a tre n ca c th vie n hethong (v duWindows API, th vie n GNU C/C++ nh glibc, glibc++,) Ba phng pha p truye n tham so khi sdu ng system call Qua thanh ghi Qua mo t vu ng nh , a ch cu a vu ng nh c g i e n heie u ha nh qua thanh ghi Qua stack9/14/2010 V c Lung 122.4.2.4. Cac Cac chng chng trnh trnh he hethong thong Chng trnh hetho ng (system program, pha n bie t v i application program) go m Qua n lyhetho ng file: nh create, delete, rename, list Tho ng tin tra ng tha i: nh date, time, dung l ng bonhtro ng Soa n tha o file: nh file editor Hotrngo n ngla p trnh: nh compiler, assembler, interpreter Na p, th c thi, giup tm lo i chng trnh: nh loader, debugger Giao tie p: nh email, talk, web browser Ng i du ng chuye u la m vie c tho ng qua ca c system program (kho ng la m vie c tr c tie p v i ca c system call)39/14/2010 V c Lung 132.5.2.5. Cau Cau truc truc he hethong thong Cau truc n gian (monolithic) MS-DOS: khi thie t ke , do gi i ha n vedung l ng bonhne n kho ng pha n chia tha nh ca cmodule (modularization) va cha pha n chia roch c na ng gi a ca c pha n cu a hetho ng.Cau truc phan tang cua MS-DOS9/14/2010 V c Lung 142.5.2.5. Cau Cau truc truc he hethong thong Cau truc n gian (monolithic)UNIX: go m hai pha n co the ta ch r i nhau Nha n (cung ca p file system, CPU scheduling, memory management, vamo t soch c na ng kha c) va system program 9/14/2010 V c Lung 152.5.2.5. Cau Cau truc truc he hethong thong Ca u tru c phan ta ng: HH c chi tha nh nhie u l p (layer). L p d i cu ng: hardware L p tre n cu ng la giao tie p v i user L p tre n ch phu thuo c l p d i Mo t l p ch co the go i ca c ha m cu a l p di va ca c ha m cu a no cgo i b i l p tre n Mo i l p tng ng mo t o i t ng tr u t ng: ca u tru c d lie u + thao ta c Pha n l p co l i ch g?G ro i (debugger, kie m tra he tho ng, thay o ich c na ng)9/14/2010 V c Lung 162.5.2.5. Cau Cau truc truc he hethong thong Ca u tru c phan ta ng: La n a u tie n c a p du ng cho HH THE (Technische HogeschoolEindhoven)Pha n c ng L p 0La p lch CPU L p 1Qua n ly bo nh L p 2Device driver thao ta c ma n hnh L p 3Ta o buffer cho thie t b I/O L p 4user programm L p 59/14/2010 V c Lung 172.5.2.5. Cau Cau truc truc he hethong thong Vi nha n: pha n chia module theo microkernel (CMU Mach OS, 1980) Chuye n mo t soch c na ng cu a OS tkernel space sang user space Thu go n kernel => microkernel, microkernel ch bao go m ca c ch c na ng to i thie u nh qua n lyquatrnh, bonhvac chegiao tie p gi a ca c quatrnh Giao tie p gi a ca c module qua c chetruye n tho ng ie p ApplicationApplicationFileserverFileserverOS/2applicationOS/2applicationOS/2serverOS/2serverPOSIXapplicationPOSIXapplicationPOSIXserverPOSIXserverMicrokernelmot module9/14/2010 V c Lung 182.5.2.5. Cau Cau truc truc he hethong thong Vi nha n:- L i ch: de m ro ng HH- Mo t so HH hie n a i s du ng vi nha n:+ Tru64 UNIX (Digital UNIX tr c a y): nha n Mach+ Apple MacOS Server : nha n Mach+ QNX vi nha n cung ca p: truye n tho ng ie p, nh th i CPU, giao tie pma ng ca p tha p va nga t pha n c ng+ Windows NT: cha y ca c ng du ng kha c nhau win32, OS/2, POSIX (Portable OS for uniX)49/14/2010 V c Lung 192.6.2.6. May May ao ao T OS layer en may a o (virtual machine)Non-virtual machinesystem modelVirtual machine system modelhardwarekernelprocesseskernel kernel kernelVM3 VM2 VM1processesprocessesVirtual-machineimplementationhardwareprocessesprogramminginterface9/14/2010 V c Lung 202.6.2.6. May May ao ao Hie n th c ynie m VM La m thena o eth c thi mo t chng trnh MS-DOS tre n mo t hetho ng Sun v i heie u ha nh Solaris ?1. Ta o mo t ma y a o Intel be n tre n heie u ha nh Solaris va hetho ng Sun 2. Ca c le nh Intel (x86) c ma y a o Intel chuye n tha nh le nh tng ng cu a hetho ng Sun.Sun hardwareSolaris kernelVM interpretation Intel x86 VMIntel x86 Application11 V c Lung Khoa KTMTCh Ch ng ng III:III: Tie Tie n n tr tr nh nh (Process) (Process) Khai niem c ban Trang thai qua trnh Khoi ieu khien qua trnh (Process control block) nh thi qua trnh (Process Scheduling) Cac tac vu oi vi qua trnh S cong tac gia cac qua trnh Giao tiep gia cac qua trnh2 V c Lung Khoa KTMT3.1.3.1. Kha Kha i i nie nie m m c c ba ba n nCai g goi cac hoat ong cua CPU?He tho ng bo (Batch system): jobs Time-shared systems: user programs, tasksCac hoa t ong la tng t => goi la processQua trnh (process)mot chng trnh ang thc thiMot qua trnh bao gom Text section (program code), data section (cha global variables) program counter (PC), process status word (PSW), stack pointer (SP), memory management registers,3 V c Lung Khoa KTMT3.1.3.1. Kha Kha i i nie nie m m c c ba ba n nCac bc nap chng trnh vao bo nh4 V c Lung Khoa KTMT3.1.3.1. Kha Kha i i nie nie m m c c ba ba n nprogramcodedataExecutable binary file (load module)programcodedatastackProcess image in main memory Du ng load module e bie u die n chng trnh th c thi c Layout lua n ly cu a process imagestart addresschng trnh => qua trnh5 V c Lung Khoa KTMT3.1.3.1. Kha Kha i i nie nie m m c c ba ba n nCac bc he ieu hanh khi tao qua trnhCap pha t mo t nh danh duy nha t (process number hay process identifier, pid) cho qua trnhCap pha t khong gian nh e nap qua trnhKhi tao kho i d lieu Process Control Block (PCB) cho qua trnh PCB la ni he ieu hanh lu cac thong tin ve qua trnhThie t lap cac moi lien he can thiet (vd: sap PCB vao hang inh th i,)Kh Kh i i ta ta o o qua qua tr tr nh nh6 V c Lung Khoa KTMT3.2.Tra 3.2.Tra ngng tha tha i i qua qua tr tr nh nh Cac trang thai cu a qua trnh (process states): new: qua trnh v a c ta o ready: qua trnh a co u ta i nguyen, ch con can CPU running: cac le nh cu a qua trnh ang c thc thi waiting: hay la blocked, qua trnh i I/O hoan tat, tn hieu. terminated: qua trnh a ket thuc.27 V c Lung Khoa KTMT3.2.Tra 3.2.Tra ngng tha tha i i qua qua tr tr nh nhreadyready runningrunningdispatchinterruptI/O or event completionI/O or event waitnewnewterminatedterminatedwaitingwaitingadmit exitChuyen oi gi a cac trang thai cua qua trnh8 V c Lung Khoa KTMT3.2.Tra 3.2.Tra ngng tha tha i i qua qua tr tr nh nh/* test.c */int main(int argc, char** argv){ printf(Hello world\n");exit(0);}Bie n dch chng trnh trong Linuxgcc test.c o testTh c thi chng trnh test./testTrong he tho ng se co mo t qua trnh test c ta o ra, th c thi va ke t thu c.Chuo i trang thai cua quatrnh test nh sau (trng hptot nhat):newreadyrunningwaiting (do ch I/O khi go iprintf)readyrunningterminatedV V du du 9 V c Lung Khoa KTMT3.3.Process control block 3.3.Process control block a tha y la mo i qua trnh trong he tho ng eu c ca p pha t mo t Process Control Block (PCB) PCB la mo t trong ca c ca u tru c d lie u quantro ng nha t cu a he ie u ha nh va go m:- Trang thai qua trnh: new, ready, running,- Bo e m chng trnh- Cac thanh ghi- Thong tin lap thi bieu CPU: o u tie n, - Thong tin quan ly bo nh- Thong tin tai khoan: lng CPU, th i gian sdung,- Thong tin trang thai I/O10 V c Lung Khoa KTMT3.3.Process control block 3.3.Process control blockLu ochuyen CPU t qua trnhnay en quatrnh khac11 V c Lung Khoa KTMTYeu Yeu ca ca u u o o i i v v i i he he ie ie u u ha ha nh nh ve ve qua qua n n ly ly qua qua tr tr nh nhHo tr s th c thi luan phien gi a nhieu qua trnhHieu sua t s dung CPUThi gian ap ngPha n phoi tai nguye n he thong hp lytranh deadlock, tr hoan vo han nh,Cung cap c che giao tiep va ong bo hoat ong cac qua trnhCung cap c che ho tr user tao/ket thuc qua trnh12 V c Lung Khoa KTMTrunningreadywaitingQua Qua n n ly ly ca ca c c qua qua tr tr nh nh:: ca ca c c ha ha ng ng i i711 4 2 1719 11process numbercac PCBCo g sai trong v du?V du313 V c Lung Khoa KTMT3.4.3.4. nh nh th th i i qua qua tr tr nh nh (Process(Process Scheduling) Scheduling)Tai sao phai nh thi?a chng (Multiprogramming) Co vai qua trnh chay tai cac thi ie m Muc tieu: tan dung toi a CPUChia thi(Time-sharing) Users tng tac v i mo i chng trnh ang thc thi Muc tieu: toi thieu thi gian ap ngMot so khai niem c banCac bonh thi (scheduler)Cac ha ng i nh thi (scheduling queue)14 V c Lung Khoa KTMTCa Ca c c ha ha ng ng i i nh nh th th i i (Scheduling(Scheduling queues) queues) Ha ng i co ngvie c-Job queue Ha ng i sa nsa ng-Ready queue Ha ng i thie t b-Device queues 15 V c Lung Khoa KTMTCa Ca c c ha ha ng ng i i nh nh th th i i (Scheduling(Scheduling queues) queues)Lu o hang i cu a nh th i qua trnh16 V c Lung Khoa KTMT3.5.3.5. Bo Bo nh nh th th i i (Scheduler) (Scheduler)Bo nh thi cong viec (Job scheduler) hay bo nh thi dai(long-term scheduler)Bo nh thi CPU hay bo nh thi nganCac qua trnh co the mo ta nh:Qua trnh h ng I/O (I/O bound process)Qua trnh h ng CPU (CPU bound process)Thi gian thc hie n khac nhau => ke t hp hai ho a gi a chu ng17 V c Lung Khoa KTMTBo Bo nh nh th th i i trung trung gian(medium gian(medium- -termterm scheduling) scheduling)o i khi he ieu hanh (nh time-sharing system) co themmedium-term scheduling e ieu chnh m c o a chng cuahe thongMedium-term schedulerchuyen qua trnh t bo nh sang a (swap out)chuyen qua trnh t a vao bo nh (swap in)18 V c Lung Khoa KTMT3.6.3.6. Ca Ca c c ta ta c c vu vu o o i i v v i i qua qua tr tr nh nhTao qua trnh mi (process creation)Mot qua trnh co the ta o nhieu qua trnh m i tho ng qua mo t l igoi he thong create-process (vd: ham fork trong Unix) V du: (Unix) Khi user ang nhap he thong, mot command interpreter (shell) se c ta o ra cho userQua trnh c ta o la qua trnh con cu a qua trnh tao (qua trnhcha). Quan he cha-con nh ngha mo t cay qua trnh.419 V c Lung Khoa KTMTCay Cay qua qua tr tr nh nh trong trong Linux/Unix Linux/UnixV du20 V c Lung Khoa KTMT3.6.Ca 3.6.Ca cc ta ta c c vu vu o o i i v v i i qua qua tr tr nh nhTao qua trnh miQua trnh con nhan tai nguyen: t HH hoac t P chaChia se tai nguyen cu a qua trnh cha Qua trnh cha va con chia se mo i ta i nguyen Qua trnh con chia se mo t phan tai nguyen cu a chaTrnh t thc thi Qua trnh cha va con thc thi ong th i (concurrently) Qua trnh cha i en khi cac qua trnh con ke t thuc.21 V c Lung Khoa KTMTVe Ve quan quan he he cha/con cha/conKho ng gian a ch (address space)Khong gian a ch cua qua trnh con c nhan ban t chaKhong gian a ch cua qua trnh con c kh i ta o t template.V du trong UNIX/LinuxSystem call fork() ta o mo t qua trnh miSystem call exec() du ng sau fork() e nap mo t chng trnh m ivao khong gian nh cua qua trnh mio ng bo22 V c Lung Khoa KTMTV V du du ta ta o o processprocess v v i i fork() fork()#include #include int main (int argc, char *argv[]){int pid;/* create a new process */pid = fork();if (pid > 0){printf(This is parent process);wait(NULL);exit(0);} else if (pid == 0) {printf(This is child process);execlp(/bin/ls, ls, NULL);exit(0);}else {printf(Fork error\n);exit(-1);}}23 V c Lung Khoa KTMT3.6.Ca 3.6.Ca cc ta ta c c vu vu o o i i v v i i qua qua tr tr nh nh ( (tt tt) )Tao qua trnh mi Ket thuc qua trnhQua trnh t ket thuc Qua trnh ke t thuc khi thc thi lenh cuoi va go i system routine exitQua trnh ke t thuc do qua trnh khac (co u quye n, vd: qua trnhcha cu a no) Goi system routine abort vi tham so la pid (process identifier) cua qua trnh can c ke t thucHe ieu hanh thu ho i ta t ca cac tai nguyen cu a qua trnh ke tthuc (vung nh , I/O buffer,)24 V c Lung Khoa KTMT3.7.3.7. Co Co ng ng ta ta c c gi gi a a ca ca c c qua qua tr tr nh nhTrong qua trnh th c thi, cac qua trnh co the cong tac(cooperate) e hoan thanh cong viecCac qua trnh cong tac eChia se d lieu (information sharing)Tang toc tnh toan (computational speedup) Neu he tho ng co nhieu CPU, chia co ng viec tnh toan thanhnhieu cong viec tnh toan nho chay song songThc hien mot cong viec chung Xay dng mo t phan mem phc tap ba ng cach chia thanh cacmodule/process hp tac nhauS cong tac gi a cac qua trnh ye u cau he ieu hanh ho tr cche giao tiep va c che ong bo hoat ong cua cac qua trnh525 V c Lung Khoa KTMTBa Ba i i toa toa n n ng ng i i sa sa n n xua xua t t- -ng ng i i tieu tieu thu thu (producer (producer- -consumer ) consumer )V du cong tac gi a cac qua trnh: bai toan producer-consumerProducer tao ra cac d lieu va consumer tieu thu , s dung cac dlieu o . S trao oi thong tin thc hie n qua buffer unbounded buffer: kch thc buffer vohan (kho ng thc te). bounded buffer: kch thc buffer co han.Producer va consumer pha i hoa t ong ong bo v Consumer khong c tieu thu khi producer cha san xua t Producer khong c tao them san pham khi buffer ay.26 V c Lung Khoa KTMT3.8.Giao3.8.Giao tie tie p p lien lien qua qua tr tr nh nh( (Interprocess Interprocess communication communication- -IPC) IPC)IPC la c che cung cap bi he ieu hanh nham giup cac quatrnhgiao tiep vi nhauva ong bo hoat ongma khong ca n chia se khong gian a chIPC co the c cung cap bi message passing system27 V c Lung Khoa KTMTHe He tho tho ng ng truye truye n n thong thong ie ie p pMessage passing system Message passing system La m the na o e ca c qua trnh giao tie p nhau? Ca c va n e : at ten (Naming)Giao tiep trc tiep send(P, msg): gi thong iep en qua trnh P receive(Q, msg): nhan thong iep en t qua trnh QGiao tiep gian tiep: thong qua mailbox hay port send(A, msg): gi thong iep en mailbox A receive(B, msg): nhan thong iep t mailbox B ong bo hoa (Synchronization): blocking send, nonblocking send, blocking receive, nonblocking receive Tao vung em (Buffering): dung queue e tam cha cac messageKha nang cha la 0(Zero capacity hay no buffering)Bounded capacity: o dai cua queue la gii hanUnbounded capacity: o dai cua queue la khong gii han28 V c Lung Khoa KTMTTie Tie u u tr tr nh nh ( (luo luo ng ng)) - - Thread ThreadTieu trnh(tien trnh nhe-lightweight process): la mot n v cban s dung CPU, gom:Thread ID, PC, Registers, stack va chia se chung code, data, resources (files)29 V c Lung Khoa KTMTPCBPCB va va TCB TCB trong trong mo moh h nh nhmultithreads multithreadspidThreads listContext(Mem, global ressources)Scheduling statisticRelatives( Dad, children)PCBtidState(State, details)Context(IP, local stack)Thread Control BlockTCB30 V c Lung Khoa KTMTL L i i ch ch cu cu a a tie tie n n tr tr nh nh a a luo luo ng ngap ng nhanh: Cho phep chng trnh tiep tuc th c thi khi motbo phan b khoa hoac mot hoat ong daiChia se tai nguyen: tiet kiem khong gian nhKinh te: tao va chuyen ng canh nhanh hn tien trnhVD: trong Solaris 2, tao process cham hn 30 lan, chuyen chamhn 5 lanTrong multiprocessor: co the th c hien song song631 V c Lung Khoa KTMTTie Tie u u tr tr nh nh ng ng i i du du ng ng(User thread) (User thread)Khi nim tiu trnh c h tr bi mt th vin hot ng tronguser modeT1KernelT2UsermodeKernelmodeT3LWP1LWP2P1P232 V c Lung Khoa KTMTTi Ti u u tr tr nh nh h h t t nhan(Kernel nhan(Kernel thread) thread)Khi nim tiu trnh c xy dng bn trong ht nhnT1 T2HDHSystemcallUser modeKernel mode33 V c Lung Khoa KTMT11 Khoa KTMTCh Ch ng ng IV:IV: nh nh th th i i CPU CPU Khai niem c ban Cac bo nh thi long-term, mid-term, short-term Cac tieu chuan nh thi CPU Cac giai thuat nh thi First-Come, First-Served (FCFS) Round-Robin (RR) Shortest Job First (SJF) va Shortest Remaining Time First (SRTF) Priority Scheduling Highest Response Ratio Next (HRRN) Multilevel Queue Multilevel Feedback Queue2 Khoa KTMTKhai niem cJ banTrong cac he thong multitaskingThc thi nhieu chng trnh ong thi lam tang hieu suat hethong.Tai moi thi iem, ch co mot process c thc thi. Do o , can phai giai quyet van e phan chia, la chon process thcthi sao cho c hieu qua nhat chien lc nh thi CPU.nh thi CPUChon mo t process (t ready queue) thc thi.Vi mot multithreaded kernel, viec nh thi CPU la do OS chon kernel thread c chiem CPU.3 Khoa KTMTCac bu dinh thJireadyreadyrunningrunningsuspendedreadysuspendedreadysuspended blockedsuspended blockednewnewterminatedterminatedblockedblockedLong-termschedulingLong-termschedulingMedium-termschedulingMedium-termschedulingShort-termscheduling4 Khoa KTMTCac bu dinh thJiLong-term schedulingXac nh chng trnh nao c chap nhan nap va o he tho nge thc thiieu khie n mc o multiprogramming cua he thongLong term scheduler th ng co gang duy tr xen la n CPU-bound va I/O-bound processMedium-term schedulingProcess na o c a vao (swap in0, a ra kho i (swap out) bonh chnhc thc hie n bi phan quan ly bo nh va c tha o luan phan quan ly bo nh.5 Khoa KTMTCac bu dinh thJi (tt) Short term scheduling Xac nh process nao trong ready queue se c chiem CPU e thc thi ke tiep (con c goi la nh thi CPU, CPU scheduling) Short term scheduler con c goi vi ten khac la dispatcher Bo nh thi short-term c goi moi khi co mot trong cac skien/interrupt sau xay ra: Ngt thi gian (clock interrupt) Ngat ngoai vi (I/O interrupt) Li goi he thong (operating system call) SignalChaong nay se tap trang rao djnh tho/ ngan han6 Khoa KTMT0isatcherDispatcher se chuyen quyen ieu khien CPU ve choprocess c chon bi bo nh thi ngan hanBao gom:Chuyen ng canh (s du ng thong tin ng ca nh trong PCB)Chuyen che o ng i dungNhay en v tr thch hp trong chng trnh ng dung e kh iong la i chng trnh (chnh la program counter trong PCB)Cong viec nay gay ra ph ton Dispatch latency: th i gian ma dispatcher dng mo t process vakhi ong mot process khac27 Khoa KTMTCac tieu chuan dinh thJi CFuUser-oriented Thi gian a p ng (Response time): khoang thi gian process nhan yeu cau en khi yeu cau a u tie n c a p ng (time-sharing, interactive system) cc tie u Thi gian quay vo ng (hoan thanh) (Turnaround time): khoang thigian t luc mo t process c na p vao he thong en khi process o ke t thuc cc tieu Thi gian ch (Waiting time): tong thi gian mot process i trongready queue cc tieuSystem-oriented S du ng CPU (processor utilization): nh thi sao cho CPU cangban cang tot cc ai Co ng ba ng (fairness): ta t ca process phai c o i x nh nhau Tho ng l ng (throughput): so process hoan tat cong viec trongmot n v thi gian cc ai.8 Khoa KTMThai yeu tu cua giai thuat dinh thJiHam chon la (selection function): dung e chonprocess nao trong ready queue c thc thi (thngda tren o u tien, yeu cau ve tai nguyen, ac iemthc thi cua process,), v du w = to ng th i gian i trong he thong e = thi gian a c phuc vu s = tong thi gian thc thi cua process (bao go m ca e)9 Khoa KTMThai yeu tu cua giai thuat dinh thJi (tt)Che o quyet nh (decision mode): chon thi iem thchien ham chon la e nh thi. Co hai che o Khong trng dung (Non-preemptive) Khi trang thai running, process se thc thi choen khi ket thuc hoac b blocked do yeu cau I/O Trng dung (Preemptive) Process ang thc thi (trang thai running) co the bngat na chng va chuyen ve trang thai ready bihe ieu hanh Chi ph cao hn non-preemptive nhng anh oi laibang thi gian ap ng tot hn v khong co trnghp mot process oc chiem CPU qua lau.10 Khoa KTMTFreemtive va hunreemtive Hm nh thi c thc hin khi(1) Chuyn t trng thi running sang waiting (2) Chuyn t trng thi running sang ready(3) Chuyn t trng thi waiting, new sang ready(4) Kt thc thc thi1 v 4 khng cn la chn loi nh thi biu, 2 v 3 cn Trng hp 1, 4 c gi l nh thi nonpreemptive Trng hp 2, 3 c gi l nh thi preemptiveThc hin c ch no kho hn? Ti sao?11 Khoa KTMTKhau sat giai thuat dinh thJi Service time = thi gian process can CPU trong mot chu kyCPU-I/O Process co service time ln la cac CPU-bound process2 8 55 6 44 4 36 2 23 0 1Service TimeArrival TimeProcessload storeadd storeread from filewait for I/Oinc storewrite to fileload storeadd storeread from filewait for I/Owait for I/O

I/O burstCPU burstCPU burstCPU burstI/O burstI/O burstmot chu kyCPU-I/O12 Khoa KTMT1. First-Come First-Served (FCFS) Ham l a chon: Tien trnh nao yeu cau CPU trc se c cap phatCPU trc; Process se thc thi en khi ket thuc hoac b blocked do I/O Che o quye t nh:non-preemptive algorithm Hien thc : s du ng hang i FIFO (FIFO queues) Tien trnh i vao c them vao cuoi hang i Tien trnh c la chon e x ly c lay tau cua queues0 5 10 15 20P1P2P3P4P5addrun313 Khoa KTMTFCFS Scheduling V du :Process Burst TimeP1 24P2 3P3 3 Gia s th t va o cu a cac tientrnh la P1, P2, P3 Thi gian ch P1 = 0; P2 = 24; P3 = 27; Thi gian ch trung bnh (0+24+27)/3 = 17024 27 30P1 P2 P3Gantt Chart for Schedule14 Khoa KTMTFCFS Scheduling V du: Process Burst TimeP1 24P2 3P3 3 Gia s thi gian vao cua cac tientrnh la P2, P3, P1 Thi gian ch : P1 = 6; P2 = 0; P3 = 3; Thi gian ch trung bnh (6+0+3)/3 = 3 , tot hn..0 3 630P1 P2 P3Gantt Chart for Schedule15 Khoa KTMT2. ShurtestJubFirst(SJF) Scheduling nh thi bieu cong viec ngan nhat trc Khi CPU c t do, no se cap phat cho tien trnh yeu cau tthi gian nhat e ket thuc ( tien trnh ngan nhat) Lien quan en chieu dai thi gian s dung CPU cho lan tieptheo cua moi tien trnh. S dung nhng chieu dai nay e laplch cho tien trnh vi thi gian ngan nhat.16 Khoa KTMT2. ShurtestJubFirst(SJF) Scheduling Hai hnh thc (Schemes): Scheme 1: Non-preemptive( tien trnh oc quyen CPU) Khi CPU c trao cho qua trnh no khong nhng cho enkhi no ke t thuc chu ky x ly cu a no Scheme 2: Preemptive( tien trnh khong oc quyen) Neu mot tien trnh CPU mi c a vao danh sach vichieu dai s dung CPU cho lan tiep theo nho hn th i giancon la i cu a tie n trnh ang x ly no sedng hoa t ong tientrnh hien hanh (hnh thc nay con go i la Shortest-Remaining-Time-First (SRTF).)SJF la toi u cho thi gian ch i trung bnh to i thieu vi mo ttap tien trnh cho trc17 Khoa KTMThunFreemtive SJF SchedulingV du :Process Arrival TimeBurst TimeP1 0 7P2 2 4P3 4 1P4 5 408 16P1 P2 P3Gantt Chart for ScheduleP412 7Average waiting time =(0+6+3+7)/4 = 418 Khoa KTMTFreemtive SJF Scheduling(hay Surtest Remaining Time First SRTF)V du 1:Process Arrival TimeBurst TimeP1 0 7P2 2 4P3 4 1P4 5 40 716P1 P2 P3Gantt Chart for ScheduleP411 5Average waiting time =(9+1+0+2)/4 = 3P2 P12 4Process Arrival TimeBurst TimeP1 0 8P2 1 4P3 2 9P4 3 5VD2:419 Khoa KTMThhan xet ve giai thuat SJFCo the xay ra tnh trang oi (starvation) oi vi cacprocess co CPU-burst ln khi co nhieu process vi CPU-burst nho en he thong.C che non-preemptive khong phu hp cho he thongtime sharing (interactive)Giai thuat SJF ngam nh ra o u tien theo burst time Cac CPU-bound process co o u tien thap hn so viI/O-bound process, nhng khi mot process khong thchien I/O c thc thi th no oc chiem CPU cho en khiket thuc20 Khoa KTMThhan xet ve giai thuat SJF Tng ng vi mi process cn c di ca CPU burst tip theo Hm la chn: chn process c di CPU burst nh nht Chng minh c: SJF ti u trong vic gim thi gian i trungbnh Nhc im: Cn phi c lng thi gian cn CPU tip theo caprocess Gii php cho vn ny?21 Khoa KTMThhan xet ve giai thuat SJF(Thi gian s dng CPU chnh l di ca CPU burst) Trung bnh tt c cc CPU burst o c trong qu kh Nhng thng thng nhng CPU burst cng mi cng phnnh ng hnh vi ca process trong tng lai Mt k thut thng dng l s dng trung bnh hm m(exponential averaging) n+1= a tn+ (1 - a) n,0 a 1n+1= a tn+ (1- a) a tn-1++ (1- a)jan-j++ (1- a)n+1a0 Nu chn a = th c ngha l tr o c tnv tr d on nc xem quan trng nh nhau.22 Khoa KTMTD on thi gian s dng CPU di CPU bursto c di CPU burst d on,vi a = v 0 = 1023 Khoa KTMT8. Friurity SchedulingMoi process se c gan mot o u tienCPU se c cap cho process co o u tien cao nhatnh thi s dung o u tien co the:Preemptive hoacNonpreemptive24 Khoa KTMT0an du uu tienSJF la mot giai thuat nh thi s dung o u tien vi ou tien la thi-gian-s-dung-CPU-d-oanGan o u tien con da vao:Yeu cau ve bo nhSo lng file c mT le th i gian dung cho I/O tren th i gian s dung CPUCac yeu cau ben ngoai v du nh: so tien ngi dung tra khi thcthi cong viec525 Khoa KTMT8. Friurity SchedulingVan e: tr hoan vo han nh process co o u tienthap co the khong bao gi c thc thiGiai phap: lam mi (aging) o u tien cua process setang theo thi gianVd:26 Khoa KTMT4. nh thi luan phien (Round Robin RR)Moi process nhan c mot n v nho thi gian CPU (time slice, quantum time), thong thng t 10-100 msece thc thi. Sau khoang thi gian o, process b oatquyen va tr ve cuoi hang i ready.Neu co n process trong hang i ready va quantum time = q th khong co process nao phai ch i qua (n 1)q n v thi gian.Hieu suatNeu q ln: RR FCFSNeu q nho (q khong c qua nho bi v pha i ton chi ph chuyenng canh)Thi gian ch i trung bnh cua giai thuat RR thngkha ln nhng thi gian ap ng nho27 Khoa KTMTVi du Round Robin Time Quantum = 20Process Burst TimeP1 53P2 17P3 68P4 240P1 P4 P3Gantt Chart for ScheduleP1 P220P3 P3 P3 P4 P137 57 77 97 117 121 134 154 162turnaround time trung bnh l n hn SJF, nhng ap ng tot hn28 Khoa KTMTRR vJi time quantum = 1Thi gian turn-around trung bnh cao hn so vi SJF nhngco thi gian ap ng trung bnh tot hn.u tien CPU-bound process I/O-bound process thng s dung rat t thi gian cuaCPU, sau o phai blocked i I/O CPU-bound process tan dung het quantum time, sau oquay ve ready queue c xep trc cac process bblocked29 Khoa KTMTTime quantum va cuntext switchProcess time = 10quantum contextswitch0 1 2 3 4 5 6 7 8 9 100 10 60 10126101930 Khoa KTMTThi gian hon thnh v quantum time Thi gian hon thnh trung bnh (average turnaround time) khngchc s c ci thin khi quantum ln631 Khoa KTMT0uantum va resunse time Quantum time phai lnhn thi gian dung ex ly clock interrupt (timer) va th i giandispatching Nen ln hn th i giantng tac trung bnh(typical interaction)32 Khoa KTMT0uantum time chu Ruund Rubin` Khi thc hin process switch th OS s s dng CPU ch khng phi process ca ngi dng (OS overhead) Dng thc thi, lu tt c thng tin, np thng tin ca process sp thc thi Performance ty thuc vo kch thc ca quantum time (cn gi l time slice), v hm ph thuc ny khng n gin Time slice ngn th p ng nhanh Vn : c nhiu chuyn ng cnh. Ph tn s cao. Time slice di hn th throughput tt hn (do gim ph tn OS overhead) nhngthi gian p ng ln Nu time slice qu ln, RR tr thnh FCFS.33 Khoa KTMT0uantum time chu Ruund Rubin Quantum time v thi gian cho process switch: Nu quantum time = 20 ms v thi gian cho process switch = 5 ms, nh vyph tn OS overhead chim 5/25 = 20% Nu quantum = 500 ms, th ph tn ch cn 1% Nhng nu c nhiu ngi s dng trn h thng v thuc loiinteractive th s thy p ng rt chm Ty thuc vo tp cng vic m la chn quantum time Quantum time nn ln trong tng quan so snh vi thi gian cho process switch V d vi 4.3 BSD UNIX, quantum time l 1 giy34 Khoa KTMTRuund Rubin Nu c n process trong hng i ready, v quantum time l q, nhvy mi process s ly 1/n thi gian CPU theo tng khi c kchthc ln nht l q S khng c process no ch lu hn (n - 1)q n v thi gian RR s dng mt gi thit ngm l tt c cc process u c tmquan trng ngang nhau Khng th s dng RR nu mun cc process khc nhau c u tin khcnhau35 Khoa KTMTRound Robin: nhc im Cc process dng CPU-bound vn cn c u tin V d: Mt I/O-bound process s dng CPU trong thi gian ngn hn quantum time v b blocked i I/O. V Mt CPU-bound process chy ht time slice v li quay tr v hng iready queue ( pha trc cc process b blocked)36 Khoa KTMT5. Highest Response Ratio Next Chon process ke tiep co gia tr RR (Response ratio) lnnhat. Cac process ngan c u tien hn (v service time nho) time service expected time service expected ing spent wait time += RR737 Khoa KTMT6. Multilevel Queue SchedulingHang i ready c chia thanh nhieu hang i riengbiet theo mot so tieu chuan nhac ie m va yeu cau nh th i cua process Foreground (interactive) va background process,Process c gan co nh vao mot hang i, moi hangi s dung giai thuat nh thi riengHe ieu hanh can phai nh thi cho cac hang i. Fixed priority scheduling: phuc vu t hang i co o u tiencao en thap. Van e: co the co starvation. Time slice: moi hang i c nhan mot khoang thi gian chiemCPU va phan pho i cho cac process trong ha ng i khoang th igian o . V du : 80% cho hang i foreground nh th i bang RR va 20% cho hang i background nh th i bang giai thua t FCFS.38 Khoa KTMTMultilevel 0ueue Scheduling` V d phn nhm cc qu trnhSystem ProcessesInteractive ProcessesBatch ProcessesStudent Processes u tin thp nht u tin cao nht39 Khoa KTMT7. hang dJi han hui da caMultilevel Feedback 0ueueVan e cua multilevel queue process khong the chuyen t hang i nay sang hang ikhac khac phuc bang c che feedback: cho phepprocess di chuyen mot cach thch hp gia cac hang ikhac nhau. Multilevel Feedback Queue Phan loai processes da tren cac ac tnh ve CPU-burst S dung decision mode preemptive Sau mot khoang thi gian nao o, cac I/O-bound process va interactive process se cac hang i co o u tien caohn con CPU-bound process se cac queue co o u tienthap hn. Mot process a ch qua lau mot hang i co o u tienthap co the c chuyen en hang i co o u tien caohn (c che nien han, aging).40 Khoa KTMT7. Multilevel Feedback 0ueue V du: Co 3 hang iQ0 , dung RR vi quantum 8 msQ1 , dung RR vi quantum 16 msQ2 , dung FCFS41 Khoa KTMT7. Multilevel Feedback 0ueue (tt)nh thi dung multilevel feedback queue oi hoi phaigiai quyet cac van e sau So lng hang i bao nhieu la thch hp? Dung giai thuat nh thi nao moi hang i? Lam sao e xac nh thi iem can chuyen motprocess en hang i cao hn hoac thap hn? Khi process yeu cau c x ly th a vao hang inao la hp ly nhat?42 Khoa KTMTSu sanh cac giai thuat Giai thuat nh thi nao la tot nhat? Cau tra li phu thuoc cac yeu to sau: Tan xuat tai viec (System workload) S ho tr cua phan cng oi vi dispatcher S tng quan ve trong so cua cac tieu chuan nhthi nh response time, hieu suat CPU, throughput, Phng phap nh lng so sanh843 Khoa KTMTc thm Policy v Mechanism nh thi trn h thng multiprocessor nh gi gii thut nh thi CPU nh thi trong mt s h iu hnh thng dng Ngun:Operating System Concepts. Sixth Edition. John Wiley & Sons, Inc. 2002. Silberschatz, Galvin, Gagne