Académique Documents
Professionnel Documents
Culture Documents
El software son las instrucciones electrnicas que van a indicar al ordenador que
es lo que tiene que hacer. Tambin se puede decir que son los programas usados
para dirigir las funciones de un sistema de computacin o un hardware.
Como concepto general, el software puede dividirse en varias categoras basadas
en el tipo de trabajo realizado.
HISTORIA:
LENGUAJE DE PROGRAMACIN
Un Lenguaje de Programacin es un conjunto de reglas, notaciones, smbolos y/o
caracteres que permiten a un programador poder expresar el procesamiento de
datos y sus estructuras en la computadora. Cada lenguaje posee sus propias
sintaxis. Tambin se puede decir que un programa es un conjunto de rdenes o
instrucciones que resuelven un problema especfico basado en un Lenguaje de
Programacin.
CARACTERISTICAS
EVOLUCION:
Para que la computadora entienda nuestras instrucciones debe usarse un lenguaje
especfico conocido como cdigo mquina que slo consiste en cadenas extensas
de nmeros 0 y 1.
Para facilitar el trabajo, los primeros operadores de computadoras decidieron
hacer un traductor para reemplazar los 0 y 1 por palabras o abstraccin de
palabras y letras provenientes del ingls; ste se conoce como lenguaje
ensamblador. Por ejemplo, para sumar se usa la letra A de la palabra
inglesa add (sumar). El lenguaje ensamblador sigue la misma estructura del
lenguaje mquina, pero las letras y palabras son ms fciles de recordar y
entender que los nmeros.
La necesidad de recordar secuencias de programacin para las acciones usuales
llev
a
denominarlas
con
nombres
fciles
de
memorizar
y
asociar: ADD (sumar), SUB (restar), MUL (multiplicar), CALL (ejecutar subrutina),
etc. A esta secuencia de posiciones se le denomin "instrucciones", y a este
conjunto de instrucciones se le llam lenguaje ensamblador. Posteriormente
aparecieron diferentes lenguajes de programacin, los cuales reciben su
denominacin porque tienen una estructura sintctica semejante a la de los
lenguajes escritos por los humanos, denominados tambin lenguajes de alto nivel.
El primer programador de computadora que se haya conocido fue una mujer: Ada
Lovelace. A finales de 1953, John Backus someti una propuesta a sus superiores
en IBM para desarrollar una alternativa ms prctica al lenguaje ensamblador para
programar
la computadora
central IBM
704.
El
histrico
equipo Fortran de Backus consisti
en
los
programadores Richard
Goldberg, Sheldon F. Best, Harlan Herrick, Peter Sheridan, Roy Nutt, Robert
Nelson, Irving Ziller, Lois Haibt y David Sayre.2
El primer manual para el lenguaje Fortran apareci en octubre de 1956, con el
primer compilador Fortran entregado en abril de 1957. Esto era un compilador
optimizado, porque los clientes eran reacios a usar un lenguaje de alto nivel a
menos que su compilador pudiera generar cdigo cuyo desempeo fuera
comparable al de un cdigo hecho a mano en lenguaje ensamblador. En 1960, se
cre COBOL, uno de los lenguajes usados an en la actualidad, en informtica de
gestin.
A medida que la complejidad de las tareas que realizaban las computadoras
aumentaba, se hizo necesario disponer de un mtodo ms eficiente para
programarlas. Entonces, se crearon los lenguajes de alto nivel, como lo
fue BASIC en las versiones introducidas en los microordenadores de la dcada
de 1980. Mientras que una tarea tan sencilla como sumar dos nmeros puede
necesitar varias instrucciones en lenguaje ensamblador, en un lenguaje de alto
nivel bastar una sola sentencia.
EL SISTEMA OPERATIVO
Es el programa (o software) ms importante de un ordenador. Para que funcionen
los otros programas, cada ordenador de uso general debe tener un sistema
operativo. Los sistemas operativos realizan tareas bsicas, tales como
reconocimiento de la conexin del teclado, enviar la informacin a la pantalla, no
perder de vista archivos y directorios en el disco, y controlar los dispositivos
perifricos tales como impresoras, escner, etc. En sistemas grandes, el sistema
operativo tiene incluso mayor responsabilidad y poder, se asegura de que los
programas y usuarios que estn funcionando al mismo tiempo no interfieran entre
ellos. El sistema operativo tambin es responsable de que los usuarios no
autorizados no tengan acceso al sistema.
Primera generacin (1945-1955)
Tubos de vaco y tableros enchufables
Despus de los infructuosos esfuerzos de Babbage, se progres poco en la
construccin de computadoras digitales hasta la Segunda Guerra Mundial.
Alrededor de la mitad de la dcada de los cuarenta, Howard Aiken en Hardvard,
Jon Von Neumann en el Instituto de Estudios Avanzados en Princeton, J. Presper
Eckert y William Mauchley en la Universidad de Pennsylvania y Konrad Zuse en
Alemania, entre otros, lograron construir mquinas de clculo mediante bulbos.
Ests mquinas eras enormes y llenaban cuartos completos con decenas de miles
de bulbos, eran mucho ms lentas que la computadora casera ms econmica en
la actualidad.
En esos primeros das, un grupo singular de personas diseaba, construa,
programaba, operaba y daba mantenimiento a cada mquina. Toda la
programacin se realizaba en lenguaje de maquina absoluto y con frecuencia se
utilizaban conexiones para controlar las funciones bsicas de la mquina. Los
lenguajes de programacin se desconocan (incluso el lenguaje ensamblador). Los
primeros sistemas operativos eran extraos (no se oa de los sistemas operativos).
El modo usual de operacin consista en que el programador firmaba para tener
acceso a un bloque de tiempo en la hoja de registro situada en la pared, despus
bajaba al cuarto de mquinas, insertaba su conexin (tablero enchufable) en la
computadora y pasaba unas horas esperando que ninguno de los 20,000 tubos o
ms bulbos se quemara durante la ejecucin. La inmensa mayora de los
problemas eran clculos numricos directos, como por ejemplo el clculo de
valores para tablas de senos y cosenos.
A inicios de la dcada de los cincuenta, la rutina haba mejorado un poco con la
introduccin de la tarjetas perforadas. Ahora era posible escribir los programas en
tarjetas y leerlos, en vez de utilizar tableros enchufables; por lo dems el
procedimiento era el mismo.
Segunda generacin (1955-1965)
Transistores y sistemas por lote
La introduccin del transistor a mediados de la dcada de 1950 alter el panorama
radicalmente.
Las
computadoras se hicieron lo bastante confiables como para poderse fabricar
y vender a clientes comerciales con la expectativa de que seguiran funcionando
el tiempo suficiente para realizar algo de trabajo til. Por primera vez, haba una
separacin clara entre diseadores, constructores, operadores, programadores y
personal de mantenimiento.
Estas mquinas se encerraban en cuartos de computadora con acondicionamiento
de aire especial, con equipos de operadores profesionales para operarias. Slo las
grandes empresas, o las principales dependencias del gobierno o universidades,
podan solventar el costo de muchos millones de dlares. Para ejecutar un trabajo
(es decir, un programa o serie de programas), un programador escriba primero el
programa en papel (en FORTRAN o ensamblador) y luego lo perforaba en tarjetas.
Despus, llevaba el grupo de tarjetas al cuarto de entrada y lo entregaba a uno de
los operadores.
Cuando la computadora terminaba el trabajo que estaba ejecutando en ese
momento,
un
operador
acuda a
caracteres, como la 1401, que los bancos y las compaas de seguros utilizaban
amplia- mente para ordenar e imprimir desde cinta.
La creacin y mantenimiento de dos lneas de producto totalmente distintas era
una situacin costosa para los fabricantes. Adems, muchos clientes de
computadoras nuevas necesitaban inicialmente una mquina pequea que ms
adelante les resultaba insuficiente, de modo que queran una mquina ms grande
que ejecutara todos sus viejos programas, pero ms rpidamente.
IBM trat de resolver simultneamente ambos problemas introduciendo la
System/360. La 360 era una serie de mquinas de software compatible que iban
desde tamaos comparables a la 1401 hasta computadoras mucho ms potentes
que la 7094. Las mquinas diferan slo en el precio y el rendimiento (memoria
mxima, velocidad del procesador, nmero de dispositivos de E/S permitidos,
etc.). Puesto que todas las mquinas tenan la misma arquitectura y conjunto de
instrucciones, los programas escritos para una mquina podan ejecutarse en
todas las dems, al menos en teora. Adems, la 360 estaba diseada para
manejar computacin tanto cientfica como comercial. As, una sola familia de
mquinas poda satisfacer las necesidades de todos los clientes. En aos
subsecuentes IBM produjo sucesoras comparables a la lnea 360, usando
tecnologa ms moderna, conocidas como series 370, 4300, 3080 y 3090.
A pesar de su enorme tamao y de sus problemas, OS/360 y los sistemas
operativos de tercera generacin parecidos a l producidos por otros fabricantes
de computadoras lograron satisfacer a sus clientes en un grado razonable, y
tambin popularizaron varias tcnicas clave que no existan en
los sistemas operativos de la segunda generacin. Tal vez la ms importante de
ellas
haya
sido
la multiprogramacin. En
la
7094, cuando el trabajo actual haca una pausa para esperar que
se completara una operacin
de
cinta u otra operacin de E/S, la CPU simplemente permaneca ociosa hasta
que
la
E/S
terminaba.
En
los
clculos
cientficos,
con gran uso de CPU, la E/S es
poco
frecuente,
as
que
el
tiempo desperdiciado no es significativo. En el procesamiento de datos
comerciales, el tiempo de espera por E/S puede ser el 80090% del tiempo total, de
modo que algo deba hacerse para evitar que la CPU estuviera ociosa tanto
tiempo.
La solucin a la que se lleg fue dividir la memoria en varias secciones, con un
trabajo distinto en cada particin, como se muestra en la Figura 3. Mientras un
trabajo estaba esperando que terminara su E/S, otro poda estar usando el CPU.
Si se podan tener en la memoria principal suficientes trabajos a la vez, el CPU
poda mantenerse ocupada casi todo el tiempo. Tener mltiples trabajos en la
memoria a la vez requiere hardware especial para proteger cada trabajo contra
espionaje por parte de los dems, pero la 360 y otros sistemas de tercera
generacin estaban equipados con este hardware.
Microsoft
Windows (conocido
generalmente
como Windows o MS
Windows),
es
el
nombre
de
una
familia
de distribuciones de softwarepara PC, smartphone, servidores y sistemas
empotrados, desarrollados y vendidos por Microsoft, y disponibles para
mltiples arquitecturas, tales como x86 y ARM.
Desde un punto de vista tcnico, no son sistemas operativos, sino que contienen
uno (tradicionalmente MS-DOS, o el ms actual cuyo ncleo es Windows NT)
junto con una amplia variedad de software; no obstante, es usual (aunque no
necesariamente correcto) denominar al conjunto como sistema operativo en lugar
de distribucin. Microsoft introdujo un entorno operativo denominado Windows el
20 de noviembre de 1985 como un complemento para MS-DOS en respuesta al
creciente inters en las interfaces grficas de usuario (GUI).1Microsoft Windows
lleg a dominar el mercado mundial de computadoras personales, con ms del
90 % de la cuota de mercado, superando a Mac OS, que haba sido introducido
en 1984.
La versin ms reciente de Windows es Windows 10 para equipos de
escritorio, Windows Server 2012 para servidores y Windows Phone 8 y
8.1 para dispositivos mviles. La primera versin en espaol fue Windows 3.0.
La primera versin se lanz en 1985 y comenz a utilizarse de forma generalizada
gracias a su interfaz grfica de usuario (GUI, Graphical User Interface) basada en
ventanas. Hasta ese momento (y hasta mucho despus como corazn de
Windows), el sistema operativo ms extendido era MS-DOS (Microsoft Disk
Operating System), que por aquel entonces contaba con una interfaz basada
en lnea de comandos.
El 30 de septiembre de 2014, Microsoft present Windows 10, estando disponible
Caractersticas
COBOL fue dotado de unas excelentes capacidades de autodocumentacin.
Una buena gestin de archivos y una excelente gestin de los tipos de datos para
la poca, a travs de la conocida sentencia PICTURE para la definicin de
campos estructurados. Para evitar errores de redondeo en los clculos que se
producen al convertir los nmeros a binario y que son inaceptables en temas
comerciales, COBOL puede emplear y emplea por defecto nmeros en base diez.
Para facilitar la creacin de programas en COBOL, la sintaxis del mismo fue
creada de forma que fuese parecida al idioma ingls, evitando el uso de smbolos
que se impusieron en lenguajes de programacin posteriores.
En 1985 se le aadi las variables locales, recursividad, reserva de memoria
dinmica y programacin estructurada. Existen varios compiladores que permiten
emplear COBOL como lenguaje de scripting y de servicio web. Tambin existen
compiladores
que
permiten
generar
cdigo
COBOL
para
la
plataforma .NET y EJB.