Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Objetivos de la Clase 10 (16/10/2013) 1. Fecha de exámenes: 17/10,30/10,06/11,20/11,28/11,05/12 2. Libro “Introducción a los Sistemas Operativos” de Alcalde/Morera/Perez/Campanero 3. Conceptos Básicos Desarrollo de los temas de la presente Clase Bibliografía Cap. 1 de Introducción a los Sistemas Operativos Alcalde/Morera/ Perez/Campanero ) Introducción a los Sistemas Operativos Conceptos Básicos Concepto de Sistema Operativo o Computadora: Elemento físico donde se centra toda la actividad informática o Computadora: maquina de origen electrónico con una o más unidades de proceso y equipos periféricos controlados por programas almacenados en su memoria que pueden realizar una gran variedad de trabajos o Componente físico denominado Hardware o Maquina programable: información que indique como utilizar los recursos, para el trabajo. Esta seria el soporte lógico o Software o Sistema Operativo es parte del Software o Sistema Operativo es el soporte lógico que controla el funcionamiento del equipo físico o Desde el Punto de vista del usuario: Un SO es un Conjunto de programas y funciones que ocultan detalles del hardware, ofreciendo al usuario vía sencilla y flexible de acceso al mismo Ocultación tiene dos objetivos: • Abstracción: tendencia actual del software haciendo fácil su uso ocultando la gestión interna • Seguridad: necesario restringir determinadas operaciones a los usuarios creando varios niveles de privilegio para proteger información y procesos • Figura 1.1 o Desde el Punto de vista de Gestor de Recursos: Un SO es el administrador de recursos ofrecidos por el hardware para alcanzar un eficaz rendimiento de los mismos. Recursos fundamentales son: • Procesador 1 • Memoria • Entrada/salida • Información Figura 1.2 o Los SO construyen recursos de alto nivel -> VIRTUALES, en base a encubrir los existentes de bajo nivel -> FISICOS o Desde punto de vista usuario o proceso maquina física es convertida por el SO en maquina virtual o maquina extendida que ofrece muchas mas funciones y más cómoda de utilizar o Figura 1.3 o SISTEMA: Conj. de personas, maquinas y cosas que, ordenadamente relacionadas entre sí, contribuyen a lograr un determinado objetivo o OPERATIVO: personas, maquinas y cosas que, trabajan conjuntamente y consiguen el objetivo deseado o SISTEMA OPERATIVO: Conj. de programas que ordenadamente relacionados entre si, contribuyen a que la computadora lleve a cabo correctamente su trabajo o Los SO cubren dos objetivos fundamentales. Facilitar el trabajo al usuario Gestionar eficientemente los recursos o Dos tipos de Programas Programas del sistema: manejan el hardware, controlan los procesos, hacen más cómodo entorno de trabajo, etc. Programas de aplicación: resuelven un problema concreto de los usuarios y no son suministrados con el SO Evolución de los SO o Primeras Computadoras 1ra. Computadora electromecánica MARK-I, construida por H.H.Aiken (Univ.Harvard) en 1944 Mauchly y Eckert (Univ.Pensilvania) 1ra. Computadora electrónica a válvulas de vacío ENIAC Estas maquinas eran gestionadas por el usuario desde un tablero enchufable, poco SO, y lenguaje de maquina. Luego por consola donde usuario de a uno la operaba. Solo monoprogramación. Programa se introducía a través de lectora de tarjetas (1950) o Accesos por operador 1955 -> separación de las distintas tareas que se realizaban en entornos informáticos: puestos de programadores, operadores y personal mantenimiento 2 Operador: controlar sistema, cargar programas, obtener resultados Procedimiento de trabajo: programadores daban a operador trabajos a realizar, este los ejecutaba uno detrás de otro y los resultados se los entregaba a cada programador 2da. Solución: operador agrupaba trabajos con necesidad de recursos físicos y lógicos similares y los ejecutaba como si fuesen un bloque, obteniéndose considerable ahorro de tiempo. o Secuencia automática de trabajos Trabajo operador era bastante mecánico Pequeño programa que transfería automáticamente el control de un trabajo a otro -> Monitor Residente -> primer SO, tenia las siguientes partes: • Secuenciador automático de trabajos • Interprete de las tarjetas de control • Controladores de software de entrada /salida (drivers) • Paquete de tarjetas contenía el programa, los datos y tarjetas de control con indicaciones necesarias para que el monitor controlase la situación en cada momento • Utilizaban el lenguaje de control de trabajos (JCL) • Caracter perforado en 1ra. Columna en tarjetas de control o Mejora del rendimiento Mucho tiempo procesador ocioso debido a la diferencia de velocidad de este con los dispositivos de E/S Off-line • Perforar programas en tarjetas • Estas leídas por lectora y grabadas en cinta magnética directamente • Esta cinta se pasaba a la computadora en bloque para la ejecución de los programas grabándose los resultados en una nueva cinta • Por ultimo cinta de resultados se volcaba sobre una impresora • Por su lentitud el trabajo de tarjeta a cinta y de cinta a impresora se realizaban Off-line con lo cual permitían que la computadora realizara otros trabajos 3 • Ventajas: varias lectoras produciendo cintas de entrada lo que mantenía ocupado el procesador mayor tiempo • Desventajas: usuario tenia que esperar que se llenara una cinta para que su trabajo sea procesado Buffering • Para mejorar tiempo que se pierde en carga de cintas es utilizar una memoria intermedia -> buffer donde la cinta va grabando datos hasta que se llena, volcándose estos en la memoria de una vez, y mientras el procesador realiza operaciones con los datos recibidos, en paralelo se vuelve a cargar el buffer • Esta forma de trabajo se denomina buffering • El buffering es soportado por el programa monitor • Técnicas de buffering necesitan control muy exhaustivo de cuando esta lleno o no el buffer a través de interrupciones • Si dispositivos de E/S son muy rápidos no tiene sentido el buffering • Aparecieron técnicas de Acceso Directo a Memoria (DMA) para evitar intervención del procesador Spooling • Con aparición del disco magnético como dispositivo de almacenamiento masivo de información con acceso directo desapareció problema de las cintas magnéticas de tratamiento secuencial desde principio hasta su final mientras discos leídos y escritos simultáneamente y en cualquier punto de su superficie • Técnicas de SPOOL permiten que salida de un programa se escriba en un buffer y llevada a un disco magnético en espera de poder ser enviada a una impresora o cualquier otro periférico de salida • Procesador puede estar ejecutando un trabajo mientras se imprimen los resultados de otro proceso anterior • Figura 1.12 • Sistema de SPOOL como cola de archivos en espera de que llegue su turno para ser impresos, grabados en cinta, etc. 4 • Cada dispositivo de E/S tiene su propio sistema de SPOOL • Diferencia con Buffering que se solapan operaciones de E/S de unos trabajos con el proceso de otros. o Multiprogramación Ejecutar varios programas simultáneamente Trabajos realizados en computadora por ocupación tiempo del procesador y dispositivos periféricos pueden ser de dos tipos: • Trabajos limitados por proceso • Trabajos limitados por operaciones de E/S • Figura 1.14 Figura 1.15 Este sistema trae diversos problemas: • Acceso a procesador debe seguir algún tipo de reglas o políticas que permitan ejecución de todos los trabajos • Administración de la memoria, compartida por todos los trabajos • Varios trabajos pueden necesitar utilizar un recurso al mismo tiempo • En estos SO surge concepto de planificar el procesador, nueva estructura interna de los mismos con un núcleo central (kernel) compuesto de rutinas para la gestión de la memoria, el procesador, los dispositivos y resto de recursos disponibles Proceso por lotes (Batch) • No precisa intervención del usuariodurante ejecución de los trabajos • Trabajos largos que van solicitándose y entrando en una cola de espera y procesador va tomando en un grupo determinado, realizándolos en paralelo Tiempo compartido (time sharing) • Dado que multiprogramación por lotes no permitía dialogo entre usuario y proceso apareció la multiprogramación interactiva • Aparecieron las terminales conversacionales (teclado-pantalla) • Usuario ya no tenia que suministrar todos los datos al principio de la ejecución del proceso sino dándolos a medida que el proceso los iba necesitando, y también iba recibiendo respuesta inmediata a sus datos. 5 • Organización no se realiza por trabajos, sino por sesiones • Sesión es todo los trabajos que realiza un usuario desde que se conecta a la computadora hasta que se retira de la misma • Durante sesión puede realizar múltiples operaciones controladas por un proceso denominado interprete de comandos que mantiene dialogo entre usuario y SO • Sistemas de tiempo compartido se caracterizan por: o Ser muy conversacionales o Atender a varios usuarios simultáneamente o Ofrecer tiempos de respuesta relativamente cortos (segundos) o Mantener una interrogación secuencial de peticiones de usuarios (polling) o Poseer una fuerte gestión de archivos o Utilizar técnicas de buffering y spooling o Gestionar memoria virtual • Los SO suelen tener simultáneamente las técnicas de lotes y tiempo compartido, cada usuario elige el sistema a aplicar a sus procesos Tiempo real (Real Time) • En los que se necesita un tiempo de respuesta pequeño ante cualquier petición • Son para aplicaciones dedicadas a sistemas de control con sensores como elementos de entrada, donde es necesaria respuesta rápida sobre el sistema a controlar • Un sistema trabaja en tiempo real si el tiempo de respuesta permite controlar y regular al medio sobre el que opera • Características principales: o Fuertes restricciones en el tiempo de respuesta (milisegundos) o Información debe estar permanentemente actualizada o Sistema debe permanecer prácticamente inactivo para atender lo mas rápidamente posible cualquier evento en la entrada o Manejo eficaz de interrupciones o Manejo sencillo de prioridades 6 o Gestión de memoria real • Ejemplos: SO que controlan procesos industriales, reservas de pasajes, etc. o Proceso distribuido Conexión de computadoras entre si a través de una gran variedad de dispositivos, por ejemplo compartiendo un mismo almacenamiento principal o que se conectan a una misma red nacional o internacional para el intercambio de información o Multiproceso Aparición de aplicaciones que manejan tal cantidad de información que un solo procesador no es capaz de procesarla en el tiempo requerido. Por ejemplo sistemas expertos con volumen de datos que es extremadamente grande y tiempos de respuesta extremadamente pequeños, algoritmos complicados y que necesitan muchas operaciones para la obtención de los resultados Para solucionar esto se hizo necesaria la descomposición de algoritmos en subalgoritmos más sencillos y que cada uno pueda tratar un subconjunto de los datos con cierta independencia de los otros. Al final se juntan estos datos, obteniendo el resultado final de todo el proceso Estos subagoritmos pueden trabajar en paralelo, tratando cada uno su porción de información al mismo tiempo Para ello una sola computadora, contiene varios procesadores que pueden trabajar conjuntamente procesando varios algoritmos simultáneamente y con sustancial ahorro de tiempo de ejecución SO es complejo tiene que administrar varios procesadores. La carga y reparto de los trabajos debe equilibrar y optimizar al máximo el proceso global Ejecución de cuatro procesos en tres sistemas con métodos de monoprogramación, multiprogramación, multiproceso en Figura 1.21 Direcciones de Contacto vbasictl@yahoo.com.ar http://ar.groups.yahoo.com/group/tlyso_01 7 Temas del Segundo Parcial Teórico Clase 10 1. Concepto de Sistema Operativo desde el punto de vista del Usuario o como Gestor de Recursos. Definición de Sistema Operativo. Gráfico de maquina extendida (punto 1.2 libro SO-Alcalde/Morera/etc.) 2. Explicar el proceso Off-line y On-line (punto 1.3.4 libro SO-Alcalde/ Morera/etc.) 3. Explicar el proceso de Buffering (punto 1.3.4 libro SO-Alcalde/Morera/etc.) 4. Explicar el proceso de Spooling (punto 1.3.4 libro SO-Alcalde/Morera/etc.) 5. Explicar la Multiprogramación (punto 1.3.5 libro SO-Alcalde/Morera/etc.) 6. Explicar el proceso por Lotes (Batch) (punto 1.3.5 libro SO-Alcalde/ Morera/etc.) 7. Explicar el proceso de Tiempo Compartido. Cuales son sus características (Time Sharing) (punto 1.3.5 libro SO-Alcalde/Morera/etc.) 8. Explicar el proceso de Tiempo real (Real Time). Características principales. Ejemplos (punto 1.3.5 libro SO-Alcalde/Morera/etc.) 9. Explicar el Multiproceso. Graficar la diferencia de tiempos de 4 procesos en monoprogramación, multiprogramación y multiproceso (punto 1.3.7 libro SO- Alcalde/Morera/etc.) 8 Objetivos de la Clase 10 (16/10/2013) Bibliografía Cap. 1 de Introducción a los Sistemas Operativos Alcalde/Morera/ Perez/Campanero )
Compartir