3 Concept Osso
-
Upload
daniel-gomez -
Category
Documents
-
view
222 -
download
0
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