Está en la página 1de 24

Tema 1: Introduccin a la informtica

Objetivos del tema: este tema pretende proporcionar al alumno conocimientos bsicos sobre el funcionamiento de un computador u ordenador. Se atender tanto el funcionamiento de la parte fsica (hardware) como de la parte lgica (software). Si bien el resto de los temas se centrarn sobre la parte lgica, esto es, el desarrollo de software, hardware y software son dos componentes imprescindibles para que un sistema informtico preste servicio a sus usuarios y, desde un punto de vista prctico, el uno sin el otro es completamente inservible. Por ello, para desarrollar software de calidad es imprescindible tener unos conocimientos mnimos acerca del hardware y su funcionamiento.

Metodologa y tecnologa de la programacin (I)

2/24

ndice
ndice ...........................................................................................................................................2 1 2 Definicin y origen del trmino informtica .......................................................................3 Breves nociones histricas ..................................................................................................4 2.1 3 Grandes pifias y es la historia de la informtica........................................................10

Estructura de un computador.............................................................................................11 3.1 3.1.1 3.1.2 3.1.3 3.1.4 3.2 El hardware................................................................................................................12 La CPU ..............................................................................................................13 La memoria RAM..............................................................................................14 Dispositivos de entrada y salida ........................................................................15 El bus del sistema ..............................................................................................16

El software.................................................................................................................17 Software de sistema y de aplicacin..................................................................19 Lenguajes de programacin...............................................................................20 Lenguaje Mquina .........................................................................................20 Lenguaje Ensamblador ..................................................................................21 Lenguajes de ms alto nivel...........................................................................22

3.2.1 3.2.2 3.2.2.1 3.2.2.2 3.2.2.3

Metodologa y tecnologa de la programacin (I)

3/24

Definicin y origen del trmino informtica


La informtica surgi de la necesidad de transmitir y tratar informacin de manera automtica. Su propsito inicial era ayudar al hombre en aquellos trabajos rutinarios y repetitivos, generalmente de clculo y de gestin, donde es frecuente la repeticin de tareas. El trmino informtica se acu en 1962 en Francia y procede de las palabras "informacin automtica": INFORMATICA= INFORmacin + autoMATICA. En los paises anglosajones se conoce ms comnmente como Computer Science. Segn la Real Academia de la Lengua, informtica es el "conjunto de conocimientos cientficos y tcnicos que hacen posible el tratamiento automtico de la informacin por medio de computadores electrnicos." Segn la wikipedia (http://es.wikipedia.org) "La Informtica o computacin es la ciencia del tratamiento automtico de la informacin mediante un computador (llamado tambin ordenador o computadora). Entre las tareas ms populares que ha facilitado esta tecnologa se encuentran: elaborar documentos, enviar y recibir correo electrnico, dibujar, crear efectos visuales y sonoros, maquetar folletos y libros, manejar la informacin contable en una empresa, reproducir msica, controlar procesos industriales y jugar." Desde la aparicin de las primeras mquinas de clculo (grandes calculadoras) no se ha parado de investigar para obtener mquinas cada vez ms potentes y rpidas. Tambin se trabaj en la consecucin de nuevos mtodos de trabajar, novedosas formas de explotacin de las mquinas e innovadores modos de compartir los recursos.

Metodologa y tecnologa de la programacin (I)

4/24

2 Breves nociones histricas


El primer dispositivo manual de clculo fue el baco, empleado en Japn desde el ao 3.500 a.C. El baco es un instrumento compuesto por filas y columnas de cuentas; las columnas representan los nmeros y las filas y usan para calcular los acarreos.

Blaise Pascal (matemtico y filsofo francs, 1623-1662) invent la primera mquina automtica de calcular

empleando ruedas dentadas. Sumaba y restaba y los resultados aparecan por una ventanilla. Su nombre era pascalina o mquina aritmtica de Pascal. Charles Babbage (matemtico ingls, 1792-1871) dise la mquina de diferencias que poda resolver funciones (ej. x2). Esta mquina usaba tecnologa mecnica (ruedas y palancas) para realizar los clculos.

Lamentablemente la tecnologa disponible en la poca no permiti construir la mquina. Babbage, no contento con las capacidades de su invencin, dise una nueva mquina: la mquina analtica, que poda realizar todas las operaciones

matemticas y poda ser programada con tarjetas de cartn perforado. Por ello, a pesar de que tampoco fue posible construir esta mquina, es considerado el padre de la Informtica, al definir los fundamentos tericos de las computadoras actuales.

Metodologa y tecnologa de la programacin (I)

5/24

Augusta Ada Byron (1788-1824) escribi el primer programa para la mquina analtica de Babbage. Por ello, aunque el programa nunca se lleg a ejecutar, se la considera la primera programadora de la historia. Uno de los primeros lenguajes de programacin creados se denomin, en honor a ella, Ada. George Boole (matemtico ingls, 1815-1864) desarroll el lgebra de Boole que permiti a sus sucesores el desarrollo matemtico del lgebra binaria y la representacin de circuitos de conmutacin. Thomas J. Watson fundada IBM en 1924. En breve la empresa se convertira en el mayor gigante mundial de la industria informtica. Alan M. Turing (matemtico ingls, 1912-1954) desarroll los fundamentos tericos de una mquina capaz de resolver todo tipo de problemas con solucin algortmica. Una mquina de Turing es una forma de representar un proceso a partir de su descripcin. Esto dio lugar a la teora matemtica de la computacin y se demostr la existencia de problemas sin solucin algortmica. En 1938, John Vicent Atanasoff y Clifford Berry construyeron la primera mquina de calcular digital. Operaba en binario

siguiendo la idea de Babbage. Se llam ABC. Esta mquina no puede considerarse un computador de propsito general ya que slo era capaz de realizar una nica tarea: resolver ecuaciones lineales.

Metodologa y tecnologa de la programacin (I)

6/24

Howard H. Aiken (1900-1973) sigui la idea de Babbage y construy la primera computadora electromecnica con rels electromagnticos, ruedas dentadas y embragues electromecnicos. El proyecto se desarroll la Universidad de Harvard y fue patrocinado por la marina de los Estados Unidos e IBM. El computador se que

construyeron

denomin

Mark-I y se finaliz en 1944. Tena 16 metros de largo, 2.6 m. de alto, pesaba 70 toneladas y contaba con ms de 800000 metros de cables. Sumaba dos nmeros en menos de un segundo y multiplicaba en tres segundos. En cuanto la mquina estuvo operativa la marina de los Estados Unidos requis tanto la mquina como a su inventor para emplearlos en la Segunda Guerra Mundial. Mark-I fue empleado para calcular las trayectorias de los proyectiles que se lanzaban desde los barcos y permiti desencriptar las comunicaciones alemanas encriptadas mediante la mquina ENIGMA. La tecnologa electromecnica tena dos grandes problemas: era lenta y muy difcil de programar. Por ello la

Universidad de Pennsylvania se llev a cabo un proyecto de investigacin en el que se usaron tubos de vaco elctricos en lugar de rels. En 1945, John W. Mauchly y John Presper Eckert construyeron el ENIAC

(Electronic Numerical Integrator and Computer), la primera

Metodologa y tecnologa de la programacin (I)

7/24

computadora electrnica. Para su construccin emplearon tubos de vaco; esta computadora puede considerarse el primer miembro de la primera generacin de ordenadores, caracterizados por el uso de tubos de vaco. ENIAC poda ser programable. Para ello haba que cambiar la posicin de un conjunto de cables en un panel de control (las dos mujeres de la imagen se encuentra enfrente al panel de control programando la computadora). ENIAC ocup toda la planta baja de un edificio de grandes dimensiones y consuma una gran cantidad de electricidad.

En 1944. John von Neumann (1903-1957) desarroll la idea de programa interno y describe el fundamento terico de construccin de una computadora denominada de Su en von idea la

electrnica arquitectura Neumann. consista

coexistencia en el tiempo de datos e instrucciones en la computadora y la posibilidad de ser

Metodologa y tecnologa de la programacin (I)

8/24

programada, no estando las rdenes cableadas en los circuitos de la mquina. El EDVAC, construdo en 1952, fue la primera mquina construida siguiendo las ideas de von Neumann. EDVAC pesaba aproximadamente 7850 kg, tena una superficie de 150 m2 y estaba organizado en seis partes: Unidad de lectura-grabadora, que era la encargada de la lectura, grabacin y borrado de las cintas magnticas. Unidad de control, que contena los botones de operacin, las lmparas indicadoras, los interruptores de control y un osciloscopio para el mantenimiento de la computadora. Unidad de "reparto", que se encargaba de decodificar las instrucciones, emita seales de control hacia el resto de unidades y almacenaba la instruccin que se deba ejecutar en cada momento. Memoria de alta velocidad, que consista en dos unidades iguales, cada una contena 64 lneas de 8 palabras cada una. Computadora, la unidad que realizaba las operaciones bsicas aritmticas. La unidad aritmtica estaba por duplicado, las operaciones se hacan en ambas unidades y se comparaban los resultados, interrumpindose la ejecucin si no eran idnticos. Reloj, que emita pulsos de reloj a intervalos de 1 segundo.

En la dcada de los 50 se produjo un desarrollo tecnolgico que contribuy enormemente al desarrollo de los computadores: el transistor. Un transistor es un dispositivo electrnico que puede hallarse en dos estados diferentes

(conduciendo corriente o no conducindola), de bajo consumo y con una transicin muy rpida entre ambos estados. La sustitucin de las tubos de vaco por transistores permiti construir mquinas ms rpidas, con un menor consumo elctrico, menor disipacin de calor y menor tamao. Estos nuevos computadores se denominan computadores de segunda generacin.

Metodologa y tecnologa de la programacin (I)

9/24

En la dcada de los 60 la tecnologa electrnica da un paso ms gracias al avance de los circuitos integrados; estos circuitos permiten empaquetar

varios transistores en un chip, lo que redujo todava ms el consumo y el espacio que requerirn los computadores y aument ms sus prestaciones. Este avance tecnolgico dio

lugar a los computadores de tercera generacin, que adems fueron los primeros en introducir terminales de rayos catdicos y teclados similares a los actuales. Estos computadores tenan toda las caractersticas bsicas de los actuales, si bien segua siendo muy grandes, con muy poca memoria, excesivamente caros y requeran de instalaciones especiales, por lo que slo podan acceder a ellos las empresas ms grandes. La imagen podemos ver uno de los computadores ms clebres de la poca, los IBM serie 360. Tenan CPUs de 1 MHz, 128 kB de RAM y unos enormes discos duros con una capacidad de unos pocos megabytes. El progreso de la tecnologa integrada permiti introducir cada vez ms transistores dentro de un chip de silicio: a principios de los aos 80 ya era posible introducir toda la arquitectura Von Neumann dentro de un chip, surgiendo as el concepto de microprocesador y dando as lugar a los computadores de cuarta generacin. Estos equipos ocupaban menos tamao que sus predecesores, consuma menos potencia elctrica, ya no requeran de unas instalaciones especiales y su precio se redujo sensiblemente. Este fue el principio de la expansin de los ordenadores por pequeas empresas, oficinas e incluso hogares, a la vez que ech por tierra la previsin que KEN OLSON, presidente, chairman y fundador de Digital. Equipment Corp., haba hecho en 1977: "No existe una sola razn por la cual alguien quisiera tener un ordenador en su casa."

Metodologa y tecnologa de la programacin (I) En este momento llegaron los "ordenadores PCs personales" o

10/24

(Personal

Computer),

ordenadores muy pequeos y baratos que caban en una mesa de un despacho. El primero en salir al mercado, en agosto de 1981, fue el 5150 de IBM, con un microprocesador Intel 8088 (que contaba con 29.000 transistores en un rea de 33 mm) y con un precio de $5000. El cliente poda elegir el sistema operativo entre CP/M por $400 o MS-Dos (de una empresa por aquel entonces desconocida: Microsoft) por $100 (lo que llev que se implantara ms el sistema operativo de Microsoft).

2.1 Predicciones fallidas en la historia de la informtica


El desarrollo de las tecnologas relacionadas con la computacin ha sido tan vertiginoso que incluso aquellas personas que, al menos en su tiempo, podan considerarse grandes expertos mundiales del campo erraron totalmente al intentar vislumbrar cmo sera su evolucin. Casi de modo continuado, y en muy pocos aos, en el campo de la informtica se pasa de lo que se considera ciencia ficcin a la realidad cotidiana. A continuacin recogemos unas cuantas frases que demuestran lo difcil que es intentar hacer predicciones en este campo: "Creo que hay un mercado mundial de quizs unos cinco ordenadores". THOMAS WATSON, chairman de IBM, 1943. "Los ordenadores del futuro no pesarn ms de 1,5 toneladas". POPULAR MECHANICS, adelantando el vertiginoso avance cientfico, 1949. "He viajado por este pas de arriba a abajo, hablado con los ejecutivos ms importantes y con los mejores tcnicos, y os puedo asegurar que el proceso automtico de datos es una chapuza que no va a durar mas de un ao". El editor de libros sobre empresa de Prentice Hall, 1957.

Metodologa y tecnologa de la programacin (I)

11/24

"Pero... para que nos van a servir?". Ingeniero de la Advanced Computing Systems Division de IBM, 1968, hablando de los microchips. "No existe una sola razn por la cual alguien quisiera tener un ordenador en su casa". KEN OLSON, presidente, chairman y fundador de Digital. Equipment Corp. 1977.

"640K debera ser suficiente para cualquiera." BILL GATES, 1981

3 Estructura de un computador
Podemos definir computador u ordenador como una mquina capaz de aceptar unos datos de entrada, efectuar con ellos operaciones lgicas y aritmticas y proporcionar la informacin resultante a travs de un medio de salida; todo ello sin intervencin humana y bajo el control de un programa de instrucciones previamente almacenado en la propia computadora. En la definicin se puede ver que un ordenador consta de dos partes bien diferenciadas: por un lado la parte fsica, la mquina que da el soporte a las operaciones que se realizarn en ella (el hardware) y por otro lado la parte lgica, el programa que determina el conjunto de operaciones que debe de ejecutar el hardware (el software). Definamos ambos elementos: Hardware: elemento fsico de un computador. Incluye todos los materiales como la propia computadora, los dispositivos externos, los cables, los soportes de la informacin, etc. Software: conjunto de elementos lgicos necesarios para que los computadores puedan realizar las tareas encomendadas. Dota al equipo fsico de capacidad para prestar servicios a los usuarios. El hardware es completamente intil sin el software, ya que no permite realizar ninguna operacin. En un principio, el hardware tena ms peso especfico que el software: haba grandes y caras computadoras dotadas de pocos y pequeos programas. Hoy en da el software tiene mayor peso especfico que el hardware.

Metodologa y tecnologa de la programacin (I)

12/24

En ocasiones el hardware lleva "empotrado" software; que se denomina Firmware. ste puede definirse como el software que las computadoras tienen pregrabado desde su fabricacin y que suele estar en memorias de slo lectura (ROM- Read Only Memory). Los ordenadores son mquinas que realizan lo que se denomina tratamiento de la informacin, y los programas determinan el tratamiento que debe de realizarse sobre la informacin. El tratamiento de la informacin puede estructurarse en: 1. Entrada de datos (se toman los datos del exterior y se envan a la computadora) 2. Almacenamiento de datos 3. Proceso Aritmtico-Lgico 4. Salida (proporcionar los resultados a las personas o entidades correspondientes) 5. Almacenamiento de resultados La gran versatilidad de los ordenadores consiste en que la misma mquina (mismo hardware) puede efectuar tareas muy distintas dependiendo de los programas que ejecute.

3.1 El hardware
El hardware es la parte fsica del equipo. Sus componentes principales son: CPU (Central Process Unit - Unidad Central de Proceso) o procesador: es un circuito integrado con capacidad de ejecutar instrucciones de un lenguaje elemental llamado lenguaje mquina o cdigo mquina. Es el elemento principal del ordenador. Memoria Principal o memoria RAM: Es un espacio de almacenamiento donde se guardan: Las instrucciones del programa a ejecutar. Las variables donde se almacenan los datos iniciales, intermedios y finales.

Dispositivos de E/S: permiten que el ordenador se comunique con el exterior. Los ms comunes son la salida estndar (pantalla) y la entrada estndar (teclado). Para comunicarse entre s estos dispositivos emplean el bus de datos. Veamos ms detalle cada uno de estos componentes.

Metodologa y tecnologa de la programacin (I)

13/24

3.1.1 La CPU
La CPU es el elemento principal, el centro neurlgico del ordenador. Su misin consiste en coordinar y realizar todas las operaciones del ordenador. Para ello extrae una a una las instrucciones del programa que est ejecutando, las analiza y emite las rdenes necesarias para su

ejecucin. Fsicamente circuitos est formada que por se

electrnicos

encuentran integrados en un chip de silicio. Los distintos circuitos del chip se construyen sobre una oblea de silicio empleando tcnicas similares a las que emplea una fotocopiadora para crear copias de una hoja. En la actualidad en una CPU hay del orden de decenas de millones de transistores. La CPU consta de: Unidad de Control (Control Unit, CU). Se encarga de gobernar al resto de las unidades. Interpreta y ejecuta las instrucciones y controla su secuencia. Contiene un reloj o generador de pulsos que sincroniza todas las operaciones elementales. La frecuencia de reloj (que suele darse en ciclos/segundo, habitualmente MegaHercios, MHz o GigaHercios, GHz) que determina la velocidad de funcionamiento del ordenador. En 1974 la velocidad tpica de una CPU era de 2 MHz, hoy en da est entre los 2 y los 3 GHz. Unidad Aritmtico-lgica (Arithmetic-Logic Unit, ALU). Se encarga de realizar todas las operaciones elementales de tipo aritmtico (sumas, restas, productos y divisiones) y lgico (ej. comparaciones). La longitud de la palabra de CPU es el nmero de bits mximo de los datos con los que opera la ALU. En los ordenadores

Metodologa y tecnologa de la programacin (I)

14/24

de propsito general las longitudes de palabras tpicas hoy en da son de 32 bits y 64 bits. Los procesadores de propsito especfico orientados al procesado de imgenes (como las CPU de las vdeoconsolas) tienen longitudes de palabra superiores (128 bits). Banco de registros (pequeas unidades de almacenamiento de memoria). Son dispositivos de alta velocidad para almacenar datos o instrucciones temporalmente. Son la zona ms alta en la jerarqua de memoria. Hay una serie de registros especiales como el contador de programa, que almacena la direccin de la siguiente instruccin ejecutar, registros que almacenan el estado del ordenador, etc. Hoy en da, gracias a la gran capacidad de integracin de los circuitos de silicio, tambin suele incluirse cierta cantidad de memoria RAM dentro de la CPU, cuyo tamao ronda el Megabyte.

3.1.2 La memoria RAM


La memoria central, memoria principal o memoria RAM (Random Access Memory) se encarga de almacenar los programas y datos necesarios para el funcionamiento del sistema informtico. Para que un programa pueda ser ejecutado tanto sus instrucciones como los datos que haya que procesar tienen que estar en esta memoria. Es voltil, esto es, se borra al apagar el ordenador ya que requiere de alimentacin de corriente continuada para conservar almacena. Est constituida por multitud de celdas o posiciones de memoria idnticas numeradas de forma la informacin que

consecutiva. La numeracin de cada celda se denomina direccin de memoria y mediante esta direccin se puede acceder de forma directa a cualquiera de sus celdas.

Por ello se dice que el acceso a esta memoria es directo o aleatorio. La

Metodologa y tecnologa de la programacin (I)

15/24

longitud de palabra de memoria es la cantidad de informacin (expresada en bits) que puede introducirse o extraerse de la memoria central de una sola vez. Los tamaos de palabra de memoria tpicos actuales son 32 y 64 bits. Normalmente el tamao de la memoria se expresa como algn mltiplo de 210=1024 bytes, esto es 1K. Actualmente el tamao de la memoria suele ascender a cientos de Megabytes (1 M = 210 K) o Gigabyte (1 G=1024 M). A principios de la dcada de los 80 la capacidad de almacenamiento tpica de un ordenador personal era del orden de unos pocos cientos de Kilobytes. Otro tipo de memoria que merece mencin es la memoria ROM (Read Only Memory). El contenido de esta permanece al desconectar el ordenador. Normalmente contiene instrucciones necesarias para que el hardware del equipo comience a funcionar. Es una memoria donde no se puede escribir nada, slo se puede leer su contenido.

3.1.3 Dispositivos de entrada y salida


Los dispositivos de entrada y salida (E/S) permiten la comunicacin entre el ordenador y el resto del mundo. Actualmente los ordenadores incluyen tres tipos de dispositivos tpicos para llevar a cabo las operaciones de entrada y salida: Interfaz con el usuario. Permiten al ordenador comunicarse directamente con el ser humano. dispositivos Los de

entrada ms comunes son el ratn y teclado; otros son lpices

pticos, el micrfono, escneres, cmaras de vdeo, lectores de

cdigos de barras, etc. Los dispositivos ms tpicos de salida son el monitor y la

impresora; otros son

Metodologa y tecnologa de la programacin (I) altavoces, ploters, proyectores, etc.

16/24

Conexin con los dispositivos de almacenamiento. Los dispositivos de almacenamiento solventan el problema de la volatilidad de la memoria RAM y proporcionan mayor capacidad de almacenamiento que sta; el precio a pagar por estas ventajas es una velocidad de acceso mucho menor. Actualmente se usan distintas tecnologas para los dispositivos de almacenamiento: dispositivos de almacenamiento magnticos (discos duros, diskettes y cintas), pticos (CDROM y DVD) y microelectrnicos (lpices USB). El disco duro constituye el principal almacenamiento del ordenador, siendo el dispositivo que permite un acceso ms rpido y un mayor espacio de almacenamiento (tambin tienen el precio ms alto). Es por ello que cuando la memoria RAM no resulta suficiente para almacenar toda la informacin se vuelca una parte del contenido de sta al disco duro; a esta informacin se la denomina memoria virtual. El tamao tpico del disco duro actualmente ronda los 300 Gigabytes.

Conexiones a redes. Hay dos formas bsicas de conexin a la red: conexin a red telefnica y conexin a la red de rea local. La primera se lleva a cabo conectando al PC un dispositivo denominado mdem y la segunda se realiza a travs de una tarjeta de red.

3.1.4 El bus del sistema


El bus es el mecanismo de comunicacin entre los elementos de un ordenador. Est constituido por mltiples lneas que permiten indicar la direccin de memoria donde estn los datos a tratar, transmitir seales de control a las lneas de datos y direccin, y transmitir los propios datos sobre los cuales opera el ordenador. Toda esta informacin circula en paralelo por el bus, por lo que cuando un dispositivo lo est usando ninguno ms puede acceder a l. La mayor parte del trfico del bus lo causan los accesos de la CPU a la memoria RAM. Los dispositivos de entrada y salida no se conectan directamente al bus del sistema; se conectan mediante un controlador, esto es, un circuito impreso que conoce el funcionamiento del dispositivo de entrada y salida y hace las veces de mediador para el intercambio de informacin entre el dispositivo y el resto del sistema.

Metodologa y tecnologa de la programacin (I)

17/24

CPU

RAM

Controladores

E/S

Bus del sistema

3.2 El software
Los programas o software estn compuestos por un conjunto de instrucciones que operan sobre un conjunto de datos de entrada para generar un conjunto de datos de salida. Una instruccin es un conjunto de smbolos que representa una orden de operacin o tratamiento para la computadora. Podemos definir programa como un conjunto de instrucciones que ejecuta un ordenador para realizar un proceso determinado. El concepto de programa est ntimamente ligado al concepto de ordenador, ya que un ordenador es una mquina que ejecuta las instrucciones codificadas en el programa. El ordenador est compuesto por un conjunto de circuitos electrnicos que tienen una serie de seales elctricas de entrada y como resultado de su operacin genera una serie de seales elctricas de salida. En funcin de la intensidad de las seales se codifica la informacin: si las seales llevan intensidad (o se les ha aplicado un voltaje) se consideran 1s. Si las seales no llevan intensidad se consideran como 0s. Existen dos tipos de seales claramente diferenciadas. Por un lado, las que estn orientadas al control operacin de los componentes electrnicos del ordenador que, por tanto, sirven para controlar el funcionamiento interno. Las otras seales estn ligadas a las instrucciones que debe ejecutar el ordenador y a los datos que se van a procesar.

Metodologa y tecnologa de la programacin (I) El objetivo de esta asignatura es ensear al alumno a construir programas que realicen un

18/24

procesado de cierta informacin acorde a unas especificaciones dadas. En un principio, la

programacin de los ordenadores se realizaba mediante tarjetas perforadas donde la ausencia o presencia de agujeros indicaba 1 un 0. Afortunadamente, hoy en da existen formas mucho ms simples y elegantes de crear programas: los lenguajes de programacin, que definen el conjunto de smbolos y reglas para construir o redactar programas. La CPU es la encargada de ejecutar los programas. Para ello lee de forma ordenada una lista de instrucciones, las interpreta y controlar la ejecucin de cada una de ellas. Las instrucciones se ejecutan de forma consecutiva una detrs de otra. Para ejecutar cada instruccin la CPU realiza los

siguientes pasos: 1. Lee de la memoria la instruccin que tiene que ejecutar y la guarda en un registro interior de la CPU. 2. Identifica la instruccin que acaba de leer. 3. Comprueba si las instrucciones necesitan utilizar datos que se hallan en la memoria (y no en un registro interno de la CPU). Si es as, determina donde debe ir a buscar estos datos. 4. Trae los datos sobre los que va a operar a la CPU. 5. Ejecuta la instruccin. 6. Almacena el resultado de la ejecucin.

Metodologa y tecnologa de la programacin (I)

19/24

7. Si hay un salto de secuencia, calcula la direccin de la siguiente instruccin ejecutar; si no hay ningn salto contina ejecutando la siguiente instruccin. Una aplicacin informtica es conjunto de uno o varios programas, y su documentacin correspondiente, cuyo fin es realizar un determinado trabajo. La documentacin permite al usuario de la aplicacin comprender su funcionamiento y manejarla. Por sistema informtico se entiende el conjunto de elementos necesarios (computadoras, terminales, impresoras, etc.) para la realizacin y explotacin de aplicaciones informticas. Un sistema informtico requiere de varios tipos diferentes de software (programas) que veremos a continuacin.

3.2.1

Software de sistema y de aplicacin

Hay dos tipos diferentes de software: el software de sistema y software de aplicacin. El software de sistema es aqul que proporciona los mecanismos de gestin del hardware y las utilidades para desarrollar aplicaciones. Sirve como base para desarrollar programas y para que el software de aplicacin pueda acceder al hardware, permitiendo as aislar al programador de los detalles de bajo nivel de la mquina e incrementando su productividad. El sistema operativo es, sin duda, el software de sistema ms importante de un ordenador. Este software controla y gestiona a los recursos hardware del ordenador, entre ellos la CPU, la memoria RAM y los dispositivos de entrada
Pr
Utilidades
as de co ram nt og

Aplicaciones Usuario

y salida. Sus funciones ms destacadas son la gestin de los

l ro

Hardware

programas en ejecucin, permitiendo que varios programas puedan


Sistema Operativo

compartir la CPU y los diversos recursos del ordenador; la

Metodologa y tecnologa de la programacin (I)

20/24

asignacin de memoria los programas para que stos puedan ejecutarse; la gestin de los controladores de los dispositivos de entrada y salida; la gestin del sistema de archivos proporcionando una organizacin lgica de los sistemas de almacenamiento a travs de volmenes, directorios y archivos; etc. Un sistema operativo contiene programas de control, que se ocupan de controlar al equipo fsico en todos sus aspectos, y contiene programas de utilidad o aplicaciones, que se encargan de ayudar al usuario en trabajos tpicos, como formatear disquetes, manejar ficheros, etc. Adems del sistema operativo, el software de sistema incluye editores para introducir textos y programas en el ordenador, compiladores, intrpretes, etc. y una serie de herramientas que permiten al programador crear software. El software de aplicacin o aplicaciones se compone de programas diseados para que el usuario interaccione de modo simple con el ordenador con el objeto de realizar una determinada tarea. Es el software que utiliza todo el mundo: procesadores de texto, navegadores web, clientes de correo electrnico, hojas de clculo, agendas electrnicas etc. Este software es el responsable del xito de los computadores actuales, ya que proporciona un conjunto de servicios muy atractivos a un usuario que no tiene necesariamente conocimientos sobre el funcionamiento interno del ordenador ni de los programas.

3.2.2

Lenguajes de programacin

Los lenguajes de programacin sirven para escribir programas que permitan a un ordenador prestar diversos servicios a los usuarios. Hay tres tipos de lenguajes: lenguaje mquina, lenguaje ensamblador y lenguajes de alto nivel. 3.2.2.1 Lenguaje Mquina Es el lenguaje que entiende directamente el procesador de un ordenador. En la prctica, no se utiliza para programar porque: Requiere un conocer con detalle el diseo del procesador y es distinto para cada modelo.

Metodologa y tecnologa de la programacin (I)

21/24

Tanto los datos como las instrucciones se representan numricamente (en binario o hexadecimal). Por ejemplo, 3F2 puede significar "ver si el valor en el registro CX es mayor que 0''.

Las instrucciones son muy elementales: suma, comparacin, copia, etc. de nmeros o posiciones de memoria.

Los circuitos electrnicos de la unidad de control de un ordenador slo pueden interpretar instrucciones en lenguaje mquina. Por tanto, cualquier programa escrito en cualquier otro lenguaje de programacin para poder ejecutarse en un ordenador tendr que traducirse a lenguaje mquina. 3.2.2.2 Lenguaje Ensamblador Es equivalente al lenguaje mquina, pero las instrucciones se indican con palabras cortas (mnemnicos) en lugar de nmeros. Por ejemplo, la instruccin CMP fue servir para comparar comparar dos valores, ADD para sumar dos valores, etc. A cada instruccin de ensamblador le corresponde una nica instruccin de cdigo mquina. La traduccin de ensamblador a cdigo mquina la realiza un programa que tambin se denomina Ensamblador. En la imagen podemos observar a la derecha un programa escrito en cdigo ensamblador y a la izquierda su traduccin a cdigo mquina. El programa calcula la suma de los 10 primeros nmeros enteros. Como podemos observar, la programacin en lenguaje ensamblador sigue siendo bastante tediosa.

Metodologa y tecnologa de la programacin (I) 3.2.2.3 Lenguajes de ms alto nivel

22/24

Los lenguajes de alto nivel son los ms utilizados por los programadores. Estn diseados para que las personas escriban y entiendan los programas de un modo mucho ms fcil que los lenguajes mquina y ensambladores. Otra de sus ventajas es que son independientes del procesador. Esto hace que los programas sean portables sobre distintos tipos de ordenadores. Su sintaxis es ms fcil de entender y recordar para una persona: do ... while (hacer mientras), open (abrir), .... y poseen instrucciones potentes (de control de flujo, manejo de ficheros, creacin de grficos), con lo que los programas son ms cortos. Ejemplos de estos lenguajes son Pascal, BASIC, C, C++, COBOL, Java, C#, etc. Estos lenguajes en la actualidad suman varios cientos sino miles. El motivo de que haya tantos lenguajes es que, habitualmente, cada lenguaje de programacin ha sido diseado para resolver un tipo de problemas y el abordar desde ese lenguaje de programacin problemas diferentes de aquellos para los que fue pensado puede resultar muy tedioso e incluso imposible. En la figura podemos ver el fragmento de cdigo C que permite calcular el valor de la suma de los primeros 10 valores enteros.

Como los procesadores slo "entienden" instrucciones escritas en lenguaje mquina es necesario traducir a cdigo mquina los programas escritos en lenguajes de alto nivel. Esta labor de traduccin la realizan los compiladores y los intrpretes. Los compiladores traducen el cdigo fuente generando un programa en lenguaje mquina. Al fichero que genera el compilador se denomina fichero objeto. Generalmente la compilacin produce un programa en cdigo mquina que todava no es ejecutable, ya que est incompleto. Esto se debe a que casi siempre los programas

Metodologa y tecnologa de la programacin (I)

23/24

dependen de recursos externos denominados libreras; esto es, ficheros binarios que se han obtenido compilando programas, habitualmente escritos en el mismo lenguajes de programacin que nuestro programa, y que proporcionan funcionalidad en la que se apoya nuestro software. Por ello existe una etapa posterior llamada enlace. En ella, el programa enlazador combina uno o varios ficheros objeto con las libreras para producir el fichero ejecutable.

Los compiladores identifican errores sintcticos en el programa fuente y realizan tareas de optimizacin de cdigo (ej.- eliminan cdigo redundante). En ocasiones el cdigo fuente antes de ser compilado sufre una serie de modificaciones que simplifican el trabajo del compilador como, por ejemplo, eliminar comentarios del cdigo fuente cuya misin es facilitar la comprensin del cdigo por parte de los programadores y que no contiene ningn tipo de instruccin que se deba ejecutar la CPU ni datos. En estos programas se les denomina preprocesadores. Los intrpretes son programas de traduccin que, en lugar de generar cdigo objeto, analizan cada una de las instrucciones del programa fuente y las van ejecutando una a una. De este modo se consiguen programas completamente independientes del hardware. Uno de los lenguajes ms populares de este tipo es JavaScript, un lenguaje que se emplea para crear pequeos programas que se ejecutan al cargar una pgina web en un navegador. En la interpretacin no se genera cdigo mquina, es necesario el intrprete para poder ejecutar el programa y su ejecucin es lenta, ya que al mismo tiempo se realiza el anlisis del programa y su interpretacin. En la compilacin se genera cdigo mquina que se guarda en un fichero, una vez obtenido el fichero ejecutable no se necesita el compilador y

Metodologa y tecnologa de la programacin (I)

24/24

su ejecucin es ms rpida. En la actualidad los lenguajes interpretados, debido su mayor portabilidad, a la mayor facilidad para el desarrollo de aplicaciones, y a las mayores posibilidades de interaccin entre los distintos programas, se estn imponiendo sobre los compilados, si bien se realiza una traduccin a cdigo mquina (al menos de las partes ms crticas del programa) en tiempo de ejecucin por motivos de eficiencia.

También podría gustarte