Que es un Sistema Operativo?

Un sistema operativo es un conjunto de programas especialmente hechos para la ejecución de varias tareas, en las que sirve de intermediario...

Administracion de Memoria

Se le llama administración de memoria a los diversos métodos y operaciones destinados a obtener la máxima utilidad y provecho de una mem...

Tipos de Memoria RAM

La memoria RAM es la memoria de almacenamiento temporal que almacena los programas y los datos que están siendo procesados, solamente durante el procesamiento. Es una memoria volátil...

Requerimientos Minimos de los Sistemas Operativos Actuales

Requierimientos de hardware para la instalacion de los sistemas operativos en nuestro equipo de computo...

21 octubre, 2014

Operaciones de Entrada /salida

En computación, entrada/salida, también abreviado E/S o I/O (del original en inglés input/output), es la colección de interfaces que usan las distintas unidades funcionales (subsistemas) 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 las señales recibidas por la unidad, mientras que las salidas son las señales enviadas por ésta. El término puede ser usado para describir una acción; "realizar una entrada/salida" se refiere a ejecutar una operación de entrada o de salida.

Los dispositivos de E/S los usa una persona u otro sistema para comunicarse con una computadora. De hecho, a los teclados y ratones se los considera dispositivos de entrada de una computadora, mientras que los monitores e impresoras son vistos como dispositivos de salida de una computadora.



Los dispositivos típicos para la comunicación entre computadoras realizan las dos operaciones, tanto entrada como salida, y entre otros se encuentran los módems y tarjetas de red.

Esta última función es necesaria debido a la deferencia de velocidades entre los dispositivos y la CPU y a la independencia que debe existir entre los periféricos y la CPU (por ejemplo, suelen tener relojes diferentes).

Se define una transferencia elemental de información como la transmisión de una sola unidad de información (normalmente un byte) entre el procesador y el periférico o viceversa. Para efectuar una transferencia elemental de información son precisas las siguientes funciones:


  • Establecimiento de una comunicación física entre el procesador y el periférico para la transmisión de la unidad de información.
  • Control de los periféricos, en que se incluyen operaciones como prueba y modificación del estado del periférico.



Para realizar estas funciones la CPU gestionará las líneas de control necesarias.


  1. Definiremos una operación de E/S como el conjunto de acciones necesarias para la transferencia de un conjunto de datos (es decir, una transferencia completa de datos). Para la realización de una operación de E/S se deben efectuar las siguientes funciones:
  2. Recuento de las unidades de información transferidas (normalmente bytes) para reconocer el fin de operación.

Estructuras de Datos para Manejo de Dispositivos

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 dispositivos. Este software está formado por la parte de alto nivel de los manejadores, el gestor de cache, el gestor de bloques y el servidor de archivos.
  • Interfaz del sistema operativo. Llamadas al sistema que usan las aplicaciones de usuario.


El sistema operativo estructura el software de gestión de E/S de esta forma para ofrecer a los usuarios una serie de servicios de E/S independientes de los dispositivos. Esta independencia implica que deben emplearse los mismos servicios y operaciones de E/S para leer datos de un disquete, de un disco duro, de un CD-ROM o de un teclado.


Manejadores de interrupción


Los manejadores de interrupción se encargan de tratar las interrupciones que generan los controla dores de dispositivos una vez que éstos están listos para la transferencia de datos o bien han leído o escrito los datos de memoria principal en caso de acceso directo a memoria. Para tratar dicha interrupción se ejecuta el correspondiente manejador de interrupción cuyo efecto es el de salvar los registros, comunicar el evento al manejador del dispositivo y restaurar la ejecución de un proceso (que no tiene por qué ser el interrumpido).

Los manejadores de interrupción suelen hacer algo más que comunicar el evento al manejador de dispositivo. Cuando una interrupción ocurre muy frecuentemente, caso del reloj, o cuando la cantidad de información a transferir es muy pequeña, caso del teclado, sería muy costoso comunicar siempre el evento al manejador de dispositivo asociado. En estos casos, el propio manejador de interrupción registra la ocurrencia del evento, bien mediante el incremento de una variable global para el reloj o la acumulación de caracteres en un buffer del teclado. La notificación al manejador se hace únicamente cada cierto número de ocurrencias del evento, en el caso del reloj, o activando unflag que indica que hay datos en el buffer del teclado.

Una de las funciones principales del sistema de E/S es la planificación de la E/S de los distintos componentes. Para ello se usan colas de peticiones para cada clase de dispositivo, de las que se extraen las peticiones de cada dispositivo en particular. Cada una de estas colas se ordena siguiendo una política de planificación, que puede ser distinta en cada nivel. Imagine el caso de LINUX, donde existe una cola global de peticiones de E/S, ordenadas en orden FIFO, para los discos instalados. Cuando un manejador de disco queda libre, busca la cola global para ver si hay peticiones para él y, si existen, las traslada a su cola de peticiones particular ordenadas según la política SCAN, por ejemplo. Este mecanismo permite optimizar la E/S al conceder a cada mecanismo la importancia que, ajuicio de los diseñadores del sistema operativo, se merece.


Mecanismos y Funciones de los Manejadores de Dispositivos

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.

Los modelos más frecuentes de comunicación entre la cpu y los controladores son la interfaz entre el controlador y el dispositivo es con frecuencia de muy bajo nivel:

El controlador debe:

  • Convertir el flujo de bits en serie en un bloque de bytes.
  • Efectuar cualquier corrección de errores necesaria.


Cada controlador posee registros que utiliza para comunicarse con la cpu:

  • Pueden ser parte del espacio normal de direcciones de la memoria




Un controlador de dispositivo o unidad de E/S se encarga de controlar uno o más dispositivos del mismo tipo y de intercambiar información entre ellos y la memoria principal o unidad central de proceso de la computadora. El controlador debe encargarse además de sincronizar la velocidad del procesador con la del periférico y de detectar los posibles errores que se produzcan en el acceso a los periféricos. En el caso de un controlador de disco, éste debe encargarse de convertir un flujo de bits procedente del disco a un bloque de bytes detectando y corrigiendo, si es posible, los errores que se produzcan en esta transferencia. Una vez obtenido el bloque y comprobado que se encuentra libre de errores, deberá encargarse de transferirlo a memoria principal. La información entre los controladores de dispositivo y la unidad central de proceso o memoria principal se puede transferir mediante un programa que ejecuta continuamente y lee o escribe los datos del controlador.

El Sistema Operativo realiza la E/S al escribir comandos en los registros de los controladores;
Los parámetros de los comandos también se cargan en los registros de los controladores. Al aceptar el comando, la cpu puede dejar al controlador y dedicarse a otro trabajo. Al terminar el comando, el controlador provoca una interrupción para permitir que el Sistema Operativo:
-Obtenga el control de la CPU. -Verifique los resultados de la operación. La cpu obtiene los resultados y el estado del dispositivo al leer uno o más bytes de información de los registros del controlador.

Su programación se lleva a cabo mediante una interfaz de muy bajo nivel que proporciona acceso a una serie de registros del controlador, incluidos en el mapa de E/S de la computadora, que se pueden acceder mediante instrucciones de máquina de E/S.

Dispositivos y Manejadores de Dispositivos

 Se llama manejo de Entrada/Salida a la interfaz que realiza la computadora con los controladores con el objetivo de intercambiar o transmitir datos o señales, el computador para que pueda ejecutar estas acciones necesita hacer uso de registros o secciones que se encuentran definidos internamente en la memoria de la PC. Existe una gran variedad de dispositivos de E/S cada cual destinado a cumplir un objetivo especifico, como por ejemplo, transmitir o recibir datos tal es el caso del teclado, pantalla o impresora, entre muchos otros. Cabe mencionar que cualquiera que sea el dispositivo que se conecte con la computadora siempre estará regido por el S.O, a través de una parte electrónica-mecánica y una parte de software.



 En si cada dispositivo interfazado directamente con el computador debe ser controlado por ciertos programas llamados controladores los cuales tienen como finalidad establecer una comunicación perfecta entre estos dos para permitir el intercambio de información en tiempo real, evitando con ello conflictos internos lo cual provocaría en algún momento dado perdida de información, aunque actualmente algunos dispositivos ya tienen integrados en la misma placa el controlador correspondiente que le permite desempeñar dicha función.

 Todo 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.
  •  La solicitud de E/S, por ej. para un disco, se debe traducir de términos abstractos a términos concretos.

12 octubre, 2014

Requerimientos Minimos de Ubuntu 14.04.1 LTS


Requerimientos de Ubuntu 14.04 LTS 64 bits

  • 1 GHz Procesador (Intel Celeron o Mejor)
  • 1.5 GB RAM (Recomendado 2GB o superior)
  • 7 GB de espacio en disco duro libre para la instalación 
  • CD/DVD o puerto USB para el uso de multimedia
  • Acceso a Internet para la ayuda del sistema (para la instalación de actualizaciónes en el proceso).

Menús en la barra de título de las ventanas:


Los menús de las aplicaciones aparecen, por defecto, en el panel superior al pasar el cursor.

Se ha añadido la opción de poder tenerlos en la barra de título de la propia ventana con el mismo comportamiento. En la barra de título se ve el nombre de la aplicación de la ventana y aparecen los menús al pasar el cursor sobre ella.

Las ventanas maximizadas seguirán teniendo el menú en el panel superior.

Está muy bien conseguido y es muy funcional, implementándose muy bien cuando haces clic en la barra de título para mover la ventana.

Esta opción es más que interesante para aquellos que trabajamos con las ventanas desmaximizadas, al no tener que desplazar el cursor hacia el panel superior para abrir los menús.


Para activarla, abrimos "Configuración del sistema > Apariencia" y en la pestaña"Comportamiento", apartado "Mostrar los menús de las ventanas", seleccionamos "En la barra de título de cada ventana".



Pantalla de bloqueo:


Se ha unificado la apariencia y funcionalidad de la pantalla de bloqueo y la de inicio de sesión.

El bloqueo de pantalla se hace desde el "Indicador de Sesión del panel superior > Bloquear" o con la combinación de teclas Súper+L.

La nueva pantalla de bloqueo permite poder utilizar los iconos del panel superior (cambiar el volumen y el idioma del teclado, acceder al calendario y cerrar sesión o cambiar de usuario).

Además el cambio de pantalla es muy suave y rápido.



Ventanas sin bordes:


Las ventanas no tienen bordes, dando así una apariencia más pulida y cuidada, aunque en cuestiones de estética, ya sabemos todos que para gustos, los colores.

La decoración de las ventanas usa ahora CSS en GTK3, en vez de Compiz como en anteriores versiones. Esto hace que se pueda implementar bordes con anti-aliasing (elimina el efecto de "dientes de sierra") y además se obtiene un mejor rendimiento a la hora de mover las ventanas.

Pero como todo no podía ser tan "bonito", hay un contra y es que deja de ser posible cambiar los botones de cerrar, minimizar, ... a la derecha de la barra de título de las ventanas.



Minimizar ventanas desde el Lanzador (Launcher) o barra de lanzadores:


Ya podemos minimizar ventanas desde el lanzador de Unity seleccionando una simple opción de configuración de CompizConfig, sin tener que añadir un repositorio extra y esperar a que su mantenedor lo actualizara cada vez que se actualizaba la versión de Unity, como hacíamos en anteriores versiones de Ubuntu.

El creador del parche,Christopher Townsend, deja bien claro que será una opción sin soporte (unsupported) y no se realizarán actualizaciones, ni retoques: 
«Está bien gente, se que ha pasado mucho tiempo, pero vamos a implementar esto como una opción sin soporte que permitirá minimizar las aplicaciones con una sola ventana abierta al hacer clic en su icono».

Funciona bien, siempre y cuando haya solo una ventana abierta de la misma aplicación, ya que si hay varias, al hacer clic en el icono de la aplicación se verán dichas ventanas escaladas y si volvemos a hacer clic se minimizan ambas y el sistema se hace un lío y al final no sabe qué mostrar.

Para activar esta opción hay que tener instalado el Compizconfig Settings Manager (ccsm):
sudo apt-get install compizconfig-settings-manager
Una vez hecho, lo abrimos desde el Tablero (tecla Súper) escribiendo / buscando"compizconfig settings manager" o simplemente "ccsm", su abreviatura.

Vamos a "Ubuntu Unity plugin" y en la pestaña "Lanzador (Launcher)" activamos la opción"Minimize single window applications"



Tamaño de iconos en el Lanzador (Launcher)


Ya podemos poner el ancho de la barra más pequeño, hasta "16 px", desde "Configuración del sistema > Apariencia".



Volumen a más del 100%


En "Configuración del sistema > Sonido", vemos arriba que la barra de volumen llega solo al 100%. Si activamos la casilla de abajo "Permitir más del 100%", la barra de volumen aumentará considerablemente.

Esto es muy útil para los equipos que tengan altavoces o auriculares de "juguete".



Menús completos en aplicaciones de Gnome:


En aplicaciones de Gnome como Nautilus y Rhythmbox se habían creado unos botones en la propia ventana que daban acceso a los distintos menús.

Esto se ha revertido y han vuelto los menús completos "Archivo, Editar, Ver , ..."



Redimensión de ventanas en tiempo real:


En anteriores versiones al hacer clic y redimensionar las ventanas, aparecía un recuadro naranja simulando el nuevo tamaño y al soltar el clic la ventana se redimensionaba.

Ahora la redimensión es inmediata y a tiempo real.


Mejora de los drivers de nVidia para Linux


En Phoronix se publicaron diferentes informes de rendimiento comparando similares máquinas con Windows 8.1 y Ubuntu 14.04. La mejora de los drivers para Linux (sobretodo por parte de nVidia) han conseguido que el rendimiento de los juegos en Linux se equipare al de Windows 8.1, en algunos casos incluso mejorándolo.

En mi caso, tengo una antigua nVidia 9500 GT y tanto los drivers libres como los privativos han mejorado y noto un mejor rendimiento en ambos.


Pantallas retina:


Otras novedades atañen al soporte de pantallas con una gran densidad de píxeles (las llamadas “retina”).

Fuente: http://www.ubuntu-guia.com/2014/04/novedades-en-ubuntu-1404.html

Requerimientos Minimos para Windows 8



Windows 8.1


Si quieres ejecutar Windows 8.1 en tu PC, esto es lo que necesitas:
  • Procesador: 1 gigahercio (GHz) o más rápido, compatible con PAE, NX y SSE2 (más información)
  • RAM: 1 gigabyte (GB) (32 bits) o 2 GB (64 bits)
  • Espacio en el disco duro: 16 GB (32 bits) o 20 GB (64 bits)
  • Tarjeta gráfica: dispositivo gráfico Microsoft DirectX 9 con controlador WDDM
Si usas Windows 8, puedes obtener una actualización gratuita de Windows 8.1. Solo tienes que pulsar o hacer clic en el icono de la Tienda Windows de la pantalla de inicio. Cuando actualices a Windows 8.1 deberías conseguir la actualización automáticamente. En caso contrario, sigue estos pasos para obtenerla manualmente a través de Windows Update.

Requisitos adicionales para usar algunas características:

  • Para el uso táctil, necesitas una tableta o un monitor que sea compatible con la función Multitáctil (más información)
  • Para acceder a la Tienda Windows y descargar, ejecutar y acoplar apps, necesitas una conexión a Internet activa y una resolución de pantalla de al menos 1024 x 768
  • Para algunas características es necesaria una cuenta Microsoft
  • Acceso a Internet (pueden aplicarse tarifas adicionales del ISP)
  • Para un arranque seguro se requiere firmware compatible con UEFI v2.3.1 Errata B y con la entidad de certificación de Microsoft Windows en la base de datos de firmas UEFI
  • Es posible que algunos juegos y programas requieran tarjetas gráficas compatibles con DirectX 10 o superior para un rendimiento óptimo
  • Para ver DVDs se requiere un software de reproducción independiente (más información)
  • La licencia de Windows Media Center se vende por separado (más información)
  • BitLocker To Go requiere una unidad flash USB (solo para Windows 8.1 Pro)
  • BitLocker requiere el Módulo de plataforma segura (TPM) 1.2 o una unidad flash USB (solo para Windows 8.1 Pro)
  • Client Hyper-V requiere un sistema de 64 bits con servicios de traducción de direcciones de red de segundo nivel (SLAT) y 2 GB de RAM adicionales (solo paraWindows 8.1 Pro)
  • Se requiere un sintonizador de TV para reproducir y grabar programas de televisión en directo en Windows Media Center (solo para Windows 8.1 Pro Pack y Windows 8.1Media Center Pack)
  • Miracast requiere un adaptador de pantalla que sea compatible con el Modelo de controladores de pantalla de Windows (WDDM) 1.3 y un adaptador Wi-Fi que admita Wi-Fi Direct
  • La impresión directa por Wi-Fi requiere un adaptador Wi-Fi que admita Wi-Fi Direct y un dispositivo compatible con la impresión directa por Wi-Fi
  • El contenido gratuito de TV en Internet varía según el área geográfica; algún contenido puede requerir tarifas adicionales (solo para Windows 8.1 Pro Pack y Windows 8.1Media Center Pack)
  • Para instalar un sistema operativo de 64 bits en un equipo de 64 bits, el procesador debe ser compatible con CMPXCHG16b, PrefetchW y LAHF/SAHF
  • InstantGo solo funciona con equipos diseñados para el modo de espera conectado
Si tu equipo funciona actualmente con Windows 7 o Windows 8, puedes comprobar si satisface los requisitos ejecutando el Asistente para actualización. También te recomendamos que visites el sitio web del fabricante de tu equipo para obtener información sobre los controladores actualizados y la compatibilidad de hardware.


Windows 8


Si quieres ejecutar Windows 8 en tu PC, esto es lo que necesitas:
  • Procesador: 1 gigahercio (GHz) o más rápido, compatible con PAE, NX y SSE2 (más información)
  • RAM: 1 gigabyte (GB) (32 bits) o 2 GB (64 bits)
  • Espacio en el disco duro: 16 GB (32 bits) o 20 GB (64 bits)
  • Tarjeta gráfica: dispositivo gráfico Microsoft DirectX 9 con controlador WDDM

Requisitos adicionales para usar algunas características:

  • Para el uso táctil, necesitas una tableta o un monitor que sea compatible con la función Multitáctil (más información)
  • Para acceder a la Tienda Windows y descargar y ejecutar apps, necesitas una conexión a Internet activa y una resolución de pantalla de al menos 1024 x 768
  • Para acoplar apps, necesitas una resolución de pantalla de al menos 1366 x 768
  • Acceso a Internet (pueden aplicarse tarifas adicionales del ISP)
  • Para un arranque seguro se requiere firmware compatible con UEFI v2.3.1 Errata B y con la entidad de certificación de Microsoft Windows en la base de datos de firmas UEFI
  • Es posible que algunos juegos y programas requieran tarjetas gráficas compatibles con DirectX 10 o superior para un rendimiento óptimo
  • Para algunas características es necesaria una cuenta Microsoft
  • Para ver DVDs se requiere un software de reproducción independiente (más información)
  • La licencia de Windows Media Center se vende por separado (más información)
  • BitLocker To Go requiere una unidad flash USB (solo para Windows 8 Pro)
  • BitLocker requiere el Módulo de plataforma segura (TPM) 1.2 o una unidad flash USB (solo para Windows 8 Pro)
  • Client Hyper-V requiere un sistema de 64 bits con servicios de traducción de direcciones de red de segundo nivel (SLAT) y 2 GB de RAM adicionales (solo para Windows 8 Pro)
  • Se requiere un sintonizador de TV para reproducir y grabar programas de televisión en directo en Windows Media Center (solo para Windows 8 Pro Pack y Windows 8 Media Center Pack)
  • El contenido gratuito de TV en Internet varía según el área geográfica; algún contenido puede requerir tarifas adicionales (solo para Windows 8 Pro Pack y Windows 8 Media Center Pack)

Requerimientos Minimos para Windows 7


Requisitos del sistema de Windows 7


Si desea ejecutar Windows 7 en su equipo, necesitará:

  • Procesador de 32 bits (x86) o 64 bits (x64) a 1 gigahercio (GHz) o más.
  • Memoria RAM de 1 gigabyte (GB) (32 bits) o memoria RAM de 2 GB (64 bits).
  • Espacio disponible en disco rígido de 16 GB (32 bits) o 20 GB (64 bits).
  • Dispositivo gráfico DirectX 9 con controlador WDDM 1.0 o superior.


Requisitos adicionales para usar ciertas funciones:


  • Acceso a Internet (puede tener costes adicionales).
  • Según la resolución, la reproducción de vídeo puede requerir memoria adicional y hardware gráfico avanzado.
  • Es posible que algunos juegos y programas requieran tarjetas gráficas compatibles con DirectX 10 o superior para un rendimiento óptimo.
  • Para algunas funcionalidades de Windows Media Center, es posible que necesite un sintonizador de TV y hardware adicional.
  • Windows Touch y Tablet PCs requieren hardware específico.
  • Grupo Hogar requiere una red y equipos que ejecuten Windows 7.
  • Para la creación de DVD/CD se necesita una unidad óptica compatible.
  • BitLocker requiere el Módulo de plataforma segura (TPM) 1.2.
  • BitLocker To Go requiere una unidad flash USB.
  • Windows XP Mode requiere 1 GB adicional de memoria RAM y 15 GB adicionales de espacio disponible en disco duro.
  • Para escuchar música y sonidos se necesita una salida de audio.


La funcionalidad del producto y los gráficos pueden variar en función de la configuración del sistema. Algunas funciones pueden requerir hardware avanzado o adicional.


Equipos con procesadores de varios núcleos:
Windows 7 fue diseñado para trabajar con los procesadores actuales de varios núcleos. Todas las versiones de 32 bits de Windows 7 pueden admitir hasta 32 núcleos de procesadores, mientras que las versiones de 64 bits pueden admitir hasta 256 núcleos de procesadores.

Equipos con varios procesadores (CPU):
servidores comerciales, estaciones de trabajo y otros equipos de última generación pueden tener más de un procesador físico. Windows 7 Professional, Enterprise y Ultimate admiten dos procesadores físicos, lo que permite obtener el mejor rendimiento en estos equipos. Windows 7 Starter, Home Basic y Home Premium reconocerán solamente un procesador físico.

Requerimientos Minimos para Windows XP


Los requisitos mínimos de hardware para Windows XP Professional son:
  • Procesador Pentium a 233 MHz o mayor velocidad (se recomienda 300 MHz)
  • Al menos 64 MB de RAM (se recomienda 128 MB)
  • Un mínimo de 1,5 GB de espacio disponible en el disco duro
  • Unidad de CD-ROM o DVD-ROM
  • Un teclado y un mouse de Microsoft, o algún otro dispositivo señalador compatible
  • Adaptador de vídeo y monitor con una resolución Super VGA (800 x 600) o mayor
  • Tarjeta de sonido
  • Altavoces o auriculares

Windows XP SP3 incluye todas las actualizaciones anteriores para el sistema operativo, además de un pequeño número de nuevas actualizaciones, sin embargo no ha cambiado de forma significativa la experiencia de Windows XP, aunque parece que el rendimiento general del sistema ha mejorado. El SP2 de Windows XP fue lanzado en agosto de 2004; desde entonces, se han publicado cientos de actualizaciones.

Windows XP SP3 incluye todas estas actualizaciones, además de otras actualizaciones importantes para Windows XP y que no estaban disponibles desde Windows Update. Microsoft no ha estimado importante añadir funcionalidades de Windows Vista en el SP3, ni tampoco Windows Internet Explorer 7, pero incluye algunas mejoras como:


  • Network Access Protection (NAP) para ayudar a las organizaciones que utilizan Windows XP a aprovechar las nuevas características de Windows Server 2008.
  • Mejoras en"Black Hole" Router Detection.
  • Nuevo panel descriptivo en la Configuración de seguridad local (secpol.msc). Las opciones de seguridad del complemento de consola Configuración de seguridad local de Windows XP SP3 ahora disponen de una nueva pestaña para describir más ampliamente la configuración y evitar ajustes de configuración incorrecta.
  • System Center Essentials. Mayor seguridad para el Administrador y el servicio de políticas.
  • Microsoft Kernel Mode Cryptographic Module (Fips.sys)
  • Windows Product Activation. Al igual que en Windows Server 2003 SP2 y Windows Vista, los usuarios pueden ahora completar la instalación del sistema operativo sin proporcionar una clave de producto durante toda la instalación de Windows XP SP3 integrado. Al igual que en anteriores service packs, la clave de producto no se exige al instalar Windows XP SP3 utilizando el paquete de actualización disponible a través de Microsoft Update.


Además, el SP3 incluye por defecto otros elementos que se instalaban antes por separado:


  • Microsoft Management Console (MMC) 3.0 
  • Microsoft Core XML Services 6.0 (MSXML6)
  • Nueva actualización de Windows Product Activation
  • Microsoft Windows Installer 3.1 v2 (3.1.4000.2435)
  • Background Intelligent Transfer Service (BITS) 2.5 
  • Peer Name Resolution Protocol (PNRP) 2.1
  • Wi-Fi Protected Access 2 (WPA2) 

Paginacion y Segmentacion

Paginación

En la gestión de memoria con intercambio, cuando había que pasar un proceso a ejecución, era necesario traer el proceso entero de disco a memoria principal.

Con memoria virtual hemos dicho que no se trae todo el proceso, sino que cuando se hace referencia a una dirección de memoria virtual cuya correspondiente memoria física reside en disco, se trae el contenido de disco a RAM.

¿Quiere esto decir que la unidad de intercambio de memoria es el byte? Si lo fuera, daría lugar a que continuamente se estuviesen generando operaciones de E/S, lo cual sería poco eficaz. Claramente, parece más conveniente utilizar bloques más grandes, para aprovechar de manera más eficiente cada operación de E/S.



Tablas de páginas

Cada página tiene un número que se utiliza como índice en la tabla de páginas, lo que da por resultado el número del marco correspondiente a esa página virtual. Si el bit presente / ausente es 0, se provoca un señalamiento (trap) hacia el sistema operativo. Si el bit es 1, el número de marco que aparece en la tabla de páginas se copia en los bits de mayor orden del registro de salida, junto con el ajuste (offset) de 12 bits, el cual se copia sin modificaciones de la dirección virtual de entrada.

Juntos forman una dirección física de 15 bits. El registro de salida se coloca entonces en el bus de la memoria como la dirección en la memoria física.


Estructura de la tabla de paginas


  • Protección: Expresa los permisos de acceso del proceso. En caso de tener permiso para la operación de lectura/escritura que se va a realizar, se consulta el resto de los campos.
  • Bit de Presencia: Indica si la página está presente en memoria principal o no. Si se encuentra en RAM, también tienen sentido los siguientes campos.
  • Marco Ocupado: Si la página se encuentra en memoria principal, este campo expresa el marco que la contiene.
  • Modificada (Bit de ensuciada): Este campo indica si el contenido de la página ha sido modificado desde que se trajo de la memoria secundaria.
  • Referenciada: Este campo booleano se pone a cierto cada vez que se hace referencia a cualquier dirección de la página. Lo utiliza el sistema operativo para ayudar a los algoritmos de sustitución de páginas.



Características de la paginación

  • El espacio de direcciones lógico de un proceso puede ser no contiguo.
  • Se divide la memoria física en bloques de tamaño fijo llamados marcos (frames).
  • Se divide la memoria en bloques de tamaño llamados páginas.
  • Se mantiene información en los marcos libres.
  • Para correr un programa de en páginas de tamaño, se necesitan encontrar n marcos y cargar el programa.
  • Se establece una tabla de páginas para trasladar las direcciones lógicas a físicas.
  • Se produce fragmentación interna.



Ventajas de la paginación


  • Es posible comenzar a ejecutar un programa, cargando solo una parte del mismo en memoria, y el resto se cargara bajo la solicitud.
  • No es necesario que las paginas estén contiguas en memoria, por lo que no se necesitan procesos de compactación cuando existen marcos de páginas libres dispersos en la memoria.
  • Es fácil controlar todas las páginas, ya que tienen el mismo tamaño.
  • El mecanismo de traducción de direcciones (DAT) permite separar los conceptos de espacio de direcciones y espacios de memoria. Todo el mecanismo es transparente al usuario.


Desventajas de la paginación


  • El costo de hardware y software se incrementa, por la nueva información que debe manejarse y el mecanismo de traducción de direcciones necesario. Se consumen muchos más recursos de memoria, tiempo en el CPU para su implantación.
  • Se deben reservar áreas de memoria para las PMT de los procesos. Al no ser fijo el tamaño de estas, se crea un problema semejante al de los programas (cómo asignar un tamaño óptimo sin desperdicio de memoria, u ovearhead del procesador).




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. Cada uno de ellos tienen información lógica del programa: subrutina, arreglo, etc. Luego, cada espacio de direcciones de programa consiste de una colección de segmentos, que generalmente reflejan la división lógica del programa.


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: Ejm. Stack, donde cada estructura tiene su propio tamaño y este puede variar. 
  •  Protección: Se pueden proteger los módulos del segmento contra accesos no autorizados.
  •  Compartició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. Los enlaces se establecerán sólo cuando sea necesario.


Ventajas de la segmentación

El esquema de segmentación ofrece las siguientes ventajas:

  •  El programador puede conocer las unidades lógicas de su programa, dándoles un tratamiento particular.
  •  Es posible compilar módulos separados como segmentos el enlace entre los segmentos puede suponer hasta tanto se haga una referencia entre segmentos.
  • Debido a que es posible separar los módulos, se hace más fácil la modificación de los mismos. Cambios dentro de un módulo no afecta al resto de los módulos.
  • Es fácil el compartir segmentos.
  • Es posible que los segmentos crezcan dinámicamente según las necesidades del programa en ejecución.
  •  Existe la posibilidad de definir segmentos que aún no existan. Así, no se asignará memoria, sino a partir del momento que sea necesario hacer usos del segmento. Un ejemplo de esto, serían los arreglos cuya dimensión no se conoce hasta tanto no se comienza a ejecutar el programa. En algunos casos, incluso podría retardar la asignación de memoria hasta el momento en el cuál se referencia el arreglo u otra estructura de datos por primera vez.



Fuentes de informacion: http://es.slideshare.net/menes21/paginacion-y-segmentacion-de-memoriahttp://www.monografias.com/trabajos13/gesme/gesme.shtml

Jerarquia de Memoria

En la estructura y tecnología de los computadores existen diversos tipos de memoria. La raíz de esta diversificación tiene su raíz en la jerarquía de memoria, y las nuevas tecnologías tan sólo permiten mejorar el nivel físico (o electrónico) permaneciendo el conceptual intacto.

En las primeras computadoras tan sólo había un tipo de memoria programable, que almacenaba las instrucciones y los datos se introducían mediante entradas utilizando complicados códigos.
Desde siempre fue deseable que tanto los datos como las instrucciones en nuestros ordenadores fuesen guardados en una memoria muy grande, muy rápida y económicamente asequible. Por desgracia, esto es tan sólo una situación idílica:


  • A mayor velocidad, mayor coste. Son más caros de implementar los rápidos registros en un microprocesador que un disco duro SATA con un tiempo de acceso muchísimo mayor.
  • A mayor tamaño, menor velocidad. Un disco duro es más grande que una memoria caché, pero esta tiene menor tamaño y menor tiempo de acceso.
  • A mayor tamaño, menor coste por bit.Un dispositivo de almacenamiento externo puede tener mucha mas capacidad que un disco duro pero costaría mas el acceso.


Por tanto, es necesario establecer una jerarquía donde la memoria más rápida, de menor tamaño y más cara está más cercana a la CPU, mientras que la memoria más lenta, con mayor capacidad y menor coste por bit está más alejada del CPU.


Así, la CPU busca una instrucción o dato en la memoria más cercana a él; la memoria caché. Si la palabra se encuentra allí se produce un acierto o hit, transfiriéndose ésta al microprocesador. Por el contrario se produce un fallo y, desde los niveles más bajos de la jerarquía serán enviados los datos, bien mediante palabras o en bloques de transferencia, como es el caso entre la memoria principal DDR, DRAM y la caché SRAM.

¿Porqué transferir bloques?¿Qué datos necesitará la CPU?
Pues muy fácil: los datos e instrucciones suelen estar en direcciones consecutivas de memoria, por lo que si una posición de ellas es referenciada por el procesador, las próximas a la misma tienen alta probabilidad de ser referenciadas también conformando lo que se conoce como principio de localidad de referencia.


Tipos de Memoria RAM

Memoria RAM - Random Access Memory (Memoria de Acceso Aleatorio) 


 La memoria RAM es la memoria de almacenamiento temporal que almacena los programas y los datos que están siendo procesados, solamente durante el procesamiento. Es una memoria volátil, los datos sólo permanecen en ella almacenados mientras la computadora este encendida. En el momento que la PC se apaga, todos esos datos se pierden.



 Hay algunos conceptos que deben conocerse para que sea más fácil comprender la memoria RAM de las computadoras modernas:

  • Es usada para el almacenamiento temporal de datos o instrucciones.
  • Cuando escribimos un texto en una computadora, la información es almacenada en la memoria RAM, así como los datos de entrada. 
  • La RAM también es conocida como memoria de escritura y lectura, pues leemos o escribimos informaciones en este tipo de memoria.


Existen varios tipos de Memoria RAM, cada tipo de memoria tiene un propósito diferente y son utilizadas en muchos dispositivos electrónicos para llevar a cabo las tareas o funciones que cada dispositivo tenga que realizar. entre los cuales los mas conocidos y de mayor uso son los siguientes:


  • RAM: proviene de ("Read Aleatory Memory") ó memoria de lectura aleatoria: es un dispositivo electrónico que se encargada almacenar datos e instrucciones de manera temporal, de ahí el término de memoria de tipo volátil ya que pierde los datos almacenados una vez apagado el equipo; pero a cambio tiene una muy alta velocidad para realizar la transmisión de la información.
  • DRAM: "Dinamic Random Access Memory", memoria dinámica de acceso aleatorio. Es el tipo de memoria más común y económica, construida con capacitores por lo que necesitan constantemente refrescar el dato que tengan almacenado, haciendo el proceso hasta cierto punto lento.
  • SDRAM: Synchronous Dinamic Random Access Memory", memoria dinámica de acceso aleatorio. Tecnología DRAM que utiliza un reloj para sincronizar con el microprocesador la entrada y salida de datos en la memoria de un chip. Se ha utilizado en las memorias comerciales como SIMM, DIMM, y actualmente la familia de memorias DDR (DDR, DDR2, DDR3, DDR4, GDDR, etc.), entran en esta clasificación.
  • ROM: Read Only Memory", memoria de solo lectura: Memoria que permite un número indeterminado de lecturas pero no puede ser modificada.
  • PROM: "Programmable Read Only Memory", memoria programable de solo lectura: Memoria ROM que permite una programación y posteriormente un número indeterminado de lecturas pero no puede ser modificada.
  • EPROM: "Erasable Programmable Read Only Memory", memoria programable y borrable de solo lectura: Memoria PROM que permite reprogramación por medio de un dispositivo especial y borrado por medio de luz ultravioleta.
  • EEPROM: "Electrically Erasable Programmable Read Only Memory", memoria eléctricamente programable y borrable de solo lectura: Evolución de las memorias EROM que permite alterar su Contenido por medio de señales eléctricas. Es la más utilizada en las computadoras actuales para albergar el SetUp de la computadora.
  •  Flash NAND: el término Flash es debido a la alta velocidad que puede manejar y NAND a un tipo de conexión especial de sus elementos electrónicos (Compuerta tipo NAND): Memoria que permite almacenar datos y mantenerlos almacenados sin necesidad de alimentación eléctrica hasta por 10 años. Se utiliza en las memorias USB, memorias SD, MemoryStick de Sony®, Unidades SSD, e incluso para BIOS, etc. 
  • Swap / Virtual Memory De intercambio ó memoria virtual: se trata de una simulación de RAM en un área de un disco duro, lo cual no permite que se detengan servicios al escasear memoria RAM pero ralentiza a la computadora. También se puede actualmente crear SWAP en una memoria USB, utilizando el Software ReadyBoost de Microsoft® Windows Vista u otros programas para Microsoft® Windows XP, de este modo se vuelve mas eficiente el equipo de cómputo.
  •  Buffer: "Amortiguador": Soporta información que se encuentra en espera de ser procesada y una vez realizado ese proceso, la borra para esperar nuevos datos, puede ser espacio asignado en unas memorias RAM ó en un disco duro.

Memoria



La memoria es un espacio de trabajo de la computadora (físicamente son varios chips RAM ). La memoria es un recurso importante, ya que determina el tamaño y el número de programas que pueden ejecutarse al mismo tiempo, así como también la cantidad de datos que pueden procesarse instantáneamente.La palabra Memoria es un término genérico usado para designar las partes de la computadora o de los dispositivos periféricos donde todos los datos y programas son almacenados.



La memoria es como un tablero de ajedrez electrónico donde cada casilla contiene un byte de datos o instrucción. Cada casilla tiene una dirección separada como una casilla de correo y puede manipularse de manera independiente. Como resultado, el computador puede descomponer los programas en instrucciones para ejecución y los registros de datos en campos para procesamiento. Curiosamente, la memoria del computador no recuerda nada cuando se interrumpe la corriente. Es por eso que hay que guardar los archivos antes de salir del programa.

Aunque hay chips de memoria que conservan su contenido permanentemente (ROM, PROM, EPROM, etc.), éstos se usan para propósitos de control interno y no para los datos del usuario.




 Fuente de Informacion: http://www.mastermagazine.info/termino/5714.php#ixzz3Fz0burmp

Administracion de Memoria

Se le llama administración de memoria a los diversos métodos y operaciones destinados a obtener la máxima utilidad y provecho de una memoria informática, en pos del buen uso y funcionamiento del sistema en su totalidad.

Una memoria informática consiste en la serie de componentes, dispositivos y medios en una computadora que tienen el fin de retener y almacenar datos informáticos en forma circunstancial o permanente. Toda computadora moderna dispone de unidades de memoria que permiten el correcto funcionamiento del CPU o Unidad Central de Procesamiento.

Las hay de distintos tamaños y formatos. Una memoria puede ser un chip en el interior de la computadora, pero también puede considerarse memoria al uso de unidades externas de almacenamiento como CDs, DVDs o memorias flash. A menudo una computadora dispone de una memoria principal, pero ésta puede ser complementada con otras unidades de memoria que se agreguen o con memorias movibles que permitan intercambiar datos entre varias computadoras.

La administración de memoria refiere, entonces, a la serie de métodos y procesos que se llevan adelante desde la parte usuaria a los efectos de obtener el mejor rendimiento posible por parte de estas unidades.
Estas operaciones son múltiples y tienen distintos usos y objetivos directos. Por ejemplo, una típica operación es trasladar la información a ser ejecutada dentro y fuera de la memoria principal, procurando maximizar el uso del procesador. Otras operaciones comunes son la protección de los procesos de interferencias de otros, uso compartido de datos, para que varios procesos compartan la misma información y memoria, partición de memoria en varias partes, limpieza de datos en la memoria que son poco utilizados o irrelevantes, formateo de disco y muchas otras.
Todos estos procesos son flexibles y dependen del uso y propósito del ordenador por parte del usuario para optimizar su rendimiento. Con frecuencia, la ejecución de estas operaciones brindará mayor espacio disponible para el almacenamiento de información y proporcionará una mayor agilidad en la gestión de procesos de diversa índole y nivel.


Fuente de Informacion: http://www.definicionabc.com/tecnologia/administracion-de-memoria.php#ixzz3FxYh2PXZ

Linea del Tiempo de los Sistemas Operativos

Para comprender los requisitos de un Sistema Operativo y el significado de las principales características de un Sistema Operativo contemporáneo, hay que considerar como han ido evolucionando estos con el tiempo.

En los 40's, se introducen los programas bit a bit, por medio de interruptores mecánicos y después se introdujo el lenguaje maquina que trabajaba por tarjetas perforadas. Con las primeras computadoras, desde finales de los años 40 hasta la mitad de los años 50, el programador interactuaba de manera directa con el hardware de la computadora, no existía realmente un Sistema Operativo; las primeras computadoras utilizaban bulbos, la entrada de datos y los programas se realizaban a través del lenguaje maquina (bits) o a través de interruptores.

Durante los años 50's y 60's. A principio de los 50's, la compañía General's Motors implanto el primer sistema operativo para su IBM 170. Empiezan a surgir las tarjetas perforadas las cuales permiten que los usuarios (que en ese tiempo eran programadores, diseñadores, capturistas, etc.), se encarguen de modificar sus programas. Establecían o apartaban tiempo, metían o introducían sus programas, corregían y depuraban sus programas en su tiempo. A esto se le llamaba trabajo en serie. Todo esto se traducía en perdida de tiempo y tiempos de programas excesivos.

En los años 60's y 70's se genera el circuito integrado, se organizan los trabajos y se generan los procesos Batch (por lotes), lo cual consiste en determinar los trabajos comunes y realizarlos todos juntos de una sola vez. En esta época surgen las unidades de cinta y el cargador de programas, el cual se considera como el primer tipo de Sistema Operativo.

En los 80's, inicio el auge de la INTERNET en los Estados Unidos de América. A finales de los años 80's comienza el gran auge y evolución de los Sistemas Operativos. Se descubre el concepto de multiprogramación que consiste en tener cargados en memoria a varios trabajos al mismo tiempo, tema principal de los Sistemas Operativos actuales.

Los 90's y el futuro, entramos a la era de la computación distribuida y del multiprocesamiento a través de múltiples redes de computadoras, aprovechando el ciclo del procesador.

Se tendrá una configuración dinámica con un reconocimiento inmediato de dispositivos y software que se añada o elimine de las redes a través de procesos de registro y localizadores.

La conectividad se facilita gracias a estándares y protocolos de sistemas abiertos por organizaciones como la Organización Internacional de normas, fundación de software abierto, todo estará mas controlado por los protocolos de comunicación OSI y por la red de servicios digital ISDN.

10 octubre, 2014

Que es un Sistema Operativo?

Un sistema operativo es un conjunto de programas especialmente hechos para la ejecución de varias tareas, en las que sirve de intermediario entre el usuario y la computadora. Este conjunto de programas que manejan el hardware de una computadora u otro dispositivo electrónico. Provee de rutinas básicas para controlar los distintos dispositivos del equipo y permite administrar, escalar y realizar interacción de tareas.

Algunos de sus objetivos principales son:

  •  Provee de un ambiente conveniente de trabajo.
  •  Hace uso eficiente del Hardware.
  •  Provee de una adecuada distribución de los recursos.


 Para un Sistema Operativo real deberá satisfacer las siguientes funciones:

  •  Gobierna el Sistema. 
  •  Asigna los recursos.
  •  Administra y controlar la ejecución de los programas.

Sistemas operativos
En la actualidad existen varios Sistemas Operativos, algunos permiten administrar gran cantidad de  usuarios, otros controlan dispositivos de hardware como bombas de petróleo, maquinas industriales o equipos muy complejos.
Cuando el sistema operativo comienza a funcionar, inicia los procesos que luego va a necesitar para funcionar correctamente. Esos procesos pueden ser archivos que necesitan ser frecuentemente actualizados, o archivos que procesan datos útiles para el sistema. Es posible tener acceso a distintos procesos del sistema operativo, a través del administrador de tareas, donde se encuentran todos los procesos que están en funcionamiento desde la inicialización del sistema operativo hasta su uso actual.

Una de las funciones del sistema operativo es cargar en la memoria y facilitar la ejecución de los programas que el usuario utiliza. Cuando un programa está en ejecución, el sistema operativo continúa trabajando. Por ejemplo, muchos programas necesitan realizar acceso al teclado, vídeo e impresora, así como accesos al disco para leer y grabar archivos. Todos esos accesos son realizados por el sistema operativo, que se encuentra todo el tiempo activo, prestando servicios a los programas que están siendo ejecutados.
El sistema operativo también hace una adminstración de los recursos de la computadora, para evitar que los programas entren en conflicto. Por ejemplo, el sistema operativo evita que dos programas accedan simultáneamente al mismo sector de la memoria, lo que podría causar grandes problemas