Вы находитесь на странице: 1из 22

2015

BLASCO, ANABEL
MUÑOZ, MELANIE
SERFATY, MARIA

[SOFWARE- LIBRE VS.


PRIVATIVO- GRATUITO VS.
CERRADO]
INTRODUCCIÓN

Durante nuestra carrera como estudiantes hemos sido testigos de los


grandes y sorprendentes avances que la tecnología ha desarrollado en los últimos años.
Estos avances han sido muy rápidos en la realidad, pero no podemos
hablar de que nacen de la noche a la mañana, cada uno de ellos refleja una investigación
de mucho tiempo. Estas nuevas tecnologías nos demuestran con hechos y resultados lo
importante que son para en la actualidad; a su vez se van convirtiendo en un estándar
para poder competir en el mundo real.

Un factor que ha sido relevante en este desarrollo de tecnologías ha sido el


Software, ya que ha facilitado y agilizado varios procesos que ya se manejaban con
anterioridad. Además que se ha convertido en una característica primordial que deben
tener las Organizaciones para poder convertirse en una de las mejores a nivel mundial.

Este trabajo nos presenta como empezó, desarrolló y que rumbos toma el
Software actualmente.

PRIMERA ERA

Durante los primeros años de la era de la computadora, el software se


contemplaba como un añadido. Desde entonces el campo se ha desarrollado
tremendamente. La programación de computadoras era un “arte de andar por casa”
para el que existían pocos métodos sistemáticos. El desarrollo del software se realizaba
virtualmente sin ninguna planificación, hasta que los planes comenzaron a descalabrarse
y los costos a correr. Los programadores trataban de hacer las cosas bien, y con un
esfuerzo heroico, a menudo salían con éxito. Los problemas a ser resueltos eran
principalmente de una naturaleza técnica, el énfasis estaba en expresar algoritmos
conocidos eficazmente en algún lenguaje de programación.

En estos primeros años lo normal era que el hardware fuera de propósito


general. Por otra parte, el software se diseña a medida para cada aplicación y tenía una
distribución relativamente pequeña. El software como producto estaba en su infancia.
La mayoría del software se desarrollaba y era utilizado por la misma persona u
organización. La misma persona lo escribía, lo ejecutaba y, si fallaba, lo depuraba.
Debido a que la movilidad en el trabajo era baja, los ejecutivos estaban seguros de que
esa persona estará allí cuando se encontrara algún error. Debido a este entorno
personalizado del software, el diseño era un proceso implícito, realizado en la mente de
alguien, y la documentación normalmente no existía.

A lo largo de los primeros años aprendimos mucho sobre la


implementación de sistemas informáticos, pero relativamente poco sobre la ingeniería de
las computadoras. Sin embargo, en honor de la verdad, debemos reconocer que durante
esa era se desarrollaron muchos sistemas informáticos excepcionales. Algunos de ellos
todavía se siguen utilizando hoy y, por sus características, siguen siendo admirados con
toda justicia.

SEGUNDA ERA

La segunda era en la evolución de los sistemas de computadora se


extienden desde la mitad de la década de los sesenta hasta finales de los setenta. La
multiprogramación y los sistemas multiusuario introdujeron nuevos conceptos de
interacción hombre - máquina. Las técnicas interactivas abrieron un nuevo mundo de
aplicaciones y nuevos niveles de sofisticación del hardware y del software. Los sistemas
de tiempo real podían recoger, analizar y transformar datos de múltiples fuentes,
controlando así los procesos y produciendo salidas en milisegundos en lugar de en
minutos. Los avances en los dispositivos de almacenamiento en línea condujeron a la
primera generación de sistemas de gestión de bases de datos.

La segunda era se caracterizó también por el establecimiento del software


ya se desarrollaba para tener una amplia distribución en un mercado multidisciplinario.
Los programas se distribuían para computadoras grandes y para minicomputadoras, a
cientos e incluso a miles de usuarios. Los patronos de la industria, del gobierno y de la
universidad se aprestaban a “desarrollar el mejor paquete de software” y ganar así
mucho dinero.

Conforme crecía el número de sistemas informáticos, comenzaron a


extenderse las bibliotecas de software de computadora. Las casas desarrollaban
proyectos en los que se producían programas de decenas de miles de sentencias fuente.
Los productos de software comprados al exterior incorporaban cientos de miles de
nuevas sentencias. Una nube negra apareció en el horizonte. Todos esos programas,
todas esas sentencias fuente tenían que ser corregidos cuando se detectaban fallos,
modificados cuando cambiaban los requisitos de los usuarios o adaptados a nuevos
dispositivos hardware que se hubieran adquirido. Estas actividades se llamaron
colectivamente mantenimiento del software. El esfuerzo gastado en el mantenimiento
del software comenzó a absorber recursos en una medida alarmante.

Aún peor, la naturaleza personalizada de muchos programas los hacía


virtualmente imposibles de mantener. Había comenzado una crisis del “software”

TERCERA ERA

La tercera era en la evolución de los sistemas de computadora comenzó a


mediados de los años setenta y continuó más allá de una década. El sistema distribuido,
múltiples computadoras, cada una ejecutando funciones concurrentemente y
comunicándose con alguna otra, incrementó notablemente la complejidad de los
sistemas informáticos. Las redes de área local y de área global, las comunicaciones
digitales de alto ancho de banda y creciente demanda de acceso “instantáneo” a los
datos, supusieron una fuente presión sobre los desarrolladores del software. Aún más, los
sistemas y el software que lo permitían continuaron residiendo dentro de la industria y
de la academia. El uso personal era extraño.

La conclusión de la tercera era se caracterizó por la llegada y amplio uso


de los microprocesadores. El microprocesador ha producido un extenso grupo de
productos inteligentes, desde productos inteligentes, desde automóviles hasta hornos
microondas, desde robots industriales a equipos de diagnóstico de suero sanguíneo, pero
ninguno ha sido más importante que la computadora personal. En menos de una
década, las computadoras llegarán a ser fácilmente accesibles al público.

CUARTA ERA

La cuarta era de la evolución de sistemas informáticos se aleja de las


computadoras individuales y da los programas de computadoras, dirigiéndose al
impacto colectivo de las computadoras individuales y de los programas de
computadoras, dirigiéndose al impacto colectivo de las computadoras y del software.
Potentes máquinas personales controladas por sistemas operativos sofisticados, en redes
globales y locales, acompañadas por aplicaciones de software avanzadas se han
convertido en la norma. Las arquitecturas informáticas están cambiando de entornos
centralizados de grandes computadoras a entornos descentralizados cliente/servidor. Las
redes de información en todo el mundo proporcionan una infraestructura que iguala a
expertos y políticos en pensar sobre una “superautopista de información” y una
“conexión del ciberespacio”. De hecho internet se puede observar como un “software” al
que pueden acceder usuarios individuales.

La industria del software ya es la cuna de la economía del mundo. Las


decisiones tomadas por gigantes de la industria tales como Microsoft arriesgan billones
de dólares. A medida que la cuarta generación progresa, han comenzado a surgir nuevas
tecnologías. Las tecnologías orientadas a objetos están desplazando rápidamente los
enfoques de desarrollo de software más convencionales en muchas áreas de aplicaciones.
Aunque las predicciones de las computadoras de “quinta generación” continúan
eludiéndonos, “las técnicas de cuarta generación” para el desarrollo del software están
cambiando en forma en que la comunidad del software construye programas
informáticos. Los sistemas expertos y el software de inteligencia artificial han salido del
laboratorio para entrar en aplicaciones prácticas de una gran variedad de problemas del
mundo real. El software de redes neuronales artificiales junto con la aplicación de lógica
difusa ha abierto posibilidades excitantes para el reconocimiento de patrones y
habilidades de procesamiento de información de carácter humano. La programación de
realidad virtual y los sistemas multimedia ofrecen formas radicalmente diferentes de
comunicar información al usuario final. “Los algoritmos genéricos” ofrecen el potencial
para el software que reside dentro de las computadoras biológicas masivamente en
paralelo.
Sin embargo, un conjunto de problemas relacionados con el software ha
persistido a través de la evolución de los sistemas basados en computadora, y estos
problemas continúan aumentado.

EL SOFTWARE

DEFINICIÓN
Para que el hardware o parte material de un ordenador pueda funcionar,
es necesario tener un conjunto de normas y órdenes para coordinar todos los procesos
que se realicen. Este conjunto recibe la denominación de software o parte inmaterial del
sistema. Sin el software, una computadora no es más que una masa metálica sin
utilidad. Con el software, una computadora puede almacenar, procesar y recuperar
información, encontrar errores de ortografía en manuscritos, tener aventuras e
intervenir en muchas otras valiosas actividades para ganar el sustento. El software para
computadoras puede clasificarse en general en dos clases: los programas de sistema, que
controlan la operación de la computadora en sí y los programas de aplicación, los cuales
resuelven problemas para sus usuarios.

3. CLASIFICACIÓN DEL SOFTWARE.

El software para computadoras puede clasificarse en general en dos clases:


los programas de sistema, que controlan la operación de la computadora en sí y los
programas de aplicación, los cuales resuelven problemas para sus usuarios. El programa
fundamental de todos los programas de sistema es el sistema operativo (SO), que
controla todos los recursos de la computadora y proporciona la base sobre la cual
pueden escribirse los programas de aplicación. En conclusión, el software se divide en:

1.- SOFTWARE BÁSICO O DE SISTEMA.

Conjunto de programas imprescindibles para el funcionamiento del sistema.

2.- SOFTWARE DE APLICACIÓN.

Conjunto de programas que van a ser utilizados por el usuario para realizar una
determinada tarea.

3.1. EL SISTEMA OPERATIVO.

¿Qué es un Sistema Operativo?

Desde su creación, las computadoras digitales han utilizado un sistema de


codificación de instrucciones en sistema de numeración binaria, es decir con los 0S. Esto
se debe a que los circuitos integrados funcionan con este principio, es decir, hay
corriente o no hay corriente.

En el origen de la historia de las computadoras (hace unos cuarenta años),


los sistemas operativos no existían y la introducción de un programa para ser ejecutado
se convertía en un increíble esfuerzo que solo podía ser llevado a cabo por muy pocos
expertos. Esto hacia que las computadoras fueran muy complicadas de usar y que se
requiriera tener altos conocimientos técnicos para operarlas. Era tan complejo su
manejo, que en algunos casos el resultado llegaba a ser desastroso.

Además, el tiempo requerido para introducir un programa en aquellas


grandes máquinas de lento proceso superaba por mucho el de ejecución y resultaba poco
provechosa la utilización de computadoras para resolución de problemas prácticos.

Se buscaron medios más elaborados para manipular la computadora, pero


que a su vez simplificaran la labor del operador o el usuario. Es entonces cuando surge la
idea de crear un medio para que el usuario pueda operar la computadora con un
entorno, lenguaje y operación bien definido para hacer un verdadero uso y explotación
de esta. Surgen los sistemas operativos.

Un sistema operativo es el encargado de brindar al usuario una forma


amigable y sencilla de operar, interpretar, codificar y emitir las ordenes al procesador
central para que este realice las tareas necesarias y especificas para completar una
orden.

El sistema operativo, es el instrumento indispensable para hacer de la


computadora un objeto útil. Bajo este nombre se agrupan todos aquellos programas que
permiten a los usuarios la utilización de este enredo de cables y circuitos, que de otra
manera serian difíciles de controlar. Un sistema operativo se define como un conjunto de
procedimientos manuales y automáticos, que permiten a un grupo de usuarios
compartir una instalación de computadora eficazmente.

HISTORIA DEL S.O.

La historia del sistema operativo se divide en 4 generaciones


comprendidas desde el año 1945 hasta la actualidad.

Primera generación (1945 - 1955)

En esta época no existían los sistemas operativos. Utilización de la tecnología de


las válvulas o tubos de vacío que hacían que los ordenadores fuesen enormes. El usuario
tenía que hacer todos los programas en código binario. Las máquinas eran de un enorme
coste...
Segunda generación (1955 - 1965)

Aparecen los transistores que hacen que las máquinas se reduzcan de tamaño,
facilitando la creación de los sistemas operativos. Aparecen los lenguajes de bajo nivel
(assembler) y el lenguaje JCL. En esta época se estandariza el código para una mayor
divulgación. Aparece un “embrión” de programa, dando lugar al IOCS (sistema de
control de entrada/salida).

Aparecen los lenguajes de alto nivel que tenían que cargar un compilador que
convertía el lenguaje en assembler (ensamblador) de la máquina en la que se compilaba.

Se crean dos estados del S.O.:

El estado Superusuario: que permite ejecutar las instrucciones sin pararse a


valorarlas (las instrucciones que sólo se pueden ejecutar de este modo se llaman
privilegiadas.

Estado Usuario: Se restringe el uso de las instrucciones.

Necesitamos una orden privilegiada que sólo se puede dar en modo Superusuario;
para esto está el gestor de interrupciones:

Interrupciones Hardware

Interrupciones Software

Comienzan a aparecer más periféricos como las unidades de cinta magnética y


una mejora notable de las impresoras.

Aparecen los buffer que son memorias intermedias donde pasa la información, el
dispositivo leerá del buffer, eliminando así el dispositivo off-line.

Tercera generación (1965 - 1980)

Había ordenadores especializados para multitud de cosas concretas, IBM resolvió


este problema y creó un software compatible para ordenadores de propósito general.
Creó las familias de ordenadores; la primera fue la 360, luego la 370, la 4330, la 3080 y la
3090. La 360 utiliza los circuitos integrados LSI (Large Scale Integration).

Aparece la escalabilidad, que es la posibilidad de ampliar en un momento


determinado las funciones de un sistema.

Aparece la multiprogramación
Aparecen también las unidades de disco. Ahora se utiliza el disco para realizar la
función del buffer. Este disco se llama spool y sólo lo utilizaba el sistema operativo.

Aparecen los sistemas de tiempo compartido que suponían volver a interactuar


con el sistema.

Aparecen los sistemas de tiempo real que funcionan mediante una serie de
sensores que tienen una respuesta inmediata.

Cuarta generación (1980- 1990)

Se utilizan circuitos integrados VLSI (Very Large Scale Integration) con una
enorme potencia. Aparecen los microprocesadores que son el fundamento de los
ordenadores. Son como las antiguas estaciones de trabajo, pero ahora a nivel personal.
Aparecen grandes desarrollos:

Conectividad que permite una gran libertad de comunicación pero hace que
aparezcan problemas en la Seguridad.

Tb. aparecen dos tipos de SSOO:

Los de Red, en los que elijo implícitamente que quiero hacer.

Los Distribuidos, que son transparentes para el usuario.

3.1.2. INTERFACES DEL S.O.

1. Interfaz de Línea de Comandos.

La forma de interfaz entre el sistema operativo y el usuario en la que este escribe


los comandos utilizando un lenguaje de comandos especial. Los sistemas con interfaces
de líneas de comandos se consideran más difíciles de aprender y utilizar que los de las
interfaces gráficas. Sin embargo, los sistemas basados en comandos son por lo general
programables, lo que les otorga una flexibilidad que no tienen los sistemas basados en
gráficos carentes de una interfaz de programación.

2. Interfaz Gráfica del Usuario.

Es el tipo de visualización que permite al usuario elegir comandos, iniciar


programas y ver listas de archivos y otras opciones utilizando las representaciones
visuales (iconos) y las listas de elementos del menú. Las selecciones pueden activarse
bien a través del teclado o con el mouse.

Para los autores de aplicaciones, las interfaces gráficas de usuario ofrecen un


entorno que se encarga de la comunicación con el ordenador o computadora. Esto hace
que el programador pueda concentrarse en la funcionalidad, ya que no está sujeto a los
detalles de la visualización ni a la entrada a través del mouse o el teclado. También
permite a los programadores crear programas que realicen de la misma forma las tareas
más frecuentes, cómo guardar un archivo, porque la interfaz proporciona mecanismos
estándar de control como ventanas y cuadros de diálogo. Otra ventaja es que las
aplicaciones escritas para una interfaz gráfica de usuario son independientes de los
dispositivos: a medida que la interfaz cambia para permitir el uso de nuevos dispositivos
de entrada y salida, como un monitor de pantalla grande o un dispositivo óptico de
almacenamiento, las aplicaciones pueden utilizarlos sin necesidad de cambios.

3.1.3. Funciones de los Sistemas Operativos.

Interpreta los comandos que permiten al usuario comunicarse con el ordenador.

Coordina y manipula el hardware de la computadora, como la memoria, las


impresoras, las unidades de disco, el teclado o el mouse.

Organiza los archivos en diversos dispositivos de almacenamiento, como discos


flexibles, discos duros, discos compactos o cintas magnéticas.

Gestiona los errores de hardware y la pérdida de datos.

Servir de base para la creación del software logrando que equipos de marcas
distintas funcionen de manera análoga, salvando las diferencias existentes entre ambos.

Configura el entorno para el uso del software y los periféricos; dependiendo del
tipo de máquina que se emplea, debe establecerse en forma lógica la disposición y
características del equipo. Como por ejemplo, una microcomputadora tiene físicamente
dos unidades de disco, puede simular el uso de otras unidades de disco, que pueden ser
virtuales utilizando parte de la memoria principal para tal fin. En caso de estar
conectado a una red, el sistema operativo se convierte en la plataforma de trabajo de los
usuarios y es este quien controla los elementos o recursos que comparten. De igual
forma, provee de protección a la información que almacena.

3.1.4. Clasificación de los Sistemas Operativos.

Con el paso del tiempo, los Sistemas Operativos fueron clasificándose de


diferentes maneras, dependiendo del uso o de la aplicación que se les daba. A
continuación se mostrarán diversos tipos de Sistemas Operativos que existen en la
actualidad, con algunas de sus características:

1) Sistemas Operativos de multiprogramación (o Sistemas Operativos de


multitarea).
Es el modo de funcionamiento disponible en algunos sistemas operativos,
mediante el cual una computadora procesa varias tareas al mismo tiempo. Existen
varios tipos de multitareas. La conmutación de contextos (context Switching) es un tipo
muy simple de multitarea en el que dos o más aplicaciones se cargan al mismo tiempo,
pero en el que solo se está procesando la aplicación que se encuentra en primer plano (la
que ve el usuario). Para activar otra tarea que se encuentre en segundo plano, el usuario
debe traer al primer plano la ventana o pantalla que contenga esa aplicación. En la
multitarea cooperativa, la que se utiliza en el sistema operativo Macintosh, las tareas en
segundo plano reciben tiempo de procesado durante los tiempos muertos de la tarea que
se encuentra en primer plano (por ejemplo, cuando esta aplicación está esperando
información del usuario), y siempre que esta aplicación lo permita. En los sistemas
multitarea de tiempo compartido, como OS/2, cada tarea recibe la atención del
microprocesador durante una fracción de segundo. Para mantener el sistema en orden,
cada tarea recibe un nivel de prioridad o se procesa en orden secuencial. Dado que el
sentido temporal del usuario es mucho más lento que la velocidad de procesamiento del
ordenador, las operaciones de multitarea en tiempo compartido parecen ser simultáneas.

Se distinguen por sus habilidades para poder soportar la ejecución de dos o más
trabajos activos (que se están ejecutado) al mismo tiempo. Esto trae como resultado que
la Unidad Central de Procesamiento (UCP) siempre tenga alguna tarea que ejecutar,
aprovechando al máximo su utilización.

Su objetivo es tener a varias tareas en la memoria principal, de manera que cada


uno está usando el procesador, o un procesador distinto, es decir, involucra máquinas
con más de una UCP.

Sistemas Operativos como UNIX, Windows 95, Windows 98, Windows NT,
MAC-OS, OS/2, soportan la multitarea.

Las características de un Sistema Operativo de multiprogramación o multitarea


son las siguientes:

Mejora productividad del sistema y utilización de recursos.

Multiplexa recursos entre varios programas.

Generalmente soportan múltiples usuarios (multiusuario).

Proporcionan facilidades para mantener el entorno de usuarios individuales.

Requieren validación de usuario para seguridad y protección.

Proporcionan contabilidad del uso de los recursos por parte de los usuarios.
Multitarea sin soporte multiusuario se encuentra en algunos computadores
personales o en sistemas de tiempo real.

Sistemas multiprocesadores son sistemas multitareas por definición ya que


soportan la ejecución simultánea de múltiples tareas sobre diferentes procesadores.

En general, los sistemas de multiprogramación se caracterizan por tener


múltiples programas activos compitiendo por los recursos del sistema: procesador,
memoria, dispositivos periféricos.

2) Sistema Operativo Monotareas.

Los sistemas operativos monotareas son más primitivos y es todo lo contrario al


visto anteriormente, es decir, solo pueden manejar un proceso en cada momento o que
solo puede ejecutar las tareas de una en una. Por ejemplo cuando la computadora está
imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas
instrucciones hasta que se termine la impresión.

3) Sistema Operativo Monousuario.

Los sistemas monousuarios son aquellos que nada más puede atender a un solo
usuario, gracias a las limitaciones creadas por el hardware, los programas o el tipo de
aplicación que se esté ejecutando.

Estos tipos de sistemas son muy simples, porque todos los dispositivos de
entrada, salida y control dependen de la tarea que se está utilizando, esto quiere decir,
que las instrucciones que se dan, son procesadas de inmediato; ya que existe un solo
usuario. Y están orientados principalmente por los microcomputadores.

4) Sistema Operativo Multiusuario.

Es todo lo contrario a monousuario; y en esta categoría se encuentran todos los


sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que
comparten mismos recursos. Este tipo de sistemas se emplean especialmente en redes.

En otras palabras consiste en el fraccionamiento del tiempo (timesharing).

5) Sistemas Operativos por lotes.

Los Sistemas Operativos por lotes, procesan una gran cantidad de trabajos con
poca o ninguna interacción entre los usuarios y los programas en ejecución. Se reúnen
todos los trabajos comunes para realizarlos al mismo tiempo, evitando la espera de dos o
más trabajos como sucede en el procesamiento en serie. Estos sistemas son de los más
tradicionales y antiguos, y fueron introducidos alrededor de 1956 para aumentar la
capacidad de procesamiento de los programas.
Cuando estos sistemas son bien planeados, pueden tener un tiempo de ejecución
muy alto, porque el procesador es mejor utilizado y los Sistemas Operativos pueden ser
simples, debido a la secuenciabilidad de la ejecución de los trabajos.

Algunos ejemplos de Sistemas Operativos por lotes exitosos son el SCOPE, del
DC6600, el cual está orientado a procesamiento científico pesado, y el EXEC II para el
UNIVAC 1107, orientado a procesamiento académico.

Algunas otras características con que cuentan los Sistemas Operativos por lotes
son:

Requiere que el programa, datos y órdenes al sistema sean remitidos todos juntos
en forma de lote.

Permiten poca o ninguna interacción usuario/programa en ejecución.

Mayor potencial de utilización de recursos que procesamiento serial simple en


sistemas multiusuario.

No conveniente para desarrollo de programas por bajo tiempo de retorno y


depuración fuera de línea.

Conveniente para programas de largos tiempos de ejecución (ej., análisis


estadísticos, nóminas de personal, etc.).

Se encuentra en muchos computadores personales combinados con


procesamiento serial.

Planificación del procesador sencilla, típicamente procesados en orden de llegada.

Planificación de memoria sencilla, generalmente se divide en dos: parte residente


del S.O. y programas transitorios.

No requieren gestión crítica de dispositivos en el tiempo.

Suelen proporcionar gestión sencilla de manejo de archivos: se requiere poca


protección y ningún control de concurrencia para el acceso.

6) Sistemas Operativos de tiempo real.

Los Sistemas Operativos de tiempo real son aquellos en los cuales no tiene
importancia el usuario, sino los procesos. Por lo general, están subutilizados sus recursos
con la finalidad de prestar atención a los procesos en el momento que lo requieran. Se
utilizan en entornos donde son procesados un gran número de sucesos o eventos.
Muchos Sistemas Operativos de tiempo real son construidos para aplicaciones
muy específicas como control de tráfico aéreo, bolsas de valores, control de refinerías,
control de laminadores. También en el ramo automovilístico y de la electrónica de
consumo, las aplicaciones de tiempo real están creciendo muy rápidamente. Otros
campos de aplicación de los Sistemas Operativos de tiempo real son los siguientes:

Control de trenes.

Telecomunicaciones.

Sistemas de fabricación integrada.

Producción y distribución de energía eléctrica.

Control de edificios.

Sistemas multimedia.

Algunos ejemplos de Sistemas Operativos de tiempo real son: VxWorks, Solaris,


Lyns OS y Spectra. Los Sistemas Operativos de tiempo real, cuentan con las siguientes
características:

Se dan en entornos en donde deben ser aceptados y procesados gran cantidad de


sucesos, la mayoría externos al sistema computacional, en breve tiempo o dentro de
ciertos plazos.

Se utilizan en control industrial, conmutación telefónica, control de vuelo,


simulaciones en tiempo real., aplicaciones militares, etc.

Objetivo es proporcionar rápidos tiempos de respuesta.

Procesa ráfagas de miles de interrupciones por segundo sin perder un solo suceso.

Proceso se activa tras ocurrencia de suceso, mediante interrupción.

Proceso de mayor prioridad expropia recursos.

Por tanto generalmente se utiliza planificación expropiativa basada en


prioridades.

Gestión de memoria menos exigente que tiempo compartido, usualmente


procesos son residentes permanentes en memoria.

Población de procesos estática en gran medida.


Poco movimiento de programas entre almacenamiento secundario y memoria.

Gestión de archivos se orienta más a velocidad de acceso que a utilización


eficiente del recurso.

7) Sistemas Operativos de tiempo compartido.

Permiten la simulación de que el sistema y sus recursos son todos para cada
usuario. El usuario hace una petición a la computadora, esta la procesa tan pronto como
le es posible, y la respuesta aparecerá en la terminal del usuario.

Los principales recursos del sistema, el procesador, la memoria, dispositivos de


E/S, son continuamente utilizados entre los diversos usuarios, dando a cada usuario la
ilusión de que tiene el sistema dedicado para sí mismo. Esto trae como consecuencia una
gran carga de trabajo al Sistema Operativo, principalmente en la administración de
memoria principal y secundaria.

Ejemplos de Sistemas Operativos de tiempo compartido son Multics, OS/360 y


DEC-10.

Características de los Sistemas Operativos de tiempo compartido:

Populares representantes de sistemas multiprogramados multiusuario, ej:


sistemas de diseño asistido por computador, procesamiento de texto, etc.

Dan la ilusión de que cada usuario tiene una máquina para sí.

Mayoría utilizan algoritmo de reparto circular.

Programas se ejecutan con prioridad rotatoria que se incrementa con la espera y


disminuye después de concedido el servicio.

Evitan monopolización del sistema asignando tiempos de procesador (time slot).

Gestión de memoria proporciona protección a programas residentes.

Gestión de archivo debe proporcionar protección y control de acceso debido a que


pueden existir múltiples usuarios accesando unos mismos archivos.

8) Sistemas Operativos distribuidos.

Permiten distribuir trabajos, tareas o procesos, entre un conjunto de


procesadores. Puede ser que este conjunto de procesadores esté en un equipo o en
diferentes, en este caso es trasparente para el usuario. Existen dos esquemas básicos de
éstos. Un sistema fuertemente acoplado esa es aquel que comparte la memoria y un reloj
global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema
débilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada
uno cuenta con su memoria local.

Los sistemas distribuidos deben de ser muy confiables, ya que si un componente


del sistema se compone otro componente debe de ser capaz de reemplazarlo.

Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los
siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc.

Características de los Sistemas Operativos distribuidos:

Colección de sistemas autónomos capaces de comunicación y cooperación


mediante interconexiones hardware y software.

Gobierna operación de un S.C. y proporciona abstracción de máquina virtual a


los usuarios.

Objetivo clave es la transparencia.

Generalmente proporcionan medios para la compartición global de recursos.

Servicios añadidos: denominación global, sistemas de archivos distribuidos,


facilidades para distribución de cálculos (a través de comunicación de procesos internos,
llamadas a procedimientos remotos, etc.).

9) Sistemas Operativos de red.

Son aquellos sistemas que mantienen a dos o más computadoras unidas a través
de algún medio de comunicación (físico o no), con el objetivo primordial de poder
compartir los diferentes recursos y la información del sistema.

El primer Sistema Operativo de red estaba enfocado a equipos con un procesador


Motorola 68000, pasando posteriormente a procesadores Intel como Novell Netware.

Los Sistemas Operativos de red más ampliamente usados son: Novell Netware,
Personal Netware, LAN Manager, Windows NT Server, UNIX, LANtastic.

10) Sistemas Operativos paralelos.

En estos tipos de Sistemas Operativos se pretende que cuando existan dos o más
procesos que compitan por algún recurso se puedan realizar o ejecutar al mismo tiempo.
En UNIX existe también la posibilidad de ejecutar programas sin tener que
atenderlos en forma interactiva, simulando paralelismo (es decir, atender de manera
concurrente varios procesos de un mismo usuario). Así, en lugar de esperar a que el
proceso termine de ejecutarse (como lo haría normalmente), regresa a atender al usuario
inmediatamente después de haber creado el proceso.

Ejemplos de estos tipos de Sistemas Operativos están: Alpha, PVM, la serie AIX,
que es utilizado en los sistemas RS/6000 de IBM.

Software Libre
Es un programa o secuencia de instrucciones usada por un dispositivo de
procesamiento digital de datos para llevar a cabo una tarea específica o resolver un
problema determinado, sobre el cual su dueño renuncia a la posibilidad de obtener
utilidades por las licencias, patentes, o cualquier forma que adopte su derecho de
propiedad sobre él (o sea, el software libre puede estar licenciado, o protegido por una
patente autoral), por lo que puede utilizarse o transferirse sin pago alguno al licenciante,
o a su creador.
Es la denominación del software que respeta la libertad de los usuarios sobre
su producto adquirido y, por tanto, una vez obtenido puede ser usado, copiado,
estudiado, modificado y redistribuido libremente. Según la Free Software Fundación, el
software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir,
estudiar, modificar el software y distribuirlo modificado.
El software libre suele estar disponible gratuitamente, o al precio de costo de la
distribución a través de otros medios; sin embargo no es obligatorio que sea así, por lo
tanto no hay que asociar software libre a "software gratuito" (denominado usualmente
freeware), ya que, conservando su carácter de libre, puede ser distribuido
comercialmente ("software comercial"). Análogamente, el "software gratis" o "gratuito"
incluye en ocasiones el código fuente; no obstante, este tipo de software no es libre en el
mismo sentido que el software libre, a menos que se garanticen los derechos de
modificación y redistribución de dichas versiones modificadas del programa.
1. CARACTERISTICAS DEL SOFTWARE LIBRE:
 Se encuentra disponible el código fuente del software, por lo que puede
modificarse el software sin ningún límite.
 Libertad de estudiarlo y adaptarlo.
 Libertad de distribuir copias.
 Libertad de mejora y publicación de cambios.
 Libertad de usar el programa con cualquier propósito.
2. VENTAJAS DEL SOFTWARE LIBRE:
 El usuario no comete delito por tenerlo o usarlo.
 Amplísima gama y variedad de herramientas libres.
 Actualizaciones periódicas con lata frecuencia.
 100% libre de virus.
 Altísimo nivel de estabilidad comprobada.
 Protege y defiende la SOBERANIA.
 Tiene una gran comunidad de apoyo y soporte.
 Diversidad de soluciones informáticas.
 Costo.
 Flexibilidad de las soluciones informáticas.
 Independencia tecnológica.
3. DESVENTAJAS DEL SOFTWARE LIBRE:
 El hardware debe ser de calidad y estándares abiertos.
 Carece de una estructura ampliada mercadeo (marketing).
 Algunas aplicaciones específicas no están en el mercado.
 Requiere profesionales debidamente calificados para la administración del
sistema (es un sistema administrado).
 Dificultad en el intercambio de archivos.
 Algunas aplicaciones (bajo Linux) pueden llegar a ser algo complicadas de
instalar.
 Inexistencia de garantía por parte del autor.
 Interfaces gráficas menos amigables.
 Poca estabilidad y flexibilidad en el campo de multimedia y juegos.
 Menor compatibilidad con el hardware.
Origen del Software Libre
La primera generación de computadoras aparece a finales de la década de 1940.
Eran de enormes dimensiones y muy costosas. El poder computacional era muy pobre
comparado con las computadoras de la actualidad. La relación entre el hardware y el
software era demasiado estrecha, los programas se escribían de una manera bastante
especializada (lenguaje de máquina) y por lo tanto, el concepto de software como una
parte "independiente" del hardware se veía todavía muy lejano. Debido precisamente a
esta relación entre hardware-software, las personas que operaban las computadoras
debían de poseer cierto nivel de conocimientos sobre el funcionamiento de las mismas,
así como de los programas que necesitaban para hacerlas funcionar. En ese entonces no
existían los usuarios convencionales, todos eran usuarios especializados, en su gran
mayoría científicos o ingenieros.
Entre esos usuarios expertos, era muy común que se diera el intercambio de
programas así como el compartir mejoras hechas a los mismos. A estas mejoras en el
software se les conoce como hacks y a estos primeros expertos o gurus de
la programación se les empezó a llamar hackers. Término que en la actualidad se ha ido
desvirtuando, confundiéndolos con delincuentes informáticos. En general a
los hackers les interesa conocer el funcionamiento detallado de los sistemas informáticos
y de su seguridad, manteniendo una actitud ética. Algunos traspasan esta línea y se
convierten en lo que la comunidad hacker ha denominado cracker.
En los inicios de la computación, 40s y 50s, no existían las licencias de software.
El software era libre y los programas se intercambiaban como se hace con las recetas de
cocina. Este espíritu perduró en la comunidad de programadores durante años como
algo natural, hasta que con el tiempo las restricciones derivadas de licencias de uso,
implementadas por desarrolladores de software y las grandes compañías, plantearon la
necesidad de fijar una línea divisora entre el software libre y el software propietario.
Posteriormente, el software se empezó a ver más como una gran colección de
pequeños fragmentos de código, susceptible de ser modificado y adaptado. Las
computadoras de escritorio empezaban a volverse cada vez más populares y accesibles a
un número mayor de personas. Había también una mayor cantidad de programadores
probando cosas nuevas, escribiendo sus propias aplicaciones e iniciando una gran
variedad de proyectos. Sin embargo, había una importante limitante, la gran mayoría
del software que se utilizaban en ese momento era propietario y venía protegido por
licencias que regulaban su uso y distribución.
Con el surgimiento del ARPANET (precursor del Internet) a finales de la década
de los 60s --la cual permitía la interconexión entre redes de computadoras de las diversas
universidades-- empezó el surgimiento de la primera comunidad global que se alzaba
sobre los valores y principios del software libre. Los grupos hasta entonces dispersos de
hackers, pudieron a través de la red, sumar esfuerzos, intercambiar conocimientos y
colaborar entre sí. Los proyectos involucraban cada vez más desarrolladores de
software, quienes estaban dispersos geográficamente alrededor del mundo y utilizaban el
correo electrónico como medio de comunicación para hacer llegar sus aportaciones.
El Software libre a lo largo de estos años no ha dejado de crecer y multiplicarse.
Existen en la red de Internet miles de desarrolladores de software dispuestos a
contribuir para la causa de este movimiento.
Importancia del Software Libre
El software libre es de gran utilidad debido a que existen programadores que
necesitan de un código libre para modificarlo o actualizarlo según el criterio de uso que
este le quiere dar al sistema operativo existen muchas versiones que llegan a las
expectativas de cada usuario como lo es en definitiva, lo que puede aportar el software
libre en nuestras escuelas y en nuestra sociedad, según como se introduzca, es
otro modelo cultural y tecnológico, otra manera de entender la relación entre las
personas, el conocimiento y las herramientas digitales, pero insisto, según como se
introduzca, porque si se hace con los mismos criterios y de la misma forma que se está
utilizando ahora respecto al software cerrado y privativo, lo importante según este
modelo sería más o menos dinero o prestigio y no las personas, se habrá perdido una
magnífica ocasión de transformar nuestras aulas y nuestra sociedad.
Actualmente no sólo se pueden hacer las mismas cosas con ambos tipos de
software, libre y privativo, sino que en determinadas circunstancias se pueden hacer
más cosas con el software libre como abrir el formato de archivos opendocument que es
el estándar aprobado por las universidades españolas y que el software privativo como el
de Microsoft no puede abrir.
Comparación con Software Privativo
 Es desarrollado por una comunidad de voluntarios, y
cualquier persona puede participar en el proceso de construcción del software. Esto
implica que el código fuente ha de ser abierto para todo el mundo, sin restricciones.
 Podemos distribuir el software libremente entre familiares, amigos,
compañeros de trabajo, ya que las licencias libres nos lo permite (la más habitual es la
GPL), teniendo en cuenta que hemos de seguir la normativa que ésta marca.
 Tenemos la seguridad que miles de voluntarios cooperan en la continua
mejora del software, corrigiendo posibles errores y poniendo rápidamente el producto al
alcance de todos.
 Aunque software, libre no implica necesariamente que el producto sea
gratuito, lo habitual es que podamos obtener los programas descargándolos libremente
de internet o a través de distribuciones.
Software Privativo
Es cualquier programa informático en el que el usuario tiene limitaciones para
usarlo, modificarlo o redistribuirlo (esto último con o sin modificaciones). (También
llamado código cerrado o software no libre, privado o privativo)
Para la Fundación para el Software Libre (FSF) este concepto se aplica a
cualquier software que no es libre o que sólo lo es parcialmente (semilibre), sea porque su
uso, redistribución o modificación está prohibida, o requiere permiso expreso del titular
del software.
4. CARACTERISTICAS DEL SOFTWARE PROPIETARIO:
 Este software no te pertenece no puedes hacerle ningún tipo de
modificación al código fuente.
 No puedes distribuirlo sin el permiso del propietario.
 El usuario debe realizar cursos para el manejo del sistema como tal debido
a su alta capacidad de uso.
 Este posee accesos para que el usuario implemente otro tipo de sistema en
el.
 Cualquier ayuda en cuanto a los antivirus.
5. VENTAJAS DEL SOFTWARE PROPIETARIO:
 Propiedad y decisión de uso del software por parte de la empresa.
 Soporte para todo tipo de hardware.
 Mejor acabado de la mayoría de aplicaciones.
 Las aplicaciones número uno son propietarias.
 Menor necesidad de técnicos especializados.
 El ocio para ordenadores personales está destinado al mercado
propietario.
 Mayor mercado laboral actual.
 Mejor protección de las obras con copyright.
 Unificación de productos.
 Facilidad de adquisición (puede venir preinstalado con la compra del PC,
o encontrarlo fácilmente en las tiendas).
 Existencia de programas diseñados específicamente para desarrollar una
tarea.
 Las empresas que desarrollan este tipo de software son por lo general
grandes y pueden dedicar muchos recursos, sobretodo económicos, en
el desarrollo e investigación.
 Interfaces gráficas mejor diseñadas.
 Más compatibilidad en el terreno de multimedia y juegos.
 Mayor compatibilidad con el hardware.
6. DESVENTAJAS DEL SOFTWARE PROPIETARIO:
 No existen aplicaciones para todas las plataformas (Windows y Mac OS).
 Imposibilidad de copia.
 Imposibilidad de modificación.
 Restricciones en el uso (marcadas por la licencia).
 Imposibilidad de redistribución.
 Por lo general suelen ser menos seguras.
 El coste de las aplicaciones es mayor.
 El soporte de la aplicación es exclusivo del propietario.
 El usuario que adquiere software propietario depende al 100% de
la empresa propietaria.
Origen del Software Propietario
Es documentalmente incomparable que en los años 60 los laboratorios Bell
proporcionaron el código fuente de su sistema operativo UNIX,1 y tiempo después
comenzó a existir lo que se conoce como software de código cerrado. Sin embargo hay
que destacar que, al inicio de la era de la informática, era común que agrupaciones
científicas estuvieran dispuestas a ceder su código a terceros sin un pago por el mismo ya
que tampoco había una política que lo reglamentara y además era un beneficio común
conocer los desarrollos ajenos en busca de la estandarización.
Pasado el tiempo es en 1972 cuando el gobierno de los Estados Unidos obliga
a IBM a distinguir entre software y hardware que hasta entonces no se distinguían
claramente, dando lugar a los primeros intentos de cerrar el código de los programas.
Aún en esa época, se encontraba en revistas como Creative Computing y Byte hojas y
hojas llenas de código libre
Software Propietario Nace en la década de los 70 cuando surge el interés de
comercializar software Se crean las licencias de software propietario: hay que pagar por
el derecho a uso EULA, Shrink-Wrap En 1975 Bill Gates y Paul Allen fundan
Microsoft, principal impulsor del software propietario En 1983 nace el proyecto GNU
iniciado por Richard Stallman. En 1991 nace Linux creado por Linus Torvalds En 1991
IBM y Microsoft dejan de cooperar en el desarrollo de Sistemas Operativos: IBM
desarrolla OS/2 y Microsoft sigue con Windows Otras empresas desarrolladoras de
software propietario: Adobe, AutoDesk, Macromedia. En 1997 Microsoft es demandado
por el Departamento de Justicia de EE.UU. por prácticas monopólicas En 2002 el
gobierno peruano decide utilizar sólo software libre en sus sistemas computacionales.
Importancia del Software Propietario
El software propietario o con derecho de autor no es más que un sistema
operativo de manejo comercial que tiene expectativas como de actualizaciones y uso de
programas reconocido en el área de la informática es decir que se refiere a cualquier
programa informático en el que los usuarios tienen limitadas las posibilidades de usarlo,
modificarlo o redistribuirlo (con o sin modificaciones), o cuyo código fuente no está
disponible o el acceso a éste se encuentra restringido. Para la Fundación para el
Software Libre (FSF) este concepto se aplica a cualquier software que no es libre o que
sólo lo es parcialmente, sea porque su uso, redistribución o modificación está prohibida,
o requiere permiso expreso del titular del software este sistema operativo posee varias
actualizaciones que serian Microsoft Windows seven, xp, vista entre otros los cuales
forman el manejo de los sistemas operativos privados con derecho de autor sin
modificación alguna al código fuente del sistema.
Comparación con Software Libre
El opuesto del Software libre es el denominado software propietario, aquel que es
imposible de utilizar en otro hardware, o terminal modificar, o transferir sin pagar
derechos a su inventor o creador. El Software propietario costa de estas características.
 Dependencia de un proveedor: La licencia deja claro que el software sigue
siendo propiedad de la empresa productora del mismo y que el usuario no está facultado
a realizar ningún cambio en él, ni tampoco analizarlo para determinar cómo realiza sus
funciones.
 Es desarrollado por una empresa y no difunde sus especificidades. El
código es cerrado, nadie puede ver cómo está elaborado el programa.
 La licencia nos limita a usar ese software por una sola persona (quien lo
adquiere). No se puede redistribuir, a no ser que la licencia lo permita.
 Al no tener acceso al código fuente, no podemos corregir los posibles
errores que tenga el programa, ni adaptarlo a nuestras necesidades. Dependemos de las
variaciones que la empresa propietaria realice con las nuevas versiones.
 Lo habitual es tener que pagar por adquirir estos programas, y muchos de
ellos ya sabemos que no son precisamente baratos y asequibles.
 Libertad de ejecutar el programa, con cualquier propósito. Libertad de
estudiar cómo funciona el programa y de adaptarlo a sus necesidades. Libertad de
redistribuir copias del programa. Libertad de mejorar el programa y redistribuir dichas
modificaciones.
Conclusión
El software, como programa, consiste en un código en un lenguaje máquina
específico para un procesador individual. El código es una secuencia de instrucciones
ordenadas que cambian el estado del hardware de una computadora. Puede distinguirse
en tres categorías: software de sistema, software de programación y aplicación de
software. De todas maneras esta distinción es arbitraria y muchas veces un software
puede caer varias categorías.
Software de sistema: ayuda a funcionar al hardware y a la computadora. Incluye
el sistema operativo, controladores de dispositivos, herramientas
de diagnóstico, servidores, sistema de ventanas, utilidades y más. Su propósito es evitar
lo más posible los detalles complejos de la computación, especialmente la memoria y el
hardware.
Software de programación: provee herramientas de asistencia al programador.
Incluye editores de texto, compiladores, intérprete de instrucciones, enlazadores,
debuggers, etc.
Software de aplicación: permite a los usuarios finales hacer determinadas tareas.
Algún software de aplicación son los navegadores, editores de texto, editores gráficos,
antivirus, mensajeros. El software puede clasificarse según su licencia y/o forma de
distribución
Existen varios dilemas que limitan la evolución de este tipo de proyectos, por
ejemplo, los parásitos que obtienen beneficios sin brindar ninguna aportación, como
empresas que utilizan software libre y reciben beneficios económicos gracias a ello, o
programadores que utilizan programas o código para realizar proyectos por los que ellos
si obtendrán remuneración. Otro gran problema que detiene el desarrollo del Software
libre es la piratería, ya que anula la principal ventaja del software libre, el costo, y
brinda mayor difusión a los programas propietarias manteniéndolos en el mercado como
el estándar, y esto desencadena una serie de obstáculos como el hecho de que las
personas que utilizan software pirata como particulares, estarán acostumbrados a ese
programa, por ende las empresas lo utilizaran en sus oficina, o al revés, si en una
compañía se utiliza un software, y se capacita a los empleados para trabajar con él,
obliga de cierta manera al trabajador a emplear solo ese software, ya sea por
compatibilidad o porque es el único que sabe utilizar.

Вам также может понравиться