Upload
sandalio-lagos
View
329
Download
10
Embed Size (px)
Citation preview
SoftwareSistemas Operativos
2
Referencias
• Stallings, Sistemas Operativos
• Tanenbaum, Sistemas Operativos Modernos
3
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.
4
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.
5
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.
6
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.
7
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.
8
S.O. generalidades:Niveles en un sistema de computación
Usuario final
Programador
Diseñador deSistemas
Operativos
Hardware del computador
Sistema Operativo
Utilitarios
Programas deAplicación
9
S.O. generalidades:Niveles en un sistema de computación
Operating system
Tanenbaum, Operating System
10
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.
11
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 queelimine la condición de error con el menor impactoposible sobre las aplicaciones en ejecución.
12
• 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
Servicios provistos o suministrados por el Sistema Operativo (3)
13
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.
14
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.
15
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.
16
Actualización de los Sistemas Operativos
• Actualizaciones e incorporación de nuevos tipos de hardware.
• Nuevos servicios.• Fixes – correcciones.
• Service pack.
• Parches (patchs).• Upgrades.
17
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)
18
Evolución de los Sistemas Operativos (batch) Capas (layout) de memoria para un monitor residente .
limite
InterruptProcessing
DeviceDrivers
JobSequencing
Control LanguageInterpreter
UserProgram
Area
Monitor
19
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
20
Evolución de los Sistemas OperativosMultiprogramación
21
Multiprogramación o Multitarea
22
Paginación
23
Evolución de los Sistemas OperativosPaginación, ejemplo
24
• 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.
Time Sharing o Tiempo compartido
25
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.
26
Resumen
Monoprogramación Multiprogramación Multiprocesamiento
Técnica en que losrecursos del sistemade computación sonasignados a unprograma hastacompletar suejecución
Su objetivo es tenervarios programas enmemoria principal, demanera que si uno deellos tiene que esperarpara completar unproceso detransferencia de datoso de E/S, otro (que noesté en esa situación)se pueda ejecutar
Trabajo con variosprocesadores >1.
Aumenta la eficienciade laMultiprogramación
27
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
28
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
29
Gestión de la Memoria Memoria 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
30
Gestión de la Memoria Intercambio 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.
31
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.
32
Gestión de Procesos Proceso
• 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)
33
Gestión de Procesos Cambio 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.
34
Gestión de Procesos Cambio de contexto
35
Gestión de Procesos Despachador
• Programa que mueve el procesador desde un proceso a otro
• Debe prevenir que un proceso monopolice el tiempo del procesador
36
Gestión de Procesos Modelo de procesos con dos estados
NotRunning
Running
Processor
Enter
Dispatch
Pause
Exit
(a) State transition diagram
EnterQueue
Dispatch Exit
Pause
(a) Queuing diagram
37
Los estados del proceso
Transiciones entre estados
1. El proceso se bloquea por E/S
2. El proceso se suspende por time-out
3. El planificador selecciona un proceso de la fila de los ready
4. 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