Upload
ngoduong
View
217
Download
0
Embed Size (px)
Citation preview
1
Conceptos de Sistemas Operativos
Sistema Operativo
• Un programa que controla la ejecuciónde los programas de aplicación.
• Una interfaz entre las aplicaciones y el hardware
2
Objetivos de un S.O.• Proporcionar facilidad
– Debe de hacer a la computadora más fácil de utilizar
• Eficiencia– Permite que los recursos de un sistema
computacional sean utilizados de una maneraeficiente
• Capacidad de evolucionar– Permite el desarrollo, pruebas e introducción de
nuevas funciones sin interferir con el servicio
Capas de un Sistema de Cómputo
3
Servicios que provee el Sistema Operativo
• Desarrollo de Programas– Editores y depuradores
• Ejecución de Programas• Acceso a dispositivos de E/S• Acceso controlado a archivos• Acceso al sistema
Servicios que provee el Sistema Operativo
• Detección de errores– Errores externos e internos de hardware
• Errores de memoria• Fallas en dispositivos
– Errores de software• Sobreflujo aritmético• Acceso prohibido a localidades de memoria
4
Servicios que provee el Sistema Operativo
• Administración– Estadísticas– Monitoreo del desempeño– Utilizadas para posibles mejoras
Sistema Operativo
• Funciona de la misma manera quecualquier software– Es un programa que es ejecutado
• El S.O. cede el control del procesadorpara ejecutar otras aplicaciones.
5
Kernel
• Es la porción del sistema operativo quese encuentra en la memoria principal
• Contiene las funciones más comunmenteutilizadas
• También llamado Núcleo
6
Evolución de un SistemaOperativo
• Actualizaciones de hardware.• Nuevos Servicios• Reparación de fallas
Evolución de los S.O.
• Procesamiento en Serie– Sin sistema operativo– Las maquinas corrian desde una consola
con display de luces y switches, dispositivode entrada e impresora
– Se tenia que cargar el compilador, programafuente, grabar el programa compilado, cargarlo y enlazarlo
7
Evolución de los S.O.
• Archivos por Lotes simples– Utilizan Monitores
• Software que controla la ejecución de programas
• Se ejecutan los programas por lotes• El programa devuelve el control al monitor
cuando termina su ejecución• El monitor reside en la memoria principal
Lenguaje de Contol de Tareas(JCL)
• Es un tipo especial de lenguaje de programación
• Provee de instrucciones al operador– Qué compilador utilizar– Qué datos utilizar
8
Características de Hardware
• Protección de memoria– No permitir que el area de memoria que
contiene al programa monitor sea alterada• Temporizador
– Previene que una tarea se apodere porcompleto del sistema
Uniprogramación
• El procresador debe esperar que la instrucción de E/S termine para podercontinuar
9
Multiprogramación
• Cuando una tarea requiere esperar E/S, el procesador puede cambiar hacia otratarea
Multiprogramación
10
Ejemplo
TAREA1 TAREA2 TAREA3
Tipo de Tarea Proc. Pesado E/S Pesado E/S Pesado
Duración 5 min. 15 min. 10 min.
Memoria req. 50K 100 K 80 K
Ocupa disco No No Yes
Ocupa terminal No Yes No
Ocupa impres. No No Yes
Efectos de la multiprogramación
Uniprogramación Multiprogramación
Uso del procesador 22% 43%
Uso de memoria 30% 67%
Uso de disco 33% 67%
Uso de impres. 33% 67%
Tiempo 30 min. 15 min.
Tasa de eficiencia 6 jobs/hr 12 jobs/hr
Tiempo de respuesta 18 min. 10 min.
11
Tiempo Compartido
• Utilizando multiprogramación paramanipular multiples tareas interactivas.
• El tiempo del procesador es compartidoentre varios usuarios.
• Los usuarios multiples accesan al sistema en forma simultanea por mediode terminales
12
Multiprogramación vs. Tiempo Compartido
Comandos alimentadosa la terminal
Comandos en Lengiaje de Control de Tareas provistospor la misma tarea
Fuente de comandos hacia el Sistema Operativo
Minimizar el tiempo de respuesta
Maximizar el uso del procesadorObjetivo principal
Tiempo CompartidoMultiprogramación
13
Logros Importantes en S.O.
• Procesos• Administración de Procesos• Protección y Seguridad en la
Información• Calendarización y administración de
recursos• Estructura del sistema
Procesos
• Un programa en ejecución• Una instancia de un programa corriendo
en una computadora• La entidad que puede ser asignada y
ejecutada en un procesador• La unidad de actividad caracterizada por
una sola secuencia de ejecución, un estado actual, y un conjunto asociado de recursos del sistema.
14
Dificultades al DiseñarSistemas Operativo
• Sincronización inadecuada– Asegurarse que un proceso que espera a un
dispositivo de E/S reciba la señal• Exclusión mutua fallida• Operación del programa no determinada
– Un programa solo debe depender de entradas a él, y no depender de areas comunes de memoria
Proceso
• Consiste de tres componentes– Un programa ejecutable– Datos asociados requeridos por el programa– Contexto de ejecución del programa
• Toda la operación que el Sistema Operativonecesita para administrar el proceso.
15
Proceso
Administración de Memoria
• Aislamiento del proceso• Alocación y administración automática• Soporte de programación modular• Protección y control de acceso• Almacenamiento a largo plazo
16
Memoria virtual
• Permite a los programadores direccionarmemoria desde un punto de vista lógico
• Mientras que un proceso se escribe a almacenamiento secundario, el procesosucesor puede leer
17
Sistema de Archivos
• Implementa almacenamiento a largo plazo
• Infomación almacenada en objetosllamados archivos.
Paginación• Permite que los procesos esten constituidos
por un número fijo de bloques llamadospáginas.
• Dirección virtual es un número de página y un desplazamiento dentro de ella
• Cada pagina puede ubicarse en cualquier lugardentro de la memoria principal
• Dirección real o física en memoria principal.
18
Direccionamiento de memoriavirtual
Protección y Seguridad de la Información
• Control de acceso– Regular el acceso del usuario al sistema
• Control del flujo de la información– Regular el flujo de datos dentro del sistema
y su envío hacia los usuarios• Certificación
– Proveer que el acceso y el control del flujode datos se lleve a cabo conforme a lasespecificaciones
19
Calendarización y Administración de Recursos• Equidad
– repartir equitativamente el acceso a todoslos procesos
• Respuesta diferenciada– discriminar entre diferentes clases de tareas
• Eficiencia– maximizar eficiencia, minimizar tiempo de
respuesta
Principales Elementos de un Sistema Operativo
20
Estructura del Sistema
• Visualizar el sistema como una serie de niveles
• Cada nivel desempeña un subconjuntorelacionado de funciones
• Cada nivel depende del siguiente nivelinferior para desempeñar funciones másbásicas
• Esto descompone un problema en un número más manejable de subproblemas
Jerarquía del diseño de un S.O.
Nivel Nombre Objetos Ejemplos de operaciones
13 Shell Ambiente de progra- Sentencias del shellmación del usuario
12 Procesos de usuario Procesos de usuario Quit, kill, suspend, resume
11 Directorios Directorios Create, destroy, attach, detach,search, list
10 Dispositivos Dispositivos externos Abrir, cerrar, leer, escribir.tales como impresoras,monitores y teclados
9 Sistema de Archivos Archivos Crear, destruir, abrir, cerrarleer, escribir
8 Comunicaciones Pipes Crear, destruir, abrir. cerrar,leer, escribir
21
Jerarquía del diseño de un S.O.
Nivel Nombre Objetos Ejemplo de Operaciones
7 Memoria Virtual Segmentos, páginas Leer, escribir, buscar
6 Almacenamiento Bloques de datos, Leer, escribir, reservar, liberarlocal secundario canales de dispositivos
5 Procesos primitivos Procesos primitivos, Suspender, reanudar, señal de semáforos esperar
Jerarquía del diseño de un S.O.
Nivel Nombre Objetos Ejemplos de operaciones
4 Interrupciones Manejo de Interrupciones Invocar, enmascarar, desenmascarar, reintentar
3 Procedimientos Procedimientos, pila de Marcar pila, llamar, llamadas, despliegue retornar
2 Conjunto de Pila de evaluación, Cargar, almacenar, sumar, Intrucciones interprete de micro-, restar
programas, datos esca-lares y en arreglos
1 Circuitos Electrónicos Registros, compuertas, Limpiar, transferir, buses, etc. activar
22
Características de SistemasOperativos Modernos
• Arquitectura MicroKernel– Asigna solo algunas funcione esenciales al
kernel• Espacio de direccionamiento• Comunicación entre procesos (IPC)• Calendarizació básica
Características de SistemasOperativos Modernos
• Multithreading– Proceso es dividido en threads que pueden
ejecutarse simultáneamente• Thread
– Unidad de trabajo– ejecuta secuencialmente y es interrumpible
• Un proceso es una colección de uno o más threads
23
Características de SistemasOperativos Modernos
• Multiprocesamiento simétrico– Existen múltiples procesadores– Estos procesadores comparten la misma
memoria principal y dispositivos de E/S– Todos los procesadores pueden desempeñar
las mismas funciones
Características de SistemasOperativos Modernos
• Sistemas Operativos Distribuidos– Proveen la ilusión de una sola memoria
principal y un solo espacio de almacenamiento secundario.
– Utilizados para el sistema de archivosdistribuidos (DFS)
24
Características de SistemasOperativos Modernos
• Diseño orientado a objetos– Utilizados para agregar extensiones
modulares a un núcleo pequeño– Permite a los programadores el personalizar
un sistema operativo sin afectar la integridad del sistema
Windows 2000
• Explota el poder de los procesadores de 32 bits
• Provee de un ambiente multitareas en modo monousuario
• Computación Cliente/Servidor
25
Arquitectura Windows 2000
• Estructura modular por flexibilidad• Se ejecuta en una gran variedad de
plataformas de hardware• Soporta aplicaciones para una gran
variedad de sistemas operativos
Organización del S.O.
• Arquitectura microkernel modificada– No es un Microkernel puro– Muchas funciones fuera del núcleo corren
en modo kernel• Cada módulo puede ser removido,
actualizado o reemplazado sin la necesidad de reescribir el sistema.
26
Estructura por capas
• Capa de Extracción de Hardware (HAL)– Aisla al S.O. de diferencias de hardware
específicas a la plataforma.• Microkernel
– Los componentes más utilizados y los másfundamentales del sistema operativo.
• Controladores de Dispositivos– Traducen las llamadas a funciones de E/S
en peticiones específicas a los dispositivosde E/S
Ejecutor W2K• Administrador de E/S• Administrador de Objetos• Monitor de Seguridad• Administrador de procesos/threads• Centro de Llamada a Procedimiento Local• Administrador de Memoria Virtual• Administrador de Caché• Modulos de Graficos
27
Procesos de usuario
• Procesos especiales de soporte al sistema– Ej: proceso de login y administrador de
sesiones• Procesos de servidor• Subsistemas de ambiente• Aplicaciones de usuario
Modelo Cliente/Servidor• Simplifica el ejecutor
– Posible el contruir una variedad de API’s
• Mejora la confiabilidad– Cada servicio corre por un proceso por separado
con su propia particion de memoria– El cliente no puede accesar directament el
hardware
• Provee un medio uniforme para comunicacionde las aplicaciones via LPC
• Provee de la base de computación distribuida
28
Threads y SMP• Diferentes rutinas pueden ejecutarse
simultáneamente el diferentes procesadores• Threads multiples de ejecución de un solo
proceso pueden ejecutarse en diferentesprocesadores simultáneamente
• Procesos del servidor pueden utilizar multiples threads
• Se comparten datos y recursos entre procesos.
29
UNIX
• El hardware esta cubierto por el S.O.• El sistema operativo es llamado kernel• Viene con un gran número de servicios
de usuario e interfaces– shell– compilador C
UNIX