martes, 20 de julio de 2010











¡¡¡¡GESTION DE ENTRADA Y SALIDA!!!!





•En Computación, entrada/salida. Es la colección de interfaces que usan distintas unidades funcionales de un sistema de procesamiento de información para comunicarse unas con otras, o las señales (información) enviadas a través de esas interfaces. Las entradas son señales recibidas por la unidad, mientras que las salidas son las señales enviadas por esta. Esto se refiere a ejecutar una operación de entrada o salida. Estos dispositivos de entrada/salida son utilizados por una persona u otro sistema para comunicarse con la computadora.
•Los dispositivos típicos para la comunicación entre computadoras realizan las dos operaciones entrada y salida un ejemplo es el modem y la tarjeta de red. En arquitectura de computadoras, la combinación de una unidad central de procesamiento CPU y la memoria principal es aquella que la CPU puede escribir o leer directamente mediante instrucciones individuales; cualquier movimiento de información hacia ese conjunto de le considera entrada/salida.
•La CPU y su circuitería complementaria proveer métodos de entrada/salida que se usan en programación de bajo nivel para la implementación de controladores de dispositivos. El lenguaje de programación C define funciones que les permite a sus programas realizar E/S, es decir les permiten leer datos y escribir datos hacia sus programas.














Ejemplos simples de entradas/salidas
•Entrada:
•Teclado.
•Ratón.
•Lápiz óptico.
•Webcam.
•Escáner.
•Lector de código de barras.
•Salida:
•Monitor.
•Altavoces.
•Impresora.
•Proyector.
•Entrada/Salida:
•Unidades de almacenamiento (USB)
•DVD.
•Módem.
•Pantalla Tactil.








Procedimientos de entrada y salida!!!!!!









•Desde el punto de vista del hardware, las instrucciones de entrada y salida le ayudan al programa a comunicarse con un periférico de la computadora tal como una terminal, una impresora o un disco.









•Las instrucciones de entrada estándar, sirven para leer carácteres desde el teclado, y las instrucciones de salida estándar despliegan carácteres en la pantalla.









•En Pascal todas las operaciones de entrada/salida se realizan ejecutando unidades de programa especiales denominados procedimientos de entrada/salida que forman parte del compilador y sus nombres son identificadores estándar.







**MANEJADOR DE DISPOSITIVOS**



El código que depende de los dispositivos aparece en los manejadores de dispositivos.
Cada controlador posee uno o más registros de dispositivos:
Se utilizan para darle los comandos.
• Los manejadores de dispositivos proveen estos comandos y verifican su ejecución adecuada. La labor de un manejador de dispositivos es la de:
• Aceptar las solicitudes abstractas que le hace el software independiente del dispositivo.
• Verificar la ejecución de dichas solicitudes. Si al recibir una solicitud el manejador está ocupado con otra solicitud, agregara la nueva solicitud a una cola de solicitudes pendientes.
•Al finalizar la operación debe verificar los errores.
•Si todo esta o.k. transferirá los datos al software independiente del dispositivo.
•Regresa información de estado sobre los errores a quien lo llamó.
•Inicia otra solicitud pendiente o queda en espera.




---SPOOLING---





•En el campo de la Informática, el spooling (Simultaneous Peripheral Operations On-Line) se refiere al proceso mediante el cual la computadora introduce trabajos en un buffer (un área especial en memoria o en un disco), de manera que un dispositivo pueda acceder a ellos cuando esté listo.
•El spooling es útil en caso de dispositivos que acceden a los datos a distintas velocidades. El buffer proporciona un lugar de espera donde los datos pueden estar hasta que el dispositivo (generalmente más lento) los procesa. Esto permite que la CPU pueda trabajar en otras tareas mientras que espera que el dispositivo más lento acabe de procesar el trabajo.
•La aplicación más común del spooling es la impresión. En este caso, los documentos son cargados en un buffer, que habitualmente es un área en un disco, y la impresora los saca de éste a su propia velocidad.
•El spooling permite también que los usuarios coloquen varios trabajos de impresión en una cola de una vez, en lugar de esperar a que cada uno acabe para enviar el siguiente.
•El spooling es una herramienta que el sistema operativo toma para poder realizar procesos, o ejecutar aplicaciones. El spooling es una característica de los últimos sistemas operativos lanzados al mercado. El uso de un almacenamiento intermedio permite que varios procesos en paralelo estén generando datos para el dispositivo, sin que se mezcle el resultado, ni que tengan que esperar a que finalice la operación con el periférico.



Archivos de dispositivos en Unix y GNU/Linux


De la misma manera que el Unix, el Linux se puede dividir generalmente en cuatro componentes principales: el núcleo(kernel), el shell, el sistema de archivos y las utilidades. El núcleo es el programa medular que ejecuta programas y gestiona dispositivos de hardware tales como los discos y las impresoras. El shell proporciona una interfaz para el usuario. Recibe órdenes del usuario y las envía al núcleo para ser ejecutadas. El sistema de archivos, organiza la forma en que se almacenan los archivos en dispositivos de almacenamiento tales como los discos.


Los archivos están organizados en directorios. Cada directorio puede contener un número cualquiera de subdirectorios, cada uno de los cuales puede a su vez, contener otros archivos. El núcleo, el Shell y el sistema de archivos forman en conjunto la estructura básica del sistema operativo. Con estos tres elementos puede ejecutar programas, gestionar archivos e interactuar con el sistema. Además, Linux cuenta con unos programas de software llamados utilidades que han pasado a ser considerados como características estándar del sistema.


El sistema de archivos de Linux organiza los archivos en directorios, de forma similar al DOS. Todo el sistema de archivos de Linux es un gran conjunto interconectado de directorios que están organizado en una estructura jerárquica de árbol.


A diferencia de otros sistemas operativos se distribuye de forma gratuita bajo una licencia publica de GNU de la Free Software Foundation (Fundación de programas libres) lo que básicamente significa que puede ser copiado libremente, cambiado y distribuido dejando siempre disponible el código fuente. El software de Linux es frecuentemente desarrollado por varios usuarios que deciden trabajar conjuntamente en un proyecto. Una vez que se ha completado se instala en una localización ftp de Internet. Cualquier usuario de Linux puede acceder a la localización y descargar el software.


***GESTION DE MEMORIA***






Unidad de manejo de la memoria, también conocido como gestión de memoria:es un dispositivo de hardware formado por un grupo de circuitos integrados, responsable del manejo de los accesos a la memoria por parte de la unidad de procesamiento central (CPU). El propósito de manejar la memoria es optimizar el uso del RAM.
UN BENEFICIO, fundamental de la MMU es la posibilidad de implementar protección de memoria, evitando que los programas accedan a porciones de memoria prohibidos. Por ejemplo se puede evitar que un programa acceda o modifique sectores de memoria de otros programas.




¡¡¡¡OBJETIVOS DE LA GESTION DE MEMORIA!!!!


•- En la memoria principal son ejecutados los programas y procesos de una computadora y es el espacio real que existe en memoria para que se ejecuten los procesos.


- La memoria virtual es aquella que le ofrece a las aplicaciones la ilusión de que están solas en el sistema y que pueden usar el espacio de direcciones completo.



- Las direcciones de memoria son de tres tipos: físicas, lógicas y lineales.




- El objetivo del intercambio es dar cabida a la ejecución de más aplicaciones de las que pueden residir simultáneamente en la memoria del sistema.





- La asignación consiste en determinar cuál espacio vacío en la memoria principal es el más indicado para ser asignado a un proceso.






- Las estrategias más comunes para asignar espacios vacíos (huecos) son: primer ajuste, mejor ajuste, peor ajuste.



- La fragmentación es la memoria que queda desperdiciada al usar los métodos de gestión de memoria tales como la asignación.



- La fragmentación puede ser interna o externa.



- La paginación es una técnica de gestión de memoria en la cual el espacio de memoria se divide en secciones físicas de igual tamaño llamadas marcos de pagina, las cuáles sirven como unidad de almacenamiento de información.





- La 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.




....FUNCIONES PRINCIPALES....




La traducción de las direcciones lógicas (o virtuales) a direcciones físicas (o reales).



La protección de la memoria.



El control de caché.




**MEMORIA VIRTUAL**



La memoria virtual es una técnica de administración de la memoria real que permite al sistema operativo brindarle al software de usuario y a si mismo un espacio de direcciones mayor que la memoria real o física.

Con la memoria virtual, el sistema operativo asigna una porción de un medio de almacenamiento, usualmente el disco duro, para funcionar como RAM adicional. Según se interacciona con un programa, parte de él puede estar en el RAM y el resto del programa está en el disco duro, el que se está usando como memoria virtual.





´´´´IMPLANTACION DE LA MEMORIA´´´´´´



Para implementar la memoria virtual, para el sistema es necesario tener un hardware especial de administración de memoria.
Este hardware a menudo se conoce como un MMU, Sin un MMU, cuando el CPU accede a la RAM, las ubicaciones reales de RAM nunca cambian, la dirección de memoria 123 siempre será la misma dirección física dentro de la RAM. Sin embargo, con un MMU, las direcciones de memoria pasan a través de un paso de traducción antes de cada acceso de memoria. Esto significa que la dirección de memoria 123 puede ser redirigida a la dirección física 82043 en un momento dado y a la dirección 20468 en otro.




$$$POLITICAS DE LA MEMORIA$$$


Precedentemente se han expuesto los esquemas de traslación de direcciones y los mecanismos de aceleración de la traslación, pero sin mencionar las reglas con las cuales esos esquemas son controlados.
Para cada situación en particular una de estas reglas es aplicada, dependiendo del ámbito que cubre la misma.
Por ejemplo, estas reglas determinan la carga de información en la memoria principal, decidiendo el momento (reglas de búsqueda), el lugar (reglas de ubicación) y si es necesario remover información, cuál es prescindible; además de la decisión de cuando variar la cantidad de memoria principal utilizada (reglas de reemplazo).





¿¿¿¿¿COMO AUMENTAR NUESTRA MEMORIA VIRTUAL?????







¡¡¡¡NUCLEO O KERNELL!!!







El corazón de un sistema operativo es el núcleo, un programa de control que reacciona ante cualquier interrupción de eventos externos y que da servicio a los procesos, creándolos, terminándolos y respondiendo a cualquier petición de servicio por parte de los mismos. Es el principal responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma más básica, es el encargado de gestionar recursos, a través de servicios de llamada al sistema.




***FUNCIONES DEL NUCLEO***






La carga y la ejecución de los procesos.
La comunicación entre los programas que solicitan recursos y el hardware.
Gestión de los distintos programas informáticos (tareas) de una máquina.
Gestión del hardware (memoria, procesador, periférico, forma de almacenamiento, etc.)
Proporcionar el entorno adecuado para la existencia de procesos
Manejo de interrupciones. Se transforman generalmente en mensajes para los siguientes niveles:
Conmutación del procesador entre hilos o procesos (soporte al diagrama de estados)
Mecanismos básicos de comunicación entre hilos y procesos
Mecanismos básicos de gestión de memoria
Carga inicial y activación de la configuración del sistema










"""TIPOS DE NUCLEOS"""




♣ Los núcleos monolíticos facilitan abstracciones del hardware subyacente realmente potentes y variadas.



♣ Los micronúcleos (en inglés microkernel) proporcionan un pequeño conjunto de abstracciones simples del hardware, y usan las aplicaciones llamadas servidores para ofrecer mayor funcionalidad.



♣ Los núcleos híbridos (micronúcleos modificados) son muy parecidos a los micronúcleos puros, excepto porque incluyen código adicional en el espacio de núcleo para que se ejecute más rápidamente.



♣ Los exonúcleos no facilitan ninguna abstracción, pero permiten el uso de bibliotecas que proporcionan mayor funcionalidad gracias al acceso directo o casi directo al hardware.




---MANIPULACION DEL HARDWARE---



La manipulación del hardware se realiza por medio de controladores de dispositivo, que conocen la forma de comunicarse directamente con el hardware de la máquina.
El software por su parte puede comunicarse con el kernel por medio de llamadas al sistema, las cuales le indican al kernel que realice tareas como abrir y escribir un archivo, ejecutar un programa, finalizar un proceso u obtener la fecha y hora del sistema.
¡¡¡¡IMPLANTACION DEL SIGNAL-WAIT!!!!

Un mecanismo semáforo consta básicamente de dos operaciones primitivas señal (Signal) y espera (Wait)), que operan sobre un tipo especial de variable semáforo, “s”. La variable semáforo puede tomar valores enteros y, excepto posiblemente en su inicialización, solo puede ser accedida y manipulada por medio de las operaciones SIGNAL y WAIT. Ambas primitivas llevan un argumento cada una, la variable semáforo, y pueden definirse del modo siguiente..:
SIGNAL (s) ..:
Incrementa el valor de su argumento semáforo, s , en una operación indivisible.
WAIT (s) ..:
Decrementa el valor de su argumento semáforo, s , en tanto el resultado no sea negativo. La conclusión de la operación WAIT, una vez tomada la decisión de decrementar su argumento semáforo, debe ser individual.

Seguidores