programación en C++ desde cero.
y entérate de las novedades o deja un comentario.
Ültima modificación: 13-07-2018.
Visitas este mes: 110
Visitas el mes pasado: 84
Mi agradecimiento a los siguientes sitios en los que me he basado para la elaboración de los manuales.:
En los distintos manuales incluimosm más webgrafía especifica de cada sección.
Si este sitio te parece interesante puedes contribuir con una pequeña aportación.
Vamos a empezar el curso viendo un poco de teoría sobre el funcionamiento del ordenador, esto nos ayudará a entender cómo organiza éste los datos, y el porqué de muchas acciones que se realizan en la programación. En el ordenador se distingue entre el Hardware y el Software, veamos en que consisten:
El hardware es la parte física del ordenador, es decir, todos los componentes que lo conforman de manera física, cables, chips, tarjetas, cajas, placas, etc. Lo veremos más detenidamente a lo largo de esta página.
El Software es la parte que no se ve, pero que es absolutamente necesaria para que funcione. Consiste en la ordenación de los elementos que tiene el ordenador de manera que éstos puedan trabajar en conjunto para realizar una serie de tareas que le indica el usuario.
Es decir, el software son los programas que tiene el ordenador, y los datos que se pueden guardar en el mismo. Dedicaremos a ello la siguiente página de este manual.
Empezaremos por ver los componentes fundamentales del hardware, y cómo funcionan. Estos son:
Veamos estos elementos uno a uno:
Es el cerebro de la máquina. Consta de una gran cantidad de circuitos electrónicos encargados de ejecutar las instrucciones que recibe desde lam memoria. Lee las instruccionesn y devuelve resultados que son ejecutados por el resto de componentes.
Además de leer y escribir los datos también hace las operaciones de sumar, restar, dividir, multiplicar y comparar elementos, y contiene varios temporizadores para controlar los tiempos de ejecución de las operaciones; siempre siguiendo las órdenes que recibe de los programas que estén funcionando en el ordenador en ese momento.
La memoria es el lugar en donde se guardan los datos y las instrucciones que se envian al microprocesador. Estos se encuentran en forma de aplicaciones y de ficheros. Hay varios tipos de memoria. y aunque veremos esto más adelante con más detalle, distinguimos en principio entre la memoria del disco duro, que es dispositivo que almacena datos de una forma permanente, y las memorias RAM y de caché que son con las que trabaja el microprocesador.
Además de éstas tenemos también la memoria ROM, que es la que utiliza el ordenador junto con la BIOS para ponerse en marcha cuando lo encendemos. La BIOS es el programa que se utiliza para poner en marcha el ordenador, y que viene ya incorporado por el fabricante.
Estos son como pequeños procesadores que realizan algunas tareas que no están en el microprocesador central, bien por ser demasiado complejas y necesitar más espacio o por ejercer un control sobre otros elementos. En todo caso trabajan siempre asociados con el microprocesador central.
Los más importantes son la tarjeta gráfica y la tarjeta de sonido. La tarjeta gráfica controla la salida de datos en pantalla, mientras que la tarjeta de sonido controla la salida de audio. Otra serie de controladores pueden ayudar al flujo de datos que entra y sale del microprocesador.
Otros elementos adicionales son los canales de transporte de la información de un sitio a otro que se llaman bus. Son los cables o las pistas de un circuito que transmiten la informacion de un lugar a otro.
Los puertos son los elementos, que a modo de enchufes, conectan al ordenador con los diferentes elementos que componen el sistema, mientras que los periféricos son dichos elementos.
Son periféricos el teclado, el ratón, la pantalla, la impresora, el modem o ruter, y cualquier elemento que tengamos contectado al ordenador.
Otros elementos son baterías, reloj interno, sistemas de refrigeración, placas base en los que se incrustan los demás elementos, la caja en la que se encierra todo el sistema o "torre", botones de encendido y apagado, etc.
Lo que nos interesa de cara a la programación, es saber cómo trabaja el microprocesador con la memoria. Veámoslo mediante un ejemplo.
Supongamos que abrimos un programa, por ejemplo un procesador de textos como "word". El usuario, con el teclado o el ratón da la orden de abrir el programa. Esta orden la recibe el microprocesador, el cual buscará en el disco duro el programa "word", y lo copiará en la memoria RAM.
Esta es la teoría, aunque no es del todo cierto, ya que el disco duro tiene reservado un trozo de memoria del mismo, llamado memoria virtual, en donde se copia de manera temporal el programa "word". Desde ahí, una parte del programa "word", la que más se va a usar, es la que se utiliza en la memoria RAM.
Imaginemos que después el usuario, abre un archivo de documento word para trabajar con él en el programa. El proceso será el mismo, es decir, el CPU buscará el archivo en el disco duro y lo copiará a la memoria virtual, y parte del mismo (normalmente el trozo visible en pantalla) lo copiará en la memoria RAM.
A partir de aquí, para las instrucciones que se hagan dentro del programa "word" por parte del usuario, el microporcesador utilizará la memoria RAM. Es decir el microprocesador buscará en la memoria RAM, recoge los datos, los transforma y los devuelve transformados a la memoria RAM de nuevo.
Nuevamente el proceso es un poco más complicado, ya que el microprocesador puede coger parte del programa que está en la memoria RAM y copiarlo en la memoria caché. El microprocesador trabaja mucho más rápido con la memoria caché que con la memoria RAM, ya que la memoria caché forma parte del microprocesador, pero el problema es que ésta es mucho más pequeña y sólo caben una serie muy limitada de datos.
La memoria caché es como una sala de espera en la que están los datos con los que se trabaja más frecuentemente. Estos pasan de ahí al microprocesador para trabajar con ellos y se devuelven ya procesados. Tambien hay un flujo de datos entre la memoria caché a la memoria RAM en ambos sentidos, para tener siempre más a mano (en la memoria caché) los datos que se usan con más frecuencia.
En realidad el proceso aún es un poco más complicado ya que dentro de la memoria caché existen tres niveles, y los datos van pasando de uno a otro, de forma que el nivel interno, o más próximo al microprocesador (L1), es el más rápido, pero también el de menor capacidad, y el nivel externo, más próximo a la memoria RAM (L3) es más lento, pero con mayor capacidad.
Podríamos pensar que sería más simple el proceso si fuéramos directamente al disco duro y el microprocesador trabajara directamente desde ahí. Sin embargo ese proceso sería muy lento, ya que buscar cada elemento en el disco duro sería un trabajo bastante largo.
Las memorias RAM y Caché solucionan este problema, ya que no sólo están más cerca del microprocesador, sino que por su composición física y su tamaño, el acceso a la misma es más rápido que el acceso al disco duro.
El problema de la memoria RAM es que es volátil, es decir, necesita que el ordenador esté encendido, y recibir un flujo constante de electricidad para mantenerse. Por lo tanto, al apagar el ordenador, los datos que tenemos ahí, si no los hemos copiado antes en el disco duro, desaparecen.
Lo mismo pasa con la memoria caché, ésta también es volátil y desaparece al apagar el ordenador.
Caso distinto es el de la memoria virtual, la cual, aunque en principio podríamos pensar que si no guardamos el archivo desaparece, esto no es así ya que forma parte del disco duro.
La mayoría de los programas tienen opciones para recuperar el trabajo que hemos realizado cuando éste se cierra de manera inesperada (por ejemplo tras un corte en el suministro eléctrico). Esto consiste en recuperar el archivo que estaba en la memoria virtual, el cual, mientras estamos trabajando con él, también se va renovando de forma automática cada poco tiempo.
En la siguiente página seguimos con los componentes del ordenador, y trataremos de entender en qué consiste el software.
Sugerencias:
aprendeweb@aprende-web.net. Envia un
Visita nuestro blog par saber en qué estamos trabajando: Aprende Web Blog
Más sobre anyelguti en http://anyelguti.16mb.com