SinhVienIT.net HDH Chuong 1

Embed Size (px)

Citation preview

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    1/57

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    2/57

    Ni dung1.1. Hiuhnh l g?

    1.3. Cutrc hiuhnh1.2. Cutrc hthngmy tnh

    2

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    3/57

    1.1. H iu hnh l g?1.1.1. Cc thnhphncahthngmy tnh

    3

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    4/57

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    5/57

    nh nghaHH l chng trnh trung gian giaphncng

    my tnh v ngi s dng, c chc nng iukhinphncngv cung cpcc dchvcbncho cc ngdng.

    Mctiu caHHl lm cho ngisdng: Thcthi ddng cc ngdngcamnh

    Thao tc iukhinmy tnh trnn thuntin.

    Qunl v cppht ti nguyn hthngmtcch hiuqu.

    5

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    6/57

    6

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    7/57

    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

    7

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    8/57

    Lchs pht trin My tnh ln(mainframes)

    Xl b (batch)

    achng(multiprogrammed)

    anhim(time-sharing, multitasking)

    (Mainframe)Batch systems

    I/O: card cl,bngt(tapes), line printer

    Cnc ngivnhnh (user operator)

    Gimsetup timebngcch ghp nhm cng vic(batching) Vd: ghp cc cng viccng sdngtrnh bin dchFortran

    Tngnplnltcc chngtrnh

    8

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    9/57

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    10/57

    Lch s pht trin h iu hnh (tt)

    10

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    11/57

    Lch s pht trin h iu hnh (tt) (Mainframe)Time-sharing systems

    Multiprogrammed systems khng cung cpkhnngtngtchiuquviusers

    CPU lun phin thcthi giacc cng vic

    Mi cng vic c chia mtphn 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 vicchcchimCPU khi n nm trong bnh

    chnh.

    Khi cn thit,mtcng vicno c thcchuyn tbnhchnh ra thitblu tr (swapping), nhngbnhchnhcho cng vickhc.

    11

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    12/57

    Lch s pht trin h iu hnh (tt) Yu cuiviHHtrong hthngtime-sharing

    nhthicng vic(job scheduling) Qunlbnh(memory management)

    Virtual memory

    Qunl cc qu trnh (process management) nhthiCPU ngbcc qu trnh (synchronization)

    Giao tipgiacc qu trnh (process communication)

    Trnh deadlock

    Qunl hthngfile, hthnglutr Cppht hpl cc ti nguyn

    Bov(protection)

    12

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    13/57

    1.13

    Lch s pht trin h iu hnh (tt) My bn(desktopsystem, personal computer)

    Nhiu thitb I/O: bn phm, chut, mn hnh, myin,

    Phcvngidng nl.

    Mctiu chnh caHH Thuntincho user v khnngtngtc cao.

    Khng cntiuhiusutsdngCPU v thitbngoivi.

    Nhiu h iu hnh khc nhau (MS Windows, MacHH,Solaris, Linux,).

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    14/57

    Lch s pht trin h iu hnh (tt)

    Hthngsong song NhiuCPU

    Chia scomputer bus, clock uim

    System throughput: cng nhiu processor th cng nhanhxong cng vic

    Multiprocessor system t tn km hn multiple single-processor system: v c thdng chung ti nguyn (a,)

    tin cy: khi mtprocessor hng th cng viccancchia sgiacc processor cn li

    14

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    15/57

    Lch s pht trin h iu hnh (tt)

    Phn loihthngsong song a x l i xng (symmetric multiprocessor -

    SMP) Mi processor vn hnh mt identical copy ca h iu

    hnh Cc copy giao tipvinhau khi cn

    axl btixng(asymmetric multiprocessor) Miprocessor thcthi mtcng vickhc nhau Master processor nh thi v phn cng vic cho cc

    slave processors

    15

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    16/57

    Lch s pht trin h iu hnh (tt)

    Hthngphn b(distributed system, loosely-coupledsystem) Miprocessor c bnh ring, cc processor giao tipqua

    cc knh ninhmng,bus tccao, leased line

    Ngidng chthymththngnnht

    uim Chia sti nguyn (resource sharing)

    Chia sscmnhtnh ton (computational sharing)

    tin cycao (high reliability)

    sn sngcao (high availability): cc dchvcah thngccung cplin tccho d mtthnhphnhardware trnn hng

    16

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    17/57

    Lch s pht trin h iu hnh (tt)

    Hthngphnb(tt)

    Cc m hnh hthngphnb Client-server

    Server: cung cpdchv

    Client: c thsdngdchvcaserver

    Peer-to-peer(P2P) Ccpeer(my tnh trong hthng)ungang hng nhau

    Khng c csdliutptrung

    Cc peer l ttr

    Vd: Gnutella

    (Napster khng phi l hthngP2P ngnghav c csdliutptrung)

    17

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    18/57

    Lch s pht trin h iu hnh (tt) Hthngthigian thc(real-time system)

    Sdngtrong cc thitbchuyn dngnhiukhincc thnghimkhoa hc,iukhin trong y khoa, dy chuyncngnghip,thitbgia dng

    Rngbucvthigian: hard v soft real-timePhn loi Hard real-time

    Hnch(hockhng c)bnhph,ttcdliunmtrongbnhchnh (RAM hocROM)

    Yu cuv thigian png/x l rtnghim ngt, thngsdng

    trong iukhincng nghip,robotics, Soft real-time

    Thng c dng trong lnhvc multimedia, virtual reality vi yucummdohnvthigian png

    18

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    19/57

    1.2. Cu trc h thng my tnh

    Kintrc cbncahthngmy tnh

    Cchvnhnh cahthngCutrc hthngxutnhp(I/O)

    Cutrc v phn cphthnglutr

    19

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    20/57

    Kin trc c bn ca h thng mytnh

    CPU

    Disk controller USB controller Graphics adapter

    MEMORY

    DisksMouse

    Keyboard

    PrinterMonitor

    m d liu (local buffer)

    20

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    21/57

    Chu trnh hot ng ca CPU

    StartFetch NextInstruction

    ExecuteInstruction

    HALT

    1. Chu trnh n gin (khng c ngt)

    StartFetch NextInstruction

    ExecuteInstruction

    HALT

    2. Chu trnh c iu khin ngt

    Check for interrupt;Process interruptInterrupts

    enabled

    Interruptsdisabled

    21

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    22/57

    Ngt

    Phn loi: ngtdo Program:trn shc,chia cho 0, truy cpbnhbthpphp Timer:cho php CPU thcthi mttc vno theo nhk I/O:ktthc tc vI/O, xyra litrong I/O Hardware failure:Hhngngun,limemory parity, Trap (software interrupt):yu cudchvhthng(gisystem call),

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

    22

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    23/57

    Qu trnh x l ngt

    i

    i+1

    0

    M

    User

    Program

    Interrupt

    handler

    0

    21 00ffe23f

    N

    Interrupt vector

    table

    int. 0x21

    0

    00ffe23f interrupt

    0x21 routine

    ret

    ffffffff

    1

    2

    3

    23

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    24/57

    Qu trnh x l ngt (tt)

    C ngt

    I/O interrupts

    Khng c ngt

    24

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    25/57

    Cu trc h thng I/O

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    26/57

    1.A.26

    Cc k thut thc hin I/O

    Polling gidliura mtthitbI/O (thng qua I/O

    port), CPU ghi byte d liu vo thanh ghi dliu(data register), sau thitlpmtbit (bit1) cathanh ghi iukhin(control register)bo hiucho I/O controller.

    (PIO:programmed I/O)

    I/O controller c byte d liu t thitb I/O,xa bit iukhin (bit 0). CPU tip tcgibyte k.

    I/O controller khng gy ra ngtmi khi xongvic. CPUphidng cchpollingkimtratrngthi thitbI/O

    Truyndliutngbyte mt

    PIO

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    27/57

    1.A.27

    Cc k thut thc hin I/O (tt)

    Interrupt-driven I/O

    CPU khng poll m I/O controller s gy rangtmikhi snsng cho tc vI/O.

    Trong lc thitbI/O thcthi lnh,CPU c ththcthi cng vickhc.

    Polling v interrupt-driven I/O utiu tnthigian xl caCPUbiv CPUphicopy bytedliucc/ghimemory.

    Thch hpcho cc thitbI/O c tckhngcao (keyboard, mouse)

    X

    X

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    28/57

    Cc k thut thc hin I/O (tt)

    Synchronous Asynchronous

    Phngphp thchinI/O

    - - -: bypassing

    kernel kernel

    28

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    29/57

    Cc k thut thc hin I/O (tt)

    Cc hng i (wait queue) I/O

    Asynchronous I/O

    29

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    30/57

    1.A.30

    Cc k thut thc hin I/O (tt)

    Direct Memory Access (DMA) CPU gi yu cu n module DMA (= DMA

    controller)

    Module DMA chuynmtkhidliugiabnhv thitbI/O m khng cnCPU can thip.

    Khi xong mttc vginhnth pht khimtngt.

    CPU chtham gia vo giai onkhiuv ktthccavictruynnhndliu

    Trong khi angtruynnhndliu,CPU c ththcthi cng vickhc

    Thch hpcho cc thitbc tccao (a)

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    31/57

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    32/57

    1.A.32

    H thng lu tr Lutrl mttrong nhngdngthcI/O quan trng

    Bnhchnh(main memory, primary memory)

    CPU chc thtruy cptrctipthanh ghi (registers) v bnhROM,

    RAM

    Bnhph(secondary storage)

    Hthnglutrthng tin bnvng(nonvolatile storage)

    at(magnetic disks): amm,acng,bngt

    aquang (optical disk): CD-ROM, DVD-ROM

    Flash ROM: USB disk

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    33/57

    1.A.33

    Phn cp h thng lu tr

    Tc cao

    Gi thnh thpDung lng ln

    vd: file-system data

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    34/57

    C ch caching

    Caching nptrcdliuvo thitblutrtccao hn

    Tisaophidng cache?

    Chnh lchlngiatcCPU v tcbnhRAM, a,

    Khai thc nguyn l ccb(locality) Kch thccache nhphiqunl cache: thay nidung cache

    Trong cchcaching, mtdliuc thclutrnhiuniphibomtnh nhtqun dliu: cache coherency problem

    A: d liu34

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    35/57

    1.A.35

    Bo v phn cng dual mode

    Cchdual-mode:cncphncnghtr User modethcthi viquynhncauser bnh thng Kernel mode (cn gil supervisor mode, system mode, monitor mode) c ton

    quyntruy xutti nguyn hthng

    Phncngc thm mode bitkimsot mode hinhnh: mode bit = 0: kernel mode

    mode bit = 1: user mode

    Khi c ngthocc lixyra, hthngschuynsang kernel mode.

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    36/57

    B h B h

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    37/57

    Bo v phn cng B nh

    Vd: bo v b nh dng 2 thanh ghi

    - Truy cp b nh ngoi vng xc nh bi thanhghi base v thanh ghi limit s sinh ra trap

    - Lnh np gi tr cho cc thanh ghi base vthanh ghi limit u l privileged instruction

    (a)

    (b)

    37

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    38/57

    Ti

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    39/57

    1.A.39

    Timer

    C th s dng timer thc hin c ch time-

    sharing. Thit lp timer gy ngtnhkNms (N: time slice,

    quantum time) v nhthiCPU sau milnngt.

    C th dng timer tnh thi gian tri qua(elapse time)

    C T H i H h

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    40/57

    Cu Trc H iu Hnh

    Cc thnhphncahiuhnh

    Cc dchvhiuhnh cung cp

    Giao tipgiatintrnh v hiuhnh

    Cc chngtrnh hthng(system programs)

    Cutrc logic cahthng

    My o(virtual machine)

    40

    C th h h h i h h

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    41/57

    Cc thnh phn ca h iu hnh Qunl tintrnh (process management)

    tintrnh vs. chngtrnh

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

    nh,file, thitbI/O,hon thnh cng vic.

    Cc nhimvcathnhphn Tov hytintrnh

    Tmngng/tiptcthcthi (suspend/resume) tintrnh

    Cung cpcc cch

    ngbhotngcc tintrnh (synchronization)

    giao tipgiacc tintrnh (interprocess communication)

    khngchdeadlock

    41

    C th h h h i h h (tt)

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    42/57

    Cc thnh phn ca h iu hnh (tt)Qunlbnhchnh

    c hiusutsdngCPU v thigian pngtt,hiuhnh cndng giithutqunlbnhthchhp

    Cc nhimvcathnhphn Theo di, qunl cc vng nhtrngv cppht

    Quytnhsnpchngtrnh no khi c vng nhtrng

    Cppht v thu hicc vng nh

    42

    C th h h h i h h (tt)

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    43/57

    Cc thnh phn ca h iu hnh (tt)Qunl file (file management)

    Hthngfile (file system) File

    Thmc

    Cc dchvm thnhphncung cp Tov xo file/thmc.

    Cc tc vxl file/thmc(rename, copy, move, new,)

    nh xfile/thmcvo thitblu trthcptngng

    Sao luvphchidliu

    43

    C th h h h i h h (tt)

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    44/57

    Cc thnh phn ca h iu hnh (tt)Qunl hthngI/O (I/O system management)

    Che ducc ctrngringbitcatngthitbI/O

    C chcnng

    Cch: buffering, caching, spooling

    Cung cp giao din chung n cc trnh iu khin thitb(device-driver interface)

    Trnh iukhin thitb (device driver) cho michng loi

    thitbphncngkhc nhau.

    44

    C th h h h i h h (tt)

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    45/57

    1.B.45

    Cc thnh phn ca h iu hnh (tt)Qun l h thng lu tr th cp (secondary

    storage management) Bnhchnh: kch thcnh, l mi trngcha tin

    khngbnvngcnhthnglutrthcplu

    trbnvngcc dliu,chngtrnh

    Phngtinlutrthng dngl at,aquang

    Nhimvcathnhphn

    Qunl vng trng(free space management)

    Cppht khng gian lutr(storage allocation)

    nhthia(disk scheduling)

    C th h h h i h h (tt)

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    46/57

    Cc thnh phn ca h iu hnh (tt) Hthngbov

    Khi hthngcho php nhiuuser hay nhiutintrnh Kimsot tintrnh ngidng ngnhp/xutv sdngh

    thng

    Kimsot victruy cpcc ti nguyn trong hthng

    Bo m ch nhng ngi dng/tin trnh quyn hn micphp sdngcc ti nguyn tngng

    Cc nhimvcathnhphn

    Cung cpcchkimsot ngnhp/xut(login, log out) Phn nh c s truy cp ti nguyn hp php v bt hp php

    (authorized/unauthorized)

    Phngtinthi hnh cc chnh sch (enforcement of policies) Chnh sch:cnbovdliucaai iviai

    46

    C th h h h i h h (tt)

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    47/57

    Cc thnh phn ca h iu hnh (tt) Trnh thng dchlnh

    L giao dinchyugiangidng v HH V d: shell, mouse-based window-and-menu

    Khi user login command line interpreter(shell) chy,v chnhn lnh tngidng,

    thcthi lnhv trktquv

    Lin hchtchvicc thnh phnkhc cahiuhnh thcthi cc yu cucangidng

    Cc nhm lnhtrnh thng dchlnh To,hy,xem thng tin tintrnh, hthng iukhintruy cpI/O Qunl, truy cphthnglutrthcp Qunl, sdngbnh Truy cphthngfile

    47

    Cc dch h i hnh

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    48/57

    Cc dch v h iu hnh Mtsdchvchyum ngidng hay chngtrnh

    cn Thcthi chngtrnh Thchincc tc vI/O do yu cucachngtrnh Cc tc vln hthngfile

    c/ghihay to/xafile Cchgiao tip,trao ithng tin giacc tintrnh

    Shared memory Message passing

    Pht hinli Trn thitbI/O: dliuh,htgiy, Chng trnh ngdng: chia cho 0, truy cpnachbnhkhng

    cphp

    48

    Cc dch v h iu hnh (tt)

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    49/57

    Cc dch v h iu hnh (tt) Cc chcnngkhc (gip hiuhnh chyhuhiu)

    Cppht ti nguyn (resource allocation) Ti nguyn: CPU,bnhchnh, tape drives,

    HHc cc routine tngng

    Kton (accounting)

    V dtnh ph

    Bov(protection)

    Cc tintrnh lnhau khng cnhhngnhau

    Kimsot ccc truy cpvo ti nguyn An ninh (security)

    Chcc user cphp sdnghthngmitruy cpcti nguyncahthng(vd: thng qua password)

    49

    Giao tip gia tin trnh v h iu hnh

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    50/57

    Giao tip gia tin trnh v h iu hnh System call

    Cung cpgiao dingiatintrnh v hiuhnh Vd: open, read, write file

    Thng thngdngthvinnhphn (binary libraries)

    Trong cc ngn nglptrnh cpcao, mtsthvinlptrnh

    cxy dngdatrn cc thvinhthng(v dWindowsAPI, thvinGNU C/C++ nhglibc, glibc++,)

    Baphngphp truyntham skhi sdngsystem call Truynthng squa thanh ghi

    Truyntham sthng qua mtvng nh,achcavng nhcgi

    nhiuhnh qua thanh ghi

    Truyntham squa stack

    50

    Cc chng trnh h thng

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    51/57

    Cc chng trnh h thng Chng trnh h thng (system program, phn bit vi

    application program) gm Qunl hthngfile: nhcreate, delete, rename, list

    Thng tin trngthi: nhdate, time, dung lngbnhtrng

    Sonthofile: nhfile editor Htrngn nglptrnh: nhcompiler, assembler, interpreter

    Np,thcthi, gip tm lichngtrnh: nhloader, debugger

    Giao tip: nhemail, talk, web browser Ngi dng ch yu lm vic thng qua cc system

    program (khng lm victrctipvicc system call)

    51

    Cu trc logic ca h thng

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    52/57

    1.B.52

    Cu trc logic ca h thng

    Hthngn(monolithic) MS-DOS: khi thitk,do giihnvdung lngbnhnn

    khngphn chia module(modularization), chaphn chia rchcnnggiaccphncahthng.

    MS-DOS, xem nhcphn lp(layered):

    Cu trc logic ca h thng (tt)

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    53/57

    Cu trc logic ca h thng (tt)Hthngn(monolithic)

    UNIX: gmhaiphn cc system program v kernel (file system, CPU scheduling, memory

    management, v mtschcnngkhc)

    Xem nh cphn lp:

    signals

    terminal handling

    character I/O systemterminal drivers

    file system

    swapping

    block I/O systemdisk and tape drivers

    1.A.53

    Cu trc logic ca h thng (tt)

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    54/57

    Cu trc logic ca h thng (tt)ThitkHH: phn chia module theo cchphn

    lp(layered). Vd: hiuhnh OS/2

    54

    Cu trc logic ca h thng (tt)

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    55/57

    Cu trc logic ca h thng (tt) Thit k HH: phn chia module theo microkernel

    (CMU Mach HH, 1980) ChuynmtschcnngcaHH tkernel space sang userspace

    Thu gn kernel microkernel, microkernel ch bao gm ccchc nng ti thiu nh qun l tin trnh, b nh v c chgiao tipgiacc tintrnh

    Giao tipgiacc module qua cchtruynthng ip

    Application

    Fileserver

    X-application

    X-window

    server

    POSIX

    applicationPOSIXserver

    Microkernel

    mt module

    55

    My o

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    56/57

    My oTHHlayer nmy o(virtual machine)

    Non-virtual machinesystem model

    Virtual machine system model

    processes

    kernel

    hardware

    processes

    processes

    processes

    kernel kernel kernel

    VM1 VM2 VM3

    Virtual-machineimplementation

    hardware

    programminginterface

    56

    My o (tt)

  • 7/21/2019 SinhVienIT.net HDH Chuong 1

    57/57

    My o (tt)

    Hinthc nimVM Lm th no thc thi mt

    chng trnh MS-DOS trnmt h thng Sun vi h iu

    hnh Solaris?1. Tomtmy oIntelbn trn h

    iu hnh Solaris v h thngSun

    2. Cc lnh Intel (x86) c myoIntel chuynthnh lnhtngngcahthngSun.

    Sun hardware

    Solaris kernel

    VM interpretation

    Intel x86 VM

    Intel x86 Application