jueves, 23 de octubre de 2014

Estructura de Datos para Manejo de Dispositivos

¿Qué es una estructura?

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.

Estructura Simple o Sistema monolítico

El sistema MS-DOS es, sin duda, el mejor sistema operativo para microcomputadoras. Sin embargo, sus interfaces y niveles de funcionalidad no están bien definidos. Los programas de aplicación pueden acceder a operaciones básicas de entrada / salida para escribir directamente en pantalla o discos. Este libre acceso, hace que el sistema sea vulnerable, ya que un programa de aplicación puede eliminar por completo un disco rígido por alguna falla. Además este sistema, también esta limitado al hardware sobre el que corre.

Otra estructura simple es la utilizada por la versión original de UNIX, esta consiste de dos partes separadas, el kernel y los programas de sistemas . El kernel fue posteriormente separado en manejadores (drivers) de dispositivos y una serie de interfaces. El kernel provee el sistema de archivos, la programación de CPU, el administrador de memoria y otras funciones del sistema operativo que responden a las llamadas del sistema enunciadas anteriormente. 

Sistema monolítico

Sistemas que tienen un núcleo grande y complejo, que engloba todos los servicios del sistema.

Kernel: «núcleo»; La parte central de un sistema operativo, sobre la cual el resto del sistema se apoya.  

Estructura por capas

Las nuevas versiones de UNIX se diseñaron para hardware mas avanzado. Para dar mayor soporte al hardware, los sistemas operativos se dividieron en pequeñas partes. Ahora los sistemas operativos tienen mayor control sobre el hardware y las aplicaciones que se ejecutan sobre este.
        La modularizacion de un sistema se puede presentar de varias formas, la mas utilizada es la de capas, la cual consiste en dividir al sistema operativo en un numero de capas. La capa de menor nivel es el hardware y la de mayor nivel es la interfaz con el usuario.
        La principal ventaja es que cada capa cumple con una serie de funciones y servicios que brinda a las otras capas, esto permite una mejor organización del sistema operativo y una depuración más fácil de este. 

Es una estructura organizada jerarquicamente cada una construidas de menor a mayor.
   Cada capa se implementa solo utilizando las operaciones provistas por la capa de nivel inferior. Una capa no necesita saber como se implementan estas funciones, solo necesita saber que operaciones puede realizar.
Los procesos de usuario emiten peticiones de E/S al sistema operativo. Cuando un proceso solicita una operación de E/S, el sistema operativo prepara dicha operacion y bloquea al proceso hasta que se recibe una interrupción del controlador del dispositivo indicando que la operación está completa.


Manejadores de Interrupción


Un manejador de interrupciones, también conocido como ISR (interrupt service routine o rutina de servicio de interrupción), es una subrutina callback en un sistema operativo o en un controlador de dispositivo cuya ejecución es desencadenada por la recepción de una interrupción. Los manejadores de instrucciones tienen una multitud de funciones, que varían basadas en el motivo por el cual la interrupción fue generada y la velocidad en la cual el manejador de interrupciones completa su tarea.
Estos manejadores pueden ser iniciados por interrupciones de hardware o de software, y son usados para servir a los dispositivos de hardware y transiciones entre modos protegidos de operación como los llamados de sistema.


Manejadores de Dispositivos


- Contiene el codigo dependiente del dispositivo 
- Cada manejador contiene sus colas.

E/S INDEPENDIENTE DE DISPOSITIVO


- La frontera de este nivel con el anterior es difusa.
- Funciones:
- Ofrecer una interfaz uniforme a los procesos de usuarios.
- Asignar nombres a los dispositivos.
- Proteger a los dispositivos.
- Ofrecer un tamaño de bloque independiente de los dispositivos.
- Almacenar los datos temporales en la transferencias de E/S.
- Gestionar la asignación del espacio en dispositivos de bloques.
- Reservar y liberar los dispositivos dedicados.
- Informar de los posibles errores.
- Un aspecto muy importante en un S.O. es la asignacionde nombres a los
archivos y dispositivos.

¿Que es un buffer?


Buffer de datos es una ubicación de la memoria en un Disco o en un instrumento digital reservada para el almacenamiento temporal de información digital, mientras que está esperando ser procesada.

Buffering


Trata de mantener ocupados tanto la CPU como los dispositivos de E/S. Los datos se leen y se almacenan en un buffer, una vez que los datos se han leido y la CPU va a iniciar inmediatamente la operacion con ellos, el dispositivo de entrada es introducido para iniciar inmediatamente la siguiente lectura.

La CPU y el dispositivo de entrada permanecen ocupados. Cuando la CPU este libre para el siguiente grupo de datos, el dispositivo de entrada habra terminado de leerlos. La CPU podra empezar el proceso de los ultimos datos leidos, mientras el dispositivo de entrada iniciara la lectura de los datos siguientes.

SPOOLING


Spool: Virtualización de lectoras e impresoras.
Esta forma de procesamiento de denomina spooling, utiliza el disco como un buffer muy grade para leer tan por delante como sea posible de los dispositivos de entrada y para almacenar los ficheros hasta que los dispositivos de salida sean capaces de aceptarlos.

Es una caracteristica utilizada en la mayoria de los sistemas operativos.

jueves, 9 de octubre de 2014

~ Requerimientos para SO ~

Windows XP SP3

Mínimos:
  • Memoria RAM: 64 Mb
  • Procesador: 300 MHz
  • HDD: 2 Gb
  • Tarjeta de vídeo: 32 Mb "Recomendado"
Recomendados:
  • Memoria RAM: 128 Mb
  • Procesador: 800 MHz
  • HDD: 3 Gb o más
  • Tarjeta de vídeo: +32 Mb 



Windows 7 Professional

Mínimos:
  • Memoria RAM: 1 GB (32 bits) o 2 GB (64 bits).
  • Procesador: 32 bits (x86) o 64 bits (x64)a 1 GHz o más.
  • HDD: 2 Gb
  • 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.



Windows 8

Mínimos:
  • Memoria RAM: 1 GB (32 bits) o 2 GB (64 bits).
  • Procesador: 1 GHz o más rápido, compatible con PAE, NX y SSE2.
  • Espacio en Disco Duro: 16 GB (32 bits) o 20 GB (64 bits).
  • Tarjeta Gráfica: Dispositivo gráfico Microsoft DirectX 9 con controlador WDDM.



Ubuntu 12.04.3

Mínimos:
  • Memoria RAM: 384 Mb - 512 MB.
  • Espacio en Disco Duro: Al menos 4.5 GB de espacio libre.

~ Sistema Operativo ~

  • Un Sistema Operativo (SO) es el software básico de una computadora que provee una interfaz entre el resto de programas del ordenador, los dispositivos hardware y el usuario.
  • Las funciones básicas del SO son administrar los recursos de la máquina, coordinar el hardware y organizar archivos y directorios en los dispositivos de almacenamiento.
  • Los SO más utilizados son Dos, Windows, Linux y Mac. Algunos SO ya vienen con un navegador integrado, como Windows que trae el navegador Internet Explorer.




Línea del Tiempo



~ Memoria Virtual ~

Memoria Virtual

La memoria virtual es una técnica de gestión de la memoria que permite que el S.O. disponga, tanto para el software de usuario como para si mismo, de mayor cantidad de memoria que esté disponible físicamente. La mayoría de los ordenadores tienen 4 tipos de memoria: registros en la CPU, la memoria caché (tanto dentro como fuera del CPU), la memoria RAM y el Disco Duro. En ese orden, van de menor capacidad y mayor velocidad a mayor capacidad y menor velocidad.



Organización de Memoria

Los métodos más comunes de implementación son:

  • Técnicas de Paginación.
  • Técnicas de Segmentación.
  • Una combinación de ambas técnicas.
Las direcciones generadas por los programas en su ejecución no son, necesariamente, aquellas contenidas en el almacenamiento primario (memoria real), ya que las direcciones virtuales suelen seleccionarse dentro de un almacenamiento primario.




miércoles, 8 de octubre de 2014

~ Tipos de Memoria RAM~

Memoria RAM:

Siglas de Random Access Memory (Memoria de Acceso Aleatorio) es un tipo de memoria a la que se puede acceder de forma aleatoria; esto es, se puede acceder a cualquier byte de la memoria sin pasar por los bytes precedentes. 



SDRAM


Se instalan sin necesidad de inclinarnos con respecto a la placa base. Se caracterizan porque el módulo tiene 2 muescas. El número total de contactos es de 168. Pueden ofrecer una velocidad entre 66 y 133 MHZ. En la actualidad ya casi no se comercializan.



DDR RAM 

Sucesora de la memoria SDRAM, tiene un diseño similar pero con una sóla muesca y 184 contactos. Ofrece una velocidad entre 200 y 600 MHZ. Se caracteriza por utilizar un mismo ciclo de reloj para hacer 2 intercambios de datos a la vez.



DDR2 RAM

Tiene 240 pines. Los zócalos no son compatibles con la DDR RAM. La muesca esta situada 2 milímetros hacia la izquierda con respecto a la DDR RAM. Se comercializan pares de módulos de 2GB (2x2GB). Pueden trabajar a velocidades entre 400 y 800 MHZ.



DDR3 RAM

Actualmente la memoria RAM más usada es la DDR3 , una progresión de las DDR, son las de tercera generación, lógicamente con mayor velocidad de transferencia de los datos que otras DDR, pero también un menor consumo de energía. Su velocidad puede llegar a ser 2 veces mayor que la DDR2. La mejor de todas es la DDR3-2000 que puede transferir 2,000,000 datos por segundo.



RAMBUS

Puede ofrecer velocidades de entre 600 y 1066 MHZ. Tiene 184 contactos. Algunos de estos módulos disponen de una cubierta de aluminio (dispersor de calor) que protege los chips de memoria de un posible sobrecalentamiento. Debido a su alto coste, su utilización no se ha extendido mucho.



So-DIMM

El tamaño de estos módulos es más reducido que el de los anteriores ya que se emplean sobre todo en ordenadores portátiles. Se comercializan módulos de capacidades de 512 MB y 1GB. Los hay de 100, 144 y 200 contactos.


RIMM

Designa a los módulos de memoria RAM que utilizan una tecnología denominada RDRAM, desarrollada por Rambus Inc. A. A pesar de tener tecnología SDRAM, niveles de rendimiento muy superiores a la tecnología SDRAM y las primeras generaciones de DDR RAM, debido al alto costo de esta tecnología, no han tenido gran aceptación en el mercado de los PCs.


~ Paginación de Memoria & Segmentación ~

Paginación de memoria

Los sistemas de paginación de memoria dividen los programas en pequeñas partes o páginas. Del mismo modo, la memoria es dividida en trozos del mismo tamaño que las páginas llamados marcos de página. De esta forma, la cantidad de memoria desperdiciada por un proceso es el final de su última página, lo que minimiza la fragmentación interna y evita la externa.
En un momento cualquiera, la memoria se encuentra ocupada con ´páginas de diferentes procesos, mientras que algunos marcos están disponibles para su uso. El sistema operativo mantiene una lista de estos últimos marcos, y una tabla por cada proceso, donde consta en qué marco se encuentra cada página del proceso. De esta forma, las páginas de un proceso pueden o no estar contiguamente ubicadas en memoria, y pueden intercalarse con las páginas de otros procesos.

Segmentación

La segmentación es una técnica de gestión de memoria que pretende acercarse más al punto de vista del usuario. Los programas se desarrollan, generalmente, en torno a un núcleo central (principal) desde el que se bifurca a otras partes (rutinas) o se accede a zonas de datos (tablas, pilas, etc.).
Desde este punto de vista, un programa es un conjunto de componentes lógicos de tamaño variable o un conjunto de segmentos, es decir, el espacio lógico de direcciones se considera como un conjunto de segmentos, cada uno definido por un identificador, y consistente de un punto de inicio y el tamaño asignado.

~ Jerarquía de Memorias ~

Niveles de la Jerarquía de Memoria:


Nivel 0: Registros.

Nivel 1: Memoria Caché.

Nivel 2: Memoria Principal.

Nivel 3: Disco Duro.


Registros:

Es una memoria de alta velocidad y poca capacidad, está integrada en el microprocesador y permite guardar y acceder a valores muy usados, por lo general en operaciones matemáticas. Los registros se miden por lo general por el número de bits que almacena. 

Tipos de registros:
  • De datos: usados para guardar números enteros.
  • De memoria: usados para guardar exclusivamente direcciones de memoria.
  • De propósito general: pueden guardar tantos datos como direcciones.
  • De coma flotante: usados para guardar datos en formato de coma flotante
  • De propósito específico: guardan información específica del estado del sistema.
  • Constante: tiene valores creados por el hardware de solo lectura.

Memoria caché:

Es una memoria rápida y pequeña, situada entre la memoria principal y el microprocesador, especialmente diseñada para contener información que se utiliza con frecuencia en un proceso con el fin de evitar accesos a otras memorias, reduciendo considerablemente el tiempo de acceso al ser más rápida que el resto de la memoria principal.

La memoria caché es una memoria en la que se almacena un serie de datos para su rápido acceso. 
La memoria caché de un microprocesador es de tipo volátil (del tipo RAM), pero de una gran velocidad. Su objetivo es almacenar una serie de instrucciones y datos a los que el microprocesador accede continuamente, con el fin de que estos accesos sean instantáneos.



Memoria principal:

Son circuitos integrados capaces de almacenar información digital, a los que tiene acceso el microprocesador del equipo de computación. Poseen una menor capacidad de almacenamiento que la memoria secundaria, pero una velocidad millones de veces superior. 

La memoria principal esta divida en:

Memoria ROM:

Memoria de sólo lectura (Read Only Memory) son utilizadas como medio de almacenamiento de datos en las computadoras.

Memoria RAM:

La memoria de acceso aleatorio, o memoria de acceso directo (Random Access Memory). Se compone de uno o más chips y se utiliza como memoria de trabajo para programas y datos. 

Disco Duro:

Es el dispositivo de almacenamiento de datos que emplea un sistema de grabación magnética para almacenar datos digitales. Se compone de uno o más platos o discos rígidos, unidos por un mismo eje que gira a gran velocidad dentro de una caja metálica sellada. Sobre cada plato, y en cada una de sus caras, se sitúa un cabezal de lectura/escritura que flota sobre una delgada lámina de aire generada por la rotación de los discos. Es memoria no volátil.

viernes, 3 de octubre de 2014

~ Memorias ~

Memoria

En informática, dispositivo basado en circuitos que posibilitan el almacenamiento  limitado de información y su posterior recuperación. Las memorias suelen ser de rápido acceso, y pueden ser volátiles o no volátiles. La clasificación principal de memorias son RAM y ROM. Estas memorias son utilizadas para almacenamiento primario.
Se emplea el término memoria también para llamar a cualquier dispositivo, circuito o medio de grabación que permite almacenar información desde una computadora. Existen memorias de almacenamiento secundario como los discos duros, discos ópticos, etc.

Fuente


Memoria Asociativa

Memoria a la que se accede según su contenido, no su dirección de memoria. A veces se denomina memoria accesible por contenido (CAM).

Fuente


Memoria Convencional

La memoria convencional son los primeros 640 kilobytes de la memoria en sistemas IBM PC o compatibles.

A medida que las memorias bajaron sus precios y se aumentaron sus capacidades, esta decisión de diseño (la limitación a solo 640 KB) se convirtió en una limitación para aplicaciones que empleaban más memoria, hasta la introducción de sistemas operativos y procesadores, que lo hicieron irrelevante.