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