Upload
emilio-guzman-tun
View
227
Download
0
Embed Size (px)
DESCRIPTION
Revista de informacion para cualquier estudiante
Citation preview
Una gran variedad de
programas se desarrollan
para diversas aplicaciones de
todo tipo. Al usuario final de
un programa solo le interesan
dos cosas: que el programa
sea fácil de manejar y que su
ejecución sea lo más rápida
posible.
Para mejorar este último
aspecto cada día se tienen
más en cuenta las
optimizaciones en el código
del programa.
El objetico de las técnicas de optimización es
mejorar el programa para que nos dé un
rendimiento mayor. La materia de estas técnicas
vienen a compensar ciertas ineficiencias que
aparecen en el lenguaje fuente, ineficiencias que
son inherentes al concepto de lenguajes de alto
nivel, el cual suprime detalles de la maquina objeto
para facilitar la tarea de implementar un algoritmo.
Las técnicas se dividen en
globales y locales
Las locales analizaran solo
pequeñas porciones de
código y se realizaran
mejoras, por otro lado las
aplicaciones de las
técnicas globales será
necesario el análisis de
todo el código.
La optimización se basa en la función de coste
y la transformación que preserve el significado
del programa.
Con función de coste se quiere evaluar la
mejora que hemos obtenido con esa
optimización y se compensa con el esfuerzo
que el compilador realiza para poder llevarla a
cabo. Los criterios con esta función son el
ahorro en el tamaño del código, reducción del
tiempo de ejecución y la mejora de necesidades
del espacio para los datos del programa.
En cuanto a preservar el significado del
programa, es lógico que no tuviera sentido
realizar optimizaciones que modificaran el
comportamiento del programa.
Estas optimizaciones se
pueden dividir en:
-optimizaciones que no
modifican la estructura
Eliminación de sub-
expresiones comunes
Eliminación de código
muerto
Renombrar variables
temporales.
Intercambio de
sentencias
independientes
adyacentes
-transformaciones algebraicas
Son aquellas
transformaciones que
simplifican expresiones
y/o reemplazan
operaciones costosas
de la maquina por otras
menos costosos.
Existen otros tipos de
optimizaciones más locales, pues
su ámbito se reduce a una breve
secuencia de instrucciones, a este
tipo de optimización se le llama
optimización peephole, e intenta
mejorar el rendimiento del
programa por medio de
reemplazar esa breve secuencia
de instrucciones objeto por otra
secuencia más corta y/o más
rápida. Hay varios tipos de
optimización peephole, siendo
los más usuales:
1. Eliminación de
instrucciones redundantes
2. Optimizaciones de flujo de
control
3. Simplificaciones
algebraicas
4. Uso de instrucciones
maquina especificas
Optimizacio n local de co digo
En la actualidad los ordenadores están invadiendo todos
los campos del conocimiento. Una gran variedad de
programas se desarrollan para diversas aplicaciones de
todo tipo.
Al usuario final de un programa sólo le interesan dos cosas:
1.-Que el programa sea fácil de manejar
2.-Que su ejecución sea lo más rápida posible.
Para mejorar este último aspecto cada día se tienen más
en cuenta las optimizaciones en el código del programa.
Optimización Local •Las optimizaciones locales se realizan sobre el bloque
básico
•Optimizaciones locales
Folding
Propagación de constantes
Reducción de potencia
Reducción de subexpresiones comunes
Objetivo de la optimización del código
Bloque Básico •Un bloque básico es un fragmento de código que
tiene una única entrada y salida, y cuyas instrucciones
se ejecutan secuencialmente. Implicaciones:
–Si se ejecuta una instrucción del bloque se ejecutan
todas en un orden conocido en tiempo de compilación.
•La idea del bloque básico es encontrar partes del
programa cuyo análisis necesario para la optimización
sea lo más simple posible.
Bloque Básico •Un bloque básico es un fragmento de código que tiene
una única entrada y salida, y cuyas instrucciones se
ejecutan secuencialmente. Implicaciones:
–Si se ejecuta una instrucción del bloque se ejecutan
todas en un orden conocido en tiempo de compilación.
•La idea del bloque básico es encontrar partes del
programa cuyo análisis necesario para la optimización sea
lo más simple posible.
Ejemplo de Optimización Global: Variables Vivas
Ejemplo de Optimización Global Expandir el Bucle
Eliminar J y k por que no se utilizan y
realizar los cálculos entre constantes
Ejemplo de Optimización Global Propagación de Constantes
Optimización Global • Grafo del flujo de ejecución
– Antes de realizar una optimización global es necesario crear el grafo de flujo de ejecución.
– El grafo de flujo de ejecución representa todos los caminos posibles de ejecución del programa.
– La información contenida en el grafo es útil para
• El programador y • El optimizador
• La optimización global a partir del análisis del grafo del flujo de ejecución permite
– Una propagación de constantes fuera del bloque básico.
– Eliminación del código no utilizado
– Una mejor asignación de los registros.
–Etc. • Problema: la optimización global es muy costosa en tiempo de compilación
Mundo Tecnológico
Robotica
La robótica es una ciencia o rama de la tecnología, que estudia el diseño y construcción de máquinas capaces de desempeñar tareas realizadas por el ser humano o que requieren del uso de inteligencia. Las ciencias y tecnologías de las que deriva podrían ser: el álgebra, los autómatas programables, las máquinas de estados, la mecánica o la informática.
Robot de Sony
Esta pequeña maravilla tecnológica, que es capaz de conversar, caminar, bailar, esquivar objetos, etc., esta creación demuestra el desarrollo tecnológico de la compañía, quien se suma de manera rápida en la categoría de productor de humanoides, recordemos que esta posición anteriormente solo estaba dominada por la empresa Honda, quien creo el primer humanoide bípedo llamado "Asimo".
El prototipo mide 58 centímetros y tiene gran
inteligencia artificial...
Tokio.- Ladrones, tened cuidado, los guardias
robots estás aquí. En una idea que parece salida
directamente de la ciencia ficción, los robots
podrían pronto empezar a patrullar las oficinas,
galerías de tiendas y bancos de Japón para
mantenerlos a salvo de los intrusos.
1.2. Impacto en la Educación. El auge de la Robótica y la imperiosa necesidad de su implantación en numerosas instalaciones industriales, requiere el concurso de un buen número de especialistas en la materia. La Robótica es una tecnología multidisciplinar. Hace uso de todos los recursos de vanguardia de otras ciencias afines, que soportan una parcela de su estructura. Destacan las siguientes:
Mecánica. Cinemática. Dinámica. Matemáticas. Automática. Electrónica. Informática. Energía y actuadores eléctricos, neumáticos e
hidráulicos. Visión artificial. Sonido de máquinas. Inteligencia artificial.
La robótica como una disciplina
Realmente la Robótica es una combinación de todas las disciplinas expuestas, más el
conocimiento de la aplicación a la que se enfoca, por lo que su estudio se hace especialmente
indicado en las carreras de Ingeniería Superior y Técnica y en los centros de formación
profesional, como asignatura práctica. También es muy recomendable su estudio en las
facultades de informática en las vertientes dedicadas al procesamiento de imágenes, inteligencia
artificial, lenguajes de robótica, programación de tareas, etc.
Intelligent Servo
Actuator, es uno de los
mecanismos
desarrollados para que
los robots pueda mover
sus puntos de
articulación con gran
fluidez y rápida
respuesta, que le
permite caminar por
superficies irregulares y
mantener el equilibrio,
posee entre otras
cosas un programa de
caídas, que actúa en
caso que hubiera sido
inestabilizado hasta
perder el equilibrio,
permitiendo que se
ponga de pie
nuevamente.
Tiene tres hermanas, Randi, Arielle, Donna y
una novia de nombre Priscilla Chan con quien
firmó un contrato de noviazgo donde
acordaron verse únicamente una vez por
semana y nunca ventilar sus vidas por
Los compañeros de Zuckerberg en la Universidad de Harvard,
Divya Narendra, Cameron Winklevoss y Tyler Winklevoss,
denunciaron que lo contrataron para que terminase el código de
su sitio Internet, Connectu y que Zuckerberg les robó la idea, el
diseño, el plan comercial y el código fuente.
Mark
Zuckerberg
ocupa el
puesto
número 785
en la lista de
las personas
más ricas del
planeta. Mark Zuckerberg en el 2004 se
le ocurrió una idea que cambió la
forma de relacionarse de más de
200 millones de personas en el
mundo: Creó Facebook.
Primero como una red
social para la Universidad
de Harvard. A los pocos
meses los estudiantes de
ésta universidad
comenzaron a agregar a
otros, pronto matriculas
enteras de la Universidad
de Boston, el MIT,
Stanford, Columbia, Yale y
Princeton tenían una
cuenta en la red social. Hoy
su éxito ya comienza a ser
leyenda.
El joven es
judío, nunca
se levanta
temprano, es
una persona
sencilla y
vive sin la
menor
pretensión,
viste de
jeans,
camiseta y
sandalias. Fue acusado de manipular información de la
red de la Universidad de Harvard, nunca se lo
comprobaron, pero el departamento de
servicios informáticos de la escuela lo acusó
ante las autoridades por infringir la seguridad
informática y violar las políticas de privacidad
y propiedad intelectual de la universidad.
Los directivos de Harvard insistieron en que
Zuckerberg había atacado el sistema Internet
del colegio para alterar imágenes de los
estudiantes sin autorización y para su propio
beneficio. Él se defendió diciendo que la
información debería ser libre y abierta al
público.
¿Facebook se asemeja a un régimen virtual?
¿Facebook pretende ser libertad?
¿Facebook ayuda a la CIA?
Aunque el proyecto fue concebido por la estrella mediática Mark, la cara de
Facebook es el capitalista y filósofo futurista Peter fell.
La CIA se encarga de encontrar medios tecnológicos que puedan proveer
información a la agencia central de investigación de estados unidos. La CIA utiliza
a Facebook como base de pruebas y fuente de información sobre todos sus
usuarios.
La realidad de Facebook y de sus inversores, una estrella mediática, un filósofo
futurista que quiere destruir a su propio país y uno que implica a Facebook
directamente con la CIA. Ellos han creado su propio país.
"No construimos servicios para
ganar dinero, hacemos dinero para
construir mejores servicios"
Creador del Facebook
es el millonario más
joven del mundo
Facebook es azul
porque Zuckerberg es
daltónico.
Facebook actualmente
tiene 140 millones de
usuarios y 2 millones
de usuarios se le unen
cada día.
Conecta realmente Facebook a la gente
“Si la gente no sabe que estoy
haciendo no soy nadie “
Lo que muchos usuarios no
saben es que de acurdo a las
condiciones del contrato que
virtualmente asumen le
otorgan a Facebook la
propiedad perpetua y exclusiva
de toda la información e
imágenes que publican.
Atención
En ese contrato que la
mayoría no lee, hay una
parte que dice “aquellos que
deseen desactivar su cuenta
de Facebook pueden hacerlo
en la página, Mi cuenta. La
información eliminada
podría permanecer en copias
de seguridad dentro de un
tiempo razonables”.
¿Qué demonios sucede con mis datos?
Al finales del 2007 Facebook vende 1,6 % de su compañía Microsoft a cambio de que este se convirtiera en una
herramienta que proporciona una amplia base de datos real de sus usuarios. Esto le permitió a Facebook
proporcionar el contenido de los usuarios a terceros y multinacionales. A los creadores de Facebook les basta con
cruzarse de brazos y ves cómo millones de adictos transmiten voluntariamente sus datos personales, imágenes y
cosas que para ellos son importantes.
¡CUÁ L ES EL MEJOR SISTEMÁ OPERÁTIVO EN SMÁRTPHONES?
Básicamente, un sistema operativo proporciona las funciones principales para el dispositivo electrónico, tales como el reconocimiento de entrada y la visualización de la interfaz de usuario dentro de la pantalla. Pero además, dependiendo del sistema operativo que utilice el teléfono, también se verá afectada la rapidez y la fiabilidad de todos los procesos.
Actualmente, existen una enorme
variedad de tipos de sistemas
operativos para teléfonos móviles, y
entre los OS (sistemas operativos)
más conocidos y populares nos
encontramos con Android, iOS,
BlackBerry OS y Windows
Phone. Por lo general la mayoría de
estos sistemas operativos se
encuentran asociados con
determinadas marcas de
teléfonos, fabricados por empresas
específicas. Otros teléfonos, en
cambio, están disponibles para una
variedad de plataformas, pero
¿Cuáles son las ventajas que puedo
encontrar en cada uno de estos
sistemas operativos?
A continuación te mostraremos algunas características
de los sistemas operativos más famosos que existen en
el mercado para telefonía celular
Características esenciales de Android
Originalmente desarrollado por una organización independiente y
basado en el sistema operativo Linux, el llamado Android OS es
actualmente el sistema que comercializa la compañía Google para
smartphones y tablets. Desde su creación y hasta la actualidad, se
trata de un sistema operativo que continúa siendo de distribución libre
y código abierto, lo que ha hecho que Android siga siendo elogiado
por una enorme cantidad de usuarios, debido a su flexibilidad.
Tengamos en cuenta
que cualquier persona
puede desarrollar
aplicaciones para
Android, y cualquier
empresa puede lanzar
un teléfono o una tablet
incluyéndolo como OS
preinstalado.
Por ello, una de las grandes ventajas que posee este
sistema operativo radica en que actualmente existe una
disponibilidad de miles y miles de aplicaciones
gratuitas y de pago que los usuarios pueden aprovechar
para optimizar el uso de su dispositivo con Android.