Sistema Operativo.

Slides:



Advertisements
Presentaciones similares
Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.
Advertisements

Administración de memoria
TEMA 1 Introducción a la Programación Concurrente
Administración de procesos Lic. Orlando Zamora Rdz.
Sistemas Operativos Gestión de Memoria.
UNIX COMP 240.
Sistema operativo Componentes de un sistema operativo
III - Gestión de memoria
3.4.- Administración de Memoria Virtual.
EQUIPO ·# 3 SISTEMAS OPERATIVOS
Subsistemas De un Sistema Operativo Celeste Domínguez Romo
Uno de los conceptos mas importantes que gira entorno a un sistema operativo es el de proceso. Un proceso es un programa en ejecución junto con el entorno.
Sistemas en estratos. Descripción: se organiza en una jerarquía de estratos, estando construido cada uno de ellos sobre el otro que tiene menor jerarquía.
Sistemas Operativos Unidad II Procesos.
UNIDAD 2. ADMINISTRACION DE PROCESOS Y DEL PROCESADOR
Modelo de procesos de dos estados
MEMORIA VIRTUAL PAGINACIÓN
Windows XP sp3.
Teoría de lenguajes y compiladores
SISTEMAS OPERATIVOS UNIDAD 1..
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
ConceptoDefiniciónCaracterísticas (palabra clave) Ejemplo/Aplicación Sistema operativo Un sistema operativo es un software, es decir, forma parte de la.
Administración del Procesador
Introducción a los SSOO Sebastián Sánchez Prieto.
Elemento Lógico (Software)
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Tema 10: Gestión de Memoria
Administración de memoria
Sistemas Operativos Procesos.
PAGINACIÓN Y SEGMENTACIÓN
UNIDAD 3 Conceptos de Sistemas Operativos.
Administración de Memoria Memoria Virtual
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
SISTEMA OPERATIVO Un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware de un computador y su propósito es proporcionar.
Asignación de Espacio No Contiguo
SISTEMAS OPERATIVOS.
Administración de Memoria
Características de un sistema operativo
Introducción a los Sistemas Operativos
ConceptoDefiniciónCaracterísticas (palabra clave) Ejemplo/Aplicación Sistema operativo Es el software que permite al usuario interactuar con la computadora.
Capítulo 7 Gestión de memoria.
Gestión de procesos Sistemas Operativos Edwin Morales
1 Descripción y control de procesos Capítulo 3. 2 Requerimientos de un SO relacionados con procesos Ejecutar concurrentemente múltiples procesos para.
COMPONENTES DEL SISTEMA OPERATIVO.
Memoria virtual.
Administrador de procesos
Gestión de Memoria.
Introducción a los SOs.
Teoría de Sistemas Operativos Administración de Archivos.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
Estructura de los Sistemas Operativos
Clasificación y estructura. Alejandra Rivero Esteban
Gestión de Memoria.
INTRODUCCION A SISTEMAS OPERATIVOS
UNIDAD 3 C ONCEPTOS DE S ISTEMAS O PERATIVOS. El ordenador es un sistema programable formado por un conjunto de elementos hardware que necesitan instrucciones.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
INTERRUPCIONES – ABRAZO MORTAL
3.2.1 Administración de almacenamiento
TEMA: PROCESOS y PLANIFICACIÓN
Licenciatura Tecnologías de la Información y Comunicación
Elementos y tipos de sistemas operativos
Funciones principales!
TIPOS DE SISTEMAS OPERATIVOS.  Que es un sistema operativo??  Es el encargado de brindar al usuario una forma amigable y sencilla de operar, interpretar,
SOFTWARE DE COMPUTADORAS
Gestión de Memoria – Parte 2
ARCHIVO Es una colección de información o bien es una secuencia de bits, bytes, líneas o registros definida por su creador.
Estructura del sistema operativo
1 Tema 10: Administración de la Memoria Sistemas Operativos (Tema 13 en apuntes prof. Rovayo)
G ESTIÓN DE LA MEMORIA Paginación y segmentación.
1/50 Ing. Gerardo Chávez Malpartida Administración de Memoria SISTEMAS OPERATIVOS.
Transcripción de la presentación:

Sistema Operativo

¿Que es un Sistema Operativo?

Un Sistema Operativo es un programa que tiene encomendadas una serie de funciones diferentes y cuyo objetivo es simplificar el manejo y la utilización de la computadora, haciendolo seguro y eficiente

Monotarea Sist. Oper Multitarea

S.O. Monotarea Un sistema se dice que es monotarea cuando divide la permite tener en un solo proceso de usuario en la memoria además del sistema operativo y hasta que este proceso de usuario no termine no permite cargar otro. programa de usuario.

S.O. Multitarea Un sistema se dice que es multitarea cuando permite que coexistan varios procesos activos a la vez

Sist. Oper Tareas del sistema operativo Gestión de recursos Ejecución de servicios para los programas Ejecución de los mandatos y ordenes de los usuarios

a) Asignación de recursos b) Protección c) Monitoreo de recursos Sistema operativo como gestor de recursos a) Asignación de recursos b) Protección c) Monitoreo de recursos d) ejecución de programas

RECURSO Dispositivo que está a disposición para ser utilizado, generalmente es administrado por el Gestor o administrador de recursos del S.O. dependiendo de las condiciones existente

Unidades de almacenamiento Disquetera B Disco duro Disco secundario particiones de Discos C.D. Grabadoras cintas de respaldo otros periféricos de almacenamiento C Z

Proceso

Proceso Lotes (Batch) Ent./Sal Impresión almacenamiento Asignación de memoria almacenamiento

¿Que es un Proceso?

Cualquier tarea activa es un proceso en ejecución Estas pueden ser creadas por el usuario o responsabilidad directa del sistema operativo

El proceso en general es un programa en ejecución Este puede ser creado, ejecutado y destruido, por el Sistema Operativo de acuerdo con las ordenes que imparte el usuario

Control de procesos Ejecución de programas Controlar las condiciones de ejecución Comunicar y sincronizar un programa con otros

Estados de los Procesos En estado de “ejecución” (si tiene en ese momento la CPU). En estado de “listo” (cuando podría usar una CPU, si hubiera una disponible). En estado “bloqueado” (si espera que ocurra algo).

Lista de “listos” Se mantiene en orden de prioridades. Lista de “bloqueados” Desordenada. Los procesos se desbloquean en el orden en que tienen lugar los eventos que están esperando.

Transiciones de estado de Procesos Cuando un proceso es admitido, es insertado en la Lista de “listos” y se va moviendo hacia la cabeza a medida que se completan los procesos anteriores. Cuando llega a la cabeza y la CPU está disponible, hace una transición del estado de “listo”al de “ejecución”.

La asignación del primer proceso es llamado despacho y es ejecutado por el despachador. Mientras tenga la CPU, está en ejecución. Para evitar que un proceso monopolice el sistema, se ajusta un “reloj de interrupción”, volviéndolo al estado de listo.

El Bloque de Control Es una estructura de datos que contiene cierta información acerca del proceso : Estado actual del Proceso. Identificación única del Proceso. Prioridad del Proceso. Apuntadores para localizar la memoria del proceso. Area para preservar registros. Mantiene la información que precisa para reiniciar el proceso cuando consiga la CPU.

Operaciones sobre Procesos Un Sist.Operativo que administre procesos por lo menos debe ser capaz de realizar: Crear un Proceso Destruir un Proceso Reanudar un Proceso Cambiar la prioridad de un Proceso Bloquear un Proceso Despertar un Proceso Despachar un Proceso

La Creación de un Proceso implica, por lo menos : Dar nombre al Proceso Insertar un Proceso en la Lista de Procesos conocidos Determinar la prioridad inicial del Proceso Crear el bloque de control de Proceso Asignar los recursos iniciales del Proceso

Un proceso puede crear un nuevo Proceso Padre e hijo Cada hijo, un solo padre Cada padre puede tener varios hijos La destrucción de un proceso es mas complicada: En algunos SO un proceso se destruye automáticamente al destruir al padre En otros continúan independientemente de sus padres Proceso 1 (uno), padre de todos ?

Procesamiento de Interrupciones Una interrupción es el evento que altera la secuencia en que el procesador ejecuta las instrucciones. Cuando ocurre la interrupción(que es generada por el Hardware), entonces : El SO obtiene el control. El SO salva el estado del proceso interrumpido. El SO analiza la interrupción y pasa el control a la rutina apropiada.

ó Una interrupción debe ser iniciada por un proceso en ejecución. Por un evento no relacionado con dicho proceso.

Tipos de Interrupciones El siguiente es el esquema de los procesadores IBM de gran porte Interrupciones SVC (llamada al Supervisor) Interrupciones de Entrada/Salida Interrupciones externas Interrupciones de reinicio Interrupciones de verificación de programa Interrupciones de verificación de la máquina

Kernel (núcleo) del SO Las operaciones que implican procesos son controladas por una parte de la programación del SO, que es llamada núcleo ó kernel. Suele permanecer en la memoria principal. Una de sus funciones mas importantes es el proceso de las interrupciones ya que la rápida respuesta a ellas mide la perfomance.

Funciones del Núcleo Manipulación de interrupciones. Creación y destrucción de procesos. Cambio de estados de procesos. Suspensión y reanudación de procesos. Sincronización de procesos. Comunicación entre procesos. Manipulación de bloques de control que se encarga de el despacho de procesos.

Soporte de las actividades de E/S Soporte de la asignación y liberación del almacenamiento. Soporte del Sistema de Archivos. Soporte de un mecanismo de llamada/retorno al procedimiento. Soporte de ciertas funciones contables del SO.

Habilitación e inhabilitación de interrupciones Al núcleo suele entrarse mediante una interrupción. El núcleo inhabilita las interrupciones mientras responde a ellas. Una vez determinada la causa de la interrupción, el núcleo pasa su procesamiento al proceso específico del sistema diseñado para manejar ese tipo de interrupción.

Administración de la memoria

La parte del Sistema Operativo que administra la utilización de la memoria se llama “ADMINISTRADOR DE LA MEMORIA” Sus funciones son: Llevar un registro de la memoria que se está utilizando. Llevar un registro de la memoria libre. Asignar espacio a los procesos cuando la necesiten y liberarla al terminar. Administrar el intercambio entre la memoria principal (virtual) y el disco.

Administración Sin Paginación: No desplazan los procesos de la memoria principal al disco. Son los mas sencillos pero mas lentos. Con los precios de la memoria, es posible que éste tipo de administración vuelva a utilizarse.

Monoprogramación: Un proceso por vez cargado en la memoria. La memoria se encuentra dividida entre el Sistemas Operativo y el Proceso. El SO podría estar al principio ó al final de la memoria.

Multiprogramación: Permite aprovechar los tiempos en que los procesos se encuentran esperando operaciones de ES. Facilita la atención de una aplicación al dividirla en dos ó mas procesos. Permite manejar varios usuarios en forma simultanea e interactiva.

Multiprogramación con particiones fijas

Es la manera mas sencilla de dividir la memoria (partes iguales ó distintas). Cualquier espacio que no sea utilizado por una tarea se pierde. Este sistema con particiones fijas elegidas por el operador al principio del día fue utilizado durante varios años por IBM OS/360 y se llamó MFT.

Reasignación y protección Son dos problemas esenciales a resolver en la multiprogramación. Una posible solución es modificar las instrucciones del programa al cargarlo a memoria. Lo que se hace es sumar como base de cálculo la dirección del comienzo de la partición que le toque y sumarle la dirección de la instrucción.

Esta técnica se conoce como: Base + Desplazamiento Se debe incluir en el programa una lista ó mapa de bits que indique cuales son direcciones a reasignar y cuales son elementos que no deben ser reasignados. Esto no resuelve que un programa escrito con maldad siempre apunte a una dirección fija.

No existe forma de evitar que un programa construya una instrucción de lectura ó escritura en una dirección de memoria. Obviamente, no es deseable que se utilice memoria del SO ó asignada a otros usuarios. IBM optó por colocar una contraseña de 4 bits a bloques de 2 Kb de memoria. La IBM/360 detenía cualquier acceso a una parte de la memoria cuyo código de protección fuera distinto.

Puesto que el Sistema Operativo era el único autorizado para modificar los códigos y las claves de protección, los procesos de los usuarios no podían interferir entre sí y con el sistema operativo.

Intercambio y Paginación: Es denominado el traslado del disco hacia la memoria principal y viceversa. Se utiliza cuando se trabaja en tiempo compartido y existen mas usuarios que los que puede albergar la memoria principal.

Multiprogramación con particiones variables

En la práctica las particiones fijas no son muy adecuadas ya que la mayor parte de la memoria se desperdicia con programas menores que sus particiones. Al utilizar particiones variables el número y tamaño de los procesos varia en forma dinámica durante el día. Mejora el uso de la memoria pero hace mas compleja su asignación y re-asignación.

Una técnica es compactar la memoria: Combinar todos los huecos en uno grande, si se mueven todos los procesos hacia la parte inferior. Consume mucho tiempo de CPU – Una máquina de 1Mb de memoria tardaría un segundo en realizarlo. Si se espera que la mayoría de los procesos crezcan a medida que se ejecutan, sería buena idea asignar memoria adicional.

Analizaremos las listas Existen tres formas utilizadas por los Sistemas Operativos para registrar el uso de la memoria: Mapa de bits Listas Sistemas amigables Analizaremos las listas

Administración con listas ligadas: Se trata de una lista con punteros a los segmentos de memoria asignados ó libres, en dónde un segmento puede ser un proceso ó un hueco entre dos procesos. Cada entrada de a lista direcciona a un espacio libre ó a un proceso.

Cada uno de los nodos incluye: Dirección en donde comienza el espacio apuntado. Su longitud. Un puntero a la siguiente entrada. Normalmente la lista de segmentos está ordenada por direcciones.

Un proceso que termina, en general tiene dos vecinos (excepto cuando se encuentra en alguno de los bordes de la memoria). Estos vecinos pueden ser procesos ó espacios libres, lo que produce cuatro combinaciones posibles.

Cuando se mantiene una lista ordenada por direcciones, existen diferentes algoritmos para asignarle memoria a un proceso nuevo: Primero en ajustarse (first fit): Se revisa toda la lista hasta encontrar un espacio lo suficientemente grande. El espacio se divide en dos parte: El proceso La memoria no utilizada Es lo más rápido.

Mejor ajuste (best fit): Se busca en toda la lista hasta encontrar el espacio mas adecuado. Es mas lento ya que tiene que revisar toda la lista antes de definir la asignación. Tiende a definir la memoria con espacio libres pequeños, sin utilidad. Peor ajuste (worst fit): Se trata de tomar siempre el espacio libre mas grande. Tampoco es una buena idea.

Se pueden mejorar éstos algoritmos con dos listas: Una para los procesos. Otra para los espacios libres, ordenada por tamaños. Ajuste rápido: Se mantiene una lista independiente para los tamaños utilizados mas frecuentemente.

Memoria Virtual La idea es que la combinación de programa, datos y necesidades de crecimiento puedan exceder la cantidad de memoria disponible para el proceso. El SO mantiene aquellas partes del programa que se utilizan en cada momento en la memoria principal y el resto permanece en disco.