jueves, 14 de octubre de 2010

GESTIÓN DE MEMORIA




¿Qué es la Gestión de Memoria?
La parte del sistema operativo que administra la memoria se llama administrador de memoria y su labor consiste en llevar un registro de las partes de memoria que se estén utilizando y aquellas que no, con el fin de asignar espacio en memoria a los procesos cuando éstos la necesiten y liberándola cuando terminen.

Memoria real
La memoria real o principal es en donde son ejecutados los programas y procesos de una computadora y es el espacio real que existe en memoria para que se ejecuten los procesos.

Espacio de Direcciones
Los espacios de direcciones involucrados en el manejo de la memoria son de tres tipos:



  1. Direcciones físicas: Son aquellas que referencia alguna posición en la memoria física.
  2. Direcciones lógicas : Son las direcciones utilizadas por los procesos. Sufren una serie de transformaciones , realizadas por el procesador (la MMU), antes de convertirse en direcciones físicas.
  3. Direcciones lineales: Direcciones lineales se obtienen a partir de direcciones lógicas tras haber aplicado una transformación dependiente de la arquitectura.

Asignación de partición dinámica

El proceso de compactación es una instancia particular del problema de asignación de memoria dinámica, el cual es el cómo satisfacer una necesidad de tamaño n con una lista de huecos libres. Existen muchas soluciones para el problema. El conjunto de huecos es analizado para determinar cuál hueco es el más indicado para asignarse. Las estrategias más comunes para asignar algún hueco de la tabla son:
  • Primer ajuste: Consiste en asignar el primer hueco con capacidad suficiente. La búsqueda puede iniciar ya sea al inicio o al final del conjunto de huecos o en donde terminó la última búsqueda. La búsqueda termina al encontrar un hueco lo suficientemente grande.
  • Mejor ajuste: Busca asignar el espacio más pequeño de los espacios con capacidad suficiente. La búsqueda se debe de realizar en toda la tabla, a menos que la tabla esté ordenada por tamaño. Esta estrategia produce el menor desperdicio de memoria posible.
  • Peor ajuste: Asigna el hueco más grande. Una vez más, se debe de buscar en toda la tabla de huecos a menos que esté organizada por tamaño.


Particiones dinamicas



Las particiones son variables en numero y longitud. Al proceso se le asigna exactamente tanta memoria como necesite. Finalmente, hay varios huecos en la memoria. Este fenomeno se denomina fragmentacion externa. Se debe usar la compactacion para desplazar los procesos que esten contiguos, de forma que toda la memoria libre quede junta en un bloque.

Particiones estaticas (de igual tamaño )

Cualquier proceso cuyo tamaño sea menor o igual que el tamaño de la particion puede cargarse en cualquier particion libre. Si todas las particiones estan ocupadas, el sistema operativo puede sacar un proceso de una particion. Un programa puede que no se ajuste a una particion. El programador debe diseñar el programa mediante superposiciones. El uso de la memoria principal es ine ciente. Cualquier programa, sin importar lo pequeño que sea, ocupara una particion completa. Este fenomeno se denomina fragmentacion interna. Pueden asignar cada proceso a la particion mas pequeña en la que quepa. Hace falta una cola para cada particion. Los procesos estan asignados de forma que se minimiza la memoria desaprovechada dentro de cada particion.

Fragmentación

La fragmentación es generada cuando durante el reemplazo de procesos quedan huecos entre dos o más procesos de manera no contigua y cada hueco no es capaz de soportar ningún proceso de la lista de espera. La fragmentación puede ser:

  • Fragmentación Externa: Existe el espacio total de memoria para satisfacer un requerimiento, pero no es contigua.
  • Fragmentación Interna: La memoria asignada puede ser ligeramente mayor que la requerida; esta referencia es interna a la partición, pero no se utiliza.

La fragmentación externa se puede reducir mediante la compactación para colocar toda la memoria libre en un solo gran bloque, pero esta solo es posible si la relocalización es dinámica y se hace en tiempo de ejecución .

Paginación

Es una técnica de manejo de memoria, en la cual el espacio de memoria se divide en secciones físicas de igual tamaño, denominadas marcos de página. Los programas se dividen en unidades lógicas, denominadas páginas, que tienen el mismo tamaño que los marcos de páginas. De esta forma, se puede cargar una página de información en cualquier marco de página. Las páginas sirven como unidad de almacenamiento de información y de transferencia entre memoria principal y memoria auxiliar o secundaria. Cada marco se identifica por la dirección de marco, que esta en la posición física de la primera palabra en el marco de página.

Segmentación

Es un esquema de manejo de memoria mediante el cual la estructura del programa refleja su división lógica; llevándose a cabo una agrupación lógica de la información en bloques de tamaño variable denominados segmentos.

La segmentación permite alcanzar los siguientes objetivos:

  • Modularidad de programas: Cada rutina del programa puede ser un bloque sujeto a cambios y recopilaciones, sin afectar por ello al resto del programa.
  • Estructuras de datos de largo variable: Donde cada estructura tiene su propio tamaño y este puede variar.
  • Protección: se puede proteger los módulos del segmento contra accesos no autorizados.
  • Comparición: Dos o más procesos pueden ser un mismo segmento, bajo reglas de protección; aunque no sean propietarios de los mismos.
  • Enlace dinámico entre segmentos: Puede evitarse realizar todo el proceso de enlace antes de comenzar a ejecutar un programa.

VIDEO DE GESTIÓN DEMEMORIA



sábado, 21 de agosto de 2010

MODELO CLIENTE SERVIDOR


La tecnología denominada cliente-servidor es utilizada por todas las aplicaciones de Internet/Intranet. Este modelo proporciona una forma eficiente de todos los recursos de está maquina de tal forma que la seguridad y fiabilidad que proporcionan los recursos de mainframe se traspasan a la red de área local.


La arquitectura de cliente-servidor es un modelo para el desarrollo de de sistemas de información en el que las transacciones se dividen en procesos independientes que cooperan entre si para intercambiar información, servicios o recursos.


En este modelo las aplicaciones de forma que el servidor contiene la parte que debe ser compartida por varios usuarios y en el cliente permanece sólo lo particular de cada usuario.


Los clientes generalmente realizan funciones como:


1.- Manejo de la interfaz de usuario.

2.- Captura y validación de los datos de entrada.

3.- Generación de consultas e informes sobre las bases de datos.


Los servidores realizan:


1.- Gestión de periféricos compartidos.

2.- Control de accesos concurrentes a bases de datos compartidas.

3.- Enlaces de comunicaciones con otras redes de área local estensa.



MAQUINAS VIRTUALES


En Informática una Maquina Virtual es un Software que emula a una PC y que puede ejecutar programas como si fuera una PC real. Una maquina virtual es como si tubieramos dos PC en una sola PC.

En realidad la maquina virtual solo es un simulador de un ordenador en modo software es decir;

tienen una Bios, una memoria, tienen conexiones de red, discos duros etc.., pero todo es de forma simulada por que en realidad no tienen nada.


Muchas de las ventajas de tener una maquina virtual es que puedes instalar S.O que están en periodo de prueba e incluso instalar S.O sin tener que particionar tu disco duro, y estar trabajando con ambos en una misma pantalla pero en ventanas diferentes.

SISTEMA OPERATIVO EN CAPAS


Podemos imaginarnos a LINUX como una cebolla donde cada capa se cominca con la capa inderior. En la capa del centro se encuentra la capa de comunicación con el Hardware y sobre está capa se encuentra la capa de de dispositivos que no es más que un controlador y se encuentra en la parte del Kernel del S.O.


Ellas acceden directamente al hardware y hacen el trabajo de lectura, escritura, etc. Es un punto muy sensible del sistema en donde cuando un error surge no se puede hacer mucho para detenerlo. Sobre la capa de dispositivos está la capa de administración, está es un conjunto de funciones a las que se hace referncia aun S.O tomando la decisión de que se ejecuta y cuando.


La siguiente capa es la de los procesos mismos, estos procesos reciben la orden directa del usuario o de otros procesos y los traducen al lenguaje de la maquina, pasandolos al S.O para su ejecución


SISTEMAS MONOLITICOS


Los siestemas monolíticos son aquellos en los que su centro son un grupo de estructuras fijas las cuales funcionan entre si.


Estos sistemas tienen un núcleo grande y complejo, que en globa todos los servicios del sistema. Está programado de forma no modular, y tiene un rendimiento mayor que un micro núcelo. Un núcleo monolítico es un tipo de núcleo o kernel de un sistema opertativo, y algunos ejemplos de es tipo de núcleo son: UNIX, LINUX.