Entradas

2.5. Niveles, Objetivos y Criterios de Planificación

 Se consideran tres niveles importantes de planificación, los que se detallan a continuación: Planificación de alto nivel: Se encarga de llevar procesos de disco a memoria y viceversa. Seleccionando los trabajos que deben admitirse en el sistema. También se denomina Planificación de trabajos. Determina a qué trabajos se les va a permitir competir activamente por los recursos del sistema, lo cual se denomina Planificación de admisión. Administrar todos los recursos del sistema excepto el CPU. Mantiene las colas de procesos bloqueados y suspendidos. Controla la creación de procesos. Maneja el nivel de multiprogramación . Planificación de nivel intermedio: En algunos casos, en especial cuando el sistema está sobrecargado, el planificador de nivel medio encuentra ventajoso retirar trabajos activos de la memoria para reducir el grado de multiprogramación, y por lo tanto, permitir que los trabajos se completen mas aprisa. Este su administrador controla los trabajos que se intercambia...

2.6. Técnicas de Administración del Planificador

Imagen
 ¿Algoritmo de planificación de FIFO Tal vez la disciplina más simple de planificación sea la de primeras entradas? primeras salidas (PEPS). Los procesos se despachan de acuerdo con su tiempo de llegada a la cola de procesos listos. Cuando un proceso tiene la CPU, se ejecuta hasta terminar. Es junto en el sentido formal, pero algo injusta en cuanto a que los trabajos largos hacen esperar a los cortos y los trabajos sin importancia hacen esperar a los importantes. FIFO ofrece variaciones relativamente pequeñas en los tiempos de respuesta y por lo tanto es más predecible que los otros esquemas. No es útil en la planificación para los usuarios interactivos porque no puede garantizar buenos tiempos de respuesta.  El esquema FIFO rara vez se usa como esquema principal en los sistemas actuales, pero a menudo está incorporado en otros sistemas. Por ejemplo, muchos esquemas de planificación despachan los procesos de acuerdo con la prioridad, pero los procesos con la misma prioridad ...

3.1. Política y Filosofía.

Imagen
3.1. Política y Filosofía. La administración de memoria se refiere a los distintos métodos y operaciones que se encargan de obtener la máxima utilidad de la memoria, organizando los procesos y programas que se ejecutan de manera tal que se aproveche de la mejor manera posible el espacio disponible. Para poder lograrlo, la operación principal que realiza es la de trasladar la información que deberá ser ejecutada por el procesador, a la memoria principal. Actualmente esta administración se conoce como Memoria Virtual ya que no es la memoria física del procesador sino una memoria virtual que la representa.  Entre algunas ventajas, esta memoria permite que el sistema cuente con una memoria más extensa teniendo la misma memoria real, con lo que esta se puede utilizar de manera más eficiente. Y por supuesto, que los programas que son utilizados no ocupen lugar innecesario. Entre las principales operaciones que desarrolla la administración de memoria se encuentran la reubicación, que cons...

3.2. Memoria Real.

Imagen
 3.2. Memoria Real. La organización y administración de la “memoria principal”, “memoria primaria” o “memoria real” de un sistema ha sido y es uno de los factores más importantes en el diseño de los S. O. Los términos “memoria” y “almacenamiento” se consideran equivalentes. Los programas y datos deben estar en el almacenamiento principal para: Poderlos ejecutar. Referenciarlos directamente. Se considera “almacenamiento secundario” o “almacenamiento auxiliar” al generalmente soportado en discos. Los hechos demuestran que generalmente los programas crecen en requerimientos de memoria tan rápido como las memorias: “Ley de Parkinson parafraseada”: Los programas se desarrollan para ocupar toda la memoria disponible para ellos. La parte del S. O. que administra la memoria se llama “administrador de la memoria”:  Lleva un registro de las partes de memoria que se están utilizando y de aquellas que no.   Asigna espacio en memoria a los procesos cuando estos la ...

3.3. Organización Memoria Virtual

Imagen
 3.3. Organización Memoria Virtual Un sistema de memoria virtual se implementa utilizando paginación como método  de administración de memoria básica y algún mecanismo de intercambio (para  descargar páginas de la memoria principal hacia el disco duro y para cargar esas  páginas de nuevo a la memoria). 3.3.1 Evaluación Organizaciones Almacenamiento La memoria virtual es una técnica para proporcionar la simulación de un espacio de  memoria mucho mayor que la memoria física de una máquina. Esta "ilusión" permite  que los programas se ejecuten sin tener en cuenta el tamaño exacto de la memoria  física. La ilusión de la memoria virtual está soportada por el mecanismo de  traducción de memoria, junto con una gran cantidad de almacenamiento rápido en  disco duro. Así en cualquier momento el espacio de direcciones virtual hace un  seguimiento de tal forma que una pequeña parte de él, está en memoria real y el  resto almacenado en el disco,...

3.4 Administración de memoria virtual.

Imagen
3.4 Administración de memoria virtual. Un sistema de memoria virtual se implementa utilizando paginación como método  de administración de memoria básica y algún mecanismo de intercambio (para  descargar páginas de la memoria principal hacia el disco duro y para cargar esas  páginas de nuevo a la memoria). 3.4.1 Estrategias de administración. Las diversas organizaciones de memoria únicamente las que realizan una  asignación no contigua (paginación, segmentación y segmentación paginada) del  almacenamiento permiten implantar una administración virtual de la memoria. Para  cualquiera de las tres formas de organizar esta memoria virtual habrá que  determinar: Estrategias de obtención. Determinan cuándo se debe transferir una página o un segmento del almacenamiento secundaria al primario. Las estrategias de obtención por demanda esperan a que un proceso en ejecución haga referencia a una página o a un segmento antes de traerla/lo. Los esquemas de obtenció...

4.1. Dispositivos y Manejadores de Dispositivos

El sistema de E/S es la parte del sistema operativo que se ocupa de facilitar el manejo de los dispositivos de E/S ofreciendo una visión lógica simplificada de los mismos que pueda ser usada por otros componentes del sistema operativo o incluso por el usuario. Dispositivos de E / S Se denomina periféricos a los aparatos o dispositivos auxiliares e independientes conectados a la unidad central de procesamiento de una computadora. Se consideran periféricos tanto a las unidades o dispositivos a través de los cuales la computadora se comunica con el mundo exterior, como a los sistemas que almacenan o archivan la información, sirviendo de memoria auxiliar de la memoria principal. Estas se clasifican en dos categorías: • Dispositivos de bloques: Dispositivos que almacenan la información en bloques de tamaño fijo (discos) • Dispositivos de caracteres: Maneja la información mediante un flujo de caracteres sin estructurarlos en bloques (mouse, teclado, impresora) Las principales características...

4.2 Mecanismos y Funciones de los Manejadores de Dispositivos

Imagen
 El controlador es el componente más importante desde el punto de vista del sistema operativo, ya que constituye la interfaz del dispositivo con el bus de la computadora y es el componente que se ve desde la CPU. El Sistema Operativo generalmente trabaja con el controlador y no con el dispositivo. Técnicas de E/S E/S programada: El procesador emite una orden de E/S de parte de un proceso a un módulo de E/S; el proceso espera entonces a que termine la operación, antes de seguir. E/S dirigida por interrupciones: El procesador emite una orden de E/S de parte de un proceso, continua la ejecución de las instrucciones siguientes y el módulo de E/S lo interrumpe cuan do completa su trabajo.  Las instrucciones siguientes pueden ser del mismo proceso, si no es necesario para este esperar la terminación de E/S. en otro caso, el proceso se suspende a la espera de la interrupción, mientras se realiza otro trabajo. Acceso Directo a la Memoria (DMA): un módulo de DMA controla el intercambio...

4.3. Estructuras de Datos para Manejo de Dispositivos

Imagen
 Los sistemas operativos actuales son grandes y complejos, estos deben poseer una ingeniería correcta para su fácil actualización y para que puedan cumplir su función correctamente. La estructura es generalmente modular, cada módulo cumple una función determinada e interactúa con los demás módulos. Una Estructura de Datos es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación. Un dato elemental es la mínima información que se tiene en un sistema. Los procesos de usuario emiten peticiones de entrada/salida al sistema operativo. Cuando un proceso solicita una operación de E/S, el sistema operativo prepara dicha operación y bloquea al proceso hasta que se recibe una interrupción del controlador del dispositivo indicando que la operación está completa. Las peticiones se procesan de forma estructurada en las siguientes capas: Manejadores de interrupción. Manejadores de dispositivos o drivers. Software de EIS independiente de los dispositi...

4.4. Operaciones de Entrada /salida

Imagen
Tanto en la E/S programada como la basada en interrupciones, la UCP debe encargarse de la transferencia de datos una vez que sabe que hay datos disponibles en el controlador. Una mejora importante para incrementar la concurrencia entre la UCP y la E/S consiste en que el controlador del dispositivo se pueda encargar de efectuar la transferencia de datos, liberando de este trabajo a la UCP, e interrumpir a la UCP sólo cuando haya terminado la operación completa de E/S. Esta técnica se denomina acceso directo a memoria (DMA, Direct Memory Access). Cuando se utiliza acceso directo a memoria, es el controlador el que se encarga directamente de transferir los datos entre el periférico y la memoria principal, sin requerir intervención alguna por parte del procesador. Esta técnica funciona de la siguiente manera: cuando el procesador desea que se imprima un bloque de datos, envía una orden al controlador indicándole la siguiente información: • Tipo de operación: lectura o escritura. • Periféri...