370 likes | 618 Views
Software Sistemas Operativos. Referencias. Stallings, Sistemas Operativos Tanenbaum, Sistemas Operativos Modernos. Definición de software. Parte “ intangible ” del sistema. Conjunto de instrucciones que controlará la actividad del computador. Diversos tipos: S.O.
E N D
Referencias • Stallings, Sistemas Operativos • Tanenbaum, Sistemas Operativos Modernos
Definición de software • Parte “intangible” del sistema. • Conjunto de instrucciones que controlará la actividad del computador. • Diversos tipos: • S.O. • De control del hardware o básico. • De aplicación. • Utilitarios. • Shells, Ofimática, etc.
S.O. generalidades:Una definición de Sistema Operativo • Explota los recursos de hardware de uno o mas procesadores y sus periféricos. • Ofrecer un conjunto de servicios a los usuarios del sistema y al programador. • Además gestiona la memoria secundaria y dispositivos de I/O.
S.O. generalidades:Ejemplos de Sistemas Operativos • Microsoft DOS, Windows 3, 95, 98, ME, XP • Microsoft Windows NT, 2000, XP • Apple Macintosh MacOs • Unix y propietarios relacionados • AIX; Solaris, • Linux, BSD alternativa a Unix • Red Hat, Mandrake, FreeBSD, otros. • Muchos otros.
S.O. generalidades:Sistema Operativo • Es un programa que controla la ejecución de los programas de aplicación. • Es una interfaz entre los programas de aplicación y el hardware. • Oculta, al usuario, los detalles del hardware.
S.O. generalidades:Funciones • Comodidad: para el usuario, de utilización del computador. • Eficiencia:permite la utilización eficiente de los recursos. • Capacidad de evolución: su construcción debe permitir el desarrollo e introducción de nuevas funciones.
Usuario final Programador Diseñador de Sistemas Operativos S.O. generalidades:Niveles en un sistema de computación Programas de Aplicación Utilitarios Sistema Operativo Hardware del computador
S.O. generalidades:Niveles en un sistema de computación Operating system Tanenbaum, Operating System
Servicios provistos o suministrados por el Sistema Operativo (1) • Ejecución de Programas. • Acceso a dispositivos I/O. • Acceso controlado a archivos. • Acceso al Sistema y a los recursos específicos, brinda protección y resuelve conflictos de propiedad de los recursos.
Servicios provistos o suministrados por el Sistema Operativo (2) • Detección y respuesta a errores: • Errores de hardware internos y externos: • Errores de memoria. • Fallas de dispositivos. • Errores de software: • Overflow aritmético. • Acceso prohibido a ubicaciones de memoria. El sistema operativo debe dar una respuesta que elimine la condición de error con el menor impacto posible sobre las aplicaciones en ejecución.
Servicios provistos o suministrados por el Sistema Operativo (3) • Contabilidad: • Recolectar estadísticas de utilización de los diversos recursos. • Monitorear parámetros de rendimiento • Tiempo de respuesta • Usado para mejoras futuras • Para facturación a usuarios
Sistema Operativo como un administrador de recursos • Es un programa de computador. • Dirige al procesador en el uso de los recursos del sistema. • Dirige al procesador cuando se ejecutan otros programas, control del tiempo. • El procesador detiene la ejecución del SO para ejecutar otros programas.
Partes de un S.O.Kernel • Parte del Sistema Operativo residente en la memoria principal • Contiene las funciones mas frecuentemente utilizadas • También se le llama “núcleo del S.O.” • Micro-kernel y monolítico.
Partes de un S.O.Interfaz con el usuario • Lenguaje de Control • Indica al S.O. Una acción o tarea especifica. • Ejemplos: • Grabar un conjunto de datos o archivo • compilar un programa • ejecutar un programa • abrir o cerrar archivos • Otros. • Generalmente una aplicación llamada shell es la encargada.
Actualización de los Sistemas Operativos • Actualizaciones e incorporación de nuevos tipos de hardware. • Nuevos servicios. • Fixes – correcciones. • Service pack. • Parches (patchs). • Upgrades.
Evolución de los Sistemas Operativos • Procesamiento Secuencial (años 50) • No hay sistema operativo. • Batch (lotes) simple (años 60) • Programa monitor • Batch complejo (años 70 adelante) • Sistema operativo • Tiempo compartido (70 adelante)
Evolución de los Sistemas Operativos (batch) Capas (layout) de memoria para un monitor residente . Interrupt Processing Device Drivers Monitor Job Sequencing Control Language Interpreter limite User Program Area
Protección Hardware • Modos de operación de la CPU • Modo usuario: se restringe acceso a parte de los recursos • Modo supervisor: se tiene acceso a todos los recursos • Protección de memoria: Previene que el programa de un usuario tenga acceso a los programas y datos de otros usuarios y del sistema operativo. • Timer: Previene que un trabajo monopolice los recursos del sistema. • Instrucciones privilegiadas: Ejecutadas sólo por el SO • Interrupciones: Son llamadas a funciones del kernel Si un programa intenta usar recursos restringidos, se produce una interrupción
Time Sharing o Tiempo compartido • Usando multiprogramación para manejar múltiple trabajos interactivos. • El tiempo de procesador (quantum) es compartido entre múltiples usuarios. • Múltiples usuarios simultáneamente accesan al sistema a través de terminales.
Tiempo real • Similar a time-sharing pero con requerimientos y objetivos diferentes • Finalidad: aplicaciones de medición o control que requieren monitoreo continuo. • Ejemplos: QNX, Aperios.
Componentes de un S.O. • Interprete de comandos • Planificador, para organizar la ejecución de programas • Gestor de archivos • Gestor de memoria • Asignador de recursos
Gestión de la Memoria • Aislamiento del proceso • Gestión y asignación automáticas • Soporte para programación modular • Protección y control de acceso
Gestión de la MemoriaMemoria Virtual • Permite a los programadores direccionar memoria desde un punto de vista lógico • Mientras el programa se esta ejecutando, una porción del programa y sus datos se mantiene en bloques de disco
Gestión de la MemoriaIntercambio o Swapping • Con un sistema batch, la organización de memoria en particiones fijas es relativamente simple y efectiva. • En el caso anterior, los programas permanecerán en memoria hasta completar su ejecución. • Con tiempo compartido, la situación es diferente, ya que normalmente se tendrá más usuarios que particiones (o memoria), por lo que es necesario guardar procesos en disco. • El paso de procesos de memoria a disco y viceversa se llama: intercambio o swapping.
Gestión de Procesos ¿Que es un Proceso? • Un programa en ejecución • Una instancia de un programa ejecutándose en un computador • Entidad que puede ser asignada a, y ejecutada en, un procesador • Una unidad de actividad caracterizada por un único hilo secuencial de ejecución, un estado actual y un conjunto de recursos del sistema asociados.
Gestión de ProcesosProceso • Consiste de tres componentes: • Un programa ejecutable • Datos asociados, necesarios para el programa • Contexto de ejecución del programa • Contiene toda la información que el S.O. requiere para administrar el proceso (contador de programa, registrador de instrucción, pila o stack, otros)
Gestión de ProcesosCambio de contexto • Existe una estructura de datos que contiene información respecto del programa en ejecución (RI, PC, Registros, otros). • Cuando un programa debe entregar la CPU, otro programa se ejecutará debiendo cargarse su estructura de datos.
Gestión de ProcesosDespachador • Programa que mueve el procesador desde un proceso a otro • Debe prevenir que un proceso monopolice el tiempo del procesador
Processor Gestión de ProcesosModelo de procesos con dos estados Dispatch Enter Exit Not Running Running Pause (a) State transition diagram Queue Enter Dispatch Exit Pause (a) Queuing diagram
Los estados del proceso • Transiciones entre estados • El proceso se bloquea por E/S • El proceso se suspende por time-out • El planificador selecciona un proceso de la fila de los ready • El proceso termina su E/S y es desbloqueado Estados de un proceso: Running: esta utilizando la CPU, ejecutando sus instrucciones Blocked: a la espera de finalización de la E/S Ready: a la espera de ser seleccionado para ocupar la CPU