lunes, 03 de marzo de 2008

Memoria caché      

Mejora tiempo de respuesta.

            Mantiene la información accesada  más frecuentemente.

            Hit rate: indica qué tan seguido encontramos los datos.

            Latencia: indica cuánto se dura en ir a buscar la info en memoria.

 

Principio de proximidad

El CPU tiende a accesar la info que esta contigua o más cercana al dato buscado para manejarla posteriormente.

Gracias a este, el hit rate es alto.

 

Sistema Operativo

            Programa que controla la ejecución de aplicaciones.

            Actúa como interfaz  entre los programas y el hardware.

            Administra los recursos del sistema (Memoria, micro, dispositivos I/O).

 

Objetivos de los SO

            Facilidad de uso para los programadores:

                        Interfaz uniforme para accesar a recursos y dispositivos.

                        Soporte para el acceso y manipulación de archivos.

                        Estadísticas  y monitoreo de uso/ rendimiento de los recursos.      

Facilidad de uso para usuario final:

            Ejecución de programas.

            Acceso y configuración de aplicaciones.

            Uso de dispositivos

            Administración de archivos.

            Capacidad de actualización a nuevas versiones.

            Eficiencia en la ejecución de múltiples tareas.

                        Administrador de los recursos.

                        Mecanismo de control “inusual” pues usa los mismos recursos que administra.           

            Capacidad para evolucionar de acuerdo a necesidades de los usuarios.

                        Actualización de hardware.

                        Nuevas versiones de controladores

                        Servicios adicionales.

                        Actualizaciones del kernel.

 

Diseño e implementación

Software

            Sumamente complejo.

            Evolución lleva más de 40 años.

            Principales conceptos aún se mantienen.


Principales avances teóricos del software

            Procesos (como unidad de trabajo)

            Gestión de memoria

            Protección y seguridad de la información

            Planificación y control de recursos

            Estructuración de sistemas.

 

Proceso

            Unidad de ejecución.

            Un solo hilo secuencial.

            Recursos del sistema asociados.

 

Proceso ≠ Programa

            Programa es el conjunto de líneas de código

            Proceso es la sección del programa que se esta ejecutando en un instante.

 

Componentes de un proceso  

Programa ejecutable

Datos del programa

Contexto de ejecución

(.exe) Es solo uno

Variables

Uno para cada proceso

Líneas de código

stacks

Esta en RAM

Librerías

buffers

registros del micro

Scripts

 

Prioridad

 

 

dueño

 

 

estado

 

Gestión de memoria

            Aislamiento de procesos. (Por seguridad)

                        Evita que un proceso interfiera en la memoria o instrucciones de otro proceso.

                        Ej. IExplorer no puede ingresar a lo que esta digitado en Word.

            Asignación y gestión automática.

                        Soporta la asignación dinámica de memoria.

                        Transparente al programador.

                        La realiza el SO.

            Soporte a la programación modular.

                        Capacidad para definir, cargar y descargar módulos.

                        Ahorra memoria y no cargar módulos que no se van a utilizar.

            Protección y control de acceso.

                        Garantizar que solo los usuarios/ procesos indicados tiene acceso a la info

                                   Compartida.

            Almacenamiento a largo plazo.

                        Provee mecanismos para almacenar y recuperar información cuando el sistema

                                   Esta apagado (DB, archivos, directorios)

 

Memoria virtual

            Si no existiera, el SO estaría obligado a cargar los procesos completos en RAM.

            Permite a los programas direccionar la memoria desde un punto a otro lógico.

            Cantidad de memoria física no es relevante para los procesos.

            Se basa en bloques de tamaño fijo llamados páginas.

Página

            Bloque mínimo de memoria que se transfiere entre memoria virtual y el disco.

 

Protección y seguridad de la información

            Disponibilidad

                        Capaz de recuperarse rápidamente cuando el sistema falla.

            Confidencialidad (para los usuarios)

                        Control de acceso a programas y datos.

            Integridad de datos

                        Protección frente a modificaciones no autorizadas (virus)

            Autenticidad

                        Verificación de la identidad de los usuarios y validez de mensajes y/ o datos.

 

Planificación y gestión de recursos

Factores claves en la política de planeación

            Equitatividad

                        Procesos deben tener acceso equitativo a los recursos.

                        Especialmente cuando tienen demanda/ prioridad similar.

                        Multitask, para que todos los procesos se corran igual de tiempo en CPU.

            Respuesta diferencial

                        Capacidad del SO para tomar decisiones en forma dinámica sobre la marcha.

                        Discriminar entre diferentes clases de trabajo y satisfacer el total de requisitos.

            Eficiencia

                        Definir realmente lo que es urgente.

                        Maximizar el uso de los recursos y minimizar el tiempo de respuesta.

 

Principales elementos de la planificación y gestión de los recursos

            Colas de prioridad

                        Colas de corto plazo, procesos listos para usarse.

                        Colas de largo plazo, procesos nuevos a los que se le debe asignar memoria.

                        Colas de E/ S, una por dispositivo  para almacenar procesos en espera de uso.

            Manejador a llamadas del sistema

                        SO administra los recursos y su prioridad de llamadas de cada recurso.

                        Pueden generar interrupciones, lo cual implica mover los procesos entre colas.

            Manejador de interrupciones (Interrupt handler o ISR)

                        Interrupción:Cuando un proceso interrumpe el CPU para atender otro proceso.

                        IRQ, interrupt request: acto de interrumpir un proceso, atender una subrutina.

                        Recibe el control cada vez que se genera un IRQ.

                        Latencia tiene que ser corta.

 

Desarrollo de los sistemas operativos modernos

            Arquitectura micro núcleo o micro kernel

                        Contrario a modelos monolíticos

                        Asigna solo unas cuantas funciones esenciales al núcleo.

                        Permite  la configuración del sistema de acuerdo a su función.

            Multithreading o Multihilos

                        Un proceso se divide en hilos que se pueden ejecutar concurrentemente.

                       

 

Hilo ≠ Proceso

Hilo

Proceso

Unidad de ejecución

Unidad de ejecución

No tiene recursos asociados

Recursos asociados

Se asigna CPU

Se asigna memoria

Si se cae un hilo, se cae todo el proceso.

            Procesamiento simétrico

                        Arquitectura de múltiples procesadores.

                        Todos los procesadores pueden realizar las mismas funciones.

                        Transparente al usuario.

                        Ventajas del procesamiento simétrico:

                        Rendimiento

                                    Más de un proceso se ejecuta simultáneamente.

                        Disponibilidad (en la buena teoría&hellipGuiño

                                   El fallo de un procesador no implica el fallo de la máquina completa.

                        Desventajas            :

                        Precio y difícil administración.

            Sistemas operativos distribuidos

                        Múltiples computadoras dan la noción de un solo espacio de memoria.

                        Clústeres permiten agregar capacidad de procesamiento (Google!)

            Diseño orientado a objetos

                        Añade extensiones modulares a un pequeño núcleo.

                        Facilita la personalización sin eliminar la integridad

                        Permite el desarrollo distribuido.

 

Traza de procesos           

            Secuencia de instrucciones que se ejecutan para dicho proceso.

            Se puede caracterizar el comportamiento de un procesador mostrando cómo se                                                                                  

            entrelazan.

 

Dispatcher (Activador)

            Programa responsable de intercambiar el procesador de un proceso a otro.

            Mientras un proceso está en ejecución, el dispatcher puede detenerlo y asignar el

            CPU a otro proceso.

 

Creación de procesos

                        BCP=  estructura de datos que utiliza el SO para administrar los procesos.

1.      Construir el process control block (BCP)

Asignar identificador único

Seleccionar prioridad

Inicializar datos de contexto

Definir relación padre-hijo

2.      Reservar espacio para datos (En RAM)

Para la pila, el heap, para el código y asingar punteros en el process control…

 

Terminación de procesos

            Liberar recursos

                        De memoria real y virtual, en almacenamiento secundario, desocupar

 dispositivos, terminación de procesos hijos y eliminación del process…

Estados de los procesos

Estrategia Round Robin: Ciclo de asignación del CPU por cierto tiempo a cada proceso.

 

Ver diagrama de estados de los procesos

 

Intercambio o Swapping

            Base fundamental de la memoria virtual.

Mover parte o todo el proceso de memoria principal a disco.

            Se aprovecha el tiempo ocioso del CPU teniendo más procesos en ejecución.

           

Estructuras de control

            El SO debe disponer información sobre:

            Tablas de procesos

Id, estado (listo, en proceso, suspendido), localización en memoria, posición en disco, prioridad y privilegios.

            Tablas de memoria (En RAM)

                        Registros de control para memoria real y virtual

                        Atributos de protección y control de acceso (para evitar que se modifique otro

                        proceso).

            Tablas de E/ S

                        Estado del dispositivo.      

                        Canales de comunicación asociados.  

                        Dirección de memoria para ser usada como fuente o destino de los datos.

            Tablas de archivos (Usualmente está en RAM)

                        Nombre y localización del archivo. Propietario.

                        Estado actual (abierto, cerrado, borrado). Fecha de última modificación.

                        Permisos asociados para control de acceso. Tamaño real.<

Tags: Sistemas, operativos, examen

Publicado por enchufer @ 11:50  | Sistemas operativos
Comentarios (0)  | Enviar
Comentarios
 
z