El software de una computadora es todo aquel que le permite al usuario ordenarle a la misma que realice una tarea. También se deben subdividir en diversas categorías en base a las funciones que realizan en el sistema.
Conceptos de Software
Software también es un producto, el cual es desarrollado por la ingeniería de software, e incluye no sólo el programa para la computadora, sino que también manuales y documentación técnica.
Un software de computadora está compuesto por una secuencia de instrucciones, que es interpretada y ejecutada por un procesador o por una máquina virtual. En un software funcional, esa secuencia sigue estándares específicos que resultan en un determinado comportamiento.
En nuestra computadora, todos los programas que usamos son software: El Windows, el Outlook, el Firefox, el Internet Explorer, los antivirus e inclusive los virus son software.
Conceptos de Software
Software también es un producto, el cual es desarrollado por la ingeniería de software, e incluye no sólo el programa para la computadora, sino que también manuales y documentación técnica.
Un software de computadora está compuesto por una secuencia de instrucciones, que es interpretada y ejecutada por un procesador o por una máquina virtual. En un software funcional, esa secuencia sigue estándares específicos que resultan en un determinado comportamiento.
En nuestra computadora, todos los programas que usamos son software: El Windows, el Outlook, el Firefox, el Internet Explorer, los antivirus e inclusive los virus son 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.
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.
TIPOS DE SOFTWARE
Los tipos de software han paulatinamente adquirió mayor importancia que el hardware. En un principio, la proporción favorecía al equipo físico, pero progresivamente, el componente inmaterial adquirió una mayor relevancia hasta hacerse el más importante.
Para facilitar su análisis, los tipos de software se clasifica generalmente en tres grandes rubros: sistemas operativos, lenguajes de programación y programas de aplicación.De estos tres grandes grupos encontraras en nuestro sitio un informe de cada uno de ello con sus respectivos adjuntos.
SISTEMA OPERATIVO
Los sistema operativo como ya se anotó, surgen como extensiones de los lenguajes de programación, tal es el sistema FAP elaborado para la IBM 709 que orbitaba en torno al lenguaje Fortran, con una mínima participación del operador, estableció un flujo controlado automáticamente para el proceso de lotes de aplicaciones (batch). Con el aumento tanto de los equipos como de los programas de servicio, las funciones y características de los sistemas operativos se ampliaron y sofisticaron, al grado de adquirir su propio dialecto o lenguaje, tal es el caso del OS/360 para la serie 360 de la IBM, con su JCL (Job Control Language) como lenguaje de control. Algunos sistemas aportaron el concepto de la multiprogramación como una medida para incrementar la productividad de la computadora como el OS/360, otros, la interacción con el usuario representa esfuerzos intelectuales de consideración, el sistema operativo para la serie 370 de la IBM, tuvo un costo de 5 millones de horas hombre.
La interacción con el usuario dio una nueva dimensión al uso de los equipos y con ello, produjo el concepto de tiempo compartido. Entre los sistemas que aplicaron esta filosofía de operación destacan: CTSS (Compatible Time Sharing System) desarrollado en el MIT para una IBM 7090. TOPS-10 para la PDP-10 de la Digital Equipment Corporation (DEC) MULTICS, elaborado también en el MIT para equipos de General Electric y Honeywell.
En las minicomputadoras destacan el OS para la PDP-8 desarrollado por la DEC y UNIX, un sistema operativo para la PDP-11 de DEC, desarrollado por dos investigadores en los laboratorios de la Bell Telephone.
SOFTWARE DE GESTIÓN
Los lenguajes de software gestion dependiendo del criterio que uno admite para calificarlos, existen cientos o miles de lenguajes de programación. Las formas de operación de los programas que emplean a los lenguajes de programación amplian la variedad, pero a la vez ofrecen una clasificación en ensambladores, interpretadores y compiladores.
Entre los programas de software gestion que emplean lenguajes de programación, los más elementales son los ensambladores, ya que ofrecen al programador un modelo riguroso de la máquina. En ellos se emplean mnemónicos, abreviaturas simbólicas, para cada una de las instrucciones de la máquina y desde ellos, están disponibles para el programador todos los recursos del equipo en su nivel más elemental.
Los programas que se encargan de la traducción, se limitan a realizar una correspondencia uno a uno entre los mnemónicos y las instrucciones de máquina.
Los interpretadores utilizan lenguajes y de software gestion, también simbólicos, pero en este caso, cada símbolo tiene una función asociada por el interprete con esta modalidad, el interpretador puede prever las consecuencias de la operación antes de realizarla y emitir, en su caso, diagnósticos para beneficio del usuario.
Las operaciones asociadas a cada símbolo no están confinadas a las operaciones disponibles en la máquina, pueden ser instrucciones de otra máquina y de cualquier nivel de complejidad y elaboración. Los compiladores realizan la traducción de programas desde un lenguaje hasta otro. Las naturalezas de los lenguajes fuente y destino son en principio diferentes.
Generalmente, el lenguaje del software gestion destino es el lenguaje de la máquina o el ensamblador. Es el caso de los compiladores de Fortran que traducen los programas que están descritos por el programador en términos de un lenguaje algebraico y con el empleo de matrices. Rigurosamente, Fortran no fue el primero de los esfuerzos en esta dirección, hubo antes otros como el MAD (Michigan Algebraic Decoder), fue el esfuerzo unificador de la IBM que condujo al Fortran. Con el empleo de los lenguajes de programación, los usuarios no requieren conocer en detalle las características de la computadora para hacer sus computaciones en gran escala. En la actualidad hay tantos lenguajes de programación que nos limitaremos a hacer algunos comentarios sobre los más conocidos.
Fortran, Algol, Pascal, Ada y Modula, representan una cadena de lenguajes con un origen común, permitir la descripción de computaciones numéricas con el empleo de notaciones algebraicas y matriciales, cada eslabón de la cadena aporta nuevos elementos, la mayor de las veces triviales, pero en la cadena se observa una tendencia muy señalada consistente en que cada vez es más rigurosa la especificación de los tipos de datos que se emplean en los programas.
Algo pretendió ser más un lenguaje matemático para describir algoritmos, que un lenguaje de programación. Introdujo los principios de la estructuración, descomponiendo el programa en procedimientos del software gestion poniendo énfasis en las formas de transmisión de argumentos del programa a los procedimientos secundarios. Para obtener independencia de las particularidades de la entrada y salida de cada equipo, no estableciendo especificaciones sobre estos aspectos.
ANALYSIS SOFTWARE
Los programas de analysis software justificaron la construcción de los equipos, inicialmente consistieron de aplicaciones militares y científicas como es el caso del cálculo de la trayectoria de proyectiles, de las simulaciones de efectos termodinámicos y del analysis software del espacio aéreo.
Con la comercialización de las computadoras el analysis software y sus aplicaciones se orientaron también al apoyo de la administración pública y de las grandes empresas: sistemas de nóminas, sistemas contables, controles de inventarios, producción de parámetros, estadísticas y aplicación científica. Algunos fueron de uso exclusivo, como los proyectos APOLLO y SAGE. Este último acoplaba un sistema de radar al computador, para controlar el espacio aéreo. Inició sus operaciones en 1958, después de 5 años de trabajos con un esfuerzo equivalente a 3.6 millones de horas hombre.
Otras aplicaciones del analysis software tuvieron un empleo también limitado, es el caso del sistema de reservaciones para vuelos de la TWA, con una IBM 370/168 y un sistema de teleproceso que integra más de 3000 terminales en América y Europa, realiza dos millones de transacciones por día. El conjunto de programas que soporta esta aplicación contiene más de 1.5 millones de líneas en sus códigos fuente y representa un esfuerzo equivalente a 100 mil horas hombre. Otros, de uso más común, experimentaron generalizaciones a través de la estructuración, estandarización y parametrización de los datos que procesan. Es el caso de los paquetes estadísticos como SPSS y BMD, de simulación como GASP y GPSS, científicos como STATPAK, EISPACK y FUNPAK, y aquellos para la optimización y el modelaje económico. Con la incorporación de las nuevas computadoras a la producción industrial, se dio origen a nuevos campos, el CAD/CAM (Computer Aided Design y Computer Aided Manufacturing).
La Texas Instruments y la Intel fueron unas de las primeras en incorporar el apoyo de las computadoras y del analysis software para el diseño de sus circuitos integrados. La tendencia actual se orienta en el sentido de desarrollar las aplicaciones en forma integral con el apoyo de un manejador de bases de datos para organizar la información. PASCAL por su parte, acentúo la estructuración de los programas, para ello prescribió el uso de las transferencias incondicionales, limitando las formas de control a las estructuras DO-WHILE e IF-THEN-ELSE, con lo que obligó al usuario a organizar sus programas, simplificando su desarrollo, depuración y mantenimiento. Fortran, Basic, Pascal, en esta serie de lenguajes. También con un origen común, el énfasis que se observa consiste en ofrecer una mayor independencia en las especificaciones de entrada y salida, en mejores facilidades para el manejo de textos en los programas, un empleo interactivo del lenguaje, así como una acusada simplificación en la presentación de los resultados. Específicamente, Basic eliminó las tediosas especificaciones de formato, indispensables en Fortran, para la presentación de los resultados.
También hubo lenguajes que enfatizaron tanto la especificación de los datos, que llegaron al extremo de no solo ofrecer datos numéricos y textos, sino también de integrarles una estructura. Tal es el caso de ``C'', Alpha-Basic (una variante de Basic para los equipos Alpha-Micro), e inclusive COBOL, que se orientó más a ambientes administrativos que a los de la ingeniería, por lo que su aritmética fue muy limitada. Algunos de los lenguajes, introdujeron características muy especializadas, tal es el caso de COBOL, que con su enfoque administrativo, incorporó una excelente colección de subrutinas para el manejo y la organización de fuertes volúmenes de datos alfanuméricos, entre ellas el ISAM (Indexed Sequential Access Method) que establecieron los fundamentos para los manejadores de bases de datos. Y también el de ``C'', que pretendió utilizar el lenguaje de máquina de la PDP-11 de DEC, como lenguaje de alto nivel. Al margen de toda esta colección de lenguajes en los que el cálculo numérico juega el papel central, surgen otros lenguajes, los clasificados como no numéricos, que se caracterizaron por su énfasis en el manejo de cadenas de carácteres, la edición de textos, el reconocimientos de patrones y la propiedad de que el programa fuente es de la misma naturaleza que los datos que manejan. Por su enfoque diferente, este tipo de lenguajes el analysis software se utilizó en aplicaciones menos convencionales, como lo son la compilación de lenguajes y para los estudios y desarrollos realizados en el terreno de la inteligencia artificial. Sobresalen entre ellos LISP para el manejo de listas; COMIT y SNOBOL en el reconocimiento de patrones.
Más adelante, se agregan IPL V y PROLOG. Por su naturaleza, los lenguajes no numéricos enfrentaron en sus inicios problemas con la velocidad de los equipos y las capacidades de sus memorias. Por esto, su desarrollo registró una pausa aunque en fechas recientes, con el apoyo de los nuevos equipos, han recibido un nuevo impulso. Si bien los primeros resultados en este campo fueron poco convincentes: programas de juego decepcionantes, sistemas rígidos de traducción, y demostraciones de teoremas triviales; el nuevo período ha ofrecido resultados sumamente interesantes, entre los que podemos citar a los sistemas expertos. Estos sistemas expertos, además de organizar considerables volúmenes de datos y reducirlos a través de operaciones lógicas, realizan ya inferencias elementales. Orientados a la geología, la medicina y al diagnóstico en general, se perfilan como consejeros capaces de emitir juicios. Uno de los éxitos más sonados y que mayor controversia ha despertado, es la inferencia que realizó un sistema experto en 1982, el Prospector que permitió identificar un filón de molibdeno, en un sitio en donde nadie lo habría imaginado.
SOFTWARE INFORMATICO
El software informático propietario significa que algún individuo o compañía retiene el derecho de autor exclusivo sobre una pieza de programación, al mismo tiempo que niega a otras personas el acceso al código fuente o al password (palabra de paso )del programa y el derecho a copiarlo, modificarlo o estudiarlo.
Este es el software informático propietario es el que se compra y que cada dueño tiene derecho a utilizarlo esto se controla por el software legal y cada país tiene los derechos para revisar los software informático que se encuentren en las empresas.
MICROSOFT
El comienzo de microsoft fue por el año 1975 por William H. Gates III y Paul Allen.
Gates y Allen desarrollan la primera versión del lenguaje de programación BASIC para el equipo Altair, la primera computadora personal. Le compraron la licencia de este software a MITS, la empresa fabricante del Altair, y fundaron Microsoft, en Albuquerque, Nuevo México.En 1977 Microsoft lanzó al mercado su segundo producto, Microsoft FORTRAN, otro lenguaje de programación.
En 1980 IBM contrató a Microsoft para escribir el sistema operativo del IBM PC Presionada por el poco tiempo disponible, Microsoft compró QDOS (Quick and Dirty Operating System) a Tim Paterson , un programador de Seattle por 50.000 dólares y le cambió el nombre a MS-DOS.
El contrato firmado con IBM permitía a Microsoft vender este sistema operativo a otras compañías.
En 1984 Microsoft había otorgado licencias de MS-DOS a 200 fabricantes de equipos informáticos y, así, este sistema operativo se convirtió en el más utilizado para PC,
lo que permitió a Microsoft crecer vertiginosamente en la década de 1980.
En 1985 Microsoft lanzó Windows, y más adelante sacó la versión.
En 1990 Microsoft pasó a ser la empresa líder de programas informáticos y alcanzó unas ventas anuales de más de mil millones de dólares. Lo que sigue es historia conocida.
COMPUTER SOFTWARE
El Freeware, Shareware, Adware y Espyware no son mas que computer software .Por ejemplo el freeware es un software de computadora que se distribuye sin cargo. A veces se incluye el código fuente, pero no es lo usual. El computer software y el Software Libre Freeware Shareware es una clase de software o programas para poder evaluar de forma gratuita pero por un tiempo, uso o características limitadas. Adware es software que durante su funcionamiento despliega publicidad de distintos productos o servicios . Subvención económica de la aplicación.
El caso de las Cookies:en el caso de el computer software puede ser utilizado como spyware. Hotwired introdujo publicidad en la web a través de su sitio en octubre de 1994. Para 1996, la metodología del seguimiento había sido implementada y usada por proveedores como ValueClick, Alexa, Be Free, LinkShare, and Commission Junction.
LINUX
La historia de Linux se debe retrotraer hasta los principios del proyecto GNU, el cual puede considerarse como el punto de partida de esta revolución del software libre, la historia de GNU es vista como la prehistoria de Linux; y esta puede ser resumida en sus puntos principales así:
Linux nace en 1991, de la mano de Linus Benedict Torvalds, cuando era estudiante de informática de la Universidad de Helsinki, Finlandia. La idea vino principalmente cuando Linus observó el código fuente de Minix, un "pequeño Unix" desarrollado por Andy Tannenbaum, gran experto en el área de los sistemas operativos. Linus decidió, entonces, como simple hobby, desarrollar su propio sistema operativo, basado en Minix, el cual ni siquiera tenía nombre. He aquí el primer mensaje que colocó en el grupo de noticias comp.os.minix de Usenet.
Fecha: 3 Jul 91 10:00:50 GMT
Hola ciudadanos de la red,d
ebido a un proyecto en el que estoy trabajando (en minix), estoy interesado en la definición del estandar POSIX...
Habrá alguien que me pueda indicar en dónde encuentro (de preferencia) en formato legible por una computadora las reglas del POSIX ?, un sitio FTP sería muy bueno.
Casi dos meses después se leyó: From: torvalds@klaava.helsinki.fi (linus Benedict Torvalds) Newsgroups: com.os.minix Subject: What would you like to see most in minix? Summary: small poll for my new operating system Message-ID: 1991Aug25.205708.9441@klaava.helsinki.fi Date: 25 Aug 91 20:57:08 GMT Organization: University of Helsinki Hello everybody out there using minix I´m doing a (free) operating system (just a hobby, won´t be big and professional like gnu) for 386(486) AT clones................ Hola a todos allá afuera usando minix Estoy haciendo un sistema operativo libre (es solo un hobby, no será grande ni professional como GNU) pero funciona en 386(486) AT clones, lo he estado cocinando desde abril y está quedando listo. Quisiera alguna retroalimentación de las cosas que a ustedes les gustan y no les gustan de minix, ya que mi sistema operativo se parece (la misma disposición física, debido a razones prácticas, entre otras cosas). Ya he portado bash (1.08) y gcc (1.40) y parece que las cosas funcionan. Esto implica que tendré algo usable en unos meses, y quiero saber que es lo que a la gente le gustaría que tenga.Software es una secuencia de instrucciones que son interpretadas y/o ejecutadas para la gestión, redireccionamiento o modificación de un dato/información o suceso.