Propósitodelsistemaoperativo
Un sistema operativo tiene como propósito
•Compartir eficientemente los recursos del computador entre los
usuarios y los procesos
•¿Pero cuáles son esos recursos?
•Procesador. ¿Para qué? Ejecutar procesos
•Dispositivos de almacenamiento. ¿Para qué? Almacenar procesos, programas,
archivos
•Módulos de Entrada/Salida(I/O). ¿Para qué? Mover datos desde afuera del PC
y hacia el PC y viceversa
•Bus del sistema ¿Para qué? Proveer comunicación entre todas las partes del
PC
Diagrama de los principales componentes de un PC
Esquema a alto nivel de la CPU
Esquema a alto nivel de la memoria volátil
Evolución del microprocesador
•El gran avance en la computación
fue llevar un gran computador a una
pastilla de silicio
•Al reducir el tamaño se logró:
•Reducir tiempos de ejecución
•Reducir consumos de energía
•Costos de producción
Evolución del microprocesador
•Los multicore incrementan el
número de unidades de
procesamiento por procesador,
2, 4 u 8 cores y cada core capaz
de correr dos hilos de ejecución
Evolución del microprocesador
•Los multicore incrementan el
número de unidades de
procesamiento por procesador,
2, 4 u 8 cores y cada core capaz
de correr dos hilos de ejecución
•Graphical Processing Units
(GPUs)
•Procesadores manycore
•Procesan una instrucción
sobre muchos datos
(arquitectura Single
Instruction –Multiple Data)
•Uso inicial, procesamiento de imágenes.
Hoy en día se usa en muchas otras áreas
Comparación entre multicore y manicore
CPU/GPU Architecture Comparison
Evolución del microprocesador
•Systemon a Chip (SoC)
•Orientado a dispositivos de
mano (handhelddevices) donde
CPUs, caches, GPUs,
dispositivos de I/O están en una
misma “pastilla”
Ejecución de instrucciones
•Los programasde computador se encuentran en un medio de
almacenamiento permanente y su funcionamiento se define a través
de instruccionesdel procesador. Una vez este programa se carga en
memoria se le denomina proceso.
Ejecución de instrucciones
La ejecución de instrucciones se ha
dividido en etapas o fases
•Hay dos etapas, recuperar
(fetch) y ejecutar (execute)
•La razón por la cual se puede
llegar a un estado halt o
detención es
•El procesador no recibe
energía
•Se alcanza una instrucción
para detener el programa e.g.
exit()
•Aparece un error
irrecuperable
Ejecución de instrucciones
•Al comienzo de cada ciclo instrucción el procesador recupera una
Instrucción
•El contador del programa (PC –program counter) contiene la
dirección de la próxima instrucción a recuperar
•Las instrucciones se encuentran en direcciones de memoria contiguas
luego el PC incrementa su valor de forma constante
Ejecución de instrucciones
•La próxima instrucción a ejecutar se almacena en el instruction
register (IR). Esta info la lee el procesador y ejecuta la operación
codifica dentro del registro.
•Las instrucciones a ejecutar por un procesador caen en una de estas
cuatro categorías
• Procesador-memoria.Datos que se transfieren del procesador
(registro) a memoria
•Procesador-I/O. Datos que se transfieren hacia o desde un periférico
•Procesamiento de datos. Ejecución de tareas aritmético lógicas
•Control. Instrucción que índice que la secuencia de instrucciones se
altera
Características de una máquina hipotética
Características de una máquina hipotética
•Registros son de tamaño 16 bits
•El formato de una instrucción se
codifica: 4 bits para indicar el
tipo de operación y 12 bits para
indicar una dirección de
memoria
•Los enteros se codifican: 1 bit
para el signo y 15 bits para el
valor del entero
Trabajo de un procesador
Ejercicio
Ejercicio resuelto
Interrupciones
Algunas interrupciones
Flujo de programa sin interrupciones
Flujo de programa con interrupciones (operación I/O corta y larga)
Flujo de programa con interrupciones (operación I/O corta y larga)
Interrupciones y el ciclo de instrucción
Comparación del procesamiento de operaciones de I/O sin interrupciones
Comparación del procesamiento de operaciones de I/O con interrupciones
Comparación del procesamiento de operaciones de I/O sin y con interrupciones
Procesamiento de interrupciones
Pasos ejecutados antes de pasar control a la rutina de
interrupción
Pasos ejecutados después de terminar la
rutina de interrupción