Software

Ir a: navegación, búsqueda de
Para otras aplicaciones, vea Software (desambiguación).

Programas informáticos, o simplemente software, también conocido como programas de ordenador, es el componente intangible de ordenadores. Representa el conjunto de programas que rigen el funcionamiento de un sistema informático y que el hardware funcione. Computadora software contrasta con hardware de computadora, que es el componente físico de las computadoras. Software y hardware de computadora requieren mutuamente y ninguno puede utilizarse realista sin el otro.

El software de computadora incluye todos los programas de ordenador independientemente de su arquitectura; por ejemplo, archivos ejecutables, bibliotecas y secuencias de comandos son programas informáticos. Sin embargo, comparte sus propiedades mutuas: el software consta de instrucciones claramente definidas que al ejecutarse, instruye a hardware para realizar las tareas para las cuales está diseñado. Software se almacena en memoria de la computadora y no puede ser tocado, al igual que no se puede tocar un modelo 3D se muestra en la ilustración.[1]

En el nivel más bajo, código ejecutable consiste en lenguaje máquina instrucciones específicas para un individuo procesador – normalmente un unidad central de procesamiento (CPU). A lenguaje máquina se compone de grupos de valores binarios que significan las instrucciones del procesador que cambian el estado de la computadora de su estado anterior. Por ejemplo, una instrucción puede cambiar el valor almacenado en una ubicación de almacenamiento particulares dentro de la computadora – un efecto que no es directamente observable al usuario. Una instrucción puede también causar (indirectamente) algo que aparece en una pantalla del sistema informático – un cambio de estado que debe ser visible para el usuario. El procesador lleva a cabo las instrucciones en el orden son proporcionados, a menos que se mandó a "saltar" a una instrucción diferente, o interrumpidos.

Software se escribe generalmente en lenguajes de programación de alto nivel son más fáciles y más eficientes para los seres humanos a utilizar (más cerca lenguaje natural) que el lenguaje de máquina.[2] Idiomas de alto nivel compilados o interpretados en lenguaje de máquina el código objeto. Software también se puede escribir en un bajo nivel lenguaje ensamblador, esencialmente, un vago mnemotecnias representación de un lenguaje de máquina utilizando un alfabeto de lenguaje natural. Lenguaje ensamblador se convierte en código objeto mediante una ensamblador.

Contenido

  • 1 Historia
  • 2 Tipos de software
    • 2.1 Propósito, o dominio de uso
    • 2.2 Naturaleza, o dominio de la ejecución
    • 2.3 Herramientas de programación
  • 3 Temas de software
    • 3.1 Arquitectura
    • 3.2 Ejecución
    • 3.3 Calidad y fiabilidad
    • 3.4 Licencia
    • 3.5 Patentes
  • 4 Diseño e implementación
  • 5 Industria y organizaciones
  • 6 Véase también
  • 7 Referencias
  • 8 Enlaces externos

Historia

Artículo principal: Historia del software

Tipos de software

Vea también: Lista de categorías de software
User Application Operating System Hardware
Un esquema como el Sistema operativo software y software de aplicación son capas en un típico computadora de escritorio. Las flechas indican el flujo de información.

En prácticamente todas las plataformas de ordenador, software puede agruparse en algunas categorías.

Propósito, o dominio de uso

Basado en la meta, software de computadora puede dividirse en:

  • Software de aplicación utiliza el sistema informático para realizar trabajo útil o proporcionar funciones de entretenimiento más allá de la operación básica de la computadora en sí misma.
  • Software del sistema está diseñado para operar el hardware de computadora, para proporcionar la funcionalidad básica y proporcionar una plataforma para ejecutar aplicaciones de software.[3] Software del sistema incluye:
    • Sistema operativo, una colección esencial de los programas informáticos que gestiona recursos y proporciona servicios comunes para otros programas. Programas de supervisión, cargadores de arranque, conchas y sistemas de ventanas son piezas de la base de los sistemas operativos. En la práctica, un sistema operativo viene incluido con el software adicional (incluyendo software de aplicación) para que un usuario potencialmente puede hacer un trabajo con un equipo que sólo tiene un sistema operativo.
    • Controlador de dispositivo, un programa informático que opere o controle un particular tipo de dispositivo que está conectado a un ordenador. Cada dispositivo necesita al menos un controlador de dispositivo correspondiente; por lo tanto un ordenador necesita más de un controlador de dispositivo.
    • Utilidades, software diseñado para ayudar a los usuarios en el mantenimiento y el cuidado de sus equipos.
  • Software malicioso o malware, software informático desarrollado para dañar y destruir equipos. Como tal, malware es indeseable. Malware está estrechamente relacionado con delitos relacionados con las computadoras, aunque algunos programas maliciosos han sido diseñados como bromas.

Naturaleza, o dominio de la ejecución

  • Aplicaciones de escritorio tales como navegadores web y Microsoft Office, así como Smartphone y Tablet aplicaciones (llamadas"apps").
  • Software de servidor
  • Secuencias de comandos, tales como JavaScript los scripts son piezas de software embebido tradicionalmente en páginas web que se ejecutan directamente dentro de la navegador web Cuando se carga una página web, sin necesidad de un plugin de navegador web. También puede ejecutar software escrito en otros lenguajes de programación dentro del navegador web si el software está que bien traducido en JavaScript, o si se instala un plugin de navegador web que soporta ese idioma; el ejemplo más común de estos últimos es ActionScript secuencias de comandos, que son apoyados por el Adobe Flash plugin.
  • Aplicaciones Web generalmente se ejecuta en el servidor Web y salida generadas dinámicamente páginas web para navegadores web, usando por ejemplo PHP, Java o ASP.NET, o incluso JavaScript que se ejecuta en el servidor. En los tiempos modernos son comúnmente algunos JavaScript que se ejecutará en el navegador, en cuyo caso normalmente corren en parte en el servidor, en parte en el navegador web.
  • Plugins y las extensiones son software que amplía o modifica la funcionalidad de otra pieza de software y requieren que software utilizar para funcionar;
  • Software embebido reside como firmware dentro de sistemas embebidos, dispositivos dedican a un solo uso o unos usos tales como coches y televisores (aunque algunos dispositivos embebidos como los chipsets inalámbricos pueden ellos mismos ser parte de un sistema informático común, no incrustados como un PC o Smartphone).[4] En el contexto de sistemas integrados a veces no hay ninguna distinción clara entre el software del sistema y el software de aplicación. Sin embargo, algunos sistemas ejecutar embebidos sistemas operativos embebidos, y estos sistemas mantienen la distinción entre el software del sistema y software de aplicación (aunque normalmente sólo habrá uno, fijo, aplicación que es siempre funcionó).
  • Microcódigo es un tipo especial, relativamente oscuro de software embebido que narra el procesador Sí mismo Cómo ejecutar código de máquina, así que es en realidad un nivel más bajo que código máquina.[5] Es típicamente patentada para el fabricante de procesadores, y cualquier microcódigo correccional necesarias actualizaciones son suministradas por ellos a los usuarios (que es mucho más barato que el hardware del procesador reemplazo de envío). Así un programador ordinario no esperaría a tener que lidiar con eso.

Herramientas de programación

Artículo principal: Herramienta de programación

Herramientas de programación son también software en forma de programas o aplicaciones que desarrolladores de software (también conocido como programadores, codificadores, los hackers o Ingenieros de software) utilizar para crear, depuración, mantener (es decir, mejorar o reparar), o de lo contrario apoyo software. Software está escrito en uno o varios lenguajes de programación; Hay muchos lenguajes de programación en existencia, y cada uno tiene al menos una implementación, cada una de las cuales consta de su propio conjunto de herramientas de programación. Estas herramientas pueden ser relativamente autónomos programas tales como compiladores, depuradores, intérpretes, Enlazadores, y editores de texto, que pueden combinarse para llevar a cabo una tarea; o puede formar un entorno de desarrollo integrado (IDE), que combina gran parte o toda la funcionalidad de dichas herramientas independientes. IDEs puede hacerlo, invocando las herramientas individuales relevantes o por volver a implementar la funcionalidad de una manera nueva. Un IDE puede hacerlo más fácil de hacer tareas específicas, tales como buscar en archivos en un proyecto en particular. Muchas implementaciones de lenguaje programación ofrecen la opción de utilizar ambas herramientas individuales o un IDE.

Temas de software

Arquitectura

Vea también: Arquitectura de software

Los usuarios a menudo ven las cosas de forma diferente a los programadores. Personas que usan computadoras de propósito general moderno (en contraposición a sistemas embebidos, equipos analógicos y superordenadores) suele ver tres capas de software realizar una variedad de tareas: software de plataforma, aplicación y usuario.

  • Software de plataforma: Plataforma incluye la firmware, Controladores de dispositivo, un Sistema operativoy típicamente un interfaz gráfica de usuario que, en total, permiten al usuario interactuar con la computadora y sus periféricos (equipos asociados). Software de plataforma con frecuencia viene incluido con el equipo. En un PC generalmente uno tendrá la capacidad de cambiar el software de plataforma.
  • Software de aplicación: Software de aplicación o aplicaciones son lo que muchos creen que de cuando piensan del software. Ejemplos típicos incluyen suites de oficina y videojuegos. Software de aplicación a menudo se compra por separado de hardware del equipo. A veces las aplicaciones se lían con el ordenador, pero eso no cambia el hecho de que funcionan como aplicaciones independientes. Las aplicaciones son programas generalmente independientes del sistema operativo, aunque ellos son a menudo diseñados para plataformas específicas. Mayoría de los usuarios considera aplicaciones de compiladores, bases de datos y otro "software del sistema".
  • Software escrito por el usuario: Desarrollo del usuario final sastres sistemas para satisfacer necesidades específicas de los usuarios. Software de usuario incluyen plantillas de hoja de cálculo y procesador de texto plantillas. Filtros de correo electrónico ni siquiera son un tipo de software de usuario. Los usuarios crean este software ellos mismos y a menudo por alto lo importante que es. Dependiendo de cómo competentemente el software escrito por el usuario se ha integrado en los paquetes por defecto, muchos usuarios no sean conscientes de la distinción entre los paquetes originales, y lo que ha sido añadido por compañeros de trabajo.

Ejecución

Artículo principal: Ejecución (informática)

Software informático tiene que ser "cargado" en el almacenamiento de la computadora (tales como la unidad de disco duro o memoria). Una vez que ha cargado el software, la computadora es capaz de ejecutar el software. Esto implica pasar instrucciones desde el software de aplicación, a través del software de sistema, para el hardware que recibe finalmente la instrucción como Código de máquina. Cada instrucción causa la computadora para llevar a cabo una operación – móviles datos, llevando a cabo un cómputo, o alterar el flujo de control de instrucciones.

Movimiento de datos es típicamente de un lugar en la memoria a otro. A veces se trata de mover datos entre memoria y registros que permiten el acceso de datos de alta velocidad de la CPU. Los datos de movimiento, especialmente grandes cantidades de ésta, pueden ser costosos. Así que, a veces esto se evita mediante el uso de "punteros" a los datos en su lugar. Los cálculos incluyen operaciones simples tales como incrementar el valor de un elemento de datos variables. Los cálculos más complejos juntos pueden implicar muchos elementos de operaciones e información.

Calidad y fiabilidad

Artículos principales: Calidad de software, Pruebas de software y Fiabilidad del software

Calidad del software es muy importante, especialmente para comercial y software del sistema como Microsoft Office, Microsoft Windows y Linux. Si el software es defectuoso (buggy), puede eliminar el trabajo de una persona, desplome de la computadora y hacer otras cosas inesperadas. Fallas y los errores se denominan"insectos." El software es a menudo también una víctima de lo que se conoce como envejecimiento de software, la degradación del rendimiento progresivo resultante de una combinación de errores invisibles. Muchos errores son descubiertos y eliminados (depurar) a través de pruebas de software. Sin embargo, pruebas de software raramente – si alguna vez – elimina todos los bichos; algunos programadores dicen que "cada programa tiene al menos un error más" (ley de Lubarsky).[6] Todas las empresas principales herramientas de software, como Microsoft, Novell y Sun Microsystems, tienen su propios departamentos con el objetivo específico de a prueba de pruebas de software. Software puede comprobarse a través de pruebas unitarias, pruebas de regresión y otros métodos, que se realizan manualmente, o más comúnmente, automáticamente, ya que la cantidad de código para ser probado puede ser bastante grande. Por ejemplo, NASA tiene software extremadamente riguroso procedimientos para muchos sistemas operativos y funciones de comunicación de prueba. Muchas operaciones basadas en la NASA interactúan e identifican unos a otros a través de programas de comandos llamados software. Esto permite que muchas personas que trabajan en la NASA para comprobar y evaluar sistemas funcionales generales. Programas de software de mando permiten operaciones de ingeniería y sistema de hardware funcionar juntos mucho más fácil.

Licencia

Artículo principal: Licencia de software

Licencia del software proporciona al usuario el derecho a utilizar el software en el ambiente con licencia. Algunos software viene con la licencia cuando se compra fuera de la plataforma, o una licencia OEM cuando liado con el hardware. Otro software viene con un licencia de software libre, otorgando al receptor el derecho a modificar y redistribuir el software. Software también puede ser en forma de Freeware o Shareware.

Patentes

Artículos principales: Patente de software y Debate de patentes de software

Software puede ser patentado en algunos pero no todos los países; Sin embargo, patentes de software pueden ser controvertidos en la industria del software con mucha gente con diferentes puntos de vista acerca de lo. La controversia sobre las patentes de software es específica algoritmos o técnicas que contiene el software, que no pueden ser duplicadas por otros y considerar propiedad intelectual y infracción de copyright dependiendo de la gravedad.

Diseño e implementación

Artículos principales: Desarrollo de software, Programación informática y Ingeniería de software

Diseño e implementación de software varía dependiendo de la complejidad del software. Por ejemplo, diseño y creación de Microsoft Word software llevará mucho más tiempo que el diseño y desarrollo Bloc de notas de Microsoft debido a la diferencia de funcionalidades en cada uno.

Software generalmente es diseñado y creado (codificado/escrito/programado) en entornos de desarrollo integrado (IDE) como Eclipse, Emacs y Microsoft Visual Studio que puede simplificar el proceso y compilar el programa. Como se señaló en otra sección, software generalmente se crea en la cima de software existente y la interfaz de programación de aplicaciones (API) que proporciona el software subyacente como GTK +JavaBeans o Oscilación. Bibliotecas (APIs) se clasifican para diversos propósitos. Por ejemplo, JavaBeans biblioteca se utiliza para diseñar aplicaciones empresariales, Formularios Windows Forms biblioteca se utiliza para diseñar aplicaciones de interfaz gráfica de usuario como Microsoft Word, y Windows Communication Foundation se utiliza para diseñar servicios Web. Subyacente programación informática conceptos como Quicksort, tabla hash, matriz, y árbol binario puede ser útil para la creación de software. Cuando un programa está diseñado, se basa en la API. Por ejemplo, si un usuario está diseñando una aplicación de escritorio de Microsoft Windows, podría utilizar el .NET Biblioteca de formularios Windows Forms para diseñar la aplicación de escritorio y llamar a sus APIs como Form1.Close() y Form1.Show()[7] para cerrar o abrir la aplicación y escribir las operaciones adicionales él/ella no necesita tener. Sin estas API, el programador necesita escribir estas API él/ella. Empresas como Sun Microsystems, Novell, y Microsoft proporcionar sus propias APIs para que muchas aplicaciones están escritas usando sus bibliotecas de software que por lo general tienen numerosos APIs.

Programas informáticos tiene características económicas especiales que hacen que su diseño, creación y distribución diferente de la mayoría de los otros bienes económicos.[especificar][8][9]

Una persona que crea software se llama un Programador, Ingeniero de software o Desarrollador de software, términos que todos tienen un significado similar.

Industria y organizaciones

Artículo principal: Industria del software

Una gran variedad de empresas de software y programadores en el mundo constituyen una industria de software. Software puede ser una industria rentable: Bill Gates, el fundador de Microsoft fue la persona más rica del mundo en 2009 en gran parte por la venta del Microsoft Windows y Microsoft Office productos de software. Lo mismo ocurre con Larry Ellison, en gran parte a través de su Base de datos Oracle software. A través del tiempo la industria del software ha convertido cada vez más especializada.

Las organizaciones sin fines de lucro software incluyen el Free Software Foundation, Proyecto GNU y Fundación Mozilla. Las organizaciones de software estándar como el W3C, IETF desarrollar estándares de software para que la mayoría del software puede interactuar a través de estándares tales como XML, HTML, HTTP o FTP.

Otras compañías de software grandes bien conocidos incluyen Novell, SAP, Symantec, Adobe Systems, y Corel, mientras que las pequeñas empresas a menudo proporcionan innovación.

Véase también

  • Ciclo de vida de la versión de software
  • Lista de software

Referencias

  1. ^ "'Software' de Collins diccionario conciso ". WordReference.com. Princeton, NJ:: La Universidad de Princeton. 2007-08-19.
  2. ^ "Compiladores".
  3. ^ "Software del sistema". La Universidad de Mississippi.
  4. ^ "Embedded Software, tecnologías y tendencias". IEEE Computer Society. de mayo – junio 2009.
  5. ^ "Microcódigo". La Universidad de Princeton.
  6. ^ ejemplos de libro inteligencia de "scripting".
  7. ^ "MSDN Library". 2010-06-14.
  8. ^ v. Engelhardt, Sebastián (2008). "Las propiedades económicas del Software". Trabajos de investigación económica de Jena 2 (2008 – 045.).
  9. ^ Kaminsky, Dan (1999). "Por qué Open Source es el paradigma económico óptimo para el Software".

Enlaces externos

  • Software Wikia
  • Software en Open Directory Project
  • Fallos de software son a veces mortales

Otras Páginas

Obtenido de"https://en.copro.org/w/index.php?title=software&oldid=623028340"