3 Concept Osso

download 3 Concept Osso

of 61

Transcript of 3 Concept Osso

  • 8/16/2019 3 Concept Osso

    1/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 1

    Introducción al tiemporeal en sistemas

    empotrados

    Departamento de Arquitectura y Tecnología deComputadores

    Universidad del País Vasco / Euskal Herriko Unibertsitatea

    Master en Ingeniería de Sistemas Empotrados

  • 8/16/2019 3 Concept Osso

    2/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 2

    ontenido

    ! Introducci"n

    ! Soporte de interrupciones

    ! Conceptos de sistemas operatios! Plani#icaci"n en sistemas de tiempo real

    ! Mecanismos de sincroni$aci"n % comunicaci"n

    ! Plani#icaci"n de tiempo real con recursos

    compartidos

  • 8/16/2019 3 Concept Osso

    3/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores &

    Conceptos de SistemasOperatios

    '()E(I*'

    ! El sistema operativo como inter#a$ para las aplicaciones! Modos de e+ecuci"n! ),reads % procesos! ontrol de procesos- ambio de conte.to! esti"n de la memoria

    ! esti"n de la entrada/salida! esti"n de tiempos % tempori$aci"n

    0I0I'3I

    ! 4- 5i6 Real-Time concepts for embedded systems- MP 0ooks7 288&-! - 5a#uente6 Sistemas Operativos II. Apuntes de la asignatura- Edici"n 2889:18-

    ,ttp6//;;;-sc-e,u-es/ac;laroa/S'2-,tm 

    !  M-

  • 8/16/2019 3 Concept Osso

    4/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores >

    El sistema operativo como inter#a$para las aplicaciones

    ! 5os dos papeles del sistema operativo6C Proporciona a las aplicaciones una inter#a$

    Dllamadas al sistema para el acceso a losrecursos-

    C rbitra % gestiona e#icientemente el uso de losrecursos-

    4uF es un recurso6

    ! Procesadores! Memoria

    ! *ispositivos Dde E/S7 relo+es7 comunicacionesG

    ! 3ic,eros

  • 8/16/2019 3 Concept Osso

    5/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores @

    El sistema operativo como inter#a$para las aplicaciones

    plicaciones

    S'

    H;

    Inter#a$ dellamadas al sistema

  • 8/16/2019 3 Concept Osso

    6/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores A

    El sistema operativo como inter#a$para las aplicaciones

    ! 5as llamadas al sistema Dsystem calls proporcionanuna inter#a$ ,omogFnea ue abstrae lascaracterísticas #ísicas de los recursos-

    C Por e+emplo7 una aplicaci"n de reproducci"n de sonido#unciona de la misma #orma para reproducir un arc,ivosobre un disco duro o sobre una memoria #las,-

    ! 5as llamadas al sistema se utili$an como llamadas a#unciones de biblioteca-C Su especi#icaci"n debe estar bien de#inida Dp- e+-7 el

    man de 5inu./U(I-

  • 8/16/2019 3 Concept Osso

    7/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores J

  • 8/16/2019 3 Concept Osso

    8/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores B

    El sistema operativo como inter#a$para las aplicaciones Dcont

    ! )ambiFn se denominan APIs-

    ! Est?ndares para compatibilidad deaplicaciones Dp- e+6 POSI* 

    ! Proporcionan un mecanismo Knico deentrada al sistema mediante cambio a modo

    protegido6C 5a llamada se implementa mediante un trap-

  • 8/16/2019 3 Concept Osso

    9/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 9

    Modos de e+ecuci"n

    ! 5as instrucciones m?uina pueden ser normales oreseradas-

    ! 5as instrucciones reservadas acceden a espacios Ddememoria % de E/S protegidos-

    ! *os modos de e+ecuci"n6 normal % protegido-! 5as instrucciones privilegiadas s"lo puedene+ecutarse en modo protegido-

    ! Un programa se e+ecuta7 en principio7 en modonormal-

    ! 5a instrucci"n de cambio de modo es privilegiada-! L"mo pasar a modo protegido para acceder a

    recursos necesarios Ddispositivos de E/S7 etc

  • 8/16/2019 3 Concept Osso

    10/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 18

    Modos de e+ecuci"nambio de modo

    ! Mecanismo uni#icado para paso de modo normal amodo privilegiado6 ector de interrupciones DVI-

    C 5os servicios del sistema se implementan en espacioprotegido mediante rutinas ue se direccionan a travFsdel VI-

    ! utinas de servicio de interrupci"n-! E.cepciones

    ! 5lamadas al sistema operativo-

    C 5as rutinas se e+ecutan bien asíncronamenteDinterrupciones7 bien llamadas desde el programaDinterrupciones programadas o traps-

    ! Mediante un instrucci"n especial de 5M6 I+T  

    C El retorno de la rutina restaura el modo de e+ecuci"nanterior-

  • 8/16/2019 3 Concept Osso

    11/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 11

    ),reads % Procesos

    ! 3lu+o de e+ecuci"n6C Secuencia de valores ue adopta el registro

    ontador de Programa DP durante la e+ecuci"nde un programa-

    ! euiere una pila Dnormalmente en memoria pararepresentar las llamadas/retorno a subrutinas-

    ! onte.to de e+ecuci"n6C Estado del sistema asociado a la e+ecuci"n del

    programa- Inclu%e o puede incluir6

    ! P7 SP Dpuntero a pila7 pila! Estado del procesador

    ! Estado de la memoria

    ! Estado de la E/S

  • 8/16/2019 3 Concept Osso

    12/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 12

    ),reads % ProcesosE+emplo6 un proceso con tres t,reads

    DE.traído de )anenbaum7 288B N Prentice:Hall7 Inc

  • 8/16/2019 3 Concept Osso

    13/61

     

    UPV / EHU

    MOISE

    E+emplo6creaci"n de un proceso 5I(U

    #include

    #include

    #include

    int main (int argc, const char * argv[]) {

      int pid;

      print (!"d $o% el padre&'n!, getpid());

      pid fork ();

      i  (pid )

    print (!"d $o% el hio&'n!, getpid());

      else

      print (!"d $o% el padre de "d'n!, getpid(), pid);

      print (!"d +gur&'n!, getpid());

      eit();

    -

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 1&

  • 8/16/2019 3 Concept Osso

    14/61

     

    UPV / EHU

    MOISE

    E+emplo

    #include

    #include

    #include

    int main (int argc, const char * argv[]) {

      int pid;

      print(!"d $o% el padre&'n!, getpid());

      pid fork ();

      i (pid )

    print(!"d $o% el hio&'n!, getpid());

      else

      print(!"d $o% el padre de "d'n!, getpid(), pid);

      print(!"d +gur&'n!, getpid());

      eit();

    -

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 1>

    #include #include #include

    int main (int argc, const char * argv[]) {  int pid;

      print (!"d $o% el padre&'n!, getpid());  pid or();  i  (pid )

    print (!"d $o% el hio&'n!, getpid());  else  print (!"d $o% el padre de "d'n!, getpid(), pid);

      print (!"d +gur&'n!, getpid());  eit();-

    #include #include #include

    int main (int argc, const char * argv[]) {

      int pid;

      print (!"d $o% el padre&'n!, getpid());  pid or();  i  (pid )

    print (!"d $o% el hio&'n!, getpid());  else  print (!"d $o% el padre de "d'n!, getpid(), pid);  print (!"d +gur&'n!, getpid());  eit();-

    Código del padre !pid"#$Código del padre !pid"#$

    Código del %i&o !pid'#$Código del %i&o !pid'#$

  • 8/16/2019 3 Concept Osso

    15/61

     

    UPV / EHU

    MOISE

    E+emplo

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 1@

    #include #include #include

    int main (int argc, const char * argv[]) {  int id!

      rintf("d$ %o& el adre'n", getid())!

      id fork()!  if  (id )

    rintf ("d$ %o& el hi+o'n", getid())!  else  rintf("d$ %o& el adre de dn", getid(), id)!  rintf ("d$ gur'n", getid())!  e-it()!

    #include #include #include

    int main (int argc, const char * argv[]) {  int id!

      rintf("d$ %o& el adre'n", getid())!

      id fork()!  if (id )

    rintf("d$ %o& el hi+o'n", getid())!  else  rintf ("d$ %o& el adre de dn", getid(), id)!  rintf ("d$ gur'n", getid())!  e-it()!

    (adre)i&o

  • 8/16/2019 3 Concept Osso

    16/61

     

    UPV / EHU

    MOISE

    E+emplo6conte.to de un proceso 5I(U

    #include #include #include

    char a!

    int /eemplo() {a /0/!

    print (!"d $o% el hio& ("c)'n!, getpid(), a);  return ;-int main (int argc, const char * argv[]) {  int pid;  a /1/!  print (!"d $o% el padre& ("c)'n!, getpid(), a);  pid fork ();  i  (pid )

      /eemplo();  else {  print (!"d $o% el padre de "d ("c)'n!, getpid(), pid, a);  -print (!"d +gur&'n!, getpid());

      eit();-

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 1A

    *cu+l es el alor de a,

  • 8/16/2019 3 Concept Osso

    17/61

     

    UPV / EHU

    MOISE

    E+emplo6t,reads en 5I(U

    #include #include #include #include #include

    void* pila;char memoria/pila[12*342];char a!

    int /eemplo() {a /0/!

    print (!"d $o% el hio& ("c)'n!, getpid(), a);  return ;-int main (int argc, const char * argv[]) {  int pid;  a /1/!

      print (!"d $o% el padre& ("c)'n!, getpid(), a);  pila 5memoria/pila[];  pid clone(5/eemplo, (char*) pila 6 342*12, $789: = 9?@/A$ = 9?@/A7@$

    = 9?@/$78:+? = 9?@/BC,  );  print (!"d $o% el padre de "d ("c)'n!, getpid(), pid, a);  print (!"d +gur&'n!, getpid());  eit();-

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 1J

    *cu+l es el alor de a,

  • 8/16/2019 3 Concept Osso

    18/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 1B

    ),reads % Procesos Dcont

    ! 5as entidades de e+ecuci"n son los procesos/t,reads-! En terminología de )7 tareas Dindistintamente-

    ! Un t,read D,ilo es un #lu+o de e+ecuci"n con unconte.to reducido

    ! P7 SP Dpuntero a pila7 pila

    ! Estado del procesador! Un proceso es un #lu+o de e+ecuci"n con un conte.to

    ampliado! Estado de la memoria

    ! Estado de la E/S

    ! Puede ,aber entidades de e+ecuci"n intermedias! Sistemas combinados6 un proceso inclu%e uncon+unto de t,readsC En este caso las entidades de e+ecuci"n/plani#icaci"n

    son los t,reads

  • 8/16/2019 3 Concept Osso

    19/61

     

    UPV / EHU

    MOISE

    ),reads % procesos

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 19

    Memoria

    a

    -ork!$

    Padre

    a

    Hi+o

  • 8/16/2019 3 Concept Osso

    20/61

     

    UPV / EHU

    MOISE

    ),reads % procesos

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 28

    Memoria

    a

    clone!$

    PadreHi+o

  • 8/16/2019 3 Concept Osso

    21/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 21

    ),reads % ProcesosEstados % gra#o de transici"n

    ! (ota6 se toma auí el proceso como entidad de e+ecuci"n7sin pFrdida de generalidad-

    nuevoproceso   ejecutándose finalizado

    bloqueadopreparado

  • 8/16/2019 3 Concept Osso

    22/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 22

    ontrol de procesosepresentaci"n

    ! 0loue de ontrol de Procesos DP0C Identi#icador-

    C Estado del proceso-

    C In#ormaci"n para la plani#icaci"n Dprioridad7

    uantum-C ontadores de consumo de recursos Dtiempo de

    PU-

    C Puntero a la pila del proceso! En sistemas combinados6 puntero a los t,reads del

    proceso Drepresentados por )0s-

    C Puntero a los recursos de memoria Dtablas dep?ginas-

    C Puntero a los recursos de E/S Dtabla dedescriptores-

  • 8/16/2019 3 Concept Osso

    23/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 2&

    ontrol de procesosepresentaci"n

    cola

    prioridad

    info

    prioridadprioridad

    infoinfo

    PCB PCBPCB

    ! 5os P0s se enla$an en colas! Una cola por estado

    C Incluso para el estado e,ecutndose-

    C Proceso nulo6 al menos un proceso preparado para

    e+ecuci"n-C Estado bloueado6 una cola por cada condici"n de

    bloueo-

  • 8/16/2019 3 Concept Osso

    24/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 2>

    ontrol de procesosEl sistema operativo como un sistema de colas

  • 8/16/2019 3 Concept Osso

    25/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 2@

    ontrol de procesosPlani#icaci"n

    ! 5a plani#icaci"n de procesos Do t,reads es la #unci"ndel sistema operativo ue decide uF proceso vaentrar a e,ecutndose % cu?ndo-

    ! 5a reali$a el sceduler -

    ! Se elige un proceso de entre la cola de preparadosde acuerdo a un criterio6

    C 33S

    C Prioridades

    ! Est?ticas- Se asigna una prioridad al proceso cuando se

    crea % no cambia durante su e+ecuci"n-! *in?micas- partir de una prioridad inicial7 se a+usta

    durante la e+ecuci"n de acuerdo a determinados criteriosDp- e+- consumo de PU del proceso-

  • 8/16/2019 3 Concept Osso

    26/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 2A

    ontrol de procesosPlani#icaci"n Dcont

    ! u?ndo plani#icar6C S"lo cuando la PU ueda libre

    ! porue el proceso e+ecut?ndose termina o seblouea6 sistemas no expulsores

    C dem?s7 los sistemas operativos expulsores7sacan al proceso ue est? e+ecut?ndose

    ! cuando ,a consumido un /uantum de tiempo6

    C ombinado con 33S6 plani#icaci"n de turno circular oRound-Robin

    ! cuando otro proceso llega a preparados-C 5e da la oportunidad de e+ecutarse inmediatamente-omo veremos7 combinada con prioridades est?ticasesta plani#icaci"n e.pulsora es adecuada para tiemporeal-

  • 8/16/2019 3 Concept Osso

    27/61

     

    UPV / EHU

    MOISE

    ! El cambio de conte.to es el con+unto deoperaciones necesarias para reali$ar unatransici"n de un proceso Do t,read a otro6C uardar el conte.to del proceso ue abandona la

    PU-C estaurar el conte.to del proceso seleccionado por

    el sc,eduler-

    C )rans#erirle el control-

    C dem?s7 actuali$ar la representaci"n de losprocesos en colas de P0s-

    ! Implica manipular las pilas de procesosC Se implementa en lengua+e m?uina-

    ambio de conte.to

  • 8/16/2019 3 Concept Osso

    28/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 2B

    Conte.tode (/

    1- Se est? e+ecutando P-

    Pila de P

    Pila de P0

    ola de e+ecuci"n

    P

    ola de preparados

    P0

    C(0

    SP

    0 de la ut-de tenci"n 2- Se produce una interrupci"nDe.terna o trap-

    0 de la ut-de tenci"n

    Conte.tode (A

    &- Se salva el conte.to de P-

    9- etorno de la interrupci"n-

    @- Sc,eduler6 elige a P0-

    A- ambio de estado de P0-

    J- Manipulaci"n del Stack Pointerpara retornar al bloue deactivaci"n de P0-

    B- Se carga el conte.to de P0 en la

    PU-

    18- Se e+ecuta P0-

    P

    >- ambio de estado de P-

    Una cola debloueados Dpore+emplo

    P0

    ,ttp6//;;;-sc-e,u-es/ac;laroa/S'2/ambioonte.to-pps 

    http://www.sc.ehu.es/acwlaroa/SO2/CambioContexto.ppshttp://www.sc.ehu.es/acwlaroa/SO2/CambioContexto.pps

  • 8/16/2019 3 Concept Osso

    29/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 29

    esti"n de la memoria

    ! Se re#iere a la memoria principal DM7 donde unprograma almacena su c"digo7 sus datos % su pila-

    ! ran diversidad de tFcnicas % políticas7 dependiendode si el programa se almacena6

    C Est?tica o din?micamente-C ontiguo o en tro$os-

    ! lgunas tFcnicas Dpaginaci"n7 memoria virtualreuieren importante soporte ,ard;are6

    C MMU7 ,o% en día on-cip-

    C lmacenamiento secundario Dmemoria virtual-

    ! 5as tFcnicas m?s elaboradas Dmemoria virtual sonincompatibles con el tiempo real-

  • 8/16/2019 3 Concept Osso

    30/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores &8

    esti"n de la memoria)Fcnicas

    ! Monitor residente

    ! Particionado

    ! S;apping

    ! Paginaci"n % segmentaci"n

    ! Memoria virtual

    ! 'tras6 solapamientos % rutinas de enlacedin?mico

  • 8/16/2019 3 Concept Osso

    31/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores &1

    esti"n de la memoriaMonitor residente

    ! Para un Knico programa en memoria

     

    Sistema operativo(monitor)

    Programa deusuario

    registro

     barrera

  • 8/16/2019 3 Concept Osso

    32/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores &2

    esti"n de la memoriaParticionado

    ! Particionado #i+o DM3)

     

    8 Kb

    4 Kb

    2 Kb

    Sistema operativo

  • 8/16/2019 3 Concept Osso

    33/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores &&

    esti"n de la memoriaParticionado

    ! Particionado variable DMV)

     

    Programa 1

    Sistema operativo

    Programa 2

  • 8/16/2019 3 Concept Osso

    34/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores &>

    esti"n de la memoriaParticionado

    ! En particionado #i+o se pierde espacio dentrode las particiones D#ragmentaci"n interna-C L4uF ,acer si llega un programa nuevo % la

    partici"n adecuada a su tamaOo est? ocupada

    ! Encolarlo ,asta ue se libere-

    ! E+ecutarlo en una partici"n ma%or libre-

    ! En particionado variable el espacio se pierdeen los ,uecos entre programasD#ragmentaci"n e.terna-

    C )iende a aumentar Dcada ve$ m?s ,uecos m?speueOos6 degradaci"n de la memoria-

    C ompactar para recuperar espacio-

    ! Implica reubicaci"n din?mica-

  • 8/16/2019 3 Concept Osso

    35/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores &@

    esti"n de la memoriaParticionado

    ! Políticas de asignaci"n de ,uecosC LEn uF ,ueco almacenar un nuevo programa! LEn el m?s a+ustado al tamaOo del programa

    ! LEn en m?s grande

    ! LEn el primero ue se encuentre

  • 8/16/2019 3 Concept Osso

    36/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores &A

    esti"n de la memoriaS;apping

    ! Un programa puede7 durante su e+ecuci"n7abandonar la memoria-

    ! Implica reubicaci"n din?mica de programas-

  • 8/16/2019 3 Concept Osso

    37/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores &J

    esti"n de la memoriaPaginaci"n % segmentaci"n

    ! 5os programas se dividen en tro$osC *e igual tamaOo Dpaginaci"n

    C *e tamaOo variable Dsegmentaci"n

    ! omo consecuencia7 un programa no aparececontiguo en memoria-

    ! *irecci"n virtual vs direcci"n #ísica-! 5as direcciones donde se almacenan los tro$os se

    guardan en tablas de p?ginas/segmentos-

    C )raducci"n din?mica de direcciones

    C euiere importante soporte H;6

    ! Unidad de gesti"n de memoria DMMU

    ! 0u##ers de traducciones D)50

    ! Permite compartir p?ginas/segmentos entreprogramas-

  • 8/16/2019 3 Concept Osso

    38/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores &B

    esti"n de la memoriaPaginaci"n

    ! 5a tabla de p?ginas puede ocupar muc,o espacio-

    TABLA DE PAGINAS

    ...

    CPU MEM

    p d

    dir física

    p

    base

    d

    PTBR

    dir virtua

  • 8/16/2019 3 Concept Osso

    39/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores &9

    esti"n de la memoriaSegmentaci"n

    ! Produce #ragmentaci"n e.terna-

  • 8/16/2019 3 Concept Osso

    40/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores >8

    esti"n de la memoriaSistemas combinados

    ! Varios niveles de indirecci"n-

    ! El Kltimo7 siempre de paginaci"n-

    TABLA DE SEGMENT!S

    CPU MEM

    s d

    dir virtua

    STBR

    TRAP

    si

    "#

    ...

    s

    i$ base

    p

    TABLA DE PAGINAS

    ...

    dir física

    base

    d

    %

  • 8/16/2019 3 Concept Osso

    41/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores >1

    esti"n de la memoriaMemoria virtual

    ! Se implementa sobre un sistema paginado-! Permite la e+ecuci"n de programas no enteros-

    ! 5a re#erencia a una p?gina no cargada en memoriaprovoca un trap de #allo de p?gina % la bKsueda dela p?gina en disco-

    ! Kn m?s soporte H;6C 0it de valide$C )rap de #allo de p?gina

    C Espacio en disco Ds;ap

    C Soporte para el reempla$o de p?ginas

    !mplio soporte del sistema operativo6C Política de reempla$o de p?ginasC Políticas de asignaci"n de espacio entre programas

    ! Introduce impredecibilidad en los tiempos derespuesta-

  • 8/16/2019 3 Concept Osso

    42/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores >2

    esti"n de la memoriaSolapamientos % enlace din?mico

    ! L4uF ,acer si un programa no cabe en la M % notengo soporte de MV

    C Se estructura el programa % se divide en tro$os osolapamientos Doverlays

    ! ada solapamiento7 una #unci"n

    C Se aOade una rutina de enlace dinmico ue gestionala carga de las #unciones en tiempo de e+ecuci"n-

    C 5as llamadas a #unciones son a,ora llamadas a larutina de enlace con la #unci"n % sus par?metros comoargumentos-

    C Inicialmente se carga en memoria el programa principal

    % la rutina de enlace-

    ! Modernamente los sistemas operativos aOaden estemecanismo Dcon otros prop"sitos6 $ynamic 0in10ibraries o Run-Time 0ibraries-

  • 8/16/2019 3 Concept Osso

    43/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores >&

    esti"n de la entrada/salida

    ! 5os dispositivos de entrada/salida son mu%,eterogFneos6C Velocidad

    C epresentaci"n de los datos

    C ProtocolosC 'peraciones

    C Unidad de trans#erencia Dbloues7 caracteresG

    C )ipos de errores

    C Modo de tratar la E/S6 Encuesta7 Interrupciones7*M-

    ! Inter#a$ de los dispositivos uni#icadamediante ontroladores

  • 8/16/2019 3 Concept Osso

    44/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores >>

    Entrada/salidaInter#a$

    ! 5os ontroladores de los dispositivos D2 disp o#recenuna inter#a$ entre los dispositivos % el nivel delengua+e m?uina-

    ! Elementos de la inter#a$6C Espacio de direcciones de E/S7 ue puede ser

    ! Memor%:mapped! Independiente del de memoria

    C 'peraciones de E/S mediante instrucciones m?uina! Memor%:mapped6 5'*/S)'E

    ! Espacios independientes6 I(/'U)

    ! 5as direcciones de E/S se asocian a los dispositivos

    Degistros de E/S % tienen papeles especí#icos6C egistros de estado

    C egistros de datos

    C egistros de control

  • 8/16/2019 3 Concept Osso

    45/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores >@

    Entrada/salidaModos

    ! EncuestaC Espera activa sobre egistro de Estado

    C cceso a egistro de *atos

    ! InterrupcionesC El dispositivo cuenta con una línea de interrupci"n

    C uando se activa la interrupci"n7 se e+ecuta la utina deServicio ue gestiona la E/S6

    ! omprobaci"n sobre egistro de Estado

    ! cceso a egistro de *atos

    ! cceso *irecto a Memoria D*MC 5os dispositivos de bloues no involucran a la PU en el acceso

    a cada b%te

    C Se programa la operaci"n de *MC Se ordena su inicio sobre un egistro de ontrol del *M2C El #in de la operaci"n se anuncia mediante una interrupci"n

    ! 5a utina de Servicio a la Interrupci"n de *M comprueba sobreun egistro de Estado-

  • 8/16/2019 3 Concept Osso

    46/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores >A

    esti"n de la entrada/salidaMane+adores de dispositivos Ddrivers

    ! *river6 c"digo ue monopoli$a el acceso al

    dispositivo-! El resto del sistema operativo es independiente del

    dispositivo-

    ! Un modelo de entrada/salida6 cliente1seridor

    ! 5as rutinas de E/S son clientes del driver-

  • 8/16/2019 3 Concept Osso

    47/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores >J

    esti"n de la entrada/salidaMane+adores de dispositivos Ddrivers

    ! Inter#a$ entre las utinas de E/S % el driver6C *escriptor del *ispositivo7 con#igurado por el driver6

    ! Estado del dispositivo

    ! Modo de operaci"n

    ! )ablas de conversi"n! puntador a la cola de peticiones

    ! Evento asociado al driver

    C I'0 DInput3Output Re/uest 4loc1  para especi#icar unapetici"n al driver6

    ! Identi#icador del proceso cliente

    ! Par?metros de la petici"n

    ! Evento para sincroni$aci"n con el #inal de la operaci"n

    ! *iagn"stico de la operaci"n Da rellenar por el driver

  • 8/16/2019 3 Concept Osso

    48/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores >B

    esti"n de la entrada/salida

    E+emplo de estado de la E/S

    cola IORBs

    DESCRIPTORDISP 1

    parámetros

    de la petición

    IORB

    diagnóstico

    parámetros

    de la petición

    IORB

    diagnóstico

    cola IORBs

    DESCRIPTORDISP 2

    parámetros

    de la petición

    IORB

    diagnóstico

    cola IORBs

    DESCRIPTORDISP 3

    TABLA DE

    CANALES

    TABLA DECANALES

    Proceso i

    Proceso j

    infor. del

    dispositivo

    infor. del

    dispositivo

    infor. del

    dispositivo

    " d l d / l d

  • 8/16/2019 3 Concept Osso

    49/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores >9

    esti"n de la entrada/salida4uffering

    ! Para desacoplar las velocidades de #uncionamiento de losdispositivos % la PU7 el S' proporciona bu##ers delsistema para almacenamiento temporal de la E/S-

    ! Varios esuemas-

    Aplicación AplicaciónAplicaciónAplicación

    Dispositivo DispositivoDispositivoDispositivo

    (a) E/S sinbuffer 

    (b) E/S con unbuffer 

    (c) E/S con doblebuffer 

    (d) E/S con bufercircular 

    i" d l d / lid

  • 8/16/2019 3 Concept Osso

    50/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores @8

    esti"n de la entrada/salidaEl sistema de #ic,eros

    ! El desarrollo de las memorias tipo #las,posibilita ue incluso los dispositivos m?speueOos proporcionen un sistema de

    #ic,eros-! 5as abstracciones del modelo de E/S

    proporcionan independencia entre elsistema de #ic,eros % el dispositivo soporte-

    C E+emplo6 3)1A sobre #lopp%/H*/#las,

    ti" d l t d / lid

  • 8/16/2019 3 Concept Osso

    51/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores @1

    esti"n de la entrada/salidaEl sistema de #ic,eros

    ! aracterísticas del sistema de #ic,eros6C Permanencia

    C 'rgani$aci"n estructurada! En ?rbol

    ! (ombre de un #ic,ero6 relativo:absoluto

    ! lgunos #ic,eros son directoriosC tributos de un #ic,ero

    ! )iempos de creaci"n7 ccesoG

    ! *erec,os de acceso

    ! )amaOo

    ! etcC El contenido se organi$a en registros l"gicos

    C cceso concurrente a #ic,eros! Punteros independientes

    ti" d ti

  • 8/16/2019 3 Concept Osso

    52/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores @2

    esti"n de tiempos %tempori$aci"n

    ! El tiempo es un recurso peculiar-

    ! 5a gesti"n del tiempo es un componente

    b?sico en cualuier sistema empotrado o detiempo real-

    ! Vamos a estudiar6C )ipos de relo+es

    C utinas de servicio de la interrupci"n del relo+

    C esti"n de tempori$adores

    " "

  • 8/16/2019 3 Concept Osso

    53/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores @&

    esti"n de tiempos % tempori$aci"nelo+es

    ! elo+ de tiempo real D)C Siempre en #uncionamiento- euiere

    alimentaci"n propia-

    ! elo+ Hard;are

    C Se iniciali$a con el ) en la iniciali$aci"n-C Produce las interrupciones de relo+-

    C Suele ser programable DPI)7 p- e+-7 Intel B2@&-

    C Puede tener otras #unciones Dp- e+-7 re#resco de la*M-

    ! elo+ del sistemaC Es un relo+ so#t;are implementado por la IS del

    PI)-

    C uenta interrupciones % las e.presa en unidadesde tiempo-

  • 8/16/2019 3 Concept Osso

    54/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores @>

    El tiempo en 5inu.

    !omando para consultar el relo+ del sistema6– date

    !+uste del relo+6– adjtimex

     Ds"lo puede e+ecutarla root!ron"metro de alta resoluci"n6– gettimeofday()

    #include

    struct timeval t0, t1;

    gettimeofday(&t0, NULL);…gettimeofday(&t1, NULL);printf("Duracion: %d,%d segundos\n",

    t1.tv_sec-t0.tv_sec, t1.tv_usec-t0.tv_usec);

  • 8/16/2019 3 Concept Osso

    55/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores @@

    esti"n de tiempos % tempori$aci"n utina de servicio de la interrupci"n del relo+

    ! 3unciones6C Soporte del relo+ so#t;are Dcontador de unidades

    de tiempo7 p- e+-7 segundos

    ! Para el tiempo del sistema! Para implementar tempori$adores

    C esti"n del tiempo compartido De.pulsi"n por #inde uantum-

    C ontabilidad del uso de recursos temporales Dp-e+-7 tiempo de PU-

    ! enera eventos peri"dicos

    esti"n de tiempos % tempori$aci"n 

  • 8/16/2019 3 Concept Osso

    56/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores @A

    p % putina de servicio de la interrupci"n del relo+

    E+emploISQdelQrelo+ D

    R---ticksQporQsegundoTintervaloQPUT

    i# DticksQporQsegundo 8 Ractuali$aQtiempoQdelQsistemaDTseOalarQeventoDEVE()'QSEU(*'TticksQporQsegundo U(QSEU(*'T

    W

    i# DintervaloQPU uantum RincrementaQgastoQPUQdelQprocesoDintervaloQPUTintervaloQPU 8Tgoto cambioQdeQconte.toT

    W---

    eoiDTretiDT cambioQdeQconte.to6

    e.pulsarQprocesoDTdispatc,er Dsc,edulerDT

    W

    " d "

  • 8/16/2019 3 Concept Osso

    57/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores @J

    esti"n de tiempos % tempori$aci"n esti"n de tempori$adores

    ! El sistema proporciona un servicio de tempori$aci"n6

    C Un proceso se duerme durante n unidades de tiempo-

    C El sistema gestiona cu?ndo despertar a cada procesodormido-

    ! Ha% ue de#inir la resoluci"n del tempori$ador6C ma%or resoluci"n m?s carga para el sistema-

    ! Modelo6

    C 5os procesos ponen su petici"n de tempori$aci"nDusando un I'0-

    C Un gestor de tiempos Dmane+ador7 activado cadaunidad de tiempo por la IS del relo+7 despac,a laspeticiones a medida ue se cumplen7 despertando alproceso correspondiente-

    i" d i i i"

  • 8/16/2019 3 Concept Osso

    58/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores @B

    (eticionestempori2ación

    esti"n de tiempos % tempori$aci"n Implementaci"n

    34 E5E6TO7(

    IS

    estordetiempos

    PEVE()'QSEU(*'

    EVE()'QP

    ti" d ti t i i"

  • 8/16/2019 3 Concept Osso

    59/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores @9

    esti"n de tiempos % tempori$aci"n Implementaci"n

    34

    84

    84

    38

    'rdenar

    38

    34

    84

    84

    elativoa la

    anterior

    38

    3

    3#

    #

    S"lo ,a% ueconsultar la

    primera

    S"lo ,a% uedecrementar la

    primera

    esti"n de tiempos % tempori$aci"n

  • 8/16/2019 3 Concept Osso

    60/61

     

    UPV / EHU

    MOISE

    Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores A8

    esti"n de tiempos % tempori$aci"n Implementaci"n

    estorQtiempos DR

    ---;,ile D)UE R

    esperarQeventoDEVE()'QSEU(*'T ;,ile DprimeroDpeticionesQtiempo-pla$o 8

    seOalarQeventoDprimeroDpeticionesQtiempo-eventoTeliminarDprimeroDpeticionesQtiempoT

    WprimeroDpeticionesQtiempo-pla$oT

    WW

    E+emplo6

  • 8/16/2019 3 Concept Osso

    61/61

     

    UPV / EHU

    MOISE

    E+emplo6uso de tempori$adores en Uni.#include

    #include #include

    void nula() {return;-

    unsigned esperar/tiempo (unsigned seg) {  unsigned s;

      s alarm(seg);  ause();  return(s);-

    int main (int argc, const char * argv[]) {  int i;  unsigned t;

      signal($78+DC, nula);

      or (i3; i