jueves, 9 de abril de 2015

Hardware y Sistema Operativo

Cómo funciona el hardware


Entendemos por hardware los distintos componentes que forman la computadora, físicamente.
Ya hemos dicho que hay un procesador y un bus. El bus comunica a la memoria y a los dispositivos con el procesador. Este bus se encuentra en lo que en términos vulgares llamamos "placa base" o "placa madre". La memoria RAM almacena datos temporalmente, que se pierden cuando se desconecta. Y luego hay otra serie de dispositivos, los más comunes son el disco duro (que almacena datos permanentemente o hasta que sean borrados), los USB, teclados, pantallas, y por supuesto, la tarjeta gráfica, que en los últimos años se ha convertido en un computador en si mismo debido a su complejidad (lleva GPU que es un tipo de procesador especializado en gráficos, y memoria para ella sola).
Con la tecnología actual, el hardware no funciona sin un "cerebro" central, que es el procesador. El procesador es en si mismo otra máquina extremadamente compleja (tiene cientos de miles de millones de transistores en un espacio de micras), compuesta por muchas partes. Cada parte realiza una función. Así, por ejemplo, hay una parte con transistores que realizan operaciones matemáticas, otra parte que hace operaciones en memoria, otra que manda instrucciones a los dispositivos, etc.
Ya hemos dicho que los transistores son pequeños dispositivos que solo entienden de unos y ceros. Hay muchos tipos de agrupaciones de transistores, por ejemplo AND, NAND, OR, XOR. A su vez, la combinación de estos grupos producen operaciones complejas. Solo para realizar la suma de dos datos de 32 bits se necesitan cientos de transistores, que a su vez precisan de registros, otras instrucciones para manejar esos registros, etc. Explicar como funciona un procesador está fuera del alcance de este libro, pero el futuro programador tiene que tener nociones básicas de lo que es un ordenador, o de lo contrario se sentirá perdido cuando se manejen temas complejos.
Sin un reloj que regulase la cantidad de operaciones que pueden realizar estos transistores, sucedería que se calentaran tanto que reventarían. Además, habría problemas de sincronismo (unos transistores se adelantarían a otros sin que debieran, produciendo que el procesador se colgara inmediatamente).
A medida que avanza la técnica, se consiguen hacer transistores con menor gasto (se calientan menos), más pequeños (caben más), y más rápidos. Así, un ordenador de 4 Mhz de hace 20 años, podía hacer (en teoría) cuatro millones de instrucciones por segundo. Hoy en día, con 3 Ghz puede hacerse tres mil millones. En la práctica pueden ser más o menos, dependiendo de si tiene varios núcleos (core), la velocidad del bus, la memoria, etc. Generalmente suele ser bastante menos.

 

El sistema operativo

El sistema operativo es el programa principal. Se encarga de manejar a la "bestia". Se carga después de cargar el otro programa principal, la BIOS, y su función es ofrecer al resto de los programas una base segura y práctica donde trabajar.
Ya sabrás que hay varios sistemas operativos: Linux, Apple OS X, Windows, etc. Además de estos conocidos, toda máquina que lleve un sistema más o menos complejo, lleva también un sistema operativo. Eso significa que incluso el router de tu conexión a internet, o el firmware de tu DVD, son, de una forma u otra, sistemas operativos.
La importancia de conocer el sistema operativo para el que se va a programar es vital. Hay grandes diferencias entre unos sistemas u otros. Para programar, se usan lasLibrerías (en Windows las llaman DLLs), que llevan ya código escrito por otras personas que facilitarán enormemente el trabajo del programador de aplicaciones.

Afortunadamente para los usuarios de Free Pascal y Lazarus, pasar un programa de un sistema a otro suele ser casi trivial, debido a que los creadores de estos programas han puesto especial esfuerzo en ocultar las diferencias. Si no fuera así, sería un gran engorro, como de hecho sucede con muchas aplicaciones realizadas en C o C++

No hay comentarios:

Publicar un comentario