sábado, 9 de marzo de 2013

Conceptos básicos de computación

¿Qué es un computador?
Un computador es una máquina capaz de recibir instrucciones a través de algún medio, entenderlas y finalmente ejecutarlas.
Para que un computador pueda ejecutar alguna instrucción, primero ésta debe entregársela por algún medio físico y codificado en algún lenguaje entendible por el computador. Si la orden está dada en forma correcta y si el computador cuenta con los medios necesarios para ejecutarla, lo hará.
No se puede pensar que un computador sea capaz de realizar cualquiera tarea que se le ordene.

¿Qué es un programa?
Como vimos en el punto anterior, un computador necesita de un conjunto de instrucciones para que pueda funcionar y realizar las tareas que se requiera. Estas instrucciones son entregadas a través de un Programa.
Un programa es un conjunto de instrucciones escritas en algún lenguaje entendible por la máquina. A través de los programas el computador puede realizar variadas operaciones, desde procesar textos y dibujos hasta resolver complejos problemas matemáticos.






Componentes de un equipo de computo 

-El hardware son todos los componentes físicos que forman parte o interactúan con la computadora. Existen diversas formas de categorizar el hardware de una computadora, pero aquí decidimos clasificarlo en cinco áreas: 

-Memoria: la memoria RAM, donde se guarda la información que está siendo usada en el momento. También cuenta con memoria ROM, donde se almacena la BIOS y la configuración más básica de la computadora. (ver ¿qué es el bios? y Cómo instalar memoria RAM en la computadora) 


-Se conoce como software al equipamiento lógico o soporte lógico de un sistema informático, el que comprende el conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas específicas, en contraposición a los componentes físicos que son llamados hardware.
Los componentes lógicos incluyen, entre muchos otros, las aplicaciones informáticas; tales como el procesador de texto, que permite al usuario realizar todas las tareas concernientes a la edición de textos; el llamado software de sistema
-Dispositivos de entrada :  Teclado,Ratón,Joystick,Lápiz óptico ,Micrófono ,Webcam ,Escáner, Escáner de código de barras
-Dispositivos de salida:MonitorAltavoz ,Auriculares ,Impresora ,Plotter ,Proyector
-Dispositivos de almacenamiento : Memoria ROM, memoria RAM, memorias auxiliares, disquete o disco flexible, dispositivos ópticos, CD, DVD ROM, DVD RAM. Pen drive, o memory flash, unidades de Zip y disco duro.


Diagrama Conceptual de una Computadora


Dispositivos de entrada, almacenamiento y salida.

Los dispositivos de entrada son aquellos dispositivos externos de hardware que tienen componentes situados fuera de la computadora, a la que pueden dar información e/o instrucciones. 
Mientras tanto los dispositivos de salida son aquellos dispositivos que permiten ver resultados del proceso de datos que realice la computadora (salida de datos). El mas común es la pantalla o monitor, aunque también están las impresoras (imprimen los resultados en papel), los trazadores gráficos o plotters, las bocinas, etc. Para diferenciar los dispositivos tenemos dos enfoques posibles, el primero de ellos se centra en el modo de almacenar la información (clasificando los dispositivos como de bloque o de carácter) y el segundo enfoque se centra en el destinatario de la comunicación (usuario, maquina, comunicadores) Un dispositivo de bloque almacena la información en bloques de tamaño fijo.
 Al ser el bloque la unidad básica de almacenamiento, todas las escrituras o lecturas se realizan mediante múltiplos de un bloque. Es decir escribe 3 o 4 bloques, pero nunca 3,5 bloques. El tamaño de los bloques suele variar entre 512 Bytes hasta 32.768 Bytes. Un disco duro entraría dentro de esta definición.



Lenguaje de programación.
Un lenguaje de programación es un idioma artificial diseñado para expresar procesos que pueden ser llevadas a cabo por máquinas como las computadoras.
Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.1
Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación.
También la palabra programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de los siguientes pasos:
  • El desarrollo lógico del programa para resolver un problema en particular.
  • Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa).
  • Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.
  • Prueba y depuración del programa.
  • Desarrollo de la documentación.
Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y 'lenguaje informático'. Los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como por ejemplo HTML (lenguaje para el marcado de páginas web que no es propiamente un lenguaje de programación, sino un conjunto de instrucciones que permiten diseñar el contenido de los documentos).
Permite especificar de manera precisa sobre qué datos debe operar una computadora, cómo deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural.



Código fuente.



El código fuente de un programa informático (o software) es un conjunto de líneas de texto que son las instrucciones que debe seguir la computadora para ejecutar dicho programa. Por tanto, en el código fuente de un programa está descrito por completo su funcionamiento.
El código fuente de un programa está escrito por un programador en algún lenguaje de programación, pero en este primer estado no es directamente ejecutable por la computadora, sino que debe ser traducido a otro lenguaje (el lenguaje máquina o código objeto) que sí pueda ser ejecutado por el hardware de la computadora. Para esta traducción se usan los llamados compiladores, ensambladores,intérpretes y otros sistemas de traducción.
El término código fuente también se usa para hacer referencia al código fuente de otros elementos del software, como por ejemplo el código fuente de una página web que está escrito en el lenguaje de marcado HTML o en Javascript u otros lenguajes de programación web y que es posteriormente ejecutado por el navegador web para visualizar dicha página cuando es visitada.
El área de la informática que se dedica a la creación de programas y, por tanto a la creación de su código fuente, es la programación.


Lenguaje de máquina
El lenguaje de máquina es el sistema de códigos directamente interpretable por un circuito microprogramable, como el microprocesador de una computadora o el microcontrolador de un autómata.
 Este lenguaje está compuesto por un conjunto de instrucciones que determinan acciones al ser tomadas por la máquina. Un programa consiste en una cadena de estas instrucciones más un conjunto de datos sobre el cual se trabaja. Estas instrucciones son normalmente ejecutadas en secuencia, con eventuales cambios de flujo causados por el propio programa o eventos externos. El lenguaje de máquina es específico de la arquitectura de la máquina, aunque el conjunto de instrucciones disponibles pueda ser similar entre arquitecturas distintas.
Los circuitos microprogramables son sistemas digitales, lo que significa que trabajan con dos únicos niveles de tensión. Dichos niveles, por abstracción, se simbolizan con los números 0 y 1, por eso el lenguaje de máquina sólo utiliza dichos signos. Esto permite el empleo de las teorías del álgebra booleana y del sistema binario en el diseño de este tipo de circuitos y en su programación.





Lenguaje de alto , medio y bajo nivel

LENGUAJE DE ALTO NIVEL :  se caracteriza por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las máquinas.
En los primeros lenguajes de nivel bajo la limitación era que se orientaban a un área específica y sus instrucciones requerían de una sintaxis predefinida. Se clasifican como lenguajes procedimentales.
Otra limitación de los lenguajes de nivel bajo es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas. Los lenguajes de alto nivel se crearon para que el usuario común pudiese solucionar un problema de procesamiento de datos de una manera más fácil y rápida.
Por esta razón, a finales de los años 1950 surgió un nuevo tipo de lenguajes de programación que evitaba estos inconvenientes, a costa de ceder un poco en las ventajas. Estos lenguajes se llaman de tercera generación o de nivel alto, en contraposición a los de bajo nivel o de nivel próximo a la máquina.

LENGUAJE DE MEDIO NIVEL:
Se dice de lenguajes de programación como, que aunque sea un lenguaje de alto nivel, tiene características que exponen detalles de bajo nivel de la arquitectura. No es un término formalmente utilizado.

LENGUAJE DE BAJO NIVEL:Un lenguaje de programación de bajo nivel es aquel en el que sus instrucciones ejercen un control directo sobre el hardware y están condicionados por la estructura física de la computadora que lo soporta.


Generaciones de computadoras.
Primera Generación (1951-1958)

En esta generación había una gran desconocimiento de las capacidades de las computadoras, puesto que se realizó un estudio en esta época que determinó que con veinte computadoras se saturaría el mercado de los Estados Unidos en el campo de procesamiento de datos. Esta generación abarco la década de los cincuenta. Y se conoce como la primera generación. Estas máquinas tenían las siguientes características:
  Usaban tubos al vacío para procesar información.
  Usaban tarjetas perforadas para entrar los datos y los programas.
  Usaban cilindros magnéticos para almacenar información e instrucciones internas.
  Eran sumamente grandes, utilizaban gran cantidad de electricidad, generaban gran cantidad de calor y eran sumamente lentas.
  Se comenzó a utilizar el sistema binario para representar los datos.

Segunda Generación (1958-1964)

En esta generación las computadoras se reducen de tamaño y son de menor costo. Aparecen muchas compañías y las computadoras eran bastante avanzadas para su época como la serie 5000 de Burroughs y la ATLAS de la Universidad de Manchester. Algunas computadoras se programaban con cinta perforadas y otras por medio de cableado en un tablero.



Tercera Generación (1964-1971)

La tercera generación de computadoras emergió con el desarrollo de circuitos integrados (pastillas de silicio) en las que se colocan miles de componentes electrónicos en una integración en miniatura. Las computadoras nuevamente se hicieron más pequeñas, más rápidas, desprendían menos calor y eran energética mente más eficientes. El ordenador IBM-360 dominó las ventas de la tercera generación de ordenadores desde su presentación en 1965. El PDP-8 de la Digital Equipment Corporation fue el primer miniordenador.
Características de está generación:
  Se desarrollaron circuitos integrados para procesar información.
  Se desarrollaron los "chips" para almacenar y procesar la información. Un "chip" es una pieza de silicio que contiene los componentes electrónicos en miniatura llamados semiconductores.
  Los circuitos integrados recuerdan los datos, ya que almacenan la información como cargas eléctricas.


Cuarta Generación (1971-1988)

Aparecen los microprocesadores que es un gran adelanto de la microelectrónica, son circuitos integrados de alta densidad y con una velocidad impresionante. Las micro computadoras con base en estos circuitos son extremadamente pequeñas y baratas, por lo que su uso se extiende al mercado industrial. Aquí nacen las computadoras personales que han adquirido proporciones enormes y que han influido en la sociedad en general sobre la llamada "revolución informática".
Características de está generación:
  Se desarrolló el microprocesador.
  Se colocan más circuitos dentro de un "chip".
  "LSI - Large Scale Integration circuit".
  "VLSI - Very Large Scale Integration circuit".



  Quinta Generación (1983 al presente)
En vista de la acelerada marcha de la microelectrónica, la sociedad industrial se ha dado a la tarea de poner también a esa altura el desarrollo del software y los sistemas con que se manejan las computadoras. Surge la competencia internacional por el dominio del mercado de la computación, en la que se perfilan dos líderes que, sin embargo, no han podido alcanzar el nivel que se desea: la capacidad de comunicarse con la computadora en un lenguaje más cotidiano y no a través de códigos o lenguajes de control especializados.