miércoles, 10 de noviembre de 2010

SOFTWARE

SOFTWARE


El software es un ingrediente indispensable para el funcionamiento del computador. Está formado por una serie de instrucciones y datos, que permiten aprovechar todos los recursos que el computador tiene, de manera que pueda resolver gran cantidad de problemas. Un computador en sí, es sólo un conglomerado de componentes electrónicos; el software le da vida al computador, haciendo que sus componentes funcionen de forma ordenada.

El software es un conjunto de instrucciones detalladas que controlan la operación de un sistema computacional.

Funciones del software:        
-Administrar los recursos de cómputo
-Proporcionar las herramientas para optimizar estos recursos.
-Actuar como intermediario entre el usuario y la información almacenada.

Se conoce como software al equipamiento lógico o soporte lógico de una computadora digital; comprende el conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas específicas, en contraposición a los componentes físicos, que son llamados hardware.

Los componentes lógicos incluyen, entre muchos otros, las aplicaciones informáticas; tales como el procesador de textos, que permite al usuario realizar todas las tareas concernientes a la edición de textos; el software de sistema, tal como el sistema operativo, que, básicamente, permite al resto de los programas funcionar adecuadamente, facilitando también la interacción entre los componentes físicos y el resto de las aplicaciones, y proporcionando una interfaz para el usuario.

CLASIFICACIÓN DEL SOFTWARE

  • Software de sistema: Su objetivo es desvincular adecuadamente al usuario y al programador de los detalles de la computadora en particular que se use, aislándolo especialmente del procesamiento referido a las características internas de: memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. El software de sistema le procura al usuario y programador adecuadas interfaces de alto nivel, herramientas y utilidades de apoyo que permiten su mantenimiento. Incluye entre otros:
    • Sistemas operativos
    • Controladores de dispositivos
    • Herramientas de diagnóstico
    • Herramientas de Corrección y Optimización
    • Servidores
    • Utilidades




CLASIFICACIÓN DE LOS SISTEMAS OPERATIVOS. 

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 esta 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 esta 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 (multiusuarios).
·      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 esta 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 este ejecutando.
Estos tipos de sistemas son muy simples, porque todos los dispositivos de entrada, salida y control dependen de la tarea que se esta 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 multiusuarios.
·     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 un mismo archivo. 

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 es a 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 internodos, llamadas a procedimientos remotos, etc.). 

9) Sistemas Operativos de red.
Son aquellos sistemas que mantienen a dos o más computadoras unidas atravé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 mas 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.


Microsoft Windows



Es el nombre de una serie de sistemas operativos desarrollados porMicrosoft desde 1981, año en que el proyecto se denominaba «Interface Manager».

Anunciado en 1983, Microsoft comercializó por primera vez el entorno operativo denominadoWindows en noviembre de 1985 como complemento para MS-DOS, en respuesta al creciente interés del mercado en una interfaz gráfica de usuario (GUI).1 Microsoft Windows llegó a dominar el mercado de ordenadores personales del mundo, superando a Mac OS, el cual había sido introducido previamente a Windows. En octubre de 2009, Windows tenía aproximadamente el 91% de la cuota de mercado de sistemas operativos en equipos cliente que acceden a Internet. Las versiones más recientes de Windows son Windows 7 paraequipos de escritorio, Windows Server 2008 R2 para servidores y Windows Phone 7 para

Windows 3.0 y 3.1

Windows 3.0 (1990) y Windows 3.1 (1992) mejoraron el diseño, principalmente debido a la memoria virtual y los controladores de dispositivo virtual deslastrables (VxD) que permitió compartir dispositivos arbitrarios entre DOS y Windows. Además, las aplicaciones de Windows ahora podrían ejecutar en modo protegido (cuando se ejecuta Windows en el modo estándar o 386 mejorado), que les da acceso a varios megabytes de memoria y se elimina la obligación de participar en el esquema de la memoria virtual de software. Corrían todavía dentro del mismo espacio de dirección, donde la memoria segmentada proporciona un grado de protección y multitarea cooperativa. Para Windows 3.0, Microsoft también reescribió las operaciones críticas de C en ensamblador, haciendo esta versión más rápido y menos consumo de memoria que sus predecesores. Con la introducción de Windows for Workgroups 3.11, Windows fue capaz de eludir DOS para las operaciones de gestión de archivos mediante el acceso a archivos de 32 bits.

  
Windows 95, 98, y Me

Windows 95 fue lanzado en 1995, con una nueva interfaz de usuario, compatibilidad con nombres de archivo largos de hasta 250 caracteres, y la capacidad de detectar automáticamente y configurar el hardware instalado (plug and play). De forma nativa podrían ejecutar aplicaciones de 32-bits y presentó varias mejoras tecnológicas que aumentaron su estabilidad respecto a Windows 3.1. Hubo varios OEM Service Releases (OSR) de Windows 95, cada una de las cuales fue aproximadamente equivalente a un Service Pack.

El siguiente lanzamiento de Microsoft fue Windows 98 en 1998. Microsoft lanzó una segunda versión de Windows 98 en 1999, llamado Windows 98 Second Edition (a menudo acortado a Windows 98 SE).
En el 2000, Microsoft lanza Windows Millennium Edition (comúnmente llamado Windows Me), que actualiza el núcleo de Windows 98 pero que adopta algunos aspectos de Windows 2000 y elimina (más bien, oculta) la opción de «Arrancar en modo DOS». También añade una nueva característica denominada «Restaurar sistema», que permite al usuario guardar y restablecer la configuración del equipo en una fecha anterior.

 
Familia NT

La familia de sistemas Windows NT fue hecha y comercializada por un mayor uso de fiabilidad de negocios. El primer lanzamiento fue de MS Windows NT 3.1 (1993), el número «3.1» para que coincida con la versión para Windows, que fue seguido por NT 3.5 (1994), NT 3.51 (1995), NT 4.0 (1996), y Windows 2000 (2000). 2000 es la última versión de Windows NT, que no incluye la activación de productos de Microsoft. NT 4.0 fue el primero en esta línea para implementar la interfaz de usuario de Windows 95 (y el primero en incluir tiempos de ejecución de 32 bits integrada de Windows 95). Microsoft se trasladó a combinar sus negocios de consumo y sistemas operativos con Windows XP, viene tanto en las versiones Home y professional (y las versiones posteriores de mercado para tablet PC y centros multimedia), sino que también se separaron los calendarios de lanzamiento para los sistemas operativos de servidor. Windows Server 2003, lanzado un año y medio después de Windows XP, trajo Windows Server al día con MS Windows XP. Después de un proceso de desarrollo largo, Windows Vista fue lanzado hacia el final de 2006, y su homólogo de servidor, Windows Server 2008 fue lanzado a principios de 2008. El 22 de julio de 2009, Windows 7 y Windows Server 2008 R2 se publicaron como RTM (versión de disponibilidad general). Windows 7 fue lanzado el 22 de octubre de 2009.

Windows CE, la oferta de Microsoft en los mercados móviles e integrados, es también un verdadero sistema operativo 32-bits que ofrece diversos servicios para todas las subestaciones de trabajo de explotación.


Fecha de publicación
Nombre del producto
Noviembre de 1985
Noviembre de 1987
Mayo de 1988
Marzo de 1989
Mayo de 1990
Marzo de 1992
Octubre de 1992
Julio de 1993
Diciembre de 1993
Enero de 1994
(publicado en chino simplificado)
Septiembre de 1994
Mayo de 1995
Agosto de 1995
Julio de 1996
Junio de 1998
Mayo de 1999
Febrero de 2000
Septiembre de 2000
Octubre de 2001
Abril de 2003
Abril de 2005
Julio de 2006
Noviembre de 2006 (licencias por volumen)
Enero de 2007 (retail)
Julio de 2007
Febrero de 2008
Octubre 2009
2012
«Windows 8» (por confirmar)



  • Software de programación: Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos, usando diferentes alternativas y lenguajes de programación, de una manera práctica. Incluye entre otros: 

    • Editores de texto (Pascal, Edit de MS-DOS)
    • Compiladores (C, C++, Visual basic, Fortran, Cobol)
    • Intérpretes
    • Enlazadores (Oracle, Circle)
    • Depuradores (GNU Debugger (gdb), SoftICE )
    • Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores herramientas, usualmente en un entorno visual, de forma tal que el programador no necesite introducir múltiples comandos para compilar, interpretar, depurar, etc. Habitualmente cuentan con una avanzada interfaz gráfica de usuario (GUI). (NetBean, Visual Basic)



  • Software de aplicación: Es aquel que permite a los usuarios llevar a cabo una o varias tareas específicas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios. Incluye entre otros: 

    • Aplicaciones para Control de sistemas y automatización industrial
    • Aplicaciones ofimáticas
    • Software educativo
    • Software empresarial
    • Bases de datos
    • Telecomunicaciones (por ejemplo Internet y toda su estructura lógica)
    • Videojuegos
    • Software médico
    • Software de Cálculo Numérico y simbólico.
    • Software de Diseño Asistido (CAD)
    • Software de Control Numérico (CAM)




CONCLUSION
Como nos pudimos dar cuenta el software no es cualquier cosa y con el se puede lograr todo lo que queramos, pero sabiendolo manejar correctamente.
Hay infinidades de programas pero a medida que las computadoras se vuelven mas populares, los desarrolladores de software, constantemente están sacando programas para quitar las tediosas tareas personales y hacerlas mas divertidas. Estos programas pueden ser exelentes herramientas para la educacion ya que si los ñiños disfrutan realizando las tareas jugando, sus habilidades aumentaran.
Todos los días desarrolladores perseptivos encuentran problemas para para ser solucionados con software, y es que la tecnología a avansado tanto que una persona puede realizar operaciones bancarias desde su casa, enviar un correo electronico a cualquier parte del mundo, etc.; todo esto por el computador. Y esto es bueno ya que cada dia la competencia por crear un mejor software, fomenta a crearlos mas inmaginativos, mejores y a precios mas y mas baratos.