INTRODUCCION SISTEMAS OPERATIVOS
description
Transcript of INTRODUCCION SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS-VIRTUALIZACIÓN
Doc. Pedro Coronado Rodríguez
Puede tener respuestas abstracta diferentes. Para un estudiante joven de universidad, un sistema operativo es el software
que permite el acceso a la riqueza del conocimiento disponible en internet. Para un programador, unos es el software que permite el uso de un sistema de
cómputo para el desarrollo de programas. Para una persona que usa un paquete de aplicaciones, un SO es simplemente
el software que hace posible que use el paquete. Para un técnico en una planta química informatizada, el SO es el componente
invisible de un sistema de cómputo que controla la planta.
CONCEPTO OBJETIVOS
Es un
que Conjunto de
programas
controla
Interacción entre el SO con el resto de las partes.
ASPECTOS DE SISTEMAS OPERATIVOS
son
SISTEMAS OPERATIVOS COMO INTERFAZ DE
USUARIO/COMPUTADOR
FACILIDAD DE EVOLUCION DE UN SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS COMO GESTOR DE
RECURSOS
Diseñador del Sistema Operativo
Programador
Usuario final
ASPECTOS DEL SISTEMAS OPERATIVOS
son
SISTEMAS OPERATIVOS COMO INTERFAZ DE
USUARIO/COMPUTADOR
FACILIDAD DE EVOLUCION DE UN SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS COMO GESTOR DE
RECURSOS
Software del Sistema
Operativo
Programas y
Datos
Procesador Procesador
Controlador de E/S
Controlador de E/S
Controlador de E/S
Memoria
…
.
.
.
.
.
.
Impresoras, teclados, cámaras digitales, etc.
Dispositivos de E/S
OS Programas
Datos
Almacenamiento
ASPECTOS DEL SISTEMAS OPERATIVOS
son
SISTEMAS OPERATIVOS COMO INTERFAZ DE
USUARIO/COMPUTADOR
FACILIDAD DE EVOLUCION DE UN SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS COMO GESTOR DE
RECURSOS
Nuevos servicios
Actualización de Hardware – Nuevos tipos
Resolución de fallos
El Sistema Operativo se encarga de compartir el procesador entre los distintos procesos. Mediante los algoritmos de planificación, el sistema decide que proceso ha de ejecutarse y los estados por los que debe pasar. Estos algoritmos buscan de la manera más eficiente los siguientes objetivos:
Planificación del SO
Equidad (igualdad) el planificador de asignar el tiempo de utilización del procesador de la manera más justa posible.
Eficiencia debe mantener al procesador ocupado el mayor tiempo posible.
Tiempo de Respuesta bajo debe minimizar el tiempo de respuesta para los usuarios.
Alto Rendimiento debe maximizar el número de procesos que se ejecutan en un periodo de tiempo.
Existen multitud de algoritmos pero destacamos 3
Planificación del SO
Algoritmo FIFO
First In First Out - Los procesos se ejecutan según su orden de llegada. El primero en entrar no libera los recursos hasta que termina. Es el más sencillo pero el más ineficaz.
Algoritmo de Rueda
Round Robin - asigna rotativamente el mismo tiempo de ejecución (quantum) a los diferentes procesos en forma rotatoria. Es de los mas sencillo, justo y de un uso más extendido.
Algoritmo por prioridades
asigna los tiempos de ejecución según una lista de prioridades. El tiempo de ejecución será mayor para los procesos de mayor prioridad. Es uno de los más complejos y eficaces.
DOS Entorno gráfico
MS-DOS 1980
WINDOWS (GUI) 1985
WINDOWS 2.0 1987
OS/2 1987 .. Microsoft e IBM
WINDOWS 3 Microsoft 1990 MACINTOSH DE APPLE
OS/ 2 2.0
OS/2 3.0 Superaron versiones anteriores
WINDOWS 95 Introdujo arquitectura 32 bit Desarrolló una nueva API. Antigua: WIN16. Nueva: WIN32
MS-DOS + WINDOWS Apariencia de solo un SO
WINDOWS 98 FAT32. Particiones > 2 Gb. Soporte DVD, FireWire, USB O AGP, Internet. BASE MS-DOS.
WINDOWS 98 SE Compartir entre varias máquinas salida a internet
WINDOWS 2000 Empresarial-familiar. Inestable. No distinción entre el MS-DOS y el entorno gráfico. Solo 32 bit Versiones: w2000 Professional. W2000 Server, Advanced Server, Datacenter Server. Multitarea.
WINDOWS VISTA
2001. Multimedia. núcleo de Windows NT. Versiones Home, Professional y Corporate. Multitarea. Redes inalámbricas. 2005-Versión 64 bit. NTFS
WINDOWS XP
WINDOWS Server 2003 Para servidores, basado en el núcleo de WinXP
2007. Interfaz gráfica aéreo en ves de interfaz Luna de winXP.
WINDOWS SERVER 2008 Sencillez Gráfica
WINDOWS 7 2009 Nuevo kernel.
WINDOWS 7 2009 Nuevo kernel. Simplicidad y rapidez en las operaciones. Reconocimiento de escritura a mano. Multitáctil
WINDOWS SERVER 2008 R2 2009. SP1 2011. Procesadores 32 no soportados
WINDOWS 8 2012. Windows 8 (26-10-2012) es la versión actual del sistema operativo de Microsoft Windows. para su uso en computadoras personales, incluidas computadoras de escritorio en casa y de negocios, computadoras portátiles, netbooks, tabletas, servidores y centros multimedia. soporte para microprocesadores ARM, además de los microprocesadores tradicionales x86 de Intel y AMD. Compatibilidad con USB 3.0. Interfaz Ribbon en el Explorador de Windows. Arquitectura x86 (32 bits) y x86-64 (64 bits)
SISTEMAS OPERATIVOS POPULARES Android IOS Symbian Windows mobile -------------------------------- Windows azure windows --------------------------------- Distribuciones linux ---------------------------------
A. Procesamiento en serie:
Ejecución Espera Espera
Tiempo Ejecución de un programa
Tarea 1
Tarea 2
Resultado
Resultado
A. Procesamiento en serie: Con los primeros computadores, desde finales de los años 40 hasta mediados de en los años 50, el programador interaccionaba directamente con el hardware del computador. No había sistema operativo. Estas máquinas eran utilizadas desde una consola, que contenía luces, interruptores, algún dispositivo de entrada y una impresora. Los programas en código de maquina se cargaba a través del dispositivo de entrada(lector de tarjetas). El programador podía examinar los registros del procesador y la memoria principal la causa de algún error. Si todo era normal, la salida aparecía en la impresora.
A. Procesamiento en serie: Estos sistemas iniciales presentaban dos problemas principales: Planificación: Se utilizaba una plantilla impresa para reservar tiempo de máquina. Tiempo de configuración: Un único programa, denominado trabajo, podía implicar la carga en memoria del compilador y del programa en lenguaje de alto nivel y a continuación la carga y el enlace del programa objeto y las funciones comunes.
B. Sistemas en lotes sencillos:
Las primeras máquinas eran muy caras, y por tanto, era importante maximizar su utilización. El tiempo malgastado en la planificación y configuración de los trabajos era inaceptable. Para mejorar su utilización, se desarrolló el concepto de Sistema Operativo en lotes Fue desarrollado a mediados de los años 50 por General Motors para el uso de un IBM 701.
B. Sistemas en lotes sencillos:
B. Sistemas en lotes sencillos:
La idea central bajo este esquema es el uso de una pieza de software denominada monitor, en la cual el usuario ya no tiene que acceder directamente a la maquina. En su lugar el usuario envía un trabajo a través de una tarjeta o cinta al operador del computador quien coloca en secuencia los trabajos en el dispositivo de entrada para que lo utilice el monitor, cuando el programa termina el procesamiento , devuelve el control al monitor para que este cargue el siguiente programa.
B. Sistemas en lotes sencillos: Para comprender como funciona el esquema, analicémoslo desde dos puntos de vista:
B. Sistemas en lotes sencillos:
Procesamiento de interrupciones
Manejadores de dispositivos
Secuenciamiento de trabajos
Interprete de lenguajes de control
Área de programa de usuario
Límite
Monitor
Disposición de memoria de un monitor residente.
$JOB
$FTN
Instrucciones FORTRAN
$LOAD
$RUN
$END
B. Sistemas en lotes sencillos: Punto de vista del monitor: El monitor lee de uno en uno los trabajos desde el dispositivo de entrada (normalmente un lector de tarjetas o dispositivo de cinta magnética). Una vez leído el dispositivo, el trabajo actual se coloca en el área de programa de usuario, y se le pasa el control. Cuando el trabajo se ha completado, devuelve el control al monitor, que inmediatamente lee el siguiente trabajo. Los resultados de cada trabajo se envían a un dispositivo de salida, (por ejemplo una impresora), para entregárselo al usuario.
B. Sistemas en lotes sencillos: Punto de vista del procesador: En un cierto punto, el procesador ejecuta instrucciones de la zona de memoria principal que contiene el monitor, estas instrucciones provocan que se lea el siguiente trabajo y se almacene en otra zona de memoria principal. Una vez que el trabajo se ha leído, el procesador encontrará un instrucción de salto en el monitor que le indica al procesador que continúe la ejecución al inicio del programa de usuario. El procesador entonces ejecutará las instrucciones del programa de usuario hasta que encuentre una condición de finalización o de error.
C. Sistemas en lotes multiprogramados:
Con el Sistema Operativo en lotes sencillos había el problema de que el procesador se encontraba frecuentemente ocioso. Y es que los dispositivos de E/S son lentos comparados con el procesador
C. Sistemas en lotes multiprogramados:
Leer un registro del fichero 15uS Ejecutar 100 instrucciones 1 uS Escribir un registro al fichero 15uS TOTAL 31Us Porcentaje de utilización de la CPU= 1/31 =0,032= 3,2%
Ejemplo utilización del sistema Ejecución
Espera Espera
Tiempo Programa 1
Ejecución
(a) Monoprogramación
C. Sistemas en lotes multiprogramados:
Kernel de multiprogramación
Programa 1
Programa 2
Programa 3
Kernel de multiprogramación
Programa 1
Programa 2
Programa 3
Kernel de multiprogramación
Programa 1
Programa 2
Programa 3
E/S
CPU E/S
CPU
E/S CPU
E/S
a b c
C. Sistemas en lotes multiprogramados:
Ejecución Espera
Tiempo Programa A
Tiempo Programa A
(a) Monoprogramación
(b) Multiprogramador con dos programas.
Ejecución Espera
Ejecución Espera Ejecución Espera
Ejecución Espera Ejecución Espera Espera
Ejecución A Espera
Ejecución B Espera Espera
Ejecución A
Ejecución B
Programa B
Combinado
Tiempo
Tiempo
C. Sistemas en lotes multiprogramados:
Tiempo Programa A
(c) Multiprogramador con tres programas.
Ejecución Espera Ejecución Espera
Ejecución Espera Ejecución Espera Espera
Ejecución A Espera
Programa B
Combinado
Tiempo
Tiempo
Ejecución Espera Ejecución Espera Espera Programa C
Tiempo
Ejecución B
Ejecución C
Ejecución A
Ejecución B
Ejecución C
C. Sistemas en lotes multiprogramados:
CPU
Memoria
Disco
Terminal
Impresora
0 5 10 15 20 25
T1 T2 T3
Histograma de utilización con Monoprogramación
C. Sistemas en lotes multiprogramados: CPU
Memoria
Disco
Terminal
Impresora
0 5 10 15
T1
T2T3 Histograma de utilización con multiprogramación
C. Sistemas en lotes multiprogramados: Ejemplo:
Trabajo 1 Trabajo 2 Trabajo 3
Tipo de trabajo Computación pesada Gran cantidad de E/S Gran cantidad de E/S
Duración 5 minutos 15 minutos 10 minutos
Memoria requerida 50 M 100M 75M
¿Necesita disco? No No Si
¿Necesita terminal? No Si No
¿Necesita impresora? No No Si
Atributos de ejecución de ejemplos de programas
• Pc 250 Mb .memoria( libre del SO) • Disco • Terminal • impresora
C. Sistemas en lotes multiprogramados: Ejemplo:
Monoprogramación Multiprogramación
Uso del procesador 20% 40%
Uso del memoria 33% 67%
Uso del disco 33% 67%
Uso del impresora 33% 67%
Tiempo transcurrido 30 min 15 min
Productividad 6 trabajos/hora 12 trabajos/hora
Tiempo de respuesta medio 18 minutos 10 minutos
Efectos de la utilización de recursos sobre la multiprogramación
C. Sistemas en lotes multiprogramados: El SO se encuentra frecuentemente ocioso, incluso con el secuenciamiento de trabajo automático que proporciona un SO en lote simple. Surge un nuevo avance en el hardware: el hardware con protección de memoria. Lo que ofrece nuevas soluciones a los problemas de rendimiento. • Se solapa el cálculo de unos trabajos con la entrada/salida
de otros trabajos. • Se pueden mantener en memoria varios programas. • Se asigna el uso de la CPU a los diferentes programas en
memoria.
C. Sistemas en lotes multiprogramados: El sistema operativo puede poner muchos programas del usuario en la memoria, y permitir que el CPU ejecute las instrucciones de un programa mientras que el subsistema de E/S está ocupado con una operación de E/S para otro programa Esta técnica se llama multiprogramación. El monitor cumple las siguientes funciones: • Administrar la memoria. • Gestionar el uso de la CPU (planificación). • Administrar el uso de los dispositivos de E/S. Cuando desempeña esas tareas, el monitor residente se transforma en un sistema operativo multiprogramado o multitarea.
D. Sistemas de tiempo compartido:
Planificador CPU
. . .
Programa priorizado
Lista de planificación Programa seleccionado Cómputo terminado
Terminación del intervalo de tiempo
Esquema de la planificación Round-Robin con intervalos de tiempo
Es un proceso que consiste en un ambiente interactivo de computación donde un usuario puede proveer entradas a un programa desde el teclado y examinar su salida en la pantalla del monitor.
• El servicio para el usuario. • La Planificación. • La Administración de memoria.
DEF
INIC
ION
PRES
ENTA
D. Sistemas de tiempo compartido:
Monitor
TRABAJO 1
Libre
5000
20000
32000 (a)
Monitor
TRABAJO 2
Libre
5000
25000
32000 (b)
Monitor
(TRABAJO 2)
Libre
5000
25000
32000 (c)
TRABAJO 3 10000
0 0 0
Monitor
(TRABAJO 2)
Libre
5000
25000
32000 (d)
TRABAJO 1
0
20000
Monitor
(TRABAJO 2)
Libre
5000
25000
32000 (e)
TRABAJO 4
0
20000 (TRABAJO 1) 15000
Monitor
TRABAJO 2
Libre
5000
25000
32000
0
(f)
D. Sistemas de tiempo compartido: Explicación del grafico anterior: Inicialmente el monitor, carga el trabajo 1 y le transfiere el control (a), después el monitor decide transferir el control al trabajo TRABAJO 2, debido a que el TRABAJO 2 requiere mas memoria que el TRABAJO 1 , se debe escribir primero el TRABAJO 1 en disco, y a continuación debe cargarse el TRABAJO 2 (b).A continuación, se debe cargar el TRABAJO 3 para ejecutarse. Sin embargo, debido a que el TRABAJO 3 es mas pequeño que el TRABAJO 2, una porción de este último queda en memoria, reduciendo el tiempo de escritura de disco (c). Posteriormente, el monitor decide transferir el control de nuevo al TRABAJO 1 . Una porción adicional de TRABAJO 2 debe escribirse en disco cuando se carga de nuevo el TRABAJO 1en memoria (d) y la porción del TRABAJO 2 permanecen en memoria (d). Cuando se carga el TRABAJO 4, parte del TRABAJO 1 y la porción del TRABAJO 2 permanecen en memoria (e) . En este punto, si cualquiera de estos trabajos (TRABAJO 1 O TRABAJO 2) son activados, solo se requiere una carga parcial. En este ejemplo, es el TRABAJO 2 el que ejecuta de nuevo. Esto requiere que el TRABAJO 4 y la porción residente del TRABAJO 1 se escriban en el disco y la parte que falta de el TRABAJO 2 se lea (f).
D. Sistemas de tiempo compartido:
Multiprogramación en lotes Tiempo compartido
Objetivo principal Maximizar el uso del procesador
Minimizar el tiempo de respuesta
Fuente de directivas al SO
Mandatos de lenguaje de control de trabajos proporcionados por el trabajo
Mandatos introducidos al terminal.
D. Sistemas de tiempo compartido: Hoy en día, los computadores personales dedicados o estaciones de trabajo pueden cumplir, y frecuentemente lo hacen, los requisitos que necesitan una utilidad de computación interactiva . Esta opción no estuvo disponible hasta los año 60, cuando la mayoría de los computadores eran grandes y costosos. En su lugar, se desarrollo el concepto de tiempo compartido.
D. Sistemas de tiempo compartido: Del mismo modo que la multiprogramación, permite al procesador gestionar múltiples trabajos en lotes en un determinado tiempo, la multiprogramación también se puede utilizar múltiples trabajos interactivos. En este ultimo caso, la técnica se denomina tiempo compartido, porque se comparte el tiempo el tiempo de procesador entre múltiples usuarios. En un sistema de tiempo compartido, múltiples usuarios acceden simultáneamente al sistema a través de terminales, siendo el SO el encargado de entrelazar la ejecución de cada programa de usuario en pequeños intervalos de tiempo o cuantos de computación.
E. Sistemas De tiempo real:
SISTEMAS DE TIEMPO REAL
Es un Programa que responde a las actividades en un sistema externo dentro de un tiempo máximo determinado por el sistema externo.
Clases
Sistemas de Tiempo Real Duros
Sistemas de
Tiempo Real
Suaves
Características
Permite la creación de procesos múltiples dentro de una aplicación. Permite la asignación de prioridades a los procesos. Permite al programador definir las interrupciones. Usa planificación accionada por prioridades. Suministra tolerancia a las fallas y capacidades de degradación parcial.
E. Sistemas De tiempo real: Como tal, se le exige corrección en sus respuestas bajo ciertas restricciones de tiempo. Si no las respeta, se dirá que el sistema ha fallado. Para garantizar el comportamiento correcto en el tiempo requerido se necesita que el sistema sea predecible. El Objetivo principal de estos sistemas es minimizar los tiempos de respuesta de cada petición o tarea por medio de algoritmos de planificación, los cuales definen que tareas deben ejecutarse en cada momento.
F. SISTEMAS DISTRIBUIDOS: Consta de varios sistemas de computo individuales conectados a través de una red. Ejemplo: Muchas memorias, CPU y dispositivos E/S, existen en el sistema distribuido; el sistema operativo distribuido saca provecho de la multiplicidad de recursos y de la presencia de una red para proveer las ventajas de los recursos compartidos a través de las computadoras, la fiabilidad de operación, la aceleración de aplicaciones y la comunicación entre usuarios.
Características: Características Descripción/Implicación
Recursos compartidos
Mejora la utilización de los recursos a través de las fronteras de los sistemas de cómputo individuales.
Fiabilidad Disponibilidad de recursos y servicios a pesar de las fallas.
Rapidez del computo
Las partes de un cálculo pueden ejecutarse en diferentes sistemas de cómputo para acelerar el cómputo.
Comunicación Suministra medios de comunicación entre entidades remotas.
Crecimiento por incrementos
Pueden magnificarse las capacidades del sistema(por ejemplo, su poder de procesamiento) a un costo proporcional a la naturaleza y tamaño de la magnificación.
TÉCNICAS ESENCIALES DE LOS SISTEMAS DISTRIBUIDOS: Las funciones de control realizadas por los sistemas de cómputo individuales contribuyen a la utilización efectiva de los sistemas distribuidos. El control distribuido es lo contrario del control centralizado significa que las funciones de control de los sistemas distribuidos son realizados por varias computadoras en el sistema a la manera de definición en lugar de ser realizadas por una computadora individual. Observemos:
Técnicas Descripción
Control Distribuido Se realiza una función de control a través de la participación de varios nodos, posiblemente todos los nodos, en un sistema distribuido.
Transparencia Puede tenerse acceso a un recurso o un servicio sin tener que saber su localización en el sistema distribuido.
Llamada al procedimiento remoto RPC Un proceso llama a un procedimiento que se ubica en un sistema de cómputo diferente. La llamada al procedimiento es análoga a una llamada a un procedimiento o función en un lenguaje de planificación, excepto porque es el sistema operativo el que pasa los parámetros al procedimiento remoto y devuelve los resultados. La operación del proceso que hace la llamada se reanuda cuando se devuelven los resultados.
SISTEMAS MODERNOS: Los usuarios se involucran en actividades diversas en un ambiente moderno de computación. Por tanto, un sistema operativo moderno no puede usar una estrategia uniforme para todos los procesos; debe usar una estrategia que sea apropiada para cada proceso individual. Ejemplo: Un usuario puede abrir un manipulador del correo, editar algunos archivos, ejecutar algunos programas y observar un video al mismo tiempo.
CONCEPTOS EJEMPLO TIPICO DEL USO
Procesamiento por Lotes (Sistema Operativo para procesamiento por lotes)
Las actualizaciones y las consultas en la base de datos se procesan por lotes para evitar el inicio de una base de datos para cada consulta o actualización. El procesamiento por lotes también se usa rutinariamente por cálculos científicos en las organizaciones de investigación y en los laboratorios clínicos.
Planificación priorizante basada en prioridades (Sistema Operativo para multiprocesamiento)
Usado por el Kernel para suministrar un tratamiento preferencial a las aplicaciones de alta prioridad y para lograr un uso eficiente de los recursos, asignando una prioridad alta a los procesos interactivos y una prioridad baja a los procesos no interactivos.
Intervalo de Tiempo (Sistema Operativo para tiempo compartido)
Usado por el Kernel para evitar que un proceso monopolice el CPU. Ayuda a suministrar buenos tiempos de respuesta.
Intercambio (Sistema Operativo para tiempo compartido)
Usado por el kernel para aumentar el numero de procesos a los que se puede dar servicio al mismo tiempo.
Procesos múltiples en una aplicación (Sistema Operativo en tiempo real)
Usado por una aplicación para acelerar su ejecución al reducir el tiempo de expiración. Este enfoque es muy efectivo cuando la aplicación contiene actividades sustantivas del CPU y de E/S.
Recursos compartidos (Sistema Operativo distribuido)
Se usa rutinariamente en un ambiente LAN para compartir los recursos centralizados, como las impresoras láser.
CONCEPTOS CLASICOS DE LOS SISTEMAS OPERATIVOS EN LOS SISTEMAS MODERNOS
SISTEMAS OPERATIVOS
Doc. Pedro Coronado Rodríguez