Documente Academic
Documente Profesional
Documente Cultură
Sistema Operativo:
Programa que acta como intermediario entre el usuario y el hardware. Es un asignador de recursos: Los gestiona y toma decisiones entre requerimientos conflictivos para su utilizacin eficiente y justa. Es un programa de control: Controla la ejecucin de programas para evitar errores y usos impropios.
Objetivos de un S.O.:
Ejecutar programas del usuario y solucionar problemas que puedan ocurrir. Hacer que un sistema computacional sea conveniente de utilizar. Usar el Hardware computacional de una manera eficiente.
Encendido de un computador:
Bootstrap: o Se carga cuando el computador se enciende o reinicia. o Se almacena en ROM o EPROM o Inicializa todos los aspectos del sistema. o Carga el kernel del SO e inicia la ejecucin.
Kernel:
nico programa que corre todo el tiempo. Todo lo dems son programas de sistema o aplicaciones.
Interrupciones:
Llamada no planificada a una subrutina. El control se transfiere a una subrutina de servicio, a travs del vector de interrupcin. El vector de interrupcin contiene la direccin de la rutina de servicio.
La arquitectura de manejo salva la direccin de la prxima interrupcin. Al procesar una interrupcin se desactivan otras interrupciones para prevenir prdidas de interrupcin. Trap: Interrupcin generada por software (por error o por requerimiento) Interrupt driven: Cualquiera de las acciones del SO tiene como causa una interrupcin. Ante una interrupcin el So preserva el estado de la CPU almacenando sus registros en un Stack.
Jerarqua de almacenamiento.
La jerarqua se determina por velocidad de transferencia, costo y volatilidad. Caching: Copiar informacin de dispositivos lentos a dispositivos rpidos. (Ej: la RAM se puede ver como una cach para almacenamiento secundario).
Cachs
Caching: La informacin ms utilizada se copia desde memorias lentas a rpidas temporalmente. Cach: Memoria rpida. Si contiene la informacin correcta se usa directamente, si no la tiene, se copian los datos y despus se usa. El tamao de la cach es menor que el tamao de la memoria ms lenta. Los desafos que impone esta tcnica a los SO son: o Gestin de las cachs. o Determinacin del tamao y polticas de reemplazo.
Multiprocesadores
Se conocen tambin como: sistemas paralelos, sistemas fuertemente acoplados. Ventajas: o Aumento de productividad. o Economas de escala. o Confiabilidad, degradacin graciosa o tolerancia a fallas. Dos tipos: o Multiprocesamiento asimtrico (master-slave) o Multiprocesamiento simtrico (todos los procesadores son pares)
Sistemas en Cluster
Mltiples sistemas trabajando coordinadamente. Comparten almacenamiento a travs de un SAN (storage-area network) Alta disponibilidad: servicios que sobreviven a fallas. Clusters asimtricos: tienen una mquina en modo hot-standby Clusters simtricos: contienen mltiples nodos corriendo aplicaciones y monitoreando a los dems. Clusters de HPC: aplicaciones son escritas para utilizar paralelismo.
Estructura de un SO.
Multiprogramacin: lograr eficiencia Tiempo compartido (Multitarea): la CPU conmuta entre distintas tareas permitiendo la computacin interactiva.
Multiprogramacin.
Un usuario simple no puede ocupar simultneamente la CPU y dispositivos de I/O. Se organizan los jobs (cdigo y datos) para que la CPU siempre tenga uno que ejecutar. o Un subconjunto de Jobs reside en la memoria principal. o Job scheduling: Seleccin de un job para ejecutarse mediante la iteracin de Jobs. o Cuando un job espera por el I/O, el SO conmuta a otro.
Timesharing (multitarea)
Tiempo de respuesta: menor a 1 segundo. Cada usuario tiene al menos un programa ejecutndose en memoria (proceso). Itinerador de CPU: selecciona un job de los que estn listos para ejecutar. Swapping: Tcnica que mueve jobs hacia y desde la memoria cuando un proceso no cabe en la esta. Memoria virtual: Tcnica que permite la ejecucin de procesos que no tienen suficiente memoria.
Operaciones de un SO.
Las interrupciones son activadas por el HW. Por errores en el SW o por requerimientos se activan excepciones o traps (divisin por cero, llamadas al sistema, loops infinitos, violaciones de memoria, etc).
Gestin de Procesos.
Un proceso es un programa en ejecucin. Corresponde a una unidad de trabajo dentro del sistema. Proceso: entidad activa. Programa: entidad pasiva. Un proceso necesita recursos para completar su tarea: CPU, memoria, archivos, I/O y datos de inicializacin. Al trmino de un proceso se devuelven los recursos reutilizables. En un proceso de un Thread, el registro PC determina la siguiente instruccin a ejecutar. Las instrucciones se ejecutan en forma secuencial hasta el trmino. En un proceso Multi-Thread, cada thread tiene su propio PC. En forma tpica en un sistema hay mltiples procesos corriendo en una o varias CPU: procesos de usuarios y del SO. La concurrencia se logra por multiplexin de la CPU entre los distintos procesos/thread.
Gestin de Memoria.
Todo debe estar en memoria antes de la ejecucin: datos e instrucciones. Gestin de memoria: qu y cundo deben estar en memoria. Una buena gestin de memoria optimiza la utilizacin de la CPU y los tiempos de respuesta a los usuarios.
Gestin de Almacenamiento.
Un SO proporciona una vista lgica y uniforme de la informacin almacenada. o Se abstraen propiedades fsicas y se presentan unidades lgicas: archivos. o Cada medio se controla por un dispositivo. o Cada dispositivo tiene distintas propiedades fsicas. Los archivos se organizan en directorios. El control de acceso determina quin y qu puede accesar. Las actividades de gestin incluyen: o Creacin y eliminacin de archivos y directorios. o Primitivas para el manejo de archivos y directorios. o Mapeo de archivos en almacenamiento secundario o Respaldo en medios estables.
Subsistema de I/O.
Un propsito de los SO es ocultar las particularidades de dispositivos de I/O. El subsistema de I/O es responsable de: o Gestionar la memoria del I/O, es decir, buffers, cachs, spooling (traslape de la salida de un job con la entrada de otro.) o Proporcionar una interfaz general. o Disponer de drivers para dispositivos especficos.
Proteccin y Seguridad.
Proteccin: Cualquier mecanismo para el control del acceso de procesos usuarios a recursos definidos por el SO. Seguridad: Defensa del sistema ante ataques externos e internos. El SO primero distingue entre distintos usuarios para determinar que puede hacer cada uno: o Identidad (uid): nombres, nmeros, o Este uid se asocia a archivos y procesos para facilitar el control de acceso. o El identificador de grupo (gid) reconoce grupos de usuarios. o Escalamiento de privilegios: permiten a los usuarios obtener mayores derechos.
SO de cdigo abierto.
Es posible obtener un SO en cdigo fuente en vez de cdigo binario cerrado. Movimiento comenzado por la Free Software Foundation (FSF). Ejemplos incluyen GNU/Linux, BSD UNIX (includo MAC OS X) y SUN Solaris.