230 likes | 344 Views
UTFSM - Sistemas Operativos. Ayudantía 1: Overview. El sistema operativo. Conceptos básicos: Proceso: Instancia de un programa, tiene uno o más threads . Thread Gestión de memoria Gestión de E/S Sistema de archivos Seguridad. Labor. No hay algo específico, puede ir de:
E N D
UTFSM - Sistemas Operativos Ayudantía 1:Overview
El sistema operativo • Conceptos básicos: • Proceso: Instancia de un programa, tiene uno o más threads. • Thread • Gestión de memoria • Gestión de E/S • Sistema de archivos • Seguridad Ayudantía Sistemas Operativos http://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
Componentes • CPU, memoria, dispositivos I/O • Se comunican por un Bus • Pueden haber varios Buses • Trabajan de forma separada a través de un buffer e interrupciones. Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Interrupciones Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Proceso con interrupción de I/O sincrónica Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Ejemplo: • Proceso con interrupción de I/O sincrónica: • Proceso va a I/O cada: 20s • Duración I/O: 10s Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Proceso con interrupción de I/O asincrónica Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Ejemplo • Proceso con interrupción de I/O asincrónica: • Proceso va a I/O cada: 20s • Duración I/O: 10s Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Conceptos avanzados • Multiprogramación • Eficiencia, usar CPU siempre • Ciclar cuando hay interrupciones. • Timesharing • Compartir tiempo entre aplicaciones • Swapping • Si un proceso no cabe en la memoria • Memoria virtual Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Para el sistema operativo • Excepciones v/s traps • Loops infinitos, procesos modificando otros Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Para el sistema operativo • Usermode v/s Kernelmode • Mode bit • Timer Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Procesos • Debe haber, para cada proceso, un process descriptor: • Estado (ejecución, preparado, bloqueado) • Contador • Puntero a stack • Asignación de memoria • Archivos abiertos • etc etc.. Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Estado de un proceso • En ejecución (utilizando realmente la CPU en ese instante). • Preparado (ejecutable; detenido temporalmente para permitir que otro proceso se ejecute). • Bloqueado (incapaz de ejecutarse hasta que tenga lugar algún suceso externo). Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Rutina común para el SO • El hardware apila el contador de programa. • El hardware carga el nuevo contador de programa desde el vector de interrupción. • Una rutina de lenguaje ensamblador salva los registros. • Una rutina de lenguaje ensamblador establece una nueva pila. • 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). • El planificador decide qué procedimiento ejecutar a continuación. • Un procedimiento escrito en C retorna al código en ensamblador. • 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
Manejo de memoria • SO debe saber qué partes de la memoria se usan y por quién. • Ejemplos de garbagecollection • Saber qué sacar y qué dejar en memoria. Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Almacenamiento • Sistemas de archivo: • Control de acceso • Primitivas de manipulación de archivos • Analogía con lenguajes de programación • Evitar errores • Manejo de espacio libre • Disk scheduling Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Ejemplo real • Abren un MP3 con su reproductor de múica. • Tienen parlantes 5.1 • La 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
Explicación de CUDA Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Hagamos el flujo del proceso… Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Qué tenemos entonces? • A simple vista: • Reproductor de música (.exe) • Plug-in (*.dll) • Drivers CUDA • Drivers de sonido • Applicationprogramming 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
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
Fin del overview Ayudantía Sistemas Operativos - http://villaseca.wordpress.com