Documentos de Académico
Documentos de Profesional
Documentos de Cultura
que controla la ejecucin de los programas de aplicacin. Programa que facilita el uso del Soporte Fsico (recurso) Objetivos desde el punto de vista de usuario: Comodidad Fiabilidad Objetivos desde el punto de vista del sistema: Eficiencia Capacidad de evolucin
Eficiencia
The OS coordinates the sharing and use of all the components in the computer
read-disk
Biblioteca del sistema Bibliotecas de E/S Biblioteca matemtica Bibliotecas grficas Shell Sistema de ventanas
Application Programmer
Software API
Command Line Interpreter Compiler Loader Libraries Libraries Libraries Window System
OS
r a w f o m e t s y S
Hardware
Abstraccin de recursos
El Sistema Operativo oculta los detalles de de como opera la mquina. Abstraccin del funcionamiento de la mquina. Abstraccin del funcionamiento de los componentes hardware del sistema Recurso (impresora, disco, memoria...)
Job 19
Job 3
Input Spooler
Output Spooler
Input Spool
Output Spool
Idea
Idea
Program
Result
Multiprogramming
Abstract Machine Pi Abstract Machine Pj Abstract Machine Pk
OS Resource Sharing
P i Memory P k Memory
P j Memory
Multiprogramming Performance
Pis Total Execution Time, ti
0 ti
Time
Time
Vacuum Inside
Wash
Dry
Efectos de la multiprogramacin
Monoprogramacin Uso del procesador Uso de la memoria Uso del disco Uso de la impresora Tiempo transcurrido Tasa de productividad 22% 30% 33% 33% 30 min. 6 trabajos/hora Multiprogramacin 43% 67% 67% 67% 15 min. 12 trabajos/hora 10 min.
Aportaciones de la multiprogramacin
Procesos. Sistemas multi-proceso con descarga (no multi_programados) Planificacin de los procesos para determinar el orden de ejecucin. Gestin de memoria (asignacin-liberacin). Archivos.
Timesharing Systems
Abstract Machines Result
Command
Physical Machine
Result
Command
Result
Objetivo principal
A) Procesos
Proceso = programa en ejecucin. Similar al concepto de JOB (interactivo). Los procesos comparten los recursos de la mquina.
Asegura que un proceso que espera por un dispositivo de E/S reciba la seal o primitiva de sincronizacin que necesita para continuar su ejecucin. Fallos de exclusin mutua (dos procesos utilizan simultneamente un mismo recurso). El programa debe depender de su cdigo y sus datos, pero no del contenido de zonas de la memoria asignadas a otros procesos.
Funcionamiento no determinista:
B) Gestin de memoria
Aislamiento del proceso. Asignacin y gestin automticas. Soporte para la programacin modular. Proteccin y control de acceso. Almacenamiento a largo plazo.
Memoria virtual
Permite a los programas direccionar una memoria mayor que la memoria fsica. Permite que los procesos estn formados por varios bloques de tamao fijo, denominados pginas. La direccin virtual est formada por un nmero de pgina y un desplazamiento dentro de la pgina. Cada pgina puede estar ubicada en un lugar cualquiera de la memoria principal o en disco.
C) Sistema de archivos
La informacin de cada usuario se almacena es unos objetos denominados archivos. Debe existir la posibilidad de organizar los archivos (Directorios o carpetas). Son una de las creaciones ms visibles del S.O.
Control de acceso:
Regula el acceso del usuario al sistema. Regula el flujo de datos dentro del sistema y su distribucin a los usuarios. Demuestra que el acceso y el control del flujo se llevan a cabo de acuerdo con las especificaciones.
Certificacin:
Equidad:
Otorga un acceso igual y equitativo a todos los procesos. Discrimina entre las diferentes clases de trabajos. Maximiza la productividad, minimiza el tiempo de respuesta y aloja a tantos usuarios como sea posible.
Sensibilidades diferenciales:
Eficiencia:
Multihilos:
El proceso se divide en hilos que pueden ejecutarse concurrentemente. Unidad de trabajo que se puede expedir para su ejecucin Datos privados alojados en una pila especfica. Se ejecuta secuencialmente y es interrumpible. Un conjunto de uno o ms hilos que comparten recursos.
Hilo:
Proceso:
Existencia de mltiples procesadores estrechamente acoplados . Estos procesadores comparten la misma memoria principal y dispositivos de E/S. Todos los procesadores pueden ejecutar las mismas funciones. Mejores prestaciones. Resistencia a fallos. Complicacin de la sincronizacin. Planificacin de procesos multiprocesador
(pag notas)
Sistemas multiprocesadores dbilmente acoplados Proporciona la ilusin de un nico espacio de memoria principal y un nico espacio de memoria secundaria en sistemas dispersos. Utilizado para el sistema de archivos distribuido (p.ej. NFS). Los S.O. Distribuidos han evolucionado a capas de software que se ejecutan sobre sistemas ya existentes (middleware p.ej. CORBA). (notas)
Soporta unas limitaciones temporales para la ejecucin de los procesos. Utilizado para controlar instalaciones industriales. En los S.O. de tiempo real es ms importante que los procesos se ejecuten antes de sus tiempos lmite, que las consideraciones de rendimiento del sistema.
Aade extensiones modulares a un pequeo ncleo. Permite a los programadores personalizar un sistema operativo sin romper la integridad del sistema.
Multi-usuario
El sistema operativo ofrece servicio a varios usuarios => multi-programacin. Evitan que el usuario tenga que aprender lenguajes de control, mejoran la productividad del usuario. Sistemas multi-programados mono-usuario en los que mediante un gestor de ventanas el usuario tiene activas varias tareas. Las interfaces grficas tienden a salir del S.O. ejecutndose en modo usuario y siendo intercambiables.
Amigables (amistosos)
Tendencias futuras
Plataformas distribuidas. Construccin de sistemas heterogneos GRIDS (computadores diferentes con distintos S.O. conectados mediante redes). Midleware
Computacin mvil (SCC) Redes inalmbricas. Sistemas multimedia (tiempo real no crtico). Sistemas de bolsillo. Sistemas operativos on chip (SO integrado). Sistemas empotrados (embedded). (notas)
Informtica mvil
IPHONE
620MHz ARM176JZF chip Puede alcanzar una velocidad maxima de 700 MHz aunque esta funcionando a 620MHz de fabrica. Cuenta con tecnologia ARM para optimizar el consumo del 20-25%. ARM tambien tiene Java integrado y ademas tiene caracteristicas especiales para graficos 3D. Utiliza el OS X la version de este sistema que utilizaba iPhone en Junio 2007 ocupa aproximadamente 300 MB. Algunos Hackers estn instalando LINUX. Durante el primer trimestre de 2005 ms de 160 millones de celulares vendidos.
Sistemas empotrados
75 Millones Microprocesadores/ao
Pequeos Ordenadores
PDAs, STBs (Set Top Box o decodificadores de TV digital) Tienen SO,
Timesharing
Memory Mgmt PC & Wkstation Scheduling Batch Protection System software File System Human-Computer Memory Mgmt Interface Protection Scheduling Files Devices
Network OS
Client-Server Model Protocols
Real-Time
Scheduling
Small Computer
Modern OS
Llamadas al sistema
Servicios elementales (API) Servicios elaborados (Interpretados por el interprete de mandatos, Shell)
Deteccin de errores
Programas de aplicacin
Utilidades
Sistema operativo
Ejecucin de programas. Acceso a los dispositivos de E/S a travs del S.O. Acceso controlado a los archivos. Comunicaciones entre procesos (local, red) Acceso al sistema (informacin).
Error de memoria. Fallo de dispositivos. Desbordamiento aritmtico. Acceso a una posicin prohibida de memoria.
Errores de software.
Contabilidad:
Recoger estadsticas. Supervisar el rendimiento del sistema. Utilizado para anticiparse a las mejoras futuras. Utilizado para los usuarios de cuotas.
Actualizaciones del hardware y nuevos tipos de hardware. Introduccin de nuevos servicios. Correcciones.
Sistemas monolticos
No tienen un estructura clara y bien definida, todas las funciones que ofrece el sistema se ejecutan en un modo privilegiado (modo del sistema operativo). Sistemas por capas
Sistemas estructurados.
Cada capa ofrece una interfaz bien definida a la capa superior, utilizando los servicios de la capa inferior. La mayor parte de los servicios en procesos de usuario.
Solamente una pequea parte de los servicios se realizan en el sistema operativo. Los procesos que ejecutan las restantes funciones se denominan servidores.
El S.O. examina los parmetros de la llamada para determinar cual de ellas se desea realizar (2 en la figura). El S.O. analiza una tabla que contiene en la entrada k un apuntador al procedimiento que implementa la k-sima llamada al sistema. Esta operacin (3 en la figura), identifica el procedimiento de servicio, al cual se llama. Por ltimo, la llamada al sistema termina y el control vuelve al programa del usuario.
Sistemas monolticos
Se puede contemplar el sistema como una serie de niveles (los niveles ms internos se ejecutan en modo del sistema). Cada nivel lleva a cabo un determinado subconjunto de funciones. Cada nivel se basa en el nivel inferior para llevar a cabo funciones ms primitivas. De este modo, se descompone un problema en un nmero de subproblemas ms manejables.
Ncleo
Parte del sistema operativo que se encuentra permanentemente en la memoria principal. Incluye las funciones utilizadas con ms frecuencia. Tambin denominado kernel. Interacciona directamente con el hardware.
Modelo cliente-servidor
Arquitectura microncleo:
Servidores
P. Usuario
API
Procesos
Memoria
E/S
Archivos
Mquinas virtuales
Proporciona una una interfaz que es idntica al hardware simple A cada proceso se le presenta una copia virtual del computador con caractersticas adicionales como llamadas al sistema y sistemas de archivos. Ventajas
Proteccin (cada VM est aislada de las dems,no se comparten recursos directamente). Mquina virtual para los programadores del sistema. Independientes del hardware (Java V.M.)
Llamadas al sistema emitidas por los programas (traps). Interrupciones hardware producidas por perifricos. Condiciones de error (excepciones).
Cola a Cola a Cola de largo corto E/S plazo plazo Planificador a corto plazo (cdigo)
El S.O. es un servidor que est a la espera de que se le encargue trabajo con las llamadas al sistema.
Un proceso en ejecucin solicita un servicio al S.O. Se produce un TRAP (interrupcin software) que activa el S.O. El sistema operativo pasa a ejecutarse salvando el estado del proceso solicitante. El S.O. Realiza la tarea solicitada. El planificador del S.O. selecciona el proceso a ejecutar. El activador (dispatcher) cede el control de la UCP al proceso seleccionado.
Llamadas al sistema
La forma en que se realiza una llamada al sistema consiste en colocar una serie de parmetros en un lugar especfico (como los registros del procesador), para despus ejecutar una instruccin del lenguaje mquina del procesador denominada trap (en castellano, trampa), syscall, int. Varios lenguajes C, C++ y Perl tienen una (o varias) rutinas de biblioteca por cada llamada al sistema. API (Application Program Interface)
- El dispositivo de E/S interrumpir cuando finalice la peticin de E/S, para sincronizarse con el proceso.
Posibilidades de sincronizacin
A) Esperamos a que la E/S termine (interrupcin E/S) para devolver el control al programa de usuario. E/S activa : bucle de espera hasta interrupcin E/S. E/S pasiva: instruccin que mantiene inactivo el proceso hasta que se produce la correspondiente interrupcin de E/S. Sncrona B) Devolvemos el control al programa de usuario al que le notificaremos cuando se produce el fin de la E/S (interrupcin). Asncrona
Cuando sucede un error de programa (excepcin), el S.O. toma el control salvando el estado del proceso interrumpido. La rutina del S.O. debe mostrar un mensaje de error y transferir el control a la rutina de tratamiento correspondiente al error producido.
Si el error es subsanable el proceso podr continuar. Si el error no puede subsanarse el proceso finaliza anormalmente.
El planificador del S.O. selecciona un proceso a ejecutar. El activador cede el control de la UCP al proceso seleccionado. (nota)
Windows 2000
Aprovecha las capacidades de los microprocesadores de 32 bits. Ofrece una multitarea en un entorno monousuario. Basado en el proceso cliente/servidor.
Estructura modular que proporciona flexibilidad. Se ejecuta sobre distintas plataformas hardware HAL(Capa Abstraccin del Hardware). Soporta aplicaciones escritas para distintos sistemas operativos.
No tiene una arquitectura microncleo pura. La mayora de las funciones externas al microncleo se ejecutan en modo ncleo.
Cualquier mdulo puede ser eliminado, actualizado o reemplazado sin volver a escribir el sistema completo.
Niveles
Asla el sistema operativo de las diferencias de hardware especficas de cada plataforma. Componentes ms usados y fundamentales del sistema operativo. Traducen las llamadas a funciones de E/S del usuario a peticiones en los dispositivos hardware de E/S especficos.
Microncleo:
Controladores de dispositivo:
Administrador de E/S. Administrador de objetos. Monitor de seguridad. Administrador de procesos/hilos. Servicio de llamadas a procedimientos locales (LPC). Administrador de memoria virtual. Administrador de cache. Mdulos para grficos/ventanas.
Servicios
Replicador Alerta RPC Registro de sucesos
Aplicaciones
Subsistemas de entorno
NTDLL.DLL
API del ejecutor Ejecutor de Windows 2000 Administrador de E/S Sistemas de archivo Utilidad LPC
Administrador de cache Administrador de procesos/ hilos Monitor de referencia de seguridad Administrador de memoria virtual Administrador de ventanas
Controladores de dispositivo
Interfaces hardware (buses, E/S, interrupciones, temporizadores, relojes, DMA, control de cache, etc.)
Windows NT/2000/XP
UNIX
El hardware estn rodeado por el software del sistema operativo. El sistema operativo se llama kernel. Est equipado con varios servicios e interfaces intercambiables:
UNIX
Ncleo
Hardware