Download Historia del software

Document related concepts

Sun Microsystems wikipedia , lookup

Plataforma Java wikipedia , lookup

MATLAB wikipedia , lookup

Máquina virtual wikipedia , lookup

Historia de los sistemas operativos wikipedia , lookup

Transcript
Actividad 7
Investigar en las bibliotecas de recursos digitales SENA los siguientes
conceptos:
Hardware
 Historia
 Clases
 Tipos de dispositivos.
Motores de Base de Datos
 Características
 Clasificación
Enfoque sistémico
 Concepto
 Características
Software
 Historia
Historia del software
La historia del software como se ha visto, no surge con los equipos
electrónicos, -aunque es con ellos que adopta el nombre- está
presente desde el empleo de ábacos o sumadoras mecánicas. Sin
embargo, en estos casos, el software no se encuentra incorporado en
el equipo. Es aportado por el operario. La máquina analítica de Charles
Babbage, incidentalmente, tuvo su software, y fue una amiga de éste,
la legendaria lady Lovelace, quien aportó el software que no se llegó a
usar, dado que la máquina nunca se completó. En el ENIAC el control
de las operaciones estaba parcialmente integrado en el equipo. Dicho
control era realizado por un circuito que requería un alambrado
específico para cada aplicación. Imaginemos lo engorroso que
resultaba realambrar el circuito cada vez que cambiaba el uso del
ENIAC.
Hasta este momento, no se percibía una diferencia sustancial entre el
equipo y el control de las operaciones. El concepto de programa de
control almacenado en memoria, aportación popularmente atribuida a
John von Neumann, precipitó el desarrollo de software. En éste se
perfilaron dos tendencias de desarrollo: los programas de aplicación y
los de servicio. Estos últimos tenían como propósito facilitar el
desarrollo de programas a partir de programas. Algunos programas de
servicio fueron simples cargadores que permitieron emplear
notaciones como el octal o hexadecimal más compactas que el binario.
Otros como los ensambladores simplificaron más el proceso al
reemplazar las notaciones numéricas con los símbolos mnemónicos
que aportaron para describir a cada instrucción de la máquina. El
siguiente paso significativo fue la traducción de fórmulas, que permitió
el desarrollo de la historia del software y la descripción de los
algoritmos con el empleo de expresiones algebraicas.
Dicha traducción se realiza con programas que se denominan
compiladores, generan programas que al ejecutarse producen los
resultados. Es importante destacar que en tanto los programas de
aplicación saturaron los recursos de los equipos, imponiendo sus
requerimientos en cuanto a velocidad, precisión en la aritmética y
capacidad en los almacenamientos; los programas de servicio
repercutieron en la evolución de la arquitectura de los equipos
(hardware). Entre las aportaciones más notables, podemos citar el
empleo de pilas y el reemplazo de referencias físicas por lógicas. Con
la pila (Push Down List), se da lugar al manejo recursivo de los
procesos. Por ejemplo, esto ocurre en una oficina administrativa,
cuando se pospone la solución de un problema para resolver otro de
mayor exigencia.
La historia del software El problema original se suspende y se
aborda nuevamente cuando el de mayor exigencia ya ha sido resuelto.
Con el reemplazo de referencias físicas por lógicas, se obtuvo un
incremento más real que virtual de los recursos disponibles.
Almacenamientos secundarios, registros operacionales, memoria
virtual, memoria cache e hizo translapes (overlay), son algunas de las
técnicas que emplean este concepto. El efecto es similar al de las
operaciones bancarias nominales con que las instituciones de crédito
prestan varias veces su capital. Los elementos aportados por los
programas de servicio, al interrelacionarse configuran el sistema
operativo con el cual se administran los recursos disponibles en las
computadoras y se establecen líneas de producción para el proceso de
programas con una mínima participación del operario: la
automatización de la automatización. En los principios de la historia
del software, los sistemas operativos brotan como extensiones de los
lenguajes. Posteriormente, el fenómeno se invierte de modo que los
sistemas operativos configuren el ambiente en el que se desempeñan
las aplicaciones y los programas de servicio.

Taxonomía
Sistemas operativos
 Conceptos
 Sistema operativo (SO) es un software que actúa de interfaz entre los
dispositivos de hardware y los programas usados por el usuario para
manejar un computador.[1] Es responsable de gestionar, coordinar las
actividades y llevar a cabo el intercambio de los recursos y actúa como
estación para las aplicaciones que se ejecutan en la máquina.
Uno de los más prominentes ejemplos de sistema operativo, es el núcleo
Linux,[2] el cual junto a las herramientas GNU, forman las llamadas
distribuciones Linux.
Nótese que es un error común muy extendido denominar al conjunto
completo de herramientas sistema operativo, pues este, es sólo el núcleo
y no necesita de entorno operador para estar operativo y funcional.

Características
Administración de tareas


Monotarea: Solamente puede ejecutar un proceso (aparte de los procesos
del propio S.O.) en un momento dado. Una vez que empieza a ejecutar
un proceso, continuará haciéndolo hasta su finalización y/o interrupción.
Multitarea: Es capaz de ejecutar varios procesos al mismo tiempo. Este
tipo de S.O. normalmente asigna los recursos disponibles (CPU,
memoria, periféricos) de forma alternada a los procesos que los solicitan,
de manera que el usuario percibe que todos funcionan a la vez, de forma
concurrente.
Administración de usuarios


Monousuario: Si sólo permite ejecutar los programas de un usuario al
mismo tiempo.
Multiusuario: Si permite que varios usuarios ejecuten simultáneamente
sus programas, accediendo a la vez a los recursos de la computadora.
Normalmente estos sistemas operativos utilizan métodos de protección de
datos, de manera que un programa no pueda usar o cambiar los datos de
otro usuario.
Manejo de recursos


Centralizado: Si permite utilizar los recursos de una sola computadora.
Distribuido: Si permite utilizar los recursos (memoria, CPU, disco,
periféricos... ) de más de una computadora al mismo tiempo.

Tipos
Tipos de Sistemas Operativos
Un sistema Operativo (SO) es en sí mismo un programa de computadora. Sin
embargo, es un programa muy especial, quizá el más complejo e importante en
una computadora. El SO despierta a la computadora y hace que reconozca a la
CPU, la memoria, el tecla do, el sistema de vídeo y las unidades de disco.
Además, proporciona la facilidad para que los usuarios se comuniquen con la
computadora y sirve de plataforma a partir de la cual se corran programas de
aplicación.
Los sistemas operativos más conocidos son los siguientes:
1) DOS: El famoso DOS, que quiere decir Disk Operating System (sistema
operativo de disco), es más conocido por los nombres de PC-DOS y MS-DOS.
MS-DOS fue hecho por la compañía de software Microsoft y es en esencia el
mismo SO que el PC-DOS.
La razón de su continua popularidad se debe al aplastante volumen de software
disponible y a la base instalada de computadoras con procesador Intel.
Cuando Intel liberó el 80286, DOS se hizo tan popular y firme en el mercado que
DOS y las aplicaciones DOS representaron la mayoría del mercado de software
para PC. En aquel tiempo, la compatibilidad IBM, fue una necesidad para que
los productos tuvieran éxito, y la "compatibilidad IBM" significaba computadoras
que corrieran DOS tan bien como las computadoras IBM lo hacían.
Aún con los nuevos sistemas operativos que han salido al mercado, todavía el
DOS es un sólido contendiente en la guerra de los SO.
2) Windows 3.1: Microsoft tomo una decisión, hacer un sistema operativo que
tuviera una interfaz gráfica amigable para el usuario, y como resultado obtuvo
Windows. Este sistema muestra íconos en la pantalla que representan diferentes
archivos o programas, a los cuales se puede accesar al darles doble click con el
puntero del mouse. Todas las aplicaciones elaboradas para Windows se
parecen, por lo que es muy fácil aprender a usar nuevo software una vez
aprendido las bases.
3) Windows 95: En 1995, Microsoft introdujo una nueva y mejorada versión del
Windows 3.1. Las mejoras de este SO incluyen soporte multitareas y
arquitectura de 32 bits, permitiendo así correr mejores aplicaciónes para mejorar
la eficacia del trabajo.
4) Windows NT: Esta versión de Windows se especializa en las redes y
servidores. Con este SO se puede interactuar de forma eficaz entre dos o más
computadoras.
5) OS/2: Este SO fue hecho por IBM. Tiene soporte de 32 bits y su interfaz es
muy buena. El problema que presenta este sistema operativo es que no se le ha
dad el apoyo que se merece en cuanto a aplicaciones se refiere. Es decir, no se
han creado muchas aplicaciones que aprovechen las características de el SO,
ya que la mayoría del mercado de software ha sido monopolizado por Windows.
6) Mac OS: Las computadoras Macintosh no serían tan populares como lo son si
no tuvieran el Mac OS como sistema operativo de planta. Este sistema operativo
es tan amigable para el usuario que cualquier persona puede aprender a usarlo
en muy poco tiempo. Por otro lado, es muy bueno para organizar archivos y
usarlos de manera eficaz. Este fue creado por Apple Computer, Inc.
7) UNIX: El sistema operativo UNIX fue creado por los laboratorios Bell de AT&T
en 1969 y es ahora usado como una de las bases para la supercarretera de la
información. Unix es un SO multiusuario y multitarea, que corre en diferentes
computadoras, desde supercomputadoras, Mainframes, Minicomputadoras,
computadoras personales y estaciones de trabajo. Esto quiere decir que muchos
usuarios puede estar usando una misma computadora por medio de terminales
o usar muchas de ellas.
Mapa de procesos.
Requerimientos.
Lenguaje de programación.
Un lenguaje de programación" es un lenguaje diseñado para describir el
conjunto de acciones consecutivas que un equipo debe ejecutar. Por lo tanto, un
lenguaje de programación es un modo práctico para que los seres humanos
puedan dar instrucciones a un equipo.
Por otro lado, el término "lenguaje natural" define un medio de comunicación
compartido por un grupo de personas (por ejemplo: inglés o francés).
Los lenguajes que los equipos usan para comunicarse entre ellos no tienen nada
que ver con los lenguajes de programación; se los conoce como protocolos de
comunicación. Se trata de dos conceptos totalmente diferentes. Un lenguaje de
programación es muy estricto:
A CADA instrucción le corresponde UNA acción de procesador.
El lenguaje utilizado por el procesador se denomina lenguaje máquina. Se trata
de datos tal como llegan al procesador, que consisten en una serie de 0 y 1 (
datos binarios).
El lenguaje máquina, por lo tanto, no es comprensible para los seres humanos,
razón por la cual se han desarrollado lenguajes intermediarios comprensibles
para el hombre. El código escrito en este tipo de lenguaje se transforma en
código máquina para que el procesador pueda procesarlo.
El ensamblador fue el primer lenguaje de programación utilizado. Es muy similar
al lenguaje máquina, pero los desarrolladores pueden comprenderlo. No
obstante, este lenguaje se parece tanto al lenguaje máquina que depende
estrictamente del tipo de procesador utilizado (cada tipo de procesador puede
tener su propio lenguaje máquina).
Base de datos.
Smart device.
Un dispositivo inteligente es un dispositivo que es digital, activo, sistema en
red, es reconfigurables por el usuario y que pueden funcionar en cierta medida
de forma autónoma. The term can also refer to a ubiquitous computing device: a
device that exhibits some properties of ubiquitous computing including artificial
intelligence . El término también puede referirse a un dispositivo de computación
ubicua: un dispositivo que presenta algunas propiedades de la computación
ubicua como la inteligencia artificial. Smart devices can be designed to:
Dispositivos inteligentes pueden ser diseñados para:



support a variety of form factors apoyo a una variedad de factores de
forma
support a range of properties pertaining to ubiquitous computing apoyo a
una amplia gama de propiedades pertenecientes a la computación ubicua
be used in any combination of three main system environments: physical
world, human-centred environments and distributed computing
environments. utilizarse en cualquier combinación de los tres entornos de
sistema principal: el mundo físico, humano-centrado en los entornos
distribuidos y entornos informáticos.
Java.
Java es un lenguaje de programación orientado a objetos desarrollado por Sun
Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha
de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina
herramientas de bajo nivel, que suelen inducir a muchos errores, como la
manipulación directa de punteros o memoria.
Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la
compilación en código máquina nativo también es posible. En el tiempo de
ejecución, el bytecode es normalmente interpretado o compilado a código nativo
para la ejecución, aunque la ejecución directa por hardware del bytecode por un
procesador Java también es posible.
La implementación original y de referencia del compilador, la máquina virtual y
las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en
1995. Desde entonces, Sun ha controlado las especificaciones, el desarrollo y
evolución del lenguaje a través del Java Community Process, si bien otros han
desarrollado también implementaciones alternativas de estas tecnologías de
Sun, algunas incluso bajo licencias de software libre.
Entre noviembre de 2006 y mayo de 2007, Sun Microsystems liberó la mayor
parte de sus tecnologías Java bajo la licencia GNU GPL, de acuerdo con las
especificaciones del Java Community Process, de tal forma que prácticamente
todo el Java de Sun es ahora software libre (aunque la biblioteca de clases de
Sun que se requiere para ejecutar los programas Java aún no lo es).
.Net.
.net (network, internet)es un dominio de Internet genérico que forma parte del
sistema de dominios de Internet. El domino .net es manejado por la compañía
VeriSign.
.net fue uno de los dominios originales (si bien no se menciona en el RFC 920),
fue creado en enero de 1985. Originalmente se orientó su uso a entidades de
manejo de redes, tales como proveedores de Internet. Actualmente no existen
requisitos particulares para registrar un dominio .net. Por lo tanto, aún cuando es
popular entre operadores de redes, normalmente es tratado como un "segundo"
.com
Además de ser una abreviación para "red" (network), ".net" también es una
romanización de la palabra rusa нет ("no", también comúnmente romanizada
con la más acústicamente apropiada "nyet"), y un dominio como "object.net"
puede ser interpretado como "no hay objeto". Algunos dominios explotan esta
peculiaridad, por ejemplo mozga.net (sin cerebro) o putina.net (no hay Vladímir
Putin).
Algunos casinos en línea o algunos otros sitios de apuestas operan juegos con
dinero real en sitios .com y juegos sin apuestas de valor monetario
(promocionados como educativos o de diversión) con el mismo nombre pero
.net. Esto se puede usar para evitar problemas legales con respecto a la
publicidad de sitios de apuestas en Estados Unidos, ya que el sitio .net puede
ser promocionado legalmente, pero tal promoción ayuda a que la gente se dé
cuenta del sitio donde pueden apostar dinero real, aún en jurisdicciones donde
tales cosas son de legalidad cuestionable.
Php.
PHP es un lenguaje de programación interpretado, diseñado originalmente para
la creación de páginas web dinámicas. Es usado principalmente en
interpretación del lado del servidor (server-side scripting) pero actualmente
puede ser utilizado desde una interfaz de línea de comandos o en la creación de
otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las
bibliotecas Qt o GTK+.
PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor
(inicialmente PHP Tools, o, Personal Home Page Tools). Fue creado
originalmente por Rasmus Lerdorf en 1994; sin embargo la implementación
principal de PHP es producida ahora por The PHP Group y sirve como el
estándar de facto para PHP al no haber una especificación formal. Publicado
bajo la PHP License, la Free Software Foundation considera esta licencia como
software libre.
Programación orientada a objetos (Poo).
Clase.
Objeto.
Polimorfismo.
Herencia.
Encapsulamiento.
CLAVES DE ACCESO REMOTA A LOS RECURSOS DIGITALES SENA
Consulta el catalogo de nuestras bibliotecas y material en formato digital en línea
http://bibloteca.sena.edu.co o consulta usando nuestro integrador de recursos
http://biblioteca.sena.edu.co:8331
Para acceder a los recursos digitales, si esta dentro de las instalaciones del
SENA no le solicitara usuario o contraseña. Si se encuentra fuera de la red del
SENA deberá usar:
Recurso
Proquest
E-libro
OCENET
Academic Onefile
Planeta (PYMES)
Libros Gale y Paraninfo
Usuario
3VH8VCDTCX
bibliotecasena
sena
cfvsena
1sena01
Contraseña
welcome
senavirtual
sena
sena
cfvsenacfv1
01sena1
Agradecimientos tener en cuenta que el acceso a los recursos contratados por el
SENA están restringidos a la comunidad SENA, y por lo tanto las claves de
acceso no son de uso público, de igual manera el uso de los recursos están
sujetos a las leyes de propiedad intelectual y el mal uso podrá ocasionar la
suspensión del servicio.