Software Definición de Software:

Anuncio
Software
Definición de Software:
El software es el conjunto de instrucciones que las computadoras emplean para manipular datos. Sin el
software, la computadora serÃ−a un conjunto de partes fÃ−sicas que no se puede utilizar, es por eso que al
cargar los programas en una computadora, la máquina actúa como si recibiera una educación
instantánea, de pronto "sabe" cómo pensar y cómo operar.
Podemos decir entonces que es: el conjunto de instrucciones individuales que se le proporciona al
microprocesador, para que pueda procesar los datos y generar los resultados esperados. El hardware por si
solo no puede hacer nada, pues es necesario que exista el software.
Según el uso para el cual fueron creados, el Software se clasifica en software de base o Sistema y software
de aplicación.
Software de base o sistema:
El Software de Base es el programa o conjunto de programas que interactúa con el hardware, el software
de aplicación y el usuario.
1.- Se pueden imaginar al software de base como los programas que hacen utilizable el hardware. El hardware
proporciona la "capacidad bruta de cómputo"; el software de base pone dicha capacidad de cómputo al
alcance de los usuarios y administra cuidadosamente el hardware para lograr un buen rendimiento.
2.- El software de base son ante todo administrador de recursos; el principal recurso que administra es el
hardware de la computadora.
3.- Es un programa que actúa como intermediario entre el usuario y el hardware del computador y su
propósito es proporcionar el entorno en el cual el usuario pueda ejecutar programas. Entonces, el objetivo
principal es, lograr que el sistema de computación se use de manera cómoda, y el objetivo secundario es
que el hardware del computador se emplee de manera eficiente.
El software de base o sistema también recibe el nombre de Sistema Operativo.
Sistemas Operativos: Clasificación
El software de base es el encargado de la interacción entre el usuario, el hardware y el software de
aplicación, y de acuerdo a la forma de operar y la cantidad de personas que pueden utilizarlo al mismo
tiempo los podemos clasificar en:
Monousuario - Monotarea
Multiusuario - Monotarea
Monousuario - Multitarea
Multiusuario - Multitarea
Los sistemas operativos Monotarea son capaces de realizar una única tarea o programa a la vez.
1
Los sistemas operativos Multitarea son capaces de realizar varias tareas o programas simultáneamente.
Los sistemas operativos Monousuario están diseñados para que la computadora sea operada por una sola
persona. Son los que emplean habitualmente en las PC's.
Los sistemas operativos Multiusuario permiten, desde una computadora central y mediante distintas formas
de conexión con la misma, ser utilizados por varias personas simultáneamente
Historia de los Sistemas Operativos.
Para comprender los requisitos de éstos y el significado de MM principales caracterÃ−sticas de un Sistema
Operativo contemporáneo, es útil considerar como han ido evolucionando los Sistemas Operativos con el
tiempo.
Existen diferentes enfoques o versiones de como han ido evolucionando estos Programas.
La primera de estas versiones es:
En los 40's, se introducen los programas bit a bit, por medio de interruptores mecánicos y después se
introdujo el lenguaje de máquina que trabajaba por medio de tarjetas perforadas.
Con las primeras computadoras, desde finales de los años 40 hasta la mitad de los años 50, el programador
interactuaba de manera directa con el hardware de la computadora, no existÃ−a realmente un Sistema
Operativo; las primeras computadoras utilizaban bulbos, la entrada de datos y los programas se realizaban a
través del lenguaje máquina (bits) o a través de interruptores.
Durante los años 50's y 60's.- A principio de los 50's, la compañÃ−a General's Motors implanto el primer
sistema operativo para su IBM 170. Empiezan a surgir las tarjetas perforadas las cuales permiten que los
usuarios (que en ese tiempo eran programadores), se encarguen de modificar sus programas. EstablecÃ−an o
apartaban tiempo de ejecución, metÃ−an o introducÃ−an sus programas en la computadora, corregÃ−an y
depuraban sus programas en el tiempo disponible para utilizar la computadora1. A esto se le llamaba trabajo
en serie. Todo esto se traducÃ−a en pérdida de tiempo y tiempos de programas excesivos.
En los años 60's y 70's se genera el circuito integrado, se organizan los trabajos y se generan los procesos
Batch (por lotes), lo cual consiste en determinar los trabajos comunes y realizarlos todos juntos de una sola
vez. En esta época surgen las unidades de cinta y el cargador de programas, el cual se considera como el
primer tipo de Sistema Operativo.
En los 80's, inició el auge de la INTERNET en los Estados Unidos de América. A finales de los años
80's comienza el gran auge y evolución de los Sistemas Operativos. Se descubre el concepto de
multiprogramación que consiste en tener cargados en memoria a varios trabajos al mismo tiempo, tema
principal de los Sistemas Operativos actuales.
Los 90's y el futuro, entramos a la era de la computación distribuida y del multiprocesamiento a través de
múltiples redes de computadoras, aprovechando el ciclo del procesador.
Se ha desarrollado otra versión, la cual se ha hecho en base a etapas o generaciones:
1a. Etapa (1945-1955) : Bulbos y conexiones.
Después de los infructuosos esfuerzos de Babbage, hubo poco progreso en la construcción de las
computadoras digitales, hasta la Segunda Guerra Mundial. A mitad de la década de los 40's, Howard Aiken
2
(Harvard), John Von Newman (Instituto de Estudios Avanzados, Princeton), J. Prespe R. Eckert y Williams
Mauchley (Universidad de Pennsylvania), asÃ− como Conrad Zuse (Alemania), entre otros lograron construir
máquinas de cálculo mediante bulbos. Estas máquinas eran enormes y llenaban cuartos completos con
decenas de miles de bulbos, pero eran mucho más lentas que la computadora casera más económica en
nuestros dÃ−as.
Toda la programación se llevaba a cabo en lenguaje de máquina absoluto y con frecuencia se utilizaban
conexiones para controlar las funciones básicas de la máquina. El programador iba al cuarto de la
máquina, insertaba su conexión a la computadora y pasaba unas horas esperando que ninguno de los 20,000
o más bulbos se quemara durante la ejecución. La inmensa mayorÃ−a de los problemas eran cálculos
numéricos complejos.
A principio de la década de los 50's la rutina mejoro un poco con la introducción de las tarjetas perforadas.
Fue entonces posible escribir los programas en ellas, las que se leÃ−an en vez de insertar conexiones, por lo
demás el proceso era el mismo.
2a. Etapa. (1955-1965) : Transistores y Sistemas de Procesamiento por lotes.
La introducción del transistor a mediados de los años 50's modificó en forma radical el panorama. Las
computadoras se volvieron confiables de forma que podÃ−an fabricarse y venderse a clientes. Dado el alto
costo del equipo, las personas buscaron formas más eficientes para reducir el tiempo a invertir. La solución
que se adoptó, por lo general , fue la del método de procesamiento por lotes.
3ra Etapa (1965-1980 ) : Circuitos integrados y multiprogramación.
La 3602 de IBM fue la primera lÃ−nea principal de computadoras que utilizó los circuitos integrados, lo que
proporcionó una gran ventaja en el precio y desempeño con respecto a las máquinas de la segunda
generación, construidas a partir de transistores individuales. Se trabajo con un sistema operativo enorme y
extraordinariamente complejo, pero a pesar de eso, el sistema operativo de la lÃ−nea IBM 360 y los sistemas
operativos similares de esta generación producidos por otros fabricantes de computadoras realmente
pudieron satisfacer, en forma razonable a la mayorÃ−a de sus clientes. También popularizaron varias
técnicas fundamentales, ausentes de los sistemas operativos de la segunda generación, de las cuales la mas
importante era la de multiprogramación.
Otra caracterÃ−stica era la capacidad de leer trabajos de las tarjetas al disco, tan pronto como llegara al cuarto
de cómputo. AsÃ−, siempre que concluyera un trabajo el sistema operativo podÃ−a cargar un nuevo trabajo
del disco en el espacio que tuviera desocupado y luego ejecutarlo.
4ta Etapa (1980-Actualidad) : Computadoras personales.
Un interesante desarrollo que comenzó a llevarse a cabo a mediados de la década de los ochenta y ha sido
el crecimiento de las redes de computadoras personales, con sistemas operativos de red y sistemas operativos
distribuidos.
En los sistema operativo de red, los usuarios están conscientes de la existencia de varias computadoras y
pueden conectarse con máquinas remotas y copiar archivos de una máquina a otra. Cada máquina ejecuta
su propio sistema operativo local y tiene su propio usuario.
Por el contrario, un sistema operativo distribuido es aquel que aparece ante sus usuarios como un sistema
tradicional de un solo procesador, aun cuando esté compuesto por varios procesadores. En un sistema
distribuido verdadero, los usuarios no deben ser conscientes del lugar donde su programa se ejecute o de lugar
donde se encuentren sus archivos; eso debe ser manejado en forma automática y eficaz por el sistema
3
operativo.
Software de aplicación:
El software de aplicación incluye programas que se ejecutan para realizar trabajos relacionados con áreas
especÃ−ficas, (también llamadas aplicaciones), pero, para utilizarlo, es preciso que exista un software de
sistema que permita su ejecución.
En otras palabras llamamos software de aplicación a los programas que utilizamos habitualmente para
realizar nuestras tareas cotidianas con la computadora.
Ejemplos de software de aplicación :
• Tratamiento de Imágenes (PhotoShop, Paint Shop Pro)
• Dibujo (Corel Draw)
• Procesamiento de texto (Word)
• Planillas de cálculo (Excel)
• Bases de Datos (Access, Oracle, Mysql)
• Navegación por Internet (Netscape, Internet Explorer, Opera )
• Correo Electrónico (Outlook, Netscape Mail)
• Irc,ICQ
• Programación
Para poder realizar su función, el software de aplicación necesita 2 elementos:
• El Hardware
• El software de base
EL SISTEMA OPERATIVO LINUX
La historia de LINUX está muy ligada a UNIX, entonces para empezar, conoceremos un poco de la historia
de este último.
Antes de los 50' las computadoras eran monousuario, ya que sólo una persona podÃ−a estar trabajando en
ellas al mismo tiempo. Mas adelante, al comienzo de los 60' las empresas MIT, AT&T y General Electric se
juntaron para realizar un gran proyecto, se trataba de hacer un SO de gran potencia al que denominaron
MULTICS. El proyecto fue un fracaso pero uno de los programadores del MIT que hbrÃ−a trabajado en el
proyesto, Ken Thompson, y un grupo de colaboradores decidieron escribir una versión miniatura de Multics.
Uno de los compañeros de Ken, Brian Kernigham, en una reunión de equipo bromeando llamó al sistema
de Ken Thompson UNICS.
UNICS fue un gran éxito y Ken decidió que UNIX era un nombre más atractivo que UNICS, habÃ−a
nacido UNIX.
Un famoso artÃ−culo del año 1974 que describÃ−a UNIX atrajo la atención de las universidades que
solicitaron el código fuente para estudiarlo y explicarlo en las aulas. Muy pronto, UNIX logró una gran
aceptación en la comunidad cientÃ−fica y el interés por este sistema operativo comenzó a extenderse. A
partir de este momento comienza una verdadera avalancha de versiones del sistema, lo que en principio fue un
proyecto de investigación se convirtió más tarde en un gran negocio.
Los más importante de todas las versiones de UNIX fueron la BSD y la System V, la primera de la
Universidad de Califronia en Berkeley, contenÃ−a una serie de mejoras que hicieron a UNIX un sistema
4
operativo más amigable. La última surgió de la fusión de las respectivas versiones de UNIX de AT&T
Bell Laboratories, los creadores del sistema, y Sun Microsystems. Actualmente el System V es considerado el
estándar de UNIX, ya que toda la industria ha sido agrupada entorno a él.
La aparición de Minix
A pesar del éxito comercial de UNIX y de su aceptación como sistema operativo, el código fuente de
UNIX no podÃ−a ser explicado en aulas universitarias, de modo que el desarrollo de sistemas operativos
volvÃ−a a ser una ciencia restringida a un reducido grupo de empresas y personas.
Ante esta situación, el profesor Andrew Tenembaum, de la Universidad de Vrije, en Amsterdan, decidió
imitar a Ken Thompson cuando escribió el código UNIX basándose en MULTICS, e inspirándose en
UNIX llevó a cabo un nuevo sistema operativo mucho mas reducido, al que llamó MINIX (de Mini-UNIX).
MINIX habÃ−a sido desarrollado en una IBM PC y, si embrago ofrecÃ−a las mismas llamadas al sistema que
UNIX V7.
Tenembaum hizo público el código de MINIX, y su texto aún se usa en la mayorÃ−a de las universidades
del planeta para enseñar las bases del diseño de sistemas operativos.
Linux al fin
En 1990, Linus Torvals, un estudiante de 23 años de la Universidad de Helsinki, en Finlandia, comenzó a
desarrollar, como hobby, un proyecto basado en el MINIX de Andrew Tenembaum. QuerÃ−a llevar a cabo,
sobre una computadora con procesador Intel 80389, un sistema operativo tipo UNIX que ofreciese más
capacidades que el limitado MINIX, que solo se usaba para enseñar una cierta filosofÃ−a de diseño.
QuerÃ−a aprovechar la arquitectura de 32 bits, las propiedades de conmutación de tareas que incorporaba la
interfaz en modo protegido 80386 y elminar las barreras del direccionamiento de memoria.
Linus empezó escribiendo el núcleo3 del proyecto en ensamblador, y luego comenzó a añadir códico
en C, lo cual incrementó la velocidad de desarrollo, e hizo que empezara a tomarse en serio su idea de hacer
un “MINIX mejor que MINIX”. La primera versión, la 0.01 no tenÃ−a driver de disquete, y ni siquiera la
dio a conocer. Llevaba incorporado un pequeño sistema de archivos y un driver de disco con muchos
errores...pero funcionaba. En octubre de 1991, anuncio la primera versión “oficial” de LINUX, la 0.02, que
ya era capaz de ejecutar el SHELL bash y el compilador gcc de GNU.
En comp.os.minix, un foro de discusión en Internet acerca del sistema operativo de Tenembaum, Linus
Torvals escribió un llamamiento que comenzaba con una famosa frase:
¿Añoras los maravillosos dÃ−as del MINIX-1.1, cuando los hombres eran hombres y escribÃ−an sus
propios drivers? ¿Careces de proyectos interesantes y te mueres por desafiar a un sistema operativo que
puedas modificar a tu antojo? ¿Te resulta raro que todo funciones con MINIX? ¿Estás harto de
trasnochar para poder conseguir que funcione un programa?
Entonces, esta carta puede ser justamente para ti.
Como comenté hace un mes, estoy trabajando en una versión libre de un sistema tipo MINIX para
computadoras AT-386. Finalmente ha sido mejorado el entorno, que incluso se puede utilizar, y estoy deseoso
de sacar las fuentes de una distribución más potente.
Es solo la versión 0.02...pero ha conseguido que funcione bien bash, gcc, gnu-make, gnu-se, compress, etc;
bajo él.
5
A partir de ahÃ−, el sistema de Linus empezó a crecer. De todas partes le llegaban cartas interesándose por
la idea, y comenzaron a desarrollarse proyectos destinados a incrementar la potencia de la plataforma.
Debemos destacar que muchos de los componentes de Linux, como drivers, protocolos o shells salieron de
otro sistema UNIX de libre distribución llamado FreeBSD, desarrollado en la Universidad de Berkeley.
Pero sin duda, el factor esencial y determinante del éxito y la rápida difusión de este sistema operativo
ha sido la red de redes, Internet. A través de foros de discusión y noticias, miles de personas de todo el
mundo se han propuesto demostrar que, sin media tiranÃ−a y los intereses económicos delas empresas, se
pueden conseguir productos que incluso superen en calidad a los desarrollados
COMENTARIOS:
1 Hay que tener en cuenta que en esa época la potencia de computación era muy limitada y habÃ−a
muchos usuarios por computadora, por lo que se le asignaba un tiempo de ejecución (utilización) a cada
uno.
2 Esta lÃ−nea de computadoras luego será conocida como Mainframe.
3 En inglés Kernel.
6
Descargar