miércoles, 26 de febrero de 2014

Fundamentos de hardware y software

Fundamentos de hardware y software

La simple verdad es que las computadoras realizan solo cuatro funciones básicas:

·        Recibir una entrada: Aceptan información del mundo exterior.
·  Procesar información: Realizar operaciones aritméticas o lógicas (toma de decisiones) sobre la información.
·        Producir una salida: Comunican información al mundo exterior.
·        Almacenar información: Desplazan y mueven información en la memoria.

Cada sistema de computadora contiene componentes hardware (partes físicas) especializadas en cada una de estas cuatro funciones:

Dispositivos de entrada: aceptan una entrada del mundo exterior. Los dispositivos más comunes de entrada hoy día, desde luego, son los teclados y los dispositivos para señalar, como el ratón.

Dispositivos de salida: envían información al mundo exterior. Todas las computadoras utilizan una pantalla o un monitor de video como dispositivo principal de salida, una impresora para producir papeles impresos y altavoces para dar salida a los sonidos.

Un microprocesador, también llamado procesador o unidad central de procesamiento (CPU) es en efecto el cerebro de la computadora. La CPU procesa información, realiza cálculos aritméticos y toma decisiones básicas comparando valores de información.

La memoria y los dispositivos de almacenaje: almacenan ambos información, pero sirven a diferentes propósitos. La memoria de la computadora o RAM se utiliza para almacenar programas y datos que necesitan ser instantáneamente accesibles para la CPU. Los dispositivos de almacenamiento, incluyendo las unidades de disco duro, CD grabables, unidades de DVD sirven como repositorios de datos. Un dispositivo de almacenamiento (por ejemplo un disco duro), puede considerarse como un dispositivo combinado de entrada y salida, porque la computadora envía información al dispositivo de almacenamiento (salida) y más tarde recupera esa información de allí (entrada).

Una computadora consta de dos partes bien diferenciadas, hardware y software. El hardware consta de las partes físicas, tangibles de la computadora. Es software consta de programas, también llamados aplicaciones, que contienen instrucciones que la computadora ejecuta o corre. Una computadora necesita tanto del hardware como del software para poder ser usada real y prácticamente.

Hardware

Cuando un usuario interactúa con una computadora, proporciona una entrada; en respuesta, la computadora procesa la entrada devolviendo una salida valiosa al usuario. La entrada puede ser en formato de órdenes o instrucciones dadas, texto, números o imágenes escaneadas. La salida puede ser el resultado: cálculos en una hoja de cálculo, una carta impresa en una impresora o un auto moviéndose por la pantalla en un juego de carreras de autos. Una computadora necesita disponer de un conjunto de funcionalidades y proporcionar la capacidad de:

1.      Aceptar la entrada
2.      Visualizar o presentar la salida
3.      Almacenar la información en un formato consistente lógicamente.
4.   Ejecutar operaciones aritméticas o lógicas bien sobre datos de entrada o bien sobre datos de salida.
5.     Monitorizar, controlar y dirigir las operaciones globales y de secuencia del sistema.

Dispositivos de entrada/Salida (E/S)

Para que el usuario pueda introducir la entrada, la computadora tiene varios dispositivos de entrada como parte de su hardware: el teclado y el ratón son los más populares. La salida al usuario se le proporciona mediante dispositivos de salida, tales como impresora o pantalla.

Los dispositivos de Entrada/Salida (E/S) permiten la comunicación entre la computadora y el usuario. Los dispositivos de entrada, como su nombre indica, sirven para introducir datos (información) en la computadora para su proceso. Los datos se leen de los dispositivos de entrada y se almacenan en la memoria central o interna. Los dispositivos de entrada convierten la información de entrada en señales eléctricas que se almacenan en la memoria central.

Los dispositivos de salida permiten representar los resultados (salida) del proceso de los datos. El dispositivo de salida típico es la pantalla o monitor.

El teclado y la pantalla constituyen, en muchas ocasiones un único dispositivo denominado Terminal. Un teclado de Terminal es similar al teclado de una maquina de escribir con la diferencia de algunas teclas extras que tiene el Terminal para funciones especiales.

El procesador

El procesador es el dispositivo interior de la computadora que ejecuta las instrucciones del programa. Otros términos sinónimos utilizados para nombrar al procesador son: UCP (Unidad Central de Proceso, en ingles CPU, Central Proscessing Unit) o chip. El procesador solo puede ejecutar instrucciones simples, tales como cálculos aritméticos sencillos o desplazamientos de números por diferentes posiciones. Sin embargo, la velocidad a la cual se realizan estos cálculos debe ser muy grande y esta característica le permite ejecutar instrucciones que realizan cálculos complejos.

La UCP procesa o manipula la información almacenada en memoria; puede recuperar información desde memoria (esta información son datos o instrucciones: programas). También puede almacenar los resultados de estos procesos en memoria para su uso posterior.


La CPU, a menudo llamada solo procesador, realiza las transformaciones de entrada en salida. Cada computadora tiene al menos una CPU para interpretar y ejecutar las instrucciones de cada programa, para hacer las manipulaciones aritméticas y lógicas de datos, y para comunicarse con las otras partes del sistema indirectamente a través de la memoria.

La CPU contiene circuitería para realizar una variedad de tareas sencillas llamadas instrucciones. Una instrucción individual solo realiza una pequeña cantidad de trabajo. Una instrucción típica podría ser “leer los contenidos de la ubicación X de la memoria y añadir el numero Y a ella”. La mayoría de las CPU tiene un vocabulario de menos de 1000 instrucciones distintas.

Todos los programas informáticos están compuestos de instrucciones extraídas de este pequeño vocabulario. Un programa típico está compuesto de millones de instrucciones, y la CPU puede procesar millones de instrucciones por segundo. Le ejecución de instrucciones, rápida como el fuego, crea la ilusión de movimiento, del mismo modo que una película simula el movimiento a partir de una secuencia de fotos fijas.

La CPU típica está dividida en varias unidades funcionales: control, cálculo o aritmética, decodificación, bus y pre búsqueda. Estas unidades funcionan juntas como operarios en una línea de ensamblaje para completar la ejecución de las instrucciones del programa.

En la mayoría de los casos la ejecución de instrucciones es realizada por la unidad aritmético-lógica (UAL) de la CPU. La UAL incluye registros, cada uno de los cuales tiene generalmente un tamaño de 32 o 64 bits.

Las instrucciones del programa se guardan en el almacén primario (memoria), que esta generalmente en los chips exteriores de la CPU. La primera tarea de la CPU es leer una instrucción de la memoria. La unidad de bus manipula toda la comunicación entre la CPU y el almacenamiento principal.

La unidad de pre búsqueda indica  a la unidad de bus que lea la instrucción almacenada en una dirección particular de la memoria. Esta unidad toma no solo la próxima instrucción a ejecutar, sino también varias instrucciones siguientes, para asegurarse de que una instrucción este siempre lista para ejecutarse.

La unidad de decodificación toma la instrucción leída por la unidad de pre búsqueda y la traduce a un formato apropiado para el procesador interno de la CPU. Esto lo hace siguiendo los pasos requeridos para completar una instrucción en la unidad de control.

Si una instrucción requiere que la información se envíe fuera de la CPU entonces la fase final de ejecución es la de contestar, en la que la unidad de bus escribe los resultados de la instrucción de nuevo en la memoria o en algún otro dispositivo.


La memoria central (interna)

Otra parte muy importante de una computadora es la memoria. La unidad memoria almacena la información en un formato lógicamente consistente. Normalmente, tanto las instrucciones como los datos se almacenan en memoria, con frecuencia en áreas distintas y separadas. La memoria se divide en dos categorías: memoria principal y memoria auxiliar. La memoria principal (central) contiene el programa en ejecución y los resultados de los cálculos intermedios de la computadora. Se conoce normalmente como memoria RAM. La memoria auxiliar o almacenamiento secundario consta de dispositivos utilizados para almacenar los datos de modo permanente. Cuando se necesitan los datos se pueden recuperar de estos dispositivos. El programa se almacena en memoria externa de modo permanente pero cuando se ha de ejecutar debe transferirse a la memoria central .Este proceso se realiza mediante órdenes al sistema operativo que realiza las operaciones correspondientes.

Con el propósito de almacenar datos, una computadora consta de una gran colección de pequeños circuitos electrónicos capaces de almacenar un bit. Estos circuitos son como pequeños interruptores de luz que puedan estar en dos estados: uno para “encendido” y otro para “apagado”.

Un bit es un circuito o un digito que puede tener exactamente dos valores: cero y uno (0 y 1).

La memoria central o simplemente memoria se utiliza para almacenar información. Se divide a su vez en memoria RAM y memoria ROM. La memoria RAM es normalmente volátil, lo que significa que todo cuanto se almacena o guarda en ella se pierde cuando se apaga la computadora. En general, la información almacenada en memoria puede ser de dos tipos: las instrucciones de un programa y los datos con los que operan las instrucciones. Por ejemplo para que un programa se pueda ejecutar (correr o funcionar) debe ser situado en la memoria central, en una operación denominada carga (load) del programa. Después, cuando se ejecuta el programa, cualquier dato a procesar por el programa se debe llevar a la memoria mediante las instrucciones del programa. En la memoria  central hay también datos diversos y espacios de almacenamiento temporal que necesita el programa cuando se ejecuta con el fin de poder funcionar. Los programas y datos se almacenan en RAM mientras se esta utilizando la computadora. La memoria RAM puede ser estática o dinámica según sea el proceso de fabricación.

Con el objetivo de que el procesador pueda obtener los datos de la memoria central más rápidamente, la mayoría de los procesadores actuales utilizan con frecuencia una memoria denominada cache, que sirve para almacenamiento intermedio de datos entre el procesador y la memoria principal. La memoria cache se incorpora casi siempre al procesador.

La memoria central de una computadora es una zona de almacenamiento organizada en centenares o millares de unidades de almacenamiento individual o celdas. La memoria central consta de un conjunto de celdas de memoria (estas celdas o posiciones de memoria se denominan también palabras). El número de celdas de memoria de la memoria central, depende del tipo y modelo de computadora; hoy el numero suele ser millones. Cada celda de memoria consta de un cierto número de bits.

La unidad elemental de memoria se llama byte (octeto). Un byte tiene la capacidad de almacenar un carácter de información y esta formado por un conjunto de unidades más pequeñas de almacenamiento denominadas  bits, que son dígitos binarios (0 o 1).

La memoria ROM (memoria de solo lectura) contiene instrucciones fundamentales que no se pueden modificar o perder de modo accidental por el usuario. Estas memoria incluyen aquellas instrucciones que son necesarias para cargar inicialmente al software cuando se enciende la maquina y cualesquiera  otras instrucciones que el fabricante requiere para estar accesible desde un modo personal cuando el computador esta funcionado. La ROM es no volátil, su contenido no se pierde cuando se apaga la computadora. Al ser esta memoria de solo lectura, los programas almacenados en los chips ROM no se pueden modificar y suelen utilizarse para almacenar los programas del sistema que sirven para arrancar la computadora.


Los chips de memoria están generalmente agrupados en pequeños paneles de circuitos llamados SIMM (módulos sencillos de memoria en línea) y DIMM (módulos duales de memoria en línea), y conectados a la placa madre.

Los bytes de memoria tienen direcciones únicas que los identifican y ayudaran a la CPU a mantener el registro de donde se almacenan las cosas.

La CPU solo puede mirar en la memoria de acceso. Las direcciones de la memoria constituyen todo el universo de la CPU, así que cualquier programa que necesita ejecutarse o los datos que deben modificarse deben colocarse en la memoria.

Cuando enciende la computadora, la CPU empieza automáticamente a ejecutar las instrucciones almacenadas en la memoria de solo lectura (ROM). En la mayoría de los sistemas informáticos, la ROM también contiene partes del sistema operativo. Los programas firmware de la ROM se conocen a veces como BIOS (basic input/output system, sistema básico de entrada/salida).

Las instrucciones que se ejecutan ayudan al sistema a iniciarse y le indican como cargar el sistema operativo (copiarlo del disco a la memoria).

Una vez que las instrucciones de ejecución están cargadas en la memoria, la CPU es capaz de ejecutarlas.


Direcciones de memoria

Existen dos conceptos importantes asociados a cada celda o posición de memoria: su dirección y su contenido. Cada celda o byte tiene asociada una única dirección que indica su posición relativa en memoria y mediante la cual se puede acceder a la posición para almacenar o recuperar información. El contenido de estas direcciones o posiciones de memoria se llaman palabras, de modo que existen palabras de 8, 16,32, y 64 bits. Por consiguiente, si trabaja con una maquina de 32 bits, significa que en cada posición de memoria de su computadora puede alojar 32 bits, es decir, 32 dígitos, bien ceros y unos.

Siempre que una nueva información se almacena en una posición se destruye cualquier información que en ella hubiera y no se puede recuperar. La dirección es permanente y única, el contenido puede cambiar mientras se ejecuta un programa.


Unidades de medida de almacenamiento de la computadora
                      
Byte
Byte (B)
Equivale a
8 bits
Kilobyte
Kbyte (KB)
Equivale a
1.024 bytes
Megabyte
Mbyte (MB) 
Equivale a
1.024 Kilobytes
Gigabyte
Gbyte (GB)
Equivale a
1.024 Megabytes
Terabyte
Tbyte (TB)
Equivale a
1.024 Gigabytes
Petabyte
Pbyte (PB)
Equivale a
1.024 Terabytes
Exabyte
Ebyte (EB)
Equivale a
1.024 Petabytes
Zettabyte
Zbyte (ZB)
Equivale a
1.024 Exabytes
Yotta
Ybyte (YB)
Equivale a
1.024 Yottabytes


Bytes y direcciones

La memoria principal se divide en posiciones numeradas denominadas bytes. El número asociado con un byte es su dirección en alusión a la técnica de identificar las casas de una ciudad por su dirección. Un grupo de bytes consecutivos se utiliza como la posición de un elemento de datos, tal como un número o letra. La dirección del primer byte del grupo se utiliza como la dirección de esta posición de memoria más alta.

La memoria principal es la encargada de almacenar los programas y datos que se están ejecutando y su principal característica es que el acceso a los datos o instrucciones desde esta memoria es muy rápido.

En la memoria principal se almacenan:

·        Los datos enviados para procesarse desde los dispositivos de entrada
·        Los programas que realizaran los procesos
·        Los resultados obtenido preparados para enviarse a un dispositivo de Salida


Memoria Auxiliar

Cuando un programa se ejecuta, se debe situar primero en memoria central de igual modo que los datos. Sin embargo, la información almacenada en la memoria se pierde (borra) cuando se apaga la computadora y, por otra parte la memoria central es limitada en capacidad. Por esta razón, para poder disponer de almacenamiento permanentes, tanto para programas como para datos, se necesitan dispositivos de almacenamiento secundario, auxiliar o masivo.

Los dispositivos de almacenamiento o memorias auxiliares mas comúnmente utilizados son: cintas magnéticas, discos magnéticos, discos compactos.

La información almacenada en la memoria central es volátil (desaparece cuando se apaga la computadora) y la información almacenada en la memoria auxiliar es permanente. Esta información se organiza en unidades independiente llamadas archivos (ficheros, file en ingles). Los resultados de los programas se pueden guardar como archivos de datos y los programas que se escriben se guardan como archivos de programas, ambos en la memoria auxiliar. Cualquier tipo de archivo se puede trasferir fácilmente desde la memoria auxiliar hasta la memoria central para su proceso posterior.

La memoria auxiliar permanente almacena gran cantidad  de archivos en los diferentes dispositivos mencionados anteriormente. Cada archivo normalmente tiene un nombre arbitrario y una extensión que indica el tipo de archivo que se esta tratando (tales como .doc que indica un archivo de un procesador de textos, Word.

Los archivos pueden contener cualquier tipo de datos. Ejemplos pueden ser una imagen, un archivo de sonido, un programa de computadora, una letra o simplemente una lista de números.

  
El software (Los programas)

Las operaciones que debe realizar el hardware son especificadas por una lista de instrucciones, llamadas programas software. El software se divide en dos grandes grupos: software del sistema y software de aplicaciones.

El software del sistema es el conjunto de programas indispensables para que la maquina funcione; se denomina también programas del sistema. Estos programas son, básicamente, el sistema operativo, los editores de texto, los compiladores/interpretes (lenguajes de programación) y los programas de utilidad.

Uno de los programas mas importante es el sistema operativo, que sirve, esencialmente, para facilitar la escritura y uso de sus propios programas. El sistema operativo dirige las operaciones globales de la computadora, instruye a la computadora para ejecutar otros programas y controla el almacenamiento y recuperación de archivos (programas y datos) de cintas y discos. Gracias al sistema operativo es posible que el programador pueda introducir y grabar nuevos programas, así como  instruir a la computadora para que los ejecute. Los sistemas operativos pueden ser: monousuarios (un solo usuario) y multiusuarios, o tiempo compartido (diferentes usuarios), atendiendo al número de usuarios, y monotarea (una sola tarea) o multitarea (múltiples tareas), según las tareas (procesos) que puede realizar simultáneamente. Los sistemas operativos más populares son Windows XP, Vista, 7 ,8 y Linux en sus distintas distribuciones (Ubuntu, Debian, Fedora, etc.). El único sistema operativo, prácticamente gratis, es Linux que cada día tiene mayor aceptación.


Un sistema operativo permite utilizar el hardware y comunicarse con el resto del software del sistema. El sistema operativo consta de varios componentes importantes. Kernel del sistema el cual esel componente central del sistema; sistema de administración de memoria el cual asigna un área de memoria para cada programa que se esta ejecutando; administrador del sistema de archivos, que organiza y controla el uso de los discos; controladores de dispositivos, que controla los dispositivos de hardware conectados a la computadora, y bibliotecas del sistema que contiene todos los tipos de  programas de utilidad que se pueden llamar por programas de usuario.

Un programa es un conjunto de instrucciones que controlan (dirigen) a una computadora; mas formalmente, un programa de computadora es un conjunto de instrucciones internas utilizadas para ejecutarse en una computadora y que produzca un resultado concreto. Otro termino para un programa o conjunto de programas es software; ambos términos se utilizan indistintamente. El proceso de escribir un programa o software se denomina programación y el conjunto de instrucciones que se pueden utilizar para construir un programa se denomina lenguaje de programación. Así pues, los lenguajes utilizados para escribir programas de computadoras son los lenguajes de programación y programadores son los escritores y diseñadores de programas.

Cuando un programa se ejecuta normalmente hay dos tipos de entrada a una computadora. El programa es un tipo de entrada (contiene instrucciones que la computadora debe realizar y seguir). El otro tipo de entrada son los datos para el programa. Es la información que procesara la computadora. Por ejemplo, si es un programa de corrección de textos, los datos como el propio programa son entradas. La salida es el resultado (o resultados) producidos cuando la computadora sigue las instrucciones del programa. Si el programa es el de corrección de la sintaxis de un texto, la salida del programa es una lista de palabras que están mal escritas. Cuando se proporciona a la computadora un programa y datos y se dice a la computadora que siga las instrucciones del programa, se realiza una operación que se denomina ejecución del programa con los datos y el computador se dice que ejecuta el programa con los datos.