Professional Documents
Culture Documents
Captulo 2 Es difcil definirlo... Un programa que controla la ejecucin de los programas de aplicacin Un interfaz entre las aplicaciones y el hardware
Eficiencia
Permite un uso eficiente de los recursos del sistema
Capacidad de evolucionar
Permitir desarrollo efectivo, testeo e introduccin de nuevas funcionalidades sin interferir con el servicio
Ejecucin de programas Acceso a dispositivos de entrada/salida Controlar el acceso a los ficheros Acceso al sistema
errores software
desbordamiento aritmtico (overflow) acceso prohibido a posiciones de memoria
El sistema operativo renuncia al control del procesador para que lo usen otros programas
Depende del procesador para volver a tomar el control
Ncleo (Kernel)
Parte del sistema operativo que est en memoria principal Contiene las funciones ms frecuentemente utilizadas
Caractersticas Hardware
No son estrictamente necesarias aunque se incluan: Proteccin de memoria
Que no se altere el espacio de memoria del monitor
Monoprogramacin
El procesador debe esperar a que terminen las instrucciones de entrada/salda para poder continuar
Temporizacin
Evitar que un trabajo monopolice el sistema
Instrucciones privilegiadas
Instr. mquina que slo debe ejecutar el monitor: E/S,...
Interrupciones
Computadores ms modernos ofrecen ms flexibilidad
Multiprogramacin
Cuando un trabajo necesita esperar entrada/salida, el procesador puede cambiar a otro trabajo
Multiprogramacin
Ejemplo
TRABAJO1 Tipo de trabajo Duracin Memoria Necesita disco TRABAJO2 TRABAJO3 I/O 10 min. 80 K SI No SI Clculo intenso I/O 5 min. 50 K No 15 min. 100 K No SI No
Efectos de la Multiprogramacin
Monoprogramacin Uso del Procesador Uso de la Memoria Uso del Disco 22% 30% 33% Multiprogramacin 43% 67% 67% 67% 15 min. 12 trabajos/hr 10 min.
Tiempo Compartido
Utilizar multiprogramacin para gestionar varios programas interactivos El tiempo del procesador se comparte entre mltiples usuarios Muchos usuarios simultneamente acceden al sistema a travs de terminales
Uso de la Impresora 33% Tiempo Transcurrido 30 min. Productividad (ratio) 6 trabajos/hr Tiempo Medio de Respuesta 18 min.
Comandos del lenguaje de Fuente de directivas control de trabajos al sistema operativo proporcionados con el trabajo
Mayores Logros
Procesos Gestin de Memoria Proteccin y seguridad de la Informacin Planificacin y gestin de recursos Estructura del Sistema
Procesos
Un programa en ejecucin Una instancia de un programa ejecutando en un ordenador La entidad que puede ser asignada a y ejecutada en un procesador Una unidad de actividad caracterizada por: un hilo secuencial de ejecucin, un estado actual y un conjunto de recursos asociados
Procesos
Consta de tres componentes
Un programa ejecutable Los datos asociados que necesita el programa El contexto de ejecucin del programa
Toda la informacin que necesita el sistema operativo para gestionar el proceso
Interbloqueos (deadlocks)
Process
Gestin de Memoria
Aislar procesos Gestin y asignacin automtica Soporte para programacin modular Proteccin y control de acceso Almacenamiento de larga duracin
Memoria Virtual
Permite a los programadores direccionar la memoria desde un punto de vista lgico Evitar que haya un vaco entre el desalojo de un proceso a disco y la carga del siguiente Necesita soporte hardware El HW y el SO proporcionan al usuario un procesador virtual
Sistema de Ficheros
Implementa el almacenamiento de larga duracin (long-term) La informacin se almacena en objetos con nombres llamados ficheros
Paginacin
Permite a los procesos estar constituidos por un nmero de bloques de tamao fijo, llamados pginas La direccin virtual se descompone en un nmero de pgina y un desplazamiento dentro de la pgina Cada pgina puede situarse en cualquier sitio de la memoria (marcos de pgina, frames) La direccin real o fsica se refiere a la memoria principal
Certificacin
comprobar que los controles de acceso y de flujo se realizan de acuerdo a las especificaciones
Respuesta diferencial
discriminar entre diferentes clases de trabajos
Eficiencia
maximizar la productividad, minimizar el tiempo de respuesta y acomodar al mayor numero de usuarios posible
Dispositivos externos, Open, close, tales como impresoras, read, write pantallas y teclados Ficheros Pipes (tuberias) Create, destroy, open, close read, write Create, destroy, open. close, read, write
9 8
Bloques de datos, Read, write, allocate, free canales de dispositivos Primitivas de procesos, Suspend, resume, wait, signal semforos, lista de preparados, bloqueados
Procedimientos, pila de, Mark stack, call, return llamadas Pila de evaluacin, Load, store, add, subtract interprete de microbranch programa, datos escalares y arrays
Circuitos Electrnicos Registros, puertas, buses, Clear, transfer, activate, etc. complement
Windows 2000
Explota la potencia de los procesadores actuales de 32 bits Proporciona multitarea real en un entorno mono-usuario Computacin Cliente/Servidor
Organizacin del SO
Arquitectura de microkernel modificada
No es un microkernel puro Muchas funciones del externas al microkernel se ejecutan en modo kernel
Cualquier mdulo puede ser eliminado, actualizado o reemplazado sin necesidad de volver a escribir el sistema entero
Microkernel
Los componentes ms usados y fundamentales del sistema operativo
Drivers de dispositivos
Traducen llamadas de I/O del usuario peticiones al dispositivo hardware especfico
Procesos de usuario
Procesos de soporte especial del sistema
Ej.: proceso de conexin y gestin de sesin
Modelo cliente/servidor
Simplifica la ejecutiva
Es posible construir una variedad de APIs
Mejora la fiabilidad
Cada servicio se ejecuta en un proceso aparte con su propia particin de memoria los clientes no pueden acceder al hardware directamente
Proporciona una forma uniforme para que las aplicaciones se comuniquen via LPC Proporciona una base para la programacin distribuida
Threads y SMP
Diferentes rutinas pueden ejecutarse simultneamente en diferentes procesadores Mltiples threads de ejecucin de un proceso pueden ejecutarse en diferentes procesadores simultneamente. Los procesadores servidores pueden usar mltiples threads Comparten datos y recursos entre procesos
UNIX
El hardware es rodeado por el sistema operativo El sistema operativo es lo que se llama kernel Viene con un conjunto de servicios e interfaces
shell compilador de C
UNIX