Está en la página 1de 9

MEMORIA PAGINACIN Los sistemas de paginacin de memoria dividen los programas en pequeas partes o pginas.

Del mismo modo, la memoria es dividida en trozos del mismo tamao que las pginas llamados marcos de pgina. De esta forma, la cantidad de memoria desperdiciada por un proceso es el final de su ltima pgina, lo que minimiza la fragmentacin interna y evita la externa. MEMORIA VIRTUAL La llamada "Memoria Virtual" es un espacio del disco que simula la memoria central. Cuando esta ltima es insuficiente se la prolonga en el disco. Este mtodo ofrece una gran ventaja, la de disponer de una memoria central aparente considerablemente acrecentada y econmica. QU ES EL ADMISTRADOR DE MEMORIA? El Administrador de Memoria se refiere a los distintos mtodos y operaciones que se encargan de obtener la mxima 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. CALES SON LAS PRINCIPALES FORMAS DE ADMINISTRAR LA MEMORIA? Administracin de la memoria sin intercambio o paginacin. Los sistemas de administracin de memoria se pueden clasificar en dos tipos. Los que desplazan los procesos de la memoria principal al disco y viceversa durante la ejecucin (intercambio y paginacin) y aquellos que no. Mono programacin sin intercambio o paginacin. Es en forma secuencial pues solo se tiene un objeto en memoria en cada instante, el usuario carga toda la memoria con un programa, esto implica que cada proceso debe contener controladores de dispositivo para cada uno de los dispositivos E/S que utilice. Multiprogramacin y uso de la memoria. La multiprogramacin facilita la programacin de una aplicacin al dividirla en dos o ms procesos. La mayora de los procesos tardan cierto tiempo en la espera de datos de dispositivos E/S. Multiprogramacin con particiones fijas. El objetivo en todo esto es tener ms de un proceso en memoria a la vez, solucin posible sera dividir la memoria en n partes al inicio de una sesin de uso de la mquina, pero an as se obtiene el desperdicio de particiones grandes con una tarea pequea, la respuesta puede ser tener particiones pequeas tambin.

Multiprogramacin con particiones variables. Mediante un algoritmo de administracin de memoria las particiones variables varan de forma dinmica durante el uso de la mquina, evitando desperdicio de memoria

JERARQUA DE MEMORIA Se conoce como jerarqua de memoria a la organizacin piramidal de la memoria en niveles, que tienen los ordenadores. Su objetivo es conseguir el rendimiento de una memoria de gran velocidad al coste de una memoria de baja velocidad, basndose en el principio de cercana de referencias. Los puntos bsicos relacionados con la memoria pueden resumirse en: Cantidad Velocidad Coste La cuestin de la cantidad es simple, cuanto ms memoria haya disponible, ms podr utilizarse. La velocidad ptima para la memoria es la velocidad a la que el procesador puede trabajar, de modo que no haya tiempos de espera entre clculo y clculo, utilizados para traer operandos o guardar resultados. En suma, el costo de la memoria no debe ser excesivo, para que sea factible construir un equipo accesible. Como puede esperarse los tres factores compiten entre s, por lo que hay que encontrar un equilibrio. Las siguientes afirmaciones son vlidas: A menor tiempo de acceso mayor coste A mayor capacidad mayor coste A mayor capacidad menor velocidad.

Los niveles que componen la jerarqua de memoria habitualmente son: Nivel 0: Registros Nivel 1: Memoria cach Nivel 2: Memoria principal Nivel 3: Disco duro (con el mecanismo de memoria virtual) Nivel 4: Redes (Actualmente se considera un nivel ms de la jerarqua de memorias) FUNCIONES PRINCIPALES DE LA GESTIN DE MEMORIA

Recolocacin: En sistemas donde se utiliza memoria virtual, los programas que se encuentran a la memoria principal tienen que ser capaces de ser vueltos a situar en diferentes partes de la memoria en diferente momento de su ejecucin. Proteccin: Los procesos no tienen que ser capaces de utilizar la memoria otros procesos sin permiso. Esto es el que se denomina proteccin de la memoria y prev que tanto el cdigo malicioso como el cdigo errneo de un programa puedan interferir con el correcto funcionamiento otros procesos del sistema. Memoria compartida: Todo y la existencia de la proteccin de memoria en bastantes casos los procesos tienen que ser capaces de intercambiar informacin accediendo a partes compartidas de memoria. Organizacin lgica de la memoria: El sistema de gestin de la memoria es el encargado de organizar la memoria en partes lgicas. Hay diferentes formas de organizar la memoria lgicamente pero las ms conocidas son la segmentacin y la paginacin. Organizacin fsica de la memoria: La memoria est organizada en niveles jerrquicos (memoria principal, memoria secundaria). Los sistemas operativos se tienen que encargar de los flujos de informacin entre los diferentes nivel de memoria del sistema. QU ES LA COMPACTACIN DE MEMORIA? Tcnica que consiste en trasladar todas las reas ocupadas del almacenamiento hacia algn extremo de la memoria. Es una solucin de la fragmentacin externa. El objetivo consiste en desplazar el contenido de la memoria libre en un slo bloque de gran tamao. La compactacin no siempre es posible, slo es posible si la relocalizacin es dinmica y se efecta en el momento de la ejecucin. Este esquema puede ser bastante costoso. LLAMADA DE INTERRUPCIONES Y EXCEPCIONES El SO ocupa una posicin intermedia entre los programas de aplicacin y el hardware. No se limita a utilizar el hardware a peticin de las aplicaciones ya que hay situaciones en las que es el hardware el que necesita que se ejecute cdigo del SO. En tales situaciones el hardware debe poder llamar al sistema, pudiendo deberse estas llamadas a dos condiciones: Algn dispositivo de E/S necesita atencin. Se ha producido una situacin de error al intentar ejecutar una instruccin del programa (normalmente de la aplicacin). En ambos casos, la accin realizada no est ordenada por el programa de aplicacin, es decir, no figura en el programa. Segn los dos casos anteriores tenemos las interrupciones y las excepciones:

Interrupcin: seal que enva un dispositivo de E/S a la CPU para indicar que la operacin de la que se estaba ocupando, ya ha terminado. Excepcin: una situacin de error detectada por la CPU mientras ejecutaba una instruccin, que requiere tratamiento por parte del SO. TRATAMIENTO DE LAS INTERRUPCIONES Una interrupcin se trata en todo caso, despus de terminar la ejecucin de la instruccin en curso. El tratamiento depende de cul sea el dispositivo de E/S que ha causado la interrupcin, ante la cual debe poder identificar el dispositivo que la ha causado. La ventaja de este procedimiento es que no se tiene que perder tiempo ejecutando continuamente rutinas para consultar el estado del perifrico. El inconveniente es que el dispositivo debe tener los circuitos electrnicos necesarios para acceder al sistema de interrupciones del computador. IMPORTANCIA DE LAS INTERRUPCIONES El mecanismo de tratamiento de las interrupciones permite al SO utilizar la CPU en servicio de una aplicacin, mientras otra permanece a la espera de que concluya una operacin en un dispositivo de E/S. El hardware se encarga de avisar al SO cuando el dispositivo de E/S ha terminado y el SO puede intervenir entonces, si es conveniente, para hacer que el programa que estaba esperando por el dispositivo, se contine ejecutando. En ciertos intervalos de tiempo puede convenir no aceptar seales de interrupcin. Por ello las interrupciones pueden inhibirse por programa (aunque esto no deben poder hacerlo las mismas). EXCEPCIONES Cuando la CPU intenta ejecutar una instruccin incorrectamente construida, la unidad de control lanza una excepcin para permitir al SO ejecutar el tratamiento adecuado. Al contrario que en una interrupcin, la instruccin en curso es abortada. Las excepciones al igual que las interrupciones deben estar identificadas. CLASES DE EXCEPCIONES Las instrucciones de un programa pueden estar mal construidas por diversas razones: El cdigo de operacin puede ser incorrecto. Se intenta realizar alguna operacin no definida, como dividir por cero. La instruccin puede no estar permitida en el modo de ejecucin actual. La direccin de algn operando puede ser incorrecta o se intenta violar alguno de sus permisos de uso.

IMPORTANCIA DE LAS EXCEPCIONES El mecanismo de tratamiento de las excepciones es esencial para impedir, junto a los modos de ejecucin de la CPU y los mecanismos de proteccin de la memoria, que las aplicaciones realicen operaciones que no les estn permitidas. En cualquier caso, el tratamiento especfico de una excepcin lo realiza el SO.

ENTRADA/SALIDA Una de las principales funciones de un sistema operativo es la de controlar todos los dispositivos de E/S (Entrada/Salida). El sistema operativo debe enviar comandos a los dispositivos, atender las interrupciones y gestionar los errores. Tambin debe proporcionar una interfaz entre los dispositivos y el resto del sistema que sea sencilla y fcil de utilizar. Hasta donde sea posible, la interfaz debe ser la misma para todos los dispositivos (independencia del dispositivo). El cdigo de E/S representa una fraccin significativamente grande del sistema operativo completo. PRINCIPIOS DEL HARDWARE DE E/S Diferentes personas ven el hardware de E/S de diferentes maneras. Los ingenieros electrnicos lo ven en trminos de chips, cables, fuentes de alimentacin, motores y todos los dems componentes fsicos que componen el hardware. Los programadores lo ven en trminos de la interfaz que presenta al software los comandos que el hardware acepta, las funciones que lleva a cabo y los informes de error que pueden ser devueltos. DISPOSITIVO DE E/S En trminos generales, los dispositivos de E/S pueden clasificarse en dos categoras: dispositivos de bloques y dispositivos de caracteres. Un dispositivo de bloques es uno que almacena la informacin en bloques de tamao fijo, cada uno con su propia direccin. El tamao de los bloques vara desde 512 bytes a 32768 bytes. La propiedad esencial de un dispositivo de bloques es que es posible leer o escribir cada bloque independientemente de todos los dems. Los discos son los dispositivos de bloques ms comunes. El otro tipo de dispositivos de E/S es el de los dispositivos de caracteres. Un dispositivo de caracteres proporciona o acepta un flujo de caracteres, sin tener en cuenta ninguna estructura de bloque. No es un dispositivo direccionable y no cuenta con ninguna operacin de posicionamiento. Las impresoras, los interfaces de red, los ratones (para sealar en la pantalla), las ratas (para experimentar en el laboratorio de psicologa) y la mayora de los otros dispositivos que no son similares a los discos, pueden ser vistas como dispositivos de caracteres. Este esquema de clasificacin no es perfecto. Algunos dispositivos simplemente no encajan en la clasificacin. Por ejemplo, los relojes (timers) no son dispositivos direccionables por bloques, ni tampoco generan o aceptan flujos de caracteres. Lo nico que hacen es provocar interrupciones a intervalos de tiempos definidos. Las velocidades de los dispositivos de E/S abarcan un rango enormemente amplio, lo que ejerce una considerable presin sobre el software para que consiga responder siempre correctamente a lo largo de varios rdenes de magnitud en las velocidades de transferencia de los datos

CONTROLADORES DE DISPOSITIVOS La tarjeta controladora est provista usualmente de un conector en el cual puede conectarse un cable que va al dispositivo. Muchas controladoras pueden manejar dos, cuatro o incluso ocho dispositivos idnticos. La interfaz entre un dispositivo y un controlador es a menudo una interfaz de muy bajo nivel. La tarea del controlador consiste en convertir ese flujo de bits en serie en un bloque de bytes y realizar cualquier correccin de errores que sea necesaria. Normalmente primero se ensambla el bloque de bytes, bit a bit, en un bfer que est dentro del controlador. Una vez comprobado su checksum y declarado el bloque libre de errores, puede procederse a copiarlo en la memoria principal. E/S MAPEADO EN MEMORIA Cada controlador tiene unos cuantos registros que le sirven para comunicarse con la CPU. Escribiendo en estos registros, el sistema operativo puede ordenar al dispositivo que suministre datos, acepte datos, se encienda o apague a s mismo, o realice alguna otra accin. Leyendo de estos registros, el sistema operativo puede averiguar en qu estado se encuentra el dispositivo, si est preparado o no para aceptar un nuevo comando, etc. ACCESO DIRECTO A MEMORIA Independientemente de que tenga o no E/S mapeada en memoria, la CPU necesita direccionar los controladores de dispositivo para intercambiar datos con ellos. La CPU puede solicitar datos del controlador de E/S byte a byte, pero hacindolo as estara desperdicindose mucho tiempo de CPU. Por ese motivo normalmente se utiliza un esquema diferente, denominado acceso directo a memoria (DMA; Direct Memory Access). El sistema operativo slo puede utilizar DMA si el hardware dispone de un controlador de DMA, por lo que la mayora de los sistemas cuentan con l. A veces ese controlador est integrado en los controladores de disco o en otros controladores, pero tal diseo significa tener un controlador de DMA por cada dispositivo. Ms comnmente, se tiene un nico controlador de DMA (por ejemplo en la placa madre) para regular las transferencias con mltiples dispositivos, a menudo de forma concurrente.

PRINCIPIOS DEL SOFTWARE DE E/S OBJETIVOS DEL SOFTWARE DE E/S Un concepto clave en el diseo del software de E/S es lo que se conoce como la independencia del dispositivo, lo que significa que debe ser posible escribir programas capaces de acceder a cualquier dispositivo de E/S sin tener que especificar por adelantado de qu dispositivo se trata. El objetivo de denominacin uniforme de ficheros y dispositivos est estrechamente relacionado con la independencia del dispositivo. El nombre de un fichero o dispositivo debe ser simplemente una cadena de caracteres o un entero y no depender en absoluto del dispositivo. Otro aspecto importante del software de E/S es el manejo de errores. En general, los errores deben tratarse tan cerca del hardware como sea posible. Si el controlador descubre un error de lectura, l mismo debe tratar de corregirlo en un primer momento. Si no puede, ser el driver del dispositivo quien deber tratar de corregirlo, por ejemplo repitiendo el intento de lectura del bloque. Tambin otro aspecto clave son las transferencias sncronas (bloqueantes) frente a las asncronas (dirigidas por interrupciones). Casi toda la E/S fsica es asncrona la CPU pone en marcha la transferencia y se pone a hacer alguna otra cosa hasta que llega la interrupcin. Otra cuestin que corresponde al software de E/S es el almacenamiento intermedio de los datos (buffering). A menudo los datos provenientes de un dispositivo no pueden almacenarse directamente en su destino final. SOFTWARE DE E/S INDEPENDIENTES DEL DISPOSITIVO Aunque una parte del software de E/S es especfica para los dispositivos concretos existentes en el sistema, otras partes son independientes del dispositivo. La frontera exacta entre los drivers y el software independiente del dispositivo depende del sistema (y del dispositivo), porque algunas funciones que podran realizarse con independencia del dispositivo en realidad se llevan a cabo en los drivers por cuestiones de eficiencia u otras razones. Funciones generalmente realizadas por el software independiente del dispositivo:

Interfaz uniforme para los manejadores de dispositivos, Nombres de los dispositivos, Proteccin del dispositivo, Proporcionar un tamao de bloque independiente del dispositivo, Uso de buffers, Asignacin de espacio en los dispositivos por bloques, Asignacin y liberacin de los dispositivos de uso exclusivo, Informe de errores. Las funciones bsicas del software independiente del dispositivo son: Efectuar las funciones de E/S comunes a todos los dispositivos. Proporcionar una interfaz uniforme del software a nivel usuario. El software independiente del dispositivo asocia los nombres simblicos de los dispositivos con el nombre adecuado. SOFTWARE DE E/S EN EL ESPACIO DEL USUARIO La mayora del software de E/S est dentro del S. O. Una pequea parte consta de bibliotecas ligadas entre s con los programas del usuario. La biblioteca estndar de E/S contiene varios procedimientos relacionados con E/S y todos se ejecutan como parte de los programas del usuario. Otra categora importante de software de E/S a nivel usuario es el sistema de spooling El spooling es una forma de trabajar con los dispositivos de e /s de uso exclusivo en un sistema de multiprogramacin: El ejemplo tpico lo constituye la impresora de lneas. Los procesos de usuario no abren el archivo correspondiente a la impresora. Se crea un proceso especial, llamado demonio en algunos sistemas. Se crea un directorio de spooling. Para imprimir un archivo: Un proceso genera todo el archivo por imprimir y lo coloca en el directorio de spooling. El proceso especial, nico con permiso para utilizar el archivo especial de la impresora, debe imprimir los archivos en el directorio. Se evita el posible problema de tener un proceso de usuario que mantenga un recurso tomado largo tiempo.

También podría gustarte