Download sistemas operativos 1 - hungria berbesi. Sistemas Operativos
Document related concepts
Transcript
REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA DEFENSA UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA BOLIVARIANA NÚCLEO MÉRIDA SISTEMAS OPERATIVOS. Profesor: Ing. Hungría Berbesí Secciones: 703-704-705 Sistemas Operativos Contenidos del curso. • UNIDAD 1.- Introducción a los Sistemas de Computación. • UNIDAD 2.- Introducción a los Sistemas Operativos. • UNIDAD 3.- Procesos en los Sistemas Operativos. • UNIDAD 4.- Gestión de Memoria. • UNIDAD 5.- Gestión de Archivos. • UNIDAD 6.- Gestión de Entradas y Salidas. • UNIDAD 7.- Sistemas Operativos Distribuidos. • UNIDAD 8.- Sistemas Operativos Comerciales. Enlaces útiles. • http://williamstallings.com/OS/OS6e.html • http://www.ugu.com/sui/ugu/show?I=linux.b eginners SISTEMAS OPERATIVOS. Tema 1 Introducción a los sistemas informáticos • 1. INTRODUCCIÓN. El hardware y el software. – Los bits y bytes. • 2. Elementos básicos. • 2.1 El procesador – 2.1.1 Registros del procesador – 21.2 Ejecución de instrucciones – 2.1.3 Interrupciones • 2.2 La Memoria – 2.2.1.Jerarquia de memoria • 2.3 Los dispositivos de entrada y salida. • 2.4 Los Buses de datos • La información en los computadores es digital • Se compone de unidades discretas, es decir unidades que pueden contarse. • Los computadores solo pueden digerir información que ha sido dividida en bits. • Bit: binary digit, es la unidad de información mas pequeña. Un bit solo puede tener dos valores, encendido o apagado. • Entrañas del computador: una colección de microscópicos conmutadores de encendido apagado. • Byte, un grupo de ocho bits. Un Kilobyte, 1024 bytes. Hardware Sistema Operativo Librerías Utilitarios Interface Hardware Estructura física del computador Software Sistema Operativo Programas de aplicación Sistemas Operativos Componentes de una computadora PC contador de programa IR Registro de instrucción MAR Registro de direcciones de memoria MBR Registro intermedio de memoria I/O AR Registro de direcciones de E/S I/O BR Registro intermedio de E/S CPU Unidad central de procesamiento Modulo de entrada y salida Memoria Principal Lectura y ejecución de instrucciones • EL procesador interpreta la instrucción y realiza la acción requerida. En general, estas acciones se pueden clasificar en: • Procesador-memoria: Se transfieren datos del procesador a la memoria y viceversa. • Procesador –E-S. Se transfieren datos desde o hacia un dispositivo periférico. • Tratamiento de datos: EL procesador puede realizar un operación aritmética o lógica sobre los datos. • Control: La instrucción puede especificar que la secuencia de la instrucción será alterada. • La ejecución de una instrucción puede incluir una combinación de estas accione. Ciclo de instrucción, dos pasos, etapas de lectura y etapa de ejecución Ciclo de instrucción incluyendo etapa de interrupción • F Características de una máquina hipotética Formato de instrucción Registros internos de CPU Lista parcial de operaciones Etapa de lectura Etapa de Ejecución Ejemplo de ejecución de un programa Contenidos de memoria y registros en hexadecimal En este ejemplo se necesitan tres ciclos de instrucción donde cada uno consta de un ciclo de lectura y otro de ejecución, para sumar el contenido de la ubicación 940 al contenido de la ubicación 941. Interrupciones, Manejador de Interrupciones Tratamiento secuencial de interrupciones. Manejo de interrupciones anidadas Ejemplo de secuencia de tiempo de múltiples interrupciones Jerarquía de Memoria ROM: memoria lenta no volátil. Utilizada para almacenar código de arranque, código de control de dispositivos, etc. EEPROM y flash: memorias lentas no volátiles pero actualizables CMOS: memoria volátil alimentada por batería. Para mantener fecha y hora, y parámetros de configuración Jerarquía de memoria El módulo del S.O. de gestión de memoria es el encargado de asignar ciertas porciones de la memoria principal a los diferentes programas, mientras el resto de programas y datos se mantienen en los dispositivos de almacenamiento masivo. La forma mas común de gestión de memoria actualmente es crear una memoria virtual utilizando los dispositivos de almacenamiento masivo. Es decir, los discos también se usan como una ampliación de la memoria principal. Conocida como memoria virtual. Entrada/Salida El controlador es un chip o conjunto de chips montados en una tarjeta insertable, que controla físicamente al dispositivo. Un sistema de computación con un bus de datos Diferentes buses de datos en un computador típico Sistemas Operativos Tema 2. Introducción a los S.O. El Sistema Operativo es un programa o conjunto de programas, residentes en una computadora, que permiten un mejor aprovechamiento de los recursos de la misma y sirve de interfaz a los usuarios de computadores Hay dos funciones primordiales del SO, que son: Gestionar el hardware Facilitar el trabajo al usuario Objetivos de los sistemas operativos Hacer posible el uso eficiente de los recursos del sistema: Actúa coordinando las diferentes velocidades de funcionamiento de los dispositivos. P. E. Mas velocidad de procesadores, mas lentitud de periféricos. Simplificar la operación de trabajo con el hardware: Generan una máquina virtual: ordenador simplificado en el que el S. O. Carga con el trabajo de acercamiento al hardware. Capas y vistas de un sistema de computación Usuario Final Programador Diseñador del Sistema Operativo Servicios que ofrece un Sistema Operativo Asignación de tiempo de CPU: Planificar las diversas actividades. Control de recursos: Asignar recursos de forma racional. P. E. División de la memoria del ordenador entre los programas, controlar colas de e/s. Control de entrada/salida: Gestionar los datos desde y hacia los periféricos. Control de los errores y protección: Informar de las situaciones anómalas Interfaz con el usuario: Facilita el uso. Facilidades contables: Cálculo de costes de uso de CPU. El sistema operativo como administrador de recursos Evolución de los sistemas operativos Primera generación (1945-1955) En esta etapa no existe el concepto de sistema operativo, todo lo debe realizar el programador, no hay un ente software intermedio entre la máquina y el programador. La tecnología era de Tubos al vacío y la programación era en lenguaje de máquina. Los recursos del sistema eran asignados a una sola tarea, no era posible realizar tareas simultáneamente. En el último tiempo de esta generación aparecen las tarjetas perforadas. Segunda generación (1945-1955) En esta generación la tecnología incluye a los transistores. La programación se ve apoyada por la creación de lenguajes ensambladores y lenguajes de alto nivel como Fortran y COBOL. Para optimizar el tiempo de utilización de la máquina se adoptó el Procesamiento por lotes. Para hacer la transferencia de los datos entre la computadora y la cinta se construyó un programa que se conoce como el primer sistema operativo, que minimizó el tiempo ocioso de las computadoras. Tercera generación (1965-1980) En esta generación la tecnología corresponde a los circuitos integrados, que permitió construir máquinas más baratas y con mejor rendimiento. En esta generación aparecen los sistemas operativos con multiprogramación. También aparece la técnica de Spooling (Operación simultánea y en línea de periféricos). A medida que hay espacio en memoria se puede pasar al siguiente trabajo. Aparecen los primeros sistemas de Tiempo Compartido. Se le asigna a cada proceso un tiempo fijo de utilización de CPU. Cuarta generación (1990- ) Con el crecimiento de las redes de computadoras nacen los sistemas operativos de red y sistemas operativos distribuidos. En los sistemas operativos de red cada computa-dora tiene su propio sistema operativo, pero pueden compartir recursos. En los sistemas operativos distribuidos hay una integración real de los recursos, la red es transparente a los usuarios, es decir los usuarios no necesariamente se dan cuenta que hay otras máquinas conectadas a la red. Adelantos en los sistemas operativos Por lotes o Batch Ejecuta trabajos o jobs por lotes. El CPU en las esperas de entradas/salidas no hace nada. Ejemplos: SCOPE y UNIVAC 1107. Operaciones de entrada/salida Procesador: elemento de producción del proceso de datos Las operaciones de E/S son varias órdenes de magnitud más lentas que las instrucciones del procesador. Para un procesador de 1 MIPS (un millón de instrucciones por segundo) las equivalencias aproximadas serían: Leer un registro en el disco (a 25 ms) equivale a 25.000 instrucciones. Grabar un sector de diskette (a 200 ms) equivale a 200.000 instrucciones. Imprimir una línea de 80 caracteres (a 200 cps) equivale a 400.000 instrucciones. Multiprogramación La multiprogramación es una técnica que intenta incrementar la utilización del CPU tratando de tener siempre algo para que el CPU lo ejecute, se reparte el procesador entre múltiples procesos aprovechando los tiempos de espera de E/S. El sistema operativo selecciona un proceso y lo comienza a ejecutar, si hay una espera por E/S el sistema operativo seleccionará otro proceso y lo ejecutará. Cuando el primer proceso termine su espera obtendrá CPU nuevamente. Cada proceso está ejecutándose o en espera de completar una operación de E/S. Siempre se ejecuta un proceso por vez (o tantos como procesadores tenga la computadora) Multiprogramación con dos programas. Run: ejecución Wait: espera Tiempo Compartido Utiliza calendarización de CPU y multiprogramación para proporcionar a cada usuario una pequeña porción de una computadora de tiempo compartido. La computadora atiende a cada usuario durante un tiempo determinado o quantum, cambiando rápidamente de usuario a usuario, dándoles la impresión de que cada uno de ellos tiene el control absoluto de la computadora, mientras que en realidad es compartida entre muchos usuarios. Así como en sistemas batch se ejecutaban trabajos, aquí se ejecutan programas de usuarios. Tiempo Compartido Terminal Procesador Terminal Terminal PROCESOS. Tema 3 Definiciones •Un proceso es un programa en ejecución. •Una instancia corriendo de un programa (funcionando) •La entidad que puede ser asignada ejecutada por el procesador. •Una unidad de actividad caracterizada por una secuencia de instrucciones, un estado actual y un conjunto de instrucciones. Elementos de un proceso •Identificador •Estado •Prioridad •Contador de programa •Datos del contexto •Información de entrada_salida •Información de contabilidad del sistema Bloque de control de un proceso Implementación típica de un proceso Contiene los elementos del proceso Es creado y manejado por el sistema operativo Permite soporte para múltiples procesos Modelo de 2 estados de procesos En el modelo de dos estados, el proceso puede estar ejecutándose o no ejecutándose Los procesos no ejecutándose están en una cola MODELO DE 5 ESTADOS DE PROCESO Ocurre suceso Espera suceso Nuevo, listo, bloqueado, ejecutándose y terminado Listo: el proceso está en la memoria principal y listo para ejecución. Bloqueado: el proceso está en memoria principal esperando por un suceso Varias colas de bloqueados Suspensión de procesos Intercambio: significa mover una parte del proceso o todo el proceso de la memoria principal al disco magnético. Cuando ninguno de los procesos en memoria principal está en estado listo, el sistema operativo pasa al disco uno de los procesos que esté bloqueado y lo lleva a una cola de suspendidos. Cuando el sistema operativo haya realizado una operación de intercambio de un proceso al disco, tendrá dos opciones para seleccionar el proceso que va a traer a memoria: puede admitir un proceso recién creado o puede traer un proceso suspendido previamente Con un estado de suspensión. Modelo de estados con un estado de suspensión. Con dos estados de suspensión. Modelo de estados con dos estados de suspensión. Memoria Dispositivos Archivos Procesos Tabla primaria de procesos Estructura general de las tablas de control de un sistema operativo Si el sistema operativo va a administrar los procesos y los recursos, entonces tiene que disponer de información sobre el estado actual de cada proceso y de cada recurso. El método universal para obtener esta información es sencillo, el sistema operativo construye y mantiene tablas de información sobre cada entidad que está administrando. Modos de ejecución Modo usuario: modo menos privilegiado, los programas de usuario generalmente ejecutados en este modo. Modo sistema, núcleo, o modo control: Modo mas privilegiado, modo de ejecución del sistema operativo Relación entre el sistema operativo y los procesos de usuario. HILOS , SUBPROCESOS Proceso: Unidad de propiedad de recursos. Un proceso incluye un espacio de direcciones virtuales para mantener la imagen del proceso, y de cuando en cuando, al proceso se le puede asignar el control o la propiedad de recursos. Unidad de expedición: la ejecución de un proceso sigue un camino de ejecución, a través de uno o mas programas. Esta ejecución puede ser intercalada con otros procesos. De este modo, un proceso tiene un estado de ejecución, una propiedad de expedición; y además es la unidad planificada y expedida por el sistema operativo. Una unidad de expedición, un subproceso o hilo. Relación entre hilos y procesos.