Ir al contenido principal

Entradas

Mostrando las entradas de agosto, 2017

05# GNU/Linux Kernel

Esto es el corazón de las distribuciones Linux que conocemos hoy en día, gracias a Linus Torvalds principal creador de este núcleo (kernel). Pero primeramente vamos a hablar de que significa ser el corazón del sistema operativo. Es un software que se encarga de comunicar el resto del SO (Sistema Operativo) con el hardware, además que se encarga de definir todos los bloques de información que manejara y soportara el sistema completo. “ Linux  es un núcleo de libre distribución y mayormente libre semejante al núcleo de Unix. 4 ​ Linux es uno de los principales ejemplos de software libre y de código abierto. 5 ​ Linux está licenciado bajo la GPL v2 y a mayor parte del software incluido en el paquete que se distribuye en su  sitio web  es software libre. Está desarrollado por colaboradores de todo el mundo. El desarrollo del día a día tiene lugar en la  Linux Kernel Mailing List Archive . El núcleo Linux fue concebido por el...

04# Algoritmos de Búsqueda

Un algoritmo es como un conjunto de instrucciones que se deben seguir para realizar una tarea concreta. Este se rige por una serie de pasos o ciclos con sus condiciones definidas para el proceso del trabajo que se quiere hacer. Hoy nos basaremos mayormente en los algoritmos de búsqueda, estos se encargan de encontrar un elemento en una estructura de datos. Existen diversos algoritmos para este propósito. Unos de los vistos en las clases anteriores son el secuencial, binario y el de interpolación. Secuencial: Uno de los algoritmos más sencillos y fáciles de implementar, ya que su única función es la de comparar cada elemento de la estructura de datos con el elemento que se quiere encontrar: L: Largo de la estructura T: temporal contador ELE: Elemento a buscar A: Estructura donde se desea buscar Mientras L > T:                 Si ELE es igual a A posición [T]:     ...

04# Normalización

Hoy les voy a hablar sobre un tema muy interesante acerca de sistemas numéricos utilizados en la computación, se trata de la normalización de los números flotantes, sistema que se usa muy a menudo en la programación. Normalización Este método hace a la mantisa de los números en punto flotante más precisa con el número real al cual se quiere representar. Un ejemplo de esto  seria tener un número binario x. x = 11010*2**0 Entonces lo que necesitamos es la mantisa de ese número, para eso rellenamos con ceros lo que le falta al número para tener un total de 8 bits: mantisa = 00011010 Ahora para hacer la normalización de ese número se necesita desplazar la cantidad de veces que contiene ceros a la izquierda y agregándolos a la derecha: normalizado =  11010000 Ahora los desplazamientos que se hicieron afectan el exponente de la base, por lo que ahora la base es esta 2**3. El número resultante multiplicado por esa base es diferente por lo tanto se deben restar ese...

03# Listas

Buenas a todos a la introducción acerca de esta estructura de datos muy utilizada en la programación, además de ser una de las más básicas en el campo de la computación, les hablo de las listas. Las Listas son una estructura de datos secuencial, sus principales características son: Su tamaño puede variar a lo largo de la ejecución del programa. La manera para clasificar un poco es en la forma que acceden al siguiente elemento: -Cuando la lista es densa la propia estructura en si determina cual es el siguiente elemento de la secuencia. (Un ejemplo de estos son los Arreglos del cual hablamos la entrada pasada). -Las listas enlazadas simples, estás listas determinan la posición del siguiente elemento con la información que tiene el elemento donde está posicionado actualmente. La dirección en memoria de cada elemento debe estar guardado en el elemento anterior para así tener información del camino a tomar para hacer recorrido de todos los elementos. Además de esto ex...

03# Infraestructura de Software

En este nuevo articulo les explicaré un poco sobre la infraestructura de software Los elementos principales de este son : Ensamblador,Enlazador y el Cargador. Ensamblador Este se encarga de traducir el o los archivos para obtener un archivo binario con sus respectivos datos, esto lo hace identificando las etiquetas personalizadas que encabezan los bloques de código del archivo a traducir. Enlazador   Esta herramienta como lo dice su nombre, es el encargado de enlazar todas las referencias y datos necesarios para la ejecución del programa final. Los procesos principales que cumple esta herramienta son los siguientes: - Buscará cualquier archivo necesario para la ejecución del programa,ya sea libreria,datos propios del programador,etc. - Va ser manejo de la memoria de todo lo que compone el programa y les da un valor definido. -Resuelve toda referencia entre los archivos,librerias,datos,etc que componen el programa.  Cargador Uno de las herramientas que más t...

02# Estructura de Datos Lineales

En el episodio de hoy aprenderemos un poco de las estructuras de datos lineales. Estructuras Estáticas La principal característica por la cual se llaman así es porque en el momento en el que se declara la estructura debe tener un tamaño definido y en el momento de que se inicializa esa estructura el tamaño no puede ser modificado. Uno de las principales estructuras de este tipo son los Arreglos(Arrays) Arrays Los arreglos son una secuencia de datos u objetos que tienen las mismas características o exactamente son del mismo tipo. Una característica importante de los arreglos es que pueden ser multidimensionales, esto que quiere decir, que un arreglo puede estar compuesto de arreglos los cuales tienen un comportamiento similar a las matrices que se estudian en las matemáticas. Estructuras Dinámicas Lineales Una de las estructuras de este tipo que es una de las más conocidas es la Lista(List) Listas Son un tipo de estructura muy útil ya que al ser ...

02# Benchmarks

Benchmarks Una de las utilidades más utilizadas para la medición del rendimiento de los computadoras son los benchmarks. Los benchmarks son programas que evalúa un hardware específico del computador para saber su rendimiento,lo que es exprimir las capacidades del hardware al máximo (en alguna tarea o instrucción específica) y dar un puntuación de acuerdo a lo estipulado por el/los creadores del benchmarks. Uno de los más populares a la hora de hacer evaluación del procesador es Cinebench. Este programa lo que hace es hacer que el CPU analice una imagen para que luego haga un render de la misma, el detalle de esta imagen es que sus propiedades y características la definen como un imagen en cuarta dimensión. Procesar esta imagen requiere de gran poder de procesamiento del CPU y luego dependiendo de la duración que tardó el procesador en terminar de procesar la imagen se da el resultado. Fuente: http://hwbot.org/benchmark/cinebench_-_r15/ Como podemos observar ...

01# Introducción

Arquitectura de Computadoras Cuando nos referimos Arquitectura nos referimos a todo el hardware involucrado en el funcionamiento de la computadora. Todo elemento que sea visible y tenga algún función especifica en el proceso lógico de la computadora. Organización de Computadoras Describe el funcionamiento del hardware en su nivel más bajo, refieriendose a la operaciones lógicas realizadas,además explica y tiene mucho relación con la arquitectura utilizada en el equipo donde los procesos son ejecutados. Ahora describiré un poco de la evolución de la computación hasta la época actual: Inicialmente  las computadoras estaban construidas a base de Tubos al vacio y tarjetas perforadas: (1)                                                ...

01# Abstracción

Abstracción Este es un tema muy amplio gracias a que su significado puede ser tomado para muchas conceptos o categorias de la vida diaria, asi como el enfoque que le estaremos dando a lo largo de las publicaciones consiguientes, que será resolución de problemas informaticos y creación de herramientas que ayuden al programador u otros que necesiten información acerca de los puntos que se tomen en este articulo. Abstraccción lo podemos tomar como la extracción o aislamiento de caracteristicas de un objeto(objetos de la vida real,programas,problema propuesto), que serán usadas o interpretadas por el observador, para asi hacer utilidad de ellas y poder tener un enfoque más específico para hacer un agrupamiento, tener a disposición solo los rasgos que necesita del objeto en esa especifica situación. El proceso más eficiente para lograr una abstacción es el siguiente: Modularizar el problema u objeto en partes más pequeñas(módulos o bloques), tratando de que la modificación o signific...