Post on 06-Jan-2016
description
UTFSM - Sistemas Operativos
El sistema operativo
Conceptos básicos:Proceso: Instancia de un programa,
tiene uno o más threads.○ Thread
Gestión de memoriaGestión de E/SSistema de archivosSeguridad
2Ayudantía Sistemas Operativoshttp://villaseca.wordpress.com
Labor
No hay algo específico, puede ir de:Manejar los recursos.Controlar ejecución de los programas.Seguridad
Hasta:Facilitar desarrollo de aplicaciones.Ofrecer interfaz multimedia.
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com 3
Componentes
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com 4
Interrupciones
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com 5
Proceso con interrupción de I/O sincrónica
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com 6
Ejemplo:
Proceso con interrupción de I/O sincrónica:Proceso va a I/O cada: 20sDuración I/O: 10s
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com 7
Proceso con interrupción de I/O asincrónica
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com 8
Ejemplo
Proceso con interrupción de I/O asincrónica:Proceso va a I/O cada: 20sDuración I/O: 10s
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com 9
Conceptos avanzados
MultiprogramaciónEficiencia, usar CPU siempreCiclar cuando hay interrupciones.
TimesharingCompartir tiempo entre aplicaciones
SwappingSi un proceso no cabe en la memoria
Memoria virtual
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com 10
Para el sistema operativo Excepciones v/s traps Loops infinitos, procesos modificando
otros
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com 11
Para el sistema operativo User mode v/s Kernel mode
Mode bit
Timer
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com 12
Procesos
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com 13
Debe haber, para cada proceso, un process descriptor:Estado (ejecución, preparado, bloqueado)ContadorPuntero a stackAsignación de memoriaArchivos abiertosetc etc..
Estado de un proceso
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com 14
1. En ejecución (utilizando realmente la CPU en ese instante).
2. Preparado (ejecutable; detenido temporalmente para permitir que otro proceso se ejecute).
3. Bloqueado (incapaz de ejecutarse hasta que tenga lugar algún suceso externo).
Rutina común para el SO1. El hardware apila el contador de programa.2. El hardware carga el nuevo contador de programa
desde el vector de interrupción.3. Una rutina de lenguaje ensamblador salva los registros.4. Una rutina de lenguaje ensamblador establece una
nueva pila.5. Se ejecuta la rutina de tratamiento de la interrupción
escrita en C (normalmente lee y guarda en un búfer el dato de entrada).
6. El planificador decide qué procedimiento ejecutar a continuación.
7. Un procedimiento escrito en C retorna al código en ensamblador.
8. Una rutina de lenguaje ensamblador (el dispatcher) pasa a ejecución el proceso seleccionado por el planificacor.
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com 15
Manejo de memoria
SO debe saber qué partes de la memoria se usan y por quién.Ejemplos de garbage collection
Saber qué sacar y qué dejar en memoria.
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com 16
Almacenamiento
Sistemas de archivo:Control de accesoPrimitivas de manipulación de archivos
○ Analogía con lenguajes de programaciónEvitar erroresManejo de espacio libreDisk scheduling
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com 17
Ejemplo real
Abren un MP3 con su reproductor de múica.
Tienen parlantes 5.1La música viene en stereo, no en 5.1, por lo
que se bajan un plug-in para transformarla de stereo a 5.1. (Y así aprovecharlos!)
El plug-in usa CUDA.
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com 18
Explicación de CUDA
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com 19
Hagamos el flujo del proceso…
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com 20
Qué tenemos entonces? A simple vista:
Reproductor de música (.exe)Plug-in (*.dll)Drivers CUDADrivers de sonidoApplication programming interfaces (API)
○ Para cargar el plug-in (Win32 API)○ Para enviar audio a la tarjeta de sonido
(Directsound o OpenAL)○ Para abrir los archivos (el .MP3)
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com 21
Nos falta algo?
Dispositivo de almacenamiento Controlador de disco Sistema de archivos Permisos de usuario Otros procesos corriendo a la vez:
Mouse, teclado, barra de inicio, etc
Y se puede seguir desgranando muuucho más!
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com 22
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com 23