martes, 28 de agosto de 2012


ALGORITMO DE PETERSON




VENTAJAS

Simplifica el algoritmo de Dekker (Ver ALGORITMO DE DEKKER).

El protocolo de entrada es más elegante con las mismas garantías de exclusión mutua, imposibilidad de bloqueo mutuo y de aplazamiento indefinido.


DESVENTAJAS

Deja que dos procesos compartan una variable, Turn inicializada a a 0 (01). Si Turn= y, entonces el proceso Pi tiene permiso para ejecutar su SC.

repeat
while turn= y do skip
S.C.
turn:= j
S. Residual
until false

No satisface el requerimiento de programación, puesto que requiere una alternancia estricta de procesos en la ejecución de la S.C. Por ejemplo si Turn= 0 y P1 quiere entrar en su S.C, o puede hacerlo, aunque P0 pueda encontrarse en su S.R.


TOMADO DE:


martes, 21 de agosto de 2012


RISC VS CISC

Veamos primero cual es el significado de los términos CISC y RISC:
  • CISC (complex instruction set computer) Computadoras con un conjunto de instrucciones complejo.
  • RISC (reduced instruction set computer) Computadoras con un conjunto de instrucciones reducido.


Los atributos complejo y reducido describen las diferencias entre los dos modelos de arquitectura para microprocesadores solo de forma superficial. Se requiere de muchas otras características esenciales para definir los RISC y los CISC típicos. Aun más, existen diversos procesadores que no se pueden asignar con facilidad a ninguna categoría determinada.
Así, los términos complejo y reducido, expresan muy bien una importante característica definitiva, siempre que no se tomen solo como referencia las instrucciones, sino que se considere también la complejidad del hardware del procesador.
Con tecnologías de semiconductores comparables e igual frecuencia de reloj, un procesador RISC típico tiene una capacidad de procesamiento de dos a cuatro veces mayor que la de un CISC, pero su estructura de hardware es tan simple, que se puede realizar en una fracción de la superficie ocupada por el circuito integrado de un procesador CISC.

ARQUITECTURAS CISC

Basado en un amplio repertorio de instrucciones. Se aumenta la potencia del microprocesador a costa de aumentar el tamaño de las instrucciones, y por tanto el número de ciclos de reloj que precisan para ejecutarse. Eso sí, los programas verán reducido el número de instrucciones máquina que precisan para ser ejecutados por el microprocesador.

Como por ejemplo:
Intel 8086, 8088, 80286, 80386, 80486.
Motorola 68000, 68010, 68020, 68030, 6840.


Este tipo de arquitectura dificulta el paralelismo entre instrucciones, por lo que, en la actualidad, la mayoría de los sistemas CISC de alto rendimiento implementan un sistema que convierte dichas instrucciones complejas en varias instrucciones simples del tipo RISC, llamadas generalmente microinstrucciones.
La microprogramación significa que cada instrucción de máquina es interpretada por un microprograma localizado en una memoria en el circuito integrado del procesador.

RISC
Las características esenciales de una arquitectura RISC pueden resumirse como sigue:
  • Estos microprocesadores siguen tomando como base el esquema moderno de Von Neumann.
  • Las instrucciones, aunque con otras características, siguen divididas en tres grupos:
  • a)Transferencia. b) Operaciones. c) Control de flujo.
  •  Reducción del conjunto de instrucciones a instrucciones básicas simples, con la que pueden implantarse todas las operaciones complejas.
  •  Arquitectura del tipo load-store (carga y almacena). Las únicas instrucciones que tienen acceso a la memoria son 'load' y 'store'; registro a registro, con un menor número de acceso a memoria.
  • Casi todas las instrucciones pueden ejecutarse dentro de un ciclo de reloj. Con un control implantado por hardware (con un diseño del tipo load-store), casi todas las instrucciones se pueden ejecutar cada ciclo de reloj, base importante para la reorganización de la ejecución de instrucciones por medio de un compilador.
  • Pipeline (ejecución simultánea de varias instrucciones). Posibilidad de reducir el número de ciclos de máquina necesarios para la ejecución de la instrucción, ya que esta técnica permite que una instrucción puede empezar a ejecutarse antes de que haya terminado la anterior.


El hecho de que la estructura simple de un procesador RISC conduzca a una notable reducción de la superficie del circuito integrado, se aprovecha con frecuencia para ubicar en el mismo, funciones adicionales:
  • Unidad para el procesamiento aritmético de punto flotante.
  • Unidad de administración de memoria.
  • Funciones de control de memoria cache.
  •  Implantación de un conjunto de registros múltiples.

    BIBLIOGRAFIA:




jueves, 16 de agosto de 2012


¿QUÉ ES UN PROCESO?

Es la ejecución de un programa individual.

CARÁCTERISTICAS

  • Unidad de propiedad de los recursos: A cada proceso se le asigna un espacio de direcciones virtuales para albergar a la imagen del proceso y, de cuando en cuando, al proceso se le puede asignar memoria virtual y otros recursos, tales como canales de E/S, dispositivos de E/S y archivos.
  • Unidad de expedición: Un proceso es un camino de ejecución (traza) a través de uno o más programas. Esta ejecución puede ser intercalada  con la de otros procesos. De este modo, un proceso tiene un estado de ejecución (Ejecución, Listo, etc.) y una prioridad de expedición. La unidad planificada y expedida por el sistema operativo es el proceso.


En la mayoría de los sistemas operativos, estas 2 características son, de hecho, la esencia de un proceso. Sin embargo, algunos argumentos pueden convencer de que estas dos características son independientes y que deben ser tratadas de manera independiente por el sistema operativo. Para distinguir estas dos características, la unidad de expedición se conoce como hilo (Thread) o proceso ligero (Lightweight process), mientras que a la unidad de propiedad de los recursos se le suele llamar proceso o tarea.

En los sistemas operativos multihilo es posible crear tanto hilos como procesos. La diferencia consiste en que un proceso solamente puede crear hilos para sí mismo y en que dichos hilos comparten toda la memoria reservada para el proceso.


TOMADO DE:

Libro Stallings, William - Sistemas Operativos (Capítulo 3, 3.4 Procesos e hilos pag 135)


ALGUNAS TECNOLOGÍAS ASOCIADAS A LOS PROCESADORES

HYPERTRANSPORT
La tecnología HyperTransport es un enlace punto a punto de alta velocidad y baja latencia diseñado para aumentar hasta 48 veces más la velocidad de comunicación entre los circuitos integrados de los equipos de computación, servidores, sistemas integrados, redes y telecomunicaciones de algunas tecnologías existentes.


HYPERTHREADING
La tecnología HyperThreading es un diseño de la empresa Intel que permite al software programado para ejecutar múltiples hilos (multi-threaded) procesar los hilos en paralelo dentro de un único procesador, incrementando el uso de las unidades de ejecución del procesador. Esta tecnología consiste en usar dos procesadores lógicos dentro de un único procesador físico, el resultado es una mejoría en el uso del procesador, ya que al simular dos procesadores puede aprovechar mejor los recursos del procesador y por lo tanto una mejora en la velocidad de las aplicaciones. 


INTEL TURBO BOOST
Ésta función hace que el procesador sea capaz de incrementar su frecuencia de funcionamiento, de forma automática, en determinadas circunstancias.


TECNOLOGÍA MMX
La tecnología MMX ("MultiMedia eXtensions") fue introducida en 1.997 por Intel en sus procesadores Pentium para mejorar la manipulación de imágenes y tratamiento de codecs de audio/video, mediante un conjunto de 57 nuevas instrucciones, así como una nueva capacidad denominada SIMD ("Single Instrucction Multiple Data").


EXTENSIONES SIMD
Con la aparición del Pentium III en 1.999 se introdujeron nuevas mejoras en la tecnología MMX, introduciendo 70 nuevas instrucciones denominadas SSE ("Streaming SIMD Extensions") o KNI("Katmai News Instrucctions") puesto que Katmai que era el nombre clave del Pentium III antes de su lanzamiento.
Las instrucciones SSE son especialmente adecuadas para decodificación de MPEG2, que es el codec utilizado normalmente en los DVDs, procesamiento de gráficos tridimensionales y software de reconocimiento de voz.


3DNOW
La tecnología 3DNow es la respuesta AMD a las SSE de Intel.  Se introdujo por primera vez en 1.998 en la serie K6 de procesadores, y son un conjunto de 21 instrucciones que mejoran las capacidades multimedia de estos procesadores.  Enhanced 3DNow añade otras 24 nuevas instrucciones a las anteriores.


TECNOLOGÍA MULTINÚCLEOS


Bibliografía:


miércoles, 8 de agosto de 2012


Shell



Shell es un término UNIX para la interfaz de usuario interactiva de un sistema operativo. El Shell es la capa de programación que entiende y ejecuta los comandos que el usuario ingresa.  En algunos sistemas, el Shell es llamado un interpretador de comandos. Un Shell usualmente implica una interface con una sintaxis de comandos

Como la capa exterior de un sistema operativo, el shell puede ser contrastado con el Kernel (núcleo), la capa más profunda del sistema operativo o núcleo de servicios.

Los shells pueden ser tanto gráficos como de texto simple, dependiendo del tipo de interfaz que empleen.


Tipos de Shell

Shells de texto

  • Bourne Shell (Su símbolo del sistema es $. Es el shell estándar y el que se monta en casi todos los sistemas UNIX/Linux.)
  • Debian Almquist Shell
  • Bash (Incorpora algunas características útiles de ksh y csh, y otras propias como la edición de línea de comandos, tamaño ilimitado del historial de comandos, control de los trabajos y procesos, funciones y alias, cálculos aritméticos con números enteros, etc. Su símbolo del sistema es nombre_usuario@nombre_equipo.)
  • Korn Shell (Amplía el shell del sistema añadiendo historial de órdenes, edición en línea de órdenes y características ampliadas de programación.)
  • C Shell (Proporciona funciones tales como control de trabajos, historial de órdenes, etc. Ofrece importantes características para los programadores que trabajan en lenguaje C. Su símbolo del sistema es %.)
  • TENEX C Shell
  • Z Shell
  • Emacs
  • Símbolo del sistema de Windows


Shells gráficos

  • GNOME
  • KDE (Se basa en el principio de la personalización; todos los componentes de KDE pueden ser configurados en mayor o menor medida por el usuario.) 
  • Xfce 
  • LXDE (A diferencia de otros ambientes de escritorio, los componentes no se integran firmemente. Al contrario, los componentes son independientes, y cada uno de ellos puede utilizar independientemente con muy pocas dependencias). 
  • Unity 
  • Escritorio de MS Windows



Fuentes:


Más información en:




martes, 7 de agosto de 2012


Firefox OS en imágenes



Firefox Mobile OS, anteriormente conocido como Boot2Gecko, sigue adelante en su desarrollo y se acaba de poner en circulación una versión nightly build, con él último código integrado.

Os recordamos que la filosofía de Mozilla es la de crear un sistema operativo basado en estándares web, con Gecko (el motor de renderizado de Firefox) como corazón del sistema. El núcleo del sistema es Linux, y todo está envuelta en una interfaz de usuario bautizada como Gaia, de la que se tienen las primeras imágenes.
Con un poco de muchos sistemas operativos, iconos redondos al estilo Symbian y muchos elementos tomados de iOS y Android (no encontramos nada revolucionario en plan Windows Phone), el sistema parece haber madurado con rapidez desde que fuera presentado a finales de 2011.
Recientemente se anunció el cambio de nombre a un más apropiado Firefox OS, y el soporte por parte de la operadora Telefónica (parece que se estrenará en Brasil).
Con el 90% de la industria controlada por iOS y Android, y con Microsoft haciendo esfuerzos por hacerse un pequeño hueco, parece muy complicado que un cuarto llegue para comerse un trozo de pastel. Por el bien de la competencia, esperamos que también encuentre su sitio.

Noticia tomada de:
Más información en: