Mostrando entradas con la etiqueta Featured. Mostrar todas las entradas
Mostrando entradas con la etiqueta Featured. Mostrar todas las entradas
Anteriormente era bastante difícil de creer que Microsoft y Google pudieran colaborar en algún desarrollo, sin embargo, hoy en día las grandes compañías han formado alianzas para mejorar algunas tecnologías web. En este caso Google y Microsoft han contribuirán para mejorar el Framework AngularJS, el cual ha llegado para brindar una serie de mejoras para los desarrolladores web.

En ng-conf en Salt Lake City, el equipo angular anunció que ha estado trabajando en estrecha colaboración con el equipo de TypeScript de Microsoft para desarrollar Angular 2, y converge los idiomas de TypeScript y AtScript.

TypeScript es un superconjunto de JavaScript, el cual ofrece características adicionales, pero compila de nuevo en JavaScript plano.

Angular es uno de los Frameworks más populares de JavaScript, pero la versión dos ha sido decepcionante con los desarrolladores, ya que no ofrece ninguna opción de migración desde la primera versión de angular y trae una serie de cambios importantes que requieren aprender de nuevo algunos conceptos.

Una vez mas vemos que Google y Microsoft pueden colaborar en un proyecto tan grande, lo cual es magnifico. Esto demuestra una vez más que Microsoft está abriendo lentamente y dando el soporte a tecnologías libres.


CISC nació con la finalidad de homogeneizar los diferentes computadores en los años 50 y 60. RISC buscó en los 70 ir un paso más allá y mejorar el rendimiento con instrucciones más simples pero programas más largos y más difíciles de desarrollar.
Tanto CISC como RISC han evolucionado de forma muy notable desde su nacimiento, adoptando mejoras provenientes del contrario en ambos casos y nuevos conjuntos de instrucciones para adaptarse a los usos de los ordenadores. Si bien es cierto que en la época de su creación la diferencia era muy amplia – principalmente debido a las limitaciones técnicas de la época tanto en tamaño de memoria como en velocidad de proceso -, en la actual informática moderna los requisitos son muy diferentes. Los límites en capacidad de almacenamiento son casi inexistentes y los procesadores son capaces de ejecutar millones de instrucciones en un solo segundo.

La gran batalla actual es la de sus dos grandes exponentes, ARM y x86, que han actualizado sus objetivos a lo que les importa a los usuarios del siglo XXI. Veremos que el punto fuerte de ARM está en la eficiencia energética. Un chip ARM consume mucha menos energía que un procesador x86 que tiene en su alto rendimiento su gran virtud, a costa de consumir bastante más energía.
En arquitectura computacional, RISC (del inglés Reduced Instruction Set Computer, en español Computador con Conjunto de Instrucciones Reducidas) es un tipo de diseño de CPU generalmente utilizado en microprocesadores o microcontroladores con las siguientes características fundamentales:

  • Instrucciones de tamaño fijo y presentadas en un reducido número de formatos.
  • Sólo las instrucciones de carga y almacenamiento acceden a la memoria de datos.

Además estos procesadores suelen disponer de muchos registros de propósito general.

El objetivo de diseñar máquinas con esta arquitectura es posibilitar la segmentación y el paralelismo en la ejecución de instrucciones y reducir los accesos a memoria. Las máquinas RISC protagonizan la tendencia actual de construcción de microprocesadores. PowerPC, DEC Alpha, MIPS, ARM, SPARC son ejemplos de algunos de ellos.

RISC es una filosofía de diseño de CPU para computadora que está a favor de conjuntos de instrucciones pequeñas y simples que toman menor tiempo para ejecutarse. El tipo de procesador más comúnmente utilizado en equipos de escritorio, el x86, está basado en CISC en lugar de RISC, aunque las versiones más nuevas traducen instrucciones basadas en CISC x86 a instrucciones más simples basadas en RISC para uso interno antes de su ejecución.

La idea fue inspirada por el hecho de que muchas de las características que eran incluidas en los diseños tradicionales de CPU para aumentar la velocidad estaban siendo ignoradas por los programas que eran ejecutados en ellas. Además, la velocidad del procesador en relación con la memoria de la computadora que accedía era cada vez más alta. Esto conllevó la aparición de numerosas técnicas para reducir el procesamiento dentro del CPU, así como de reducir el número total de accesos a memoria.

Terminología más moderna se refiere a esos diseños como arquitecturas de carga-almacenamiento.


El algoritmo SJF (Shortest-Job-First) se basa en los ciclos de vida de los procesos, los cuales transcurren en dos etapas o periodos que son: ciclos de CPU y ciclos de entrada/salida, también conocidos por ráfagas.
La palabra shortest (el más corto) se refiere al proceso que tenga el el próximo ciclo de CPU mas corto. La idea es escoger entre todos los procesos listos el que tenga su próximo ciclo de CPU más pequeño. El SJF se puede comportar de dos formas:
Con Desalojo: Si se incorpora un nuevo proceso a la cola de listos y este tiene un ciclo de CPU menor que el ciclo de CPU del proceso que se está ejecuando,entonces dicho proceso es desalojado y el nuevo proceso toma la CPU.
Sin desalojo: Cuando un proceso toma la CPU, ningún otro proceso podrá apropiarse de ella hasta que que el proceso que la posee termine de ejecutarce.


Un proceso puede informalmente entenderse como un programa en ejecución. Formalmente un proceso es "Una unidad de actividad que se caracteriza por la ejecución de una secuencia de instrucciones, un estado actual, y un conjunto de recursos del sistema asociados".1

Para entender lo que es un proceso y la diferencia entre un programa y un proceso, A. S. Tanenbaum propone la analogía "Un científico computacional con mente culinaria hornea un pastel de cumpleaños para su hija; tiene la receta para un pastel de cumpleaños y una cocina bien equipada con todos los ingredientes necesarios, harina, huevo, azúcar, leche, etcétera." Situando cada parte de la analogía se puede decir que la receta representa el programa (el algoritmo), el científico computacional es el procesador y los ingredientes son las entradas del programa. El proceso es la actividad que consiste en que el científico computacional vaya leyendo la receta, obteniendo los ingredientes y horneando el pastel.

Cada proceso tiene su contador de programa, registros y variables, aislados de otros procesos, incluso siendo el mismo programa en ejecución 2 veces. Cuando este último caso sucede, el sistema operativo usa la misma región de memoria de código, debido a que dicho código no cambiará, a menos que se ejecute una versión distinta del programa.

Los procesos son gestionados por el sistema operativo y están formados por:


  • Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador.
  • Su estado de ejecución en un momento dado, esto es, los valores de los registros de la unidad central de procesamiento para dicho programa.
  • Su memoria de trabajo (memoria crítica), es decir, la memoria que ha reservado y sus contenidos.
  • Otra información que permite al sistema operativo su planificación.

Xpiria Z


En la ultima actualización de la aplicación de busqueda por voz de el gigante de internet se introdujo un problema con algunos de los teléfonos de la serie Z de sony el cual es muy difícil de detectar

Consecuencias

la principal molestia de este error es el uso del dispositivo cuando se conectan los manos libres ya que las llamadas disminuyen su volumen demasiado hasta el punto de no escuchar nada, adicional mente todas las funciones de audio se ven interrumpidas de la mismas forma y quisas la que mas causa molestia es la imposibilidad de usar el radio.

Causa

no es común que se active una función de una aplicación y dañe otra que no tenga nada que ver o que ni siquiera sea del mismo desarrollador, pero este es el caso de este error al activar la función "OK Google" en el Google Now la radio deja de encender

OK Google

Solución

Lo que tienes que hacer es acceder al listado de aplicaciones que se tienen instaladas en el dispositivo y ejecutar la que se llama Google. Aparece una pantalla en la que hay una Barra de búsqueda en la parte superior que tiene un icono con tres líneas horizontales que es el que tienes que pulsar. Ahora, de las opciones que aparecen, debes seleccionar Ajustes.

En la siguiente pantalla debes localizar la opción Voz y, a continuación utiliza Detección de “OK Google”. Aquí es donde están los deslizadores que debes deshabilitar para que el terminal no ejecute el asistente al detectar “OK Google”. Una vez hecho esto, puedes comprobar que el servicio se ha desactivado y, por lo tanto, el trabajo está realizado.






Es una estrategia de organización de la memoria que consiste en dividir la memoria en porciones de igual tamaño, a dichas porciones se las conoce como marcos de página o simplemente como páginas. Las páginas están definidas por un número de página, que identifica de forma única a cada página (dentro del espacio de memoria de un proceso). Cada página se asigna en exclusividad a un proceso.

Desde el punto de vista de la paginación la traducción de las direcciones de memoria se basa en dos conceptos:

  • El dispositivo traductor divide las direcciones lógicas en 2 partes de la siguiente forma: los n bits más significativos identifican la página mientras que el resto identifica el desplazamiento.
  • Cuando el traductor dinámico de páginas recibe, en una dirección lógica, un número de página este examina una tabla (llamada tabla de páginas) en la cual se relacionan las páginas lógicas con las páginas físicas y obtiene la dirección real (Número de marco) de la siguiente forma:
paginacion

Dispositivo de traducción de direcciones paginadas


Se dispone de la tabla de páginas de cada proceso en memoria para llevar a cabo la traducción. La tabla de páginas se indexa por número de página.
El dispositivo de traducción de direcciones paginadas debe ser un dispositivo muy rápido, ya que se usa con cada acceso a memoria que se realiza. El tamaño de la tabla de páginas es uno de los aspectos que más influye en el diseño del dispositivo e incluso en la organización de la propia tabla. Otro aspecto relevante es la localización de dicha tabla, la cual puede encontrarse en el traductor o guardada en memoria:

Tabla de páginas en el traductor:

Se usa en equipos cuyo espacio de direcciones es de pocas páginas. El dispositivo de traducción contiene un conjunto de registros organizados como una memoria en los cuales almacena la tabla de páginas. Dicha tabla de páginas debe sustituirse (lo cual aumenta el tiempo de conmutación) en dos situaciones distintas: al cambiar de proceso y al transferir el control al s.o. (en este caso se reduce el tiempo de conmutación utilizando dos tablas separadas, una para los procesos y otra para el s.o., las cuales se utilizan dependiendo del modo de uso de la CPU, supervisor o usuario).

Tabla de páginas en memoria:

Se usa en equipos con mucha memoria, en los cuales el número de páginas puede llegar a ser muy alto con lo que el tiempo necesario para cargar las páginas en el traductor es demasiado alto. La tabla de páginas es guardada en la memoria principal y el dispositivo traductor tiene la dirección de comienzo y el tamaño de la tabla, debido a que la tabla está en la memoria principal se necesita, por cada acceso a memoria, un acceso a memoria adicional para obtener el número de página física asociado a la página lógica. Para mantener un tiempo de acceso aceptable se establece una memoria asociativa que conserva las parejas página lógica-página física utilizadas recientemente.
También hay dispositivos traductores que no utilizan tablas de páginas, buscan directamente la información en una memoria asociativa, y si no la encuentran, lanzan una excepción que manejará el sistema operativo. Así, el SO es el responsable de determinar la asociación entre números de página y números de marco, y además de actualizar la memoria asociativa, lo que da cierta flexibilidad.
La evaluación se hace en base a la tasa de fallos de página, que es el número de fallos de página entre el número de accesos totales a página, con lo que su valor oscila en el rango [0,1].
El fallo de página se produce cuando se accede a una posición de memoria que pertenece a una página de memoria que esta descargada en disco.

También hay que tener en cuenta el contexto, si estamos en arranque en frío o en caliente, así como el cumplimiento del principio de localidad espacial y temporal.

  • Arranque en frío: se dan muchos fallos de página al principio, ya que los procesos se acaban de lanzar y ninguno está cargado en memoria principal.
  • Arranque en caliente: se suponen ya cargadas las páginas de los procesos en memoria principal.

Algoritmo MRU(Most Recently Used)

Se selecciona la última página a la que se ha accedido. Podría implementarse con una LIFO por orden de acceso. Es una aproximación implementable en la práctica del criterio MAX, pudiendo así compararlo con otros criterios. Según el principio de localidad, mientras más recientemente se haya accedido a una página, más probable es que vuelva a accederse a ella. Por ello, este criterio es muy deficiente, siendo su curva cercana a la pésima:

MRU

Algoritmo por orden de carga FIFO

Se selecciona la página que más tiempo lleva cargada en memoria principal. Se implementa con una FIFO por orden de carga, es decir, a medida que se cargan en memoria principal las páginas son añadidas a la cola.
El inconveniente de este criterio es que las páginas más usadas son las que más tiempo deberían permanecer en memoria, y son las más atacadas. No se debe suponer que, si las páginas “dejarán de ser necesarias”, implica que “ya no sean necesarias”. Además, se produce la anomalía de Belady, efecto que consiste en la posibilidad de tener más fallos de página al aumentar el número de marcos en la memoria física:

FIFO


La multiprogramación es una técnica de multiplexación que permite la ejecución simultánea de múltiples procesos en un único procesador. En realidad, esta técnica produce una ilusión de paralelismo, de manera que parece que todos los procesos se están ejecutando a la vez. Sin embargo, hay un único proceso ejecutándose en el procesador a la vez.

Un método para la multiprogramación es el Foreground/Background (o ejecución jerarquizada) (usado en sistemas por tandas, nunca en interactivos), en él hay un proceso prioritario (el foreground (FG)) que se ejecuta con preferencia de todos los demás, cuando este proceso solicita una operación L/E(Lectura/Escritura), mientras el s.o. la realiza, el proceso FG estará bloqueado por esta operación y le cede el control al proceso background 1 (BG), y si éste realiza una operación L/E, al BG2,… Cuando uno de los procesos bloqueados se desbloquea, recibe el control del procesador. Para que este método funcione de forma óptima la mejor forma es colocar los procesos ordenados de mayor a menor cantidad de operaciones L/E.
Multiprogramacion
Uso del procesador con 3 procesos



Pv6 es el protocolo de Internet de última generación que se ha diseñado para sustituir al protocolo de Internet actual: la Versión 4 del Protocolo de Internet.
Para poder comunicarse a través de Internet, los ordenadores y otros dispositivos deben tener direcciones de emisor y receptor. A estas direcciones numéricas se las conoce como direcciones del Protocolo de Internet. A medida que Internet y el número de personas que lo utilizan crecen exponencialmente, crece también la necesidad de contar con direcciones IP.
IPv6 es un estándar que ha desarrollado el Grupo de Trabajo de Ingeniería de Internet (IETF, por sus siglas en inglés), una organización que desarrolla tecnologías de Internet. El IETF, anticipándose a la necesidad de contar con un mayor número de direcciones IP, ha creado el protocolo IPv6 para dar cabida al creciente número de usuarios y dispositivos que acceden a Internet.

IPv6 permite que un mayor número de usuarios y dispositivos se comuniquen a través de Internet utilizando números de mayor tamaño para crear direcciones IP. En el protocolo IPv4, cada dirección IP se compone de 32 bits, lo que permite la existencia de 4300 millones de direcciones únicas

¿Como esta Colombia en el cambio del IPV6?

El despliegue de IPv6 se irá realizando gradualmente, en una coexistencia ordenada con IPv4, al que se irá desplazando a medida que dispositivos electrónicos con conexión a Internet, equipos de red, aplicaciones, contenidos y servicios se vayan adaptando a la nueva versión del protocolo de Internet.

Por ello, es importante que entendamos cómo se realiza el despliegue del nuevo protocolo de Internet, tanto si somos usuarios residenciales, como corporativos, proveedores de contenidos, proveedores de servicios de Internet, así como la propia administración pública. para mas informacion dirijace al pan de migración para Colombia del IPV6 MinTIC
Debug

El Debug es una utilidad de MS-DOS que permite visualizar memoria, introducir programas en ella y rastrear su ejecución. Una característica de debug es que despliega todo el código del programa en formato hexadecimal.
Es importante saber que muchos usos de este tipo de utilidades de bajo nivel, requieren un funcionamiento stand-alone, es decir, fuera de un Sistema Operativo multi-usuario, ya que éstos encapsulan y ocultan muchos aspectos del hardware.
Debug es Útil para:


  • Ensamblar pocas líneas de código
  • Des-ensamblar código en RAM, ROM y ejecutables
  • Correr paso-a-paso programas
  • Desplegar datos en memoria
  • Verificar estado de los registros del CPU

Comandos


D: DUMP

Muestra el contenido de una zona de memoria en hexadecimal y en ASCII. Sin parámetros muestra los primeros 128 bytes a partir de la posición a la que se llegó en el último "d". Si se le da un rango, mostrará ese rango.

E DIRECCION: EDIT

Permite editar, byte por byte, una zona de memoria. Muestra -en hexadecimal- el byte de esa posición y permite escribir otro valor para cambiarlo. Pulsando espacio pasa al byte siguiente, dejando como estaba el anterior si no se ha cambiado, o guardando los cambios si sí se ha hecho. Para terminar la edición se pulsa INTRO.

R: REGISTERS

Sin parámetros, muestra el contenido de los registros de la CPU, así como la próxima instrucción a ejecutar."R [REGISTRO]" muestra el contenido del registro especificado y cambia el prompt de "-" a ":" invitando a que se cambie su valor. Pulsando Enter sin más lo deja como estaba.

A: ASSEMBLE

Sin parámetros ensambla las instrucciones que se introduzcan, guardándolas en la dirección siguiente a la que se llegó en el último "a". Cuando se utiliza este comando se le puede dar como parámetro la dirección donde se desea que se inicie el ensamblado, si se omite el parámetro el ensamblado se iniciará en la localización especificada por CS:IP, usualmente 0100H, que es la localización donde deben iniciar los programas con extensión .COM, y será la localización que utilizaremos debido a que debug solo puede crear este tipo específico de programas.

F: FILL

Llena una zona de memoria con un valor determinado. Como al terminar un programa la zona de memoria en que se residía no se borra (poniéndola a cero, por ejemplo), a menudo es útil para distinguir entre lo que son datos del programa actual y lo que es basura del anterior.

Q: QUIT

Salir de debug y volver al DOS.

P: STEP

P [=dirección] [número]
Trace puede ser incómodo si no se quiere depurar el código de las rutinas de interrupción o si ya se sabe el código que hay en las subrutinas y tan sólo interesa seguir avanzando sin entrar en ellas. En estos casos se usa p.


RAM
Memoria RAM


En un computador o dispositivo electrónico se puede encontrar una gran variedad se memorias la cuales cumplen funciones específicas dentro del sistema  cada una de estas puede almacenar datos de forma distinta y mostrarlos al usuario dependiendo la necesidad de cada una de las operaciones.

RAM (Random Access Memory) 


Puede leer o escribir en una posición de memoria con un tiempo de espera igual para cualquier posición, no siendo necesario seguir un orden para acceder a la información de la manera más rápida posible, en esta se almacenan y ejecutan cada una de las operaciones que requiera el sistema operativo o programa que se corra y requiera procesar algún dato o realizar una operación con los mismo. Esta memoria es volátil y no guarda datos luego de que se corta la energía.

ROM (Read-Only Memory)


Es un medio de almacenamiento utilizado en ordenadores y dispositivos electrónicos, que permite solo la lectura de la información y no su escritura, independientemente de la presencia o no de una fuente de energía.
Los datos almacenados en la ROM no se pueden modificar, o al menos no de manera rápida o fácil. Se utiliza principalmente en su sentido más estricto.
Como la ROM no puede ser modificada (al menos en la antigua versión de máscara), solo resulta apropiada para almacenar datos que no necesiten ser modificados durante la vida de este dispositivo. Con este fin, la ROM se ha utilizado en muchos ordenadores para guardar tablas de consulta, utilizadas para la evaluación de funciones matemáticas y lógicas

EPROM (Erasable Programmable Read-Only Memory)


Es un tipo de chip de memoria ROM no volátil Está formada por celdas transistores de puerta flotante cada uno de los cuales viene de fábrica sin carga, por lo que son leídos como 1 (por eso, una EPROM sin grabar se lee como FF en todas sus celdas
Una EPROM programada retiene sus datos durante diez o veinte años, y se puede leer un número ilimitado de veces. Para evitar el borrado accidental por la luz del sol, la ventana de borrado debe permanecer cubierta. Las antiguas BIOS de los ordenadores personales eran frecuentemente EPROM y la ventana de borrado estaba habitualmente cubierta por una etiqueta que contenía el nombre del productor de la BIOS.

EEPROM (Electrically Erasable Programmable Read-Only Memory)


Es un tipo de memoria ROM que puede ser programada, borrada y reprogramada eléctricamente, a diferencia de la EPROM que ha de borrarse mediante un aparato que emite rayos ultravioleta. Son memorias no volátiles.
Las celdas de memoria de una EEPROM están constituidas por un transistor MOS, que tiene una compuerta flotante (estructura SAMOS), su estado normal está cortado y la salida proporciona un 1 lógico.
Aunque una EEPROM puede ser leída un número ilimitado de veces, sólo puede ser borrada y reprogramada entre 100.000 y un millón de veces.


Asignación de memoria


La asignación de memoria en un SO es la forma en la que se distribuye el espacio en RAM de cada uno de los proceso esto se puede realizar con una serie de técnicas o netos que se describirán a continuación.

Primer ajuste


Consiste en asignar el primer segmento disponible que tenga un espacio suficiente para almacenar el programa. Esto causa que se dé un alto índice de fragmentación dado que si la primer partición e la de mayor espacio en esta pueden corres pequeños procesos que no siempre o chupan toda la capacidad del segmento.


Mejor ajuste 


Consiste en recorrer todos los segmentos de memoria y verificar cual es el que menor fragmentación cause de acuerdo con el proceso a ejecutar si hay un segmento de memoria que tiene exactamente el mismos tamaño del proceso este se asignara en este espacio y no continuara buscando otro segmento.

Siguiente ajuste


Consiste en realizar la asignación de los proceso de la misma forma que se hace en el mejor ajuste a excepción de que en este caso el recorrido de los segmentos de memoria se inicia desde la última posición en la que se asignó un proceso

Debug and Relelease
Modo Debug and Release

Un proyecto de Visual Studio tiene configuraciones diferentes para las versiones de lanzamiento y depuración del programa. Como se desprende de los nombres, la versión de depuración se genera para la depuración y la versión de lanzamiento para la distribución final de lanzamiento.

Si crea el programa en Visual Studio, Visual Studio crea automáticamente estas configuraciones y establece las opciones predeterminadas apropiadas y otros valores. Con la configuración predeterminada:

  • La versión de depuración del programa se compila sin optimizar y con toda la información de depuración simbólica. (La optimización complica la depuración, ya que la relación entre el código fuente y las instrucciones generadas es más compleja.)
  • La configuración Release del programa es totalmente optimizada y no contiene información de depuración simbólica. La información de depuración se puede generar en archivos PDB distintos.
Para cambiar entre las versiones de lanzamiento y depuración puede utilizar la barra de herramientas Estándar.

Para cambiar a la configuración Debug (o Release)

  • En la barra de herramientas Estándar, elija Debug (o Release) en el cuadro de lista Configuraciones de soluciones.

Puede cambiar los valores de una configuración mediante el cuadro de diálogo Páginas de propiedades de <Proyecto>.

Para cambiar los valores de la configuración de Debug (o Release)

  1. En el Explorador de soluciones, seleccione el proyecto.
  2. En el menú Ver, haga clic en Páginas de propiedades.
  3. En el cuadro de diálogo Páginas de propiedades de <Proyecto>, en el cuadro de lista Configuración, elija Debug (o Release).
  4. Abra la carpeta Propiedades de configuración y busque los valores que desee cambiar.
  5. Edite los valores en la cuadrícula de propiedades.