jueves, 23 de julio de 2009

Administracion de la memoria


La parte del sistema operativo que administra la memoria se llama administrador de la memoria. Para ello existen diferentes esquemas de administración de memoria desde los mas simples hasta los mas elaborados entre los cuales se ubican:
· Administración de la memoria sin intercambio o paginación.
Los sistemas de administración de memoria se pueden clasificar en dos tipos. Los que desplazan los procesos de la memoria principal al disco y viceversa durante la ejecución (intercambio y paginación) y aquellos que no.
· Monopogramación sin intercambio o paginación.
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.
· Multiprogramación y uso de la memoria.
La multiprogramación facilita la programación de una aplicación al dividirla en dos o mas procesos. La mayoría de los procesos tardan cierto tiempo en la espera de datos de dispositivos E/S. Un modelo para el uso y aprovechamiento de la CPU es el modelo probabilístico dado por la fórmula :
Uso de la CPU = 1 − pn
· Multiprogramación con particiones fijas
El objetivo en todo esto es tener mas de un proceso en memoria a la vez, solución posible sería dividir la memoria en n partes al inicio de una sesión de uso de la máquina, pero aún así se obtiene el desperdicio de particiones grandes con una tarea pequeña, la respuesta puede ser tener particiones pequeñas también. Las tareas que van llegando se forman hasta que una partición adecuada está disponible, en cuyo momento la tarea se carga en esa partición y se ejecuta hasta terminar.
· Intercambio
En un sistema por lotes la organización de la memoria en particiones fijas es adecuado pero en un ambiente multiusuario la situación es distinta con el tiempo compartido, ya que existen mas usuarios de los que puede albergar la memoria, por lo que es conveniente albergar el exceso de los procesos en disco, por supuesto para ser ejecutados estos procesos deben ser trasladados a la memoria principal. Al traslado de procesos de disco a memoria y viceversa se le llama intercambio.
· Multiprogramación con particiones variables.
Mediante un algoritmo de administración de memoria las particiones variables varían de forma dinámica durante el uso de la máquina, evitando desperdicio de memoria. Otros métodos de administración de memoria que tenemos son:


La administración de memoria con mapa de bits
la memoria se divide en unidades de asignación, a cada asignación le corresponden un bit en el mapa de bits, un mapa de bits es una forma sencilla para llevar un registro de las palabras de la memoria en una cantidad fija de memoria.
La administración de memoria con listas ligadas
otra forma de mantener un registro en memoria es mediante una lista ligada donde cada entrada de la lista específica un hueco o un proceso.
La administración de memoria con el sistema de los asociados
basado en el sistema binario o utiliza para las direcciones.
· Memoria Virtual
El método diseñado por Fotheringham en 1961 se conoce como Memoria Virtual, la idea es que el tamaño combinado de la pila, programa y datos puede exceder la memoria física disponible para ello. El S.O. mantiene en memoria aquellas partes del programa que se deben permanecer en memoria y el resto lo deja en disco, las partes entre el disco y la memoria se intercambian de modo que se vayan necesitando.

· Paginación
El espacio de direcciones de cada proceso se divide en bloques de tamaño uniforme llamados páginas, los cuales se pueden colocar dentro de cualquier para página marco disponible en memoria. Cuando las tablas de páginas son muy grandes se puede utilizar un esquema de paginación de varios niveles para que las páginas se paginen a sí mismas.

Memoria asociativa
En los algoritmos de paginación las tablas de páginas se mantienen en la memoria debido a su gran tamaño, en potencia este diseño tiene un efecto enorme en el rendimiento.

Manejo de Memoria

Todas las variables, arreglos y objetos en general tienen una duración determinada durante el transcurso de un programa, esto quiere decir que son creados y destruidos de acuerdo a la ejecución del programa.
Existen 3 formas de utilizar la memoria para almacenar valores.

1.-Memoria Estática
Se utiliza para las variables globales y las declaradas como estáticas, tales objetos tienen asignada la misma dirección de memoria desde el comienzo hasta el final del programa.


* variables globales * variables static

2.-Memoria Automática
Es la utilizada por los argumentos y las variables locales en una función o procedimiento, cada ejecución de este crea tales objetos y son destruidos al salir de ellos.

* argumentos *variables locales

3.-Memoria Dinámica
Es también llamado almacenamiento libre y en estos caso el programador solicita memoria para almacenar un objeto y es el responsable de liberar tal memoria para que pueda ser reutilizada por otros objetos. La operación de reservar y liberar memoria para variables globales estáticas o globales son realizadas de modo implícito por el programa, la única que realiza el programador directamente es la de reservar memoria de forma dinámica.

Manejo de memoria estática: Es la memoria que se reserva en el momento de la compilación antes de comenzar a ejecutarse el programa. Los objetos mantienen la misma localización en memoria durante todo el transcurso del programa. Los objetos administrados de este modo son variables globales, variables static de funciones y miembros static de clases y literales de cualquier tipo. El problema con la memoria estática de memoria es que siempre se reserva antes de conocer los datos concretos del problema y esto origina reservar siempre un máximo de memoria que en la mayoría de las veces no se va a necesitar.

Manejo de memoria dinámica: La reserva de memoria dinámica se hace en tiempo de ejecución después de leer los datos y de conocer el tamaño exacto del problema. Como consecuencia se adapta mucho mejor a las necesidades en cada caso. El sitio donde se almacenan los objetos se denominan en ingles heap o free store traducido como montículo o memoria libre, y el sitio preciso donde se encuentre depende del compilador y el tipo de puntero utilizado. La creación y destrucción de los objetos esta en manos del programador a través de los operadores new y delete. En C# las variables que se declaran son punteros y se pasan eficientemente con referencia, tampoco es necesario considerar la liberación de la memoria puesto que framework se encarga de liberar todas las referencias que no se estén utilizando y compactar la memoria para mejorar el rendimiento.

Ventajas de utilizar memoria dinámica vs memoria estática: La memoria dinámica sirve para que los programadores se adapten siempre al tamaño del problema que tienen que resolver sin desperdiciar recursos de memoria y esto se traduce en una mayor eficiencia en la ejecución de los programas, las ventajas de utilizar memoria dinámica se valoran mejor en comparación con la utilización de la reserva de la memoria estática, como se muestra en el siguiente cuadro.

martes, 30 de junio de 2009

PROCESOS CONCURRENTES

  • Procesos concurrentes.- Aquellos que intercalan y/o superponen su ejecución.
  • Gestión Concurrencia.- Gestión de varios procesos o hilos. Comunicación, competencia por recursos, sincronización, asignación tiempo procesador.

Sincronización y Comunicación entre procesos


La comunicación entre procesos: necesaria si se desea que varios procesos puedan colaborar para realizar una misma tarea. Sincronización === funcionamiento coordinado en la resolución de una tarea encomendada.
El SO ofrece mecanismos básicos de comunicación, que permiten transferir cadenas de bytes. Deben ser los procesos que se comunican quienes interpreten el significado de las cadenas transferidas para su labor coordinada.
Los mecanismos de comunicación y sincronización son dinámicos. Es decir, cuando se necesita un mecanismo de este estilo, se crea, usa y destruye, de forma que no se establezca de forma definitiva ningún mecanismo de comunicación, ya que ellos podrían producir efectos indeseados. Es decir, la comunicación es algo puntual.
Los servicios básicos de comunicación son:
crear: el proceso solicita la creación del mecanismo
enviar o escribir: el proceso emisor envía información al proceso receptor
recibir o leer: el proceso receptor recibe información
destruir: el proceso solicita la destrucción del mecanismo de comunicación
La comunicación puede ser sincrona y asíncrona:
síncrona: los dos procesos han de ejecutar servicios de forma simultánea. El emisor ha de ejecutar el servicio enviar mientras el receptor ejecuta recibir.
asíncrona: el emisor hace el envío y prosigue su ejecución. El SO ofrece un almacenamiento intermedio para guardar la información enviada, hasta que el receptor la solicite.

Esquema de Sincronización Sincrona


Modelo de sección crítica
El modelo de sección crítica que vamos a utilizar sigue el siguiente protocolo genérico:
Entrar_SC(esta_SC) /* Solicitud de ejecutar esta_SC */
/* código de esta_SC */
Dejar_SC(esta_SC) /* Otro proceso puede ejecutar esta_SC */
Es decir, cuando un proceso quiere entrar a la sección crítica:
(1) ejecuta Entrar_SC(), y si la sección crítica está ocupada el proceso espera;
(2) ejecuta la sección crítica;
(3) ejecuta Dejar_SC(), permitiendo que entre uno de los procesos en espera.
La decisión de qué proceso es el seleccionado para entrar en el paso (3) puede tener consecuencias importantes, como se comentará más adelante. En general, puede asumirse disciplina FIFO.

Problemas que introduce la Concurrencia

  • Multiprogramación, multiproceso y procesamiento distribuido presentan los mismos problemas independientemente del número de procesadores.
    1Problemas para compartir recursos globales no compartibles
    Procedimiento echo ()
    Entrada(x);
    sal:=x;
    Salida(sal);
    End.


¿Problemas? ¿Solución?

  • Problemas de sincronización en la coordinación de procesos
    Proceso P1 Proceso P2
    i1 i1
    ..... ...
    ix iy
    Sincronización Sincronización
    Resto Resto

  • Dificultad de asignar los recursos de forma óptima.-Uso ineficiente de los recursos.
  • Dificultad de localizar errores.- Situaciones no repetibles.

Propiedades del acceso exclusivo a secciones críticas.-
Como criterios de validez de un mecanismo de sincronización nos referiremos al cumplimiento de las siguientes condiciones enunciadas por Dijkstra para el acceso exclusivo a una sección crítica.
Exclusión mutua. No puede haber más de un proceso simultáneamente en la
SC.
No interbloqueo. Ningún proceso fuera de la SC puede impedir que otro entre a la SC.
No inanición. Un proceso no puede esperar por tiempo indefinido para entrar a la SC.
Independencia del hardware. No se pueden hacer suposiciones acerca del número de procesadores o de la velocidad relativa de los procesos.
Suposición inicial adicional: las instrucciones del lenguaje. Máquina son atómicas y se ejecutan secuencialmente.
Además, existen otros criterios que determinan la calidad del mecanismo y que fundamentalmente se refieren a su rendimiento, como son la productividad (número de operaciones de sincronización por unidad de tiempo que el mecanismo es capaz de soportar) y el tratamiento equitativo entre los procesos (por ejemplo, siguiendo una politica FIFO para entrar a la sección crítica).


Entrada en sección crítica
Cuando un hilo quiere entrar en su sección crítica, primero obtiene su número de turno, que calcula como el máximo de los turnos de los otros hilos, más uno. (Si varios hilos realizan el cálculo al mismo tiempo, puede ocurrir que dos o más hilos obtengan el mismo turno).
Antes de entrar en sección crítica, el hilo debe asegurarse de que tiene el número de turno más bajo. En caso de empate, decidirá el identificador de hilo más bajo.
Cuando el hilo abandona la sección crítica, pone su número de turno a un valor especial que indique su no intención de entrar en sección crítica (en este algoritmo, se usa el valor cero).

Procesos ejecutan Sección Crítica
–Código de acceso a recursos compartidos no compartibles
–Hay que garantizar que cuando P está en su sección crítica usando el recurso R, ningún Q puede estar ejecutando sus secciones críticas para el recurso R
–Ejecución de las secciones críticas de los procesos es mutuamente exclusiva en el tiempo

Ejemplo: {R1 y R2} y {P1, P2 y P3 }con el siguiente comportamiento:
P1 P2 P3
CI CI CI
repeat repeat repeat
S.C:R1 S.C:R1 S.C:R2
Resto resto resto
Forever; S.C: R2 forever;

forever;

www.monografias.com

viernes, 12 de junio de 2009

Dispositivos de entrada y salida



Dispositivos de entrada


Son los que envían información a la unidad de procesamiento, en código binario. Dispositivos de entrada (entre otros): Teclado: Un teclado se compone de una serie de teclas agrupadas en funciones que podremos describir:
· Teclado alfanumérico: es un conjunto de 62 teclas entre las que se encuentran las letras, números, símbolos ortográficos, Enter, alt...etc.
· Teclado de Función: es un conjunto de 13 teclas entre las que se encuentran el ESC, tan utilizado en sistemas informáticos, más 12 teclas de función. Estas teclas suelen ser configurables pero por ejemplo existe un convenio para asignar la ayuda a F1.
· Teclado Numérico: se suele encontrar a la derecha del teclado alfanumérico y consta de los números así como de un Enter y los operadores numéricos de suma, resta,... etc.
· Teclado Especial: son las flechas de dirección y un conjunto de 9 teclas agrupadas en 2 grupos; uno de 6 (Inicio y fin entre otras) y otro de 3 con la tecla de impresión de pantalla entre ellas.
Recomendaciones: En este apartado es conveniente distinguir entre dos tipos de teclado:
· De Membrana: Fueron los primeros que salieron y como su propio nombre indica presentan una membrana entre la tecla y el circuito que hace que la pulsación sea un poco más dura.
· Mecánico: Estos nuevos teclados presentan otro sistema que hace que la pulsación sea menos traumática y más suave para el usuario.
· Mouse: A este periférico se le llamó así por su parecido con este roedor. Suelen estar constituidos por una caja con una forma más o menos anatómica en la que se encuentran dos botones que harán los famosos clicks de ratón siendo transmitidos por el cable al puerto PS/II o al puerto de serie (COM1 normalmente). Dentro de esta caja se encuentra una bola que sobresale de la caja a la que se pegan 4 rodillos ortogonalmente dispuestos que serán los que definan la dirección de movimiento del ratón. El ratón se mueve por una alfombrilla ocasionando el movimiento de la bola que a su vez origina el movimiento de uno o varios de estos rodillos que se transforma en señales eléctricas y producen el efecto de desplazamiento del ratón por la pantalla del ordenador.
Existen modelos modernos en los que la transmisión se hace por infrarrojos eliminando por tanto la necesidad de cableado. Otros presentan la bola en la parte superior de la caja no estando por tanto en contacto con la alfombrilla y teniendo que ser movida por los dedos del usuario aunque se origina el mismo efecto.
· Micrófono: Periférico por el cual transmite sonidos que el ordenador capta y los reproduce, los salva, etc. Se conecta a la tarjeta de sonido.
· Escáner: Es un dispositivo utiliza un haz luminoso para detectar los patrones de luz y oscuridad (o los colores) de la superficie del papel, convirtiendo la imagen en señales digitales que se pueden manipular por medio de un software de tratamiento de imágenes o con reconocimiento óptico de caracteres. Un tipo de escáner utilizado con frecuencia es el flatbed, que significa que el dispositivo de barrido se desplaza a lo largo de un documento fijo. En este tipo de escáneres, como las fotocopiadoras de oficina, los objetos se colocan boca abajo sobre una superficie lisa de cristal y son barridos por un mecanismo que pasa por debajo de ellos. Otro tipo de escáner flatbed utiliza un elemento de barrido instalado en una carcasa fija encima del documento.
Un tipo muy popular de escáner es el escáner de mano, también llamado hand-held, porque el usuario sujeta el escáner con la mano y lo desplaza sobre el documento. Estos escáneres tienen la ventaja de ser relativamente baratos, pero resultan algo limitados porque no pueden leer documentos con una anchura mayor a 12 o 15 centímetros.
· Lector de código de barras: dispositivo que mediante un haz de láser lee dibujos formados por barras y espacios paralelos, que codifica información mediante anchuras relativas de estos elementos. Los códigos de barras representan datos en una forma legible por el ordenador, y son uno de los medios más eficientes para la captación automática de datos.
· Cámara digital: Cámara que se conecta al ordenador y le transmite las imágenes que capta, pudiendo ser modificada y retocada, o volverla a tomar en caso de que este mal. Puede haber varios tipos:
· Cámara de fotos digital: Toma fotos con calidad digital, casi todas incorporan una pantalla LCD (Liquid Cristal Display) donde se puede visualizar la imagen obtenida. Tiene una pequeña memoria donde almacena fotos para después transmitirlas a un ordenador.
· Cámara de video: Graba videos como si de una cámara normal se tratara, pero las ventajas que ofrece en estar en formato digital, que es mucho mejor la imagen, tiene una pantalla LCD por la que ves simultáneamente la imagen mientras grabas. Se conecta al PC y este recoge el video que has grabado, para poder retocarlo posteriormente con el software adecuado.
· Webcam: Es una cámara de pequeñas dimensiones. Sólo es la cámara, no tiene LCD. Tiene que estar conectada al PC para poder funcionar, y esta transmite las imágenes al ordenador. Su uso es generalmente para videoconferencias por internet, pero mediante el software adecuado, se pueden grabar videos como una cámara normal y tomar fotos estáticas.
· Lápiz Óptico: dispositivo señalador que permite sostener sobre la pantalla un lápiz que está conectado al ordenador y con el que es posible seleccionar elementos u opciones (el equivalente a un clic de mouse o ratón), bien presionando un botón en un lateral del lápiz óptico o presionando éste contra la superficie de la pantalla.

El lápiz contiene sensores luminosos y envía una señal a la computadora cada vez que registra una luz, por ejemplo al tocar la pantalla cuando los píxeles no negros que se encuentran bajo la punta del lápiz son refrescados por el haz de electrones de la pantalla. La pantalla de la computadora no se ilumina en su totalidad al mismo tiempo, sino que el haz de electrones que ilumina los píxeles los recorre línea por línea, todas en un espacio de 1/50 de segundo. Detectando el momento en que el haz de electrones pasa bajo la punta del lápiz óptico, el ordenador puede determinar la posición del lápiz en la pantalla. El lápiz óptico no requiere una pantalla ni un recubrimiento especiales como puede ser el caso de una pantalla táctil, pero tiene la desventaja de que sostener el lápiz contra la pantalla durante periodos largos de tiempo llega a cansar al usuario.
· Joystick: dispositivo señalador muy conocido, utilizado mayoritariamente para juegos de ordenador o computadora, pero que también se emplea para otras tareas. Un joystick o palanca de juegos tiene normalmente una base de plástico redonda o rectangular, a la que está acoplada una palanca vertical. Los botones de control se localizan sobre la base y algunas veces en la parte superior de la palanca, que puede moverse en todas direcciones para controlar el movimiento de un objeto en la pantalla. Los botones activan diversos elementos de software, generalmente produciendo un efecto en la pantalla. Un joystick es normalmente un dispositivo señalador relativo, que mueve un objeto en la pantalla cuando la palanca se mueve con respecto al centro y que detiene el movimiento cuando se suelta. En aplicaciones industriales de control, el joystick puede ser también un dispositivo señalador absoluto, en el que con cada posición de la palanca se marca una localización específica en la pantalla.
· Tarjetas perforadas: ficha de papel manila de 80 columnas, de unos 7,5 cm (3 pulgadas) de ancho por 18 cm (7 pulgadas) de largo, en la que podían introducirse 80 columnas de datos en forma de orificios practicados por una máquina perforadora. Estos orificios correspondían a números, letras y otros caracteres que podía leer un ordenador equipada con lector de tarjetas perforadas.
· Pantalla Táctil: pantalla diseñada o modificada para reconocer la situación de una presión en su superficie. Al tocar la pantalla, el usuario puede hacer una selección o mover el cursor. El tipo de pantalla táctil más sencillo está compuesto de una red de líneas sensibles, que determinan la situación de una presión mediante la unión de los contactos verticales y horizontales.
Otros tipos de pantallas más precisas utilizan una superficie cargada eléctricamente y sensores alrededor de los bordes externos de la pantalla, para detectar la cantidad de cambio eléctrico y señalar exactamente donde se ha realizado el contacto. Un tercer tipo fija diodos emisores de rayos infrarrojos (LEDs, acrónimo de Light-Emitting Diodes) y sensores alrededor de los bordes externos de la pantalla. Estos LEDs y sensores crean una red invisible de infrarrojos en la parte delantera de la pantalla que interrumpe el usuario con sus dedos.
Las pantallas táctiles de infrarrojos se usan a menudo en entornos sucios, donde la suciedad podría interferir en el modo de operación de otros tipos de pantallas táctiles. La popularidad de las pantallas táctiles entre los usuarios se ha visto limitada porque es necesario mantener las manos en el aire para señalar la pantalla, lo que sería demasiado incómodo en largos periodos de tiempo. Además no ofrece gran precisión al tener que señalar ciertos elementos en programas de alta resolución. Las pantallas táctiles, sin embargo, son enormemente populares en aplicaciones como los puestos de información porque ofrecen una forma de señalar que no requiere ningún hardware móvil y porque presionar la pantalla es algo intuitivo.









Son los dispositivos que reciben información que es procesada por la CPU y la reproducen para que sea perceptible para la persona.
Dispositivos de salida (entre otros):
· Monitor: es la pantalla en la que se ve la información suministrada por el ordenador. En el caso más habitual se trata de un aparato basado en un tubo de rayos catódicos (CRT) como el de los televisores, mientras que en los portátiles es una pantalla plana de cristal líquido (LCD).
Puntos a tratar en un monitor:
· Resolución (RESOLUTION): Se trata del número de puntos que puede representar el monitor por pantalla, en horizontal x vertical. Así, un monitor cuya resolución máxima sea 1024x 768 puntos puede representar hasta 768 líneas horizontales de 1024 puntos cada una, probablemente además de otras resoluciones inferiores, como 640x480 u 800x600.
· Refresco de Pantalla: Se puede comparar al número de fotogramas por segundo de una película de cine, por lo que deberá ser lo mayor posible. Se mide en HZ (hertzios) y debe estar por encima de los 60 Hz, preferiblemente 70 u 80. A partir de esta cifra, la imagen en la pantalla es sumamente estable, sin parpadeos apreciables, con lo que la vista sufre mucho menos.
· Tamaño de punto (DOT PITCH): Es un parámetro que mide la nitidez de la imagen, midiendo la distancia entre dos puntos del mismo color; resulta fundamental a grandes resoluciones. En ocasiones es diferente en vertical que en horizontal, o se trata de un valor medio, dependiendo de la disposición particular de los puntos de color en la pantalla, así como del tipo de rejilla empleada para dirigir los haces de electrones.
Lo mínimo, exigible en este momento es que sea de 0,25 mm, no debiéndose admitir nada superior como no sea en monitores de gran formato para presentaciones, donde la resolución no es tan importante como el tamaño de la imagen.
· Controles y conexiones: Aunque se va cada vez más el uso de monitores con controles digitales, en principio no debe ser algo determinante a la hora de elegir un monitor, si bien se tiende a que los monitores con dichos controles sean los más avanzados de la gama.
· Multimedia: Algunos monitores llevan acoplados altavoces, e incluso micrófono y/o cámaras de video. Esto resulta interesante cuando se trata de un monitor de 15'' ó 17'' cuyo uso vaya a ser doméstico, para juegos o videoconferencias.
· Pantalla táctil: véase en dispositivos de entrada.
· Impresoras: Dispositivo que sirve para captar la información que le envía la CPU y imprimirla en papel, plástico, etc. Hay varios tipos:
· Matriciales: Ofrecen mayor rapidez pero una calidad muy baja.
· Inyección: La tecnología de inyección a tinta es la que ha alcanzado un mayor éxito en las impresoras de uso doméstico o para pequeñas empresas, gracias a su relativa velocidad, calidad y sobre todo precio reducidos, que suele ser la décima parte de una impresora de las mismas características. Claro está que hay razones de peso que justifican éstas características, pero para imprimir algunas cartas, facturas y pequeños trabajos, el rendimiento es similar y el coste muy inferior.
Hablamos de impresoras de color porque la tendencia del mercado es que la informática en conjunto sea en color. Esta tendencia empezó hace una década con la implantación de tarjetas gráficas y monitores en color. Todavía podemos encontrar algunos modelos en blanco y negro pero ya no son recomendables.
Las impresoras de inyección cuentan a favor con elementos como el coste, tanto de adquisición como de mantenimiento, la sencillez de manejo y el tamaño. En contra tenemos su escasa velocidad y calidad frente a otras tecnologías.
· Láser: Ofrecen rapidez y una mayor calidad que cualquiera, pero tienen un alto coste y solo se suelen utilizar en la mediana y grande empresa. Por medio de un haz de laser imprimen sobre el material que le pongamos las imágenes que le haya enviado la CPU.
· Altavoces: Dispositivos por los cuales se emiten sonidos procedentes de la tarjeta de sonido. Actualmente existen bastantes ejemplares que cubren la oferta más común que existe en el mercado. Se trata de modelos que van desde lo más sencillo (una pareja de altavoces estéreo), hasta el más complicado sistema de Dolby Digital, con nada menos que seis altavoces, pasando por productos intermedios de 4 o 5 altavoces. Sin duda alguna, se nota perfectamente el esfuerzo que todos los fabricantes han realizado para ponerse al día en esta tecnologia, ya que en poco tiempo han incorporado a su tecnología desarrollos basados en Dolby Surround o Dolby Digital.
Los más avanzados constan de 4 altavoces (2 delanteros y 2 traseros) de reducido tamaño, otro más central para los diálogos y un último altavoz mucho más voluminoso que se encarga de realzar las fuerzas de los graves. Hasta aquí todo parece indicar que se trata de otros juegos de altavoces cuadrafónicos. Pero la diferencia principal de estos sistemas es que incorporan un descodificador Dolby Digital, mediante el cual, podremos ajustar los volúmenes de cada juegos de altavoces, así como aplicar diferentes filtros de sonido en funcíon del tipo de sonido que estemos reproduciendo en cada momento (musica, película...etc). Para sacar partido de estos altavoces es necesario que nuestra tarjeta de sonido cuente con una salida S/PDIF de Dolby Digital ya que a través de ésta es desde donde los conjuntos de altavoces toman el sonido.
La desventaja de este tipo de unidades suele ser la calidad de las mismas. Teniendo en cuenta el precio de este tipo de conjuntos, en el que se incluye un aparato decodificador, la calidad de los 6s altavoces no puede ser especialmente buena, aunque para un uso casero resulta más que válida. Otra cuestíon es la potencia. Tratándose de altavoces pequeños y baratos no conseguirán una fildelidad de sonido muy grande a poco que la habitación tenga un tamaño medio.
En cualquier caso los equipos basados en Dolby Digital son muy escasos por el momento y debemos recurrir a equipos grandes si deseamos una calidad de sonido suficiente y por tanto será inevitable gastar una cantidad de dinero bastante importante.
· Auriculares: son dispositivos colocados en el oído para poder escuchar los sonidos que la tarjeta de sonido envía. Presentan la ventaja de que no pueden ser escuchados por otra persona, solo la que los utiliza. Fax: Dispositivo mediante el cual se imprime una copia de otro impreso, transmitida o bien, vía telefono, o bien desde el propio fax. Se utiliza para ello un rollo de papel que cuando acaba la impresión se corta.

jueves, 11 de junio de 2009

Ejemplos de sistemas operativos



Hay muchos sistemas operativos, pero todos descienden de dos sistemas operativos primitivos: el DOS (Disk Operating System) y el UNIX. (Existen otros sistemas operativos primitivos como el VMS, el RTL2, el CP/M, el MP/M, el VME/B...) Ambos sistemas operativos tenían como interfaz de usuario la línea de comandos: el DOS era el más sencillo y el UNIX el más potente.
El DOS fue desarrollado en 1979 por Tim Paterson trabajando para Seattle Computer Products y fue comprado por Microsoft Corporation. El UNIX fue diseñado en 1971.
Hay muchas diferencias entre el DOS y el UNIX. La más trivial se refiere al nombre de los archivos. En DOS los nombres de los archivos tienen la forma:

NOMBRE.EXTENSIÓN

en donde el nombre puede tener hasta 8 caracteres y la extensión sólamente hasta tres. Además hay ciertos caracteres reservados que no pueden utilizarse en los nombres como es el asterisco, por ejemplo. La extensión nos indica que tipo de archivo: txt indica que es un archivo de texto, bmp indica que es un tipo de imagen, bat, com y exe suelen indicar que nos encontramos frente a un programa ejecutable... En UNIX los nombres no tienen extensión por lo que un fichero puede tener tantos puntos como queramos en su nombre, de hecho el nombre puede tener hasta 256 caracteres de longitud. Aquí nuevamente hay caracteres reservados y el asterisco vuelve a ser uno de ellos. Los ejecutables se distinguen en este caso por algo que no se ve en el nombre: el permiso de ejecución. Otra diferencia es que DOS no distingue entre mayúsculas y minúsculas, mientras que UNIX sí lo hace.
Luego está el hecho de que DOS es un sistema monousuario mientras que UNIX es multiusuario, fue diseñado para ser utilizado simultáneamente por muchas personas. Por ello en UNIX el login (el nombre de usuario) y el password (la contraseña del usuario) son conceptos típicos. Otro ejemplo está en que en UNIX existe el concepto de correo y dos usuarios pueden enviarse mensajes.
Otra diferencia está en el árbol de directorios. En DOS a cada unidad de disco duro le corresponde un directorio raíz, un directorio que no está contenido en ningún directorio, lo mismo ocurre con cada unidad de disco flexible o con cada CD-ROM. En UNIX hay solamente un directorio raíz y todos los dispositivos físicos están contenidos en los subdirectorios de ese directorio.
Cada uno de estos sistemas operativos basados en la línea de comandos han tenido sus descendientes basados en interfaz gráfica.
Del DOS ha descendido Windows de Microsoft en sus distintas versiones (3.1, 95, 98, NT, 2000, xp y vista) y el OS/2 de IBM (también en sus distintas versiones: la presente es la OS/2 Warp 4). Del UNIX han descendido el Linux (el único sistema operativo de "dominio público"), el BeOS de Be, el Solaris de Sun, el MacOS X de Apple, el Irix de SGI, el NextStep OS de NeXT, el AIX...
Todos estos sistemas operativos contienen a sus antecesores. Se puede iniciar una sesión de DOS en Windows o en OS/2 y una sesión de UNIX en Linux o en BeOS. Además, algunos de estos sistemas operativos tienen línea de comandos aparte de interfaz gráfica como es el caso del OS/2.
Windows es el más conocido de todos los sitemas operativos y es el que utiliza la mayor parte de la gente. Cada versión es más inestable que la anterior y parecen estar construidas para que el usuario no piense y no haga nada por su propia iniciativa (eso es algo que se descubre con el uso). Hasta ahora la mayor virtud de Windows radica (aparte de en su sencillez) en que el entorno que ofrece es ideal para los juegos (cosa que podría dejar de ser cierta si los rumores sobre el BeOS son ciertos).
OS/2 es en muchos sentidos el más versátil. Interfaz gráfica y línea de comandos, por lo que si la interfaz gráfica se estropea los programas que no la necesiten pueden seguir ejecutándose desde la línea de comandos. Sesiones de DOS (como se indicaba antes) y de WIN-OS/2 (un Windows 3.1 contenido dentro de OS/2), por lo que cualquier programa de DOS o de Windows 3.1 puede ser ejecutado desde OS/2 (en realidad esto no es completamente cierto). Además existen las EMX y el ODIN (programas no incluidos en el sistema operativo) que pretenden permitir la ejecución de programas de UNIX y Windows 9x desde OS/2. Sólo existen tres virus conocidos de OS/2 y los tres no son nada más que bromas. Es casi tan configurable como Linux sin ser tan complicado como éste y casi tan sencillo como Windows sin prohibirle el pensamiento independiente al usuario. Eso sí, todavía le queda camino que andar en muchos aspectos.

Linux es muy popular por ser gratuito y por tener la estabilidad que tiene, pero tiene mil y un inconvenientes para la gente normal (es muy utilizado por científicos e ingenieros)... Cierto es que es muy seguro y los virus en él son poco menos que impensables, pero...
BeOS es el más reciente de todos los listados. Todo el mundo está de acuerdo en considerarlo un juguete, pero no necesariamente de forma negativa. Un sistema que se instala en ocho minutos desde Windows y que se configura en poco menos de una hora... Bien, puede que sea un juguete, pero es un juguete bien hecho.
De los demás sistemas operativos poco se puede decir salvo que existen. Dado que solamente están instalados estos cuatro, el autor de estas líneas no puede nada más que decir vaguedades acerca de los otros. Quizá en un futuro no muy lejano pueda experimentar con otros (lo está deseando).
Un detalle importante sobre los sistemas operativos es que cada uno usa su propio sistema de archivos, esto es, cada uno organiza la información de forma distinta a los demás. El disco duro tiene un formato correspondiente al sistema de archivos determinado. Esto implica que existan problemas para instalar varios sistemas operativos en un mismo ordenador. DOS usa el sistema de archivos FAT; Windows 95, VFAT; Windows 98, FAT32; Windows NT y 2000, NTFS; OS/2 el HPFS; Linux el ext2; el BeOS el BFS; el MacOS el HFS...

Uso de los diferentes sistemas operativos durante el mes de mayo.

09/06/2009 - Los nuevos datos del mes de mayo repiten de forma casi idéntica los números del mes de abril respecto a Windows. Asi Vista vuelve a experimentar un crecimiento de un 0.45 %, mientras que XP, que continua siendo el sistema operativo más usado, sufre una nueva perdida de un 0.68% que le lleva a un total de un 61.54%El sistema operativo de Apple mejora sus guarismos, ganando un 0.22% en su versión Mac OS X 10.5 y perdiendo un 0.6% en su versión Mac OS X 10.4.Linux pierde el 1% de cuota de mercado mundial total alcanzada hace un mes y tras 11 meses seguidos creciendo experimenta un retroceso de 0.03% que lo sitúa en el 0.99%.Por sistemas Windows vuelve a bajar hasta situarse en un 87.75%, Mac alcanza un 9.81% y Linux un 0.99 %. Cuota de las diferentes versiones de los principales sistemas operativos en abril 2009:Windows XP: 61.54%Windows Vista: 24.35%Mac OS X 10.5: 6.39%Mac OS X 10.4: 2.49%Windows 2000: 1.06%Linux: 0.99%otros: 3.11% de estos otros, destaca Windows 7 con un 0.42% y Windows 98 con un 0.16%Curioso es el dato que señala que hay mas usuarios de Windows 2000 (1.06%) que de Linux (0.99%).

Ventajas de usar software libre
1. Económico (más de mil millones de euros en licencias de Microsoft en España anuales)
2. Libertad de uso y redistribución
3. Independencia tecnológica
4. Fomento de la libre competencia al basarse en servicios y no licencias
5. Soporte y compatibilidad a largo plazo
6. Formatos estándar
7. Sistemas sin puertas traseras y más seguros
8. Corrección mas rápida y eficiente de fallos
9. Métodos simples y unificados de gestión de software
10. Sistema en expansión


Concluciones

Creo que todo sistema operativo tiene buenas herramientas para aprovecharlas y no desaprovecharlas como en verdad lo hacemos, jugando, chateando, viendo cosas que no sirven para nada, en fin.

La mayoria de las computadoras ya vienen con el SO Windows instalado, es por eso que no nos damos cuenta las ventajas que tienen los demas SO y creo que esta mejor el software libre.

Ciclo de reloj




También denominado cielos por segundo o frecuencia, este término hace referencia a la velocidad del procesador incorporado en la CPU del ordenador, y se mide en megaherzios (MHz). A mayor índice de frecuencia, más rápido es el procesador y, en consecuencia, el ordenador. Hace unos años era frecuente encontrar procesadores a 16 MHz, pero hoy en día lo normal es que éstos superen los 120 MHz.









Definición y significado de Ciclo de reloj
Frecuencia Número de veces que se repite una onda en una cantidad de tiempo determinada. Su unidad de medida es el hertzio y la velocidad de los procesadores (o ciclos...-Ciclo Rutina que ejecuta un conjunto de instrucciones de manera repetitiva hasta que se cumple. ...-
Procesador de Textos Procesador de Textos WordPerfect es el más extendido. Dentro de las distintas posibilidades que ofrece el software de aplicación, estos programas trabajan con textos (con frecuencia incluyen gráficos)
Ordenador Personal Ordenador Personal PC. Es la denominación más común para una clase de máquinas ya muy populares. Hace apenas unos años estos ordenadores ofrecían escasa potencia y tenían un coste muy elevado.
DitheringDithering Consiste en adaptar unos gráficos con una gran cantidad de colores a un modo de pantalla que no tiene tantos colores.

miércoles, 10 de junio de 2009

Manejo de Interrupciones


Una interrupción es un evento que hace que el microcontrolador deje de ejecutar la tarea que está realizando para atender dicho acontecimiento y luego regrese y continue la tarea que estaba realizando antes de que se presentara la interrupción.El mecanismo interno (dentro del procesador) de trasferencia de interrupciones, llamado “Mondo”, del sistema “Sun4u” (perteneciente a la misma compañía que fabrican el procesador UltraSPARC-IIi, basado en la arquitectura SPARC–V9) es implementado con el UltraSPARC-IIi, por medio del cual se reduce la sobrecarga del servicio de interrupciones, identificando a un único dispositivo “interruptor”, sin necesidad de sondear varios registros de estados.Los procesadores con la arquitectura SPARC V9 proporcionan un conjunto de registros dedicados, de uso exclusivo para el servicio de interrupciones. Esto elimina la necesidad que tiene el procesador de salvar su conjunto normal de registros para atender una interrupción, y luego ser vueltos a almacenar.Un paquete de interrupciones contiene un vector Mondo con tres palabras dobles, dedicados a asistir al procesador en el servicio de interrupciones.Algunas de las limitaciones del vector Mondo son:· Solo un paquete de solicitud de interrupción puede ser atendido a la vez.· No existe nivel de prioridad asociado con el vector de interrupciones Mondo; ellos son atendidos con la lógica “primero que llega, primero en ser atendido”.La entrega de los paquetes de interrupción ahora se realiza dentro del UltraSPARC-IIi. Como es un camino dedicado a un solo proceso, las tareas de flujo de control son más simples, y no se necesitan reintento de interrupciones. UltraSPARC-IIi causa una sola entrega del paquete de interrupción a la vez, luego de cada reconocimiento por software (en el manejador de trampas de recepción mondo).El bloque lógico PIE del UltraSPARC-IIi es responsable por recibir las interrupciones desde una fuente externa PCI, otras fuentes externas (dispositivos de E/S, interrupciones gráficas, UPA64S y otros), y fuentes internas, cargando los registros de datos mondo, y señalizando una trampa de recepción mondo al pipeline del UltraSPARC-IIi. Las interrupciones externas son concentrados en un ASIC (circuito integrado de aplicación específica) externo (STP2210QFP) que muestrea todas las líneas de entrada de interrupciones en forma cíclica (round–robin) y presenta a una de ellas a la vez al UltraSPARC-IIi. Este soporta hasta 8 líneas de PCI con 4 interrupciones cada una (hasta un máximo de 26), 12 para dispositivos de E/S, uno para gráficos y uno para el UPA. Los tipos de línea de entrada al concentrador pueden ser por nivel y por pulso. Esto es transparente al software, pero el hardware lo trata de modo distinto.Atendiendo al sistema Mondo, con cada interrupción son cargados tres registros de palabras dobles, junto con los datos. Para el UltraSPARC-IIi, los 53 bits más significativos de la primer palabra, como los 64 bits de los otros dos registros son ceros. Los 11 bits menos significativos de la primera palabra contienen el número de interrupción (INR), el cual indica el tipo de interrupción. El software utiliza el INR para indexar (apuntar) en una tabla, la cual típicamente provee el IRL, que es el Contador de Programa (Program Counter) de la rutina de servicio de interrupción, y los argumentos necesarios para la rutina.La CPU puede procesar solo una interrupción a la vez. La Unidad de Despacho Mondo es responsable de recordar todas las interrupciones que han llegado, y colocarles en serie en el cause (pipeline) de la CPU como trampas (traps). Además, rastrea el estado de escrituras pendientes del DMA y garantiza que todas las escrituras DMA sean completadas a la memoria antes de notificar a la CPU.Cada interrupción tiene una prioridad asociada con él. Existen 8 niveles de prioridad (8 el más alto y 1 el más bajo). Son utilizadas en las decisiones en los arbitrajes. Así, cuando varias interrupciones estén presente, será atendida aquella con mayor prioridad. Si ellas tienen todas la misma prioridad, serán atendidas en forma cíclica (round–robin).