tema 3 software

15
Mario Alberto Domínguez Bobadilla TAREA 2 27 De Agosto de 2013

Upload: mario-dominguez-bobadilla

Post on 13-Jun-2015

173 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tema 3 software

Mario Alberto Domínguez Bobadilla

TAREA 2

27 De Agosto de 2013

SOFTWARE OPERATIVO Y DE DESARROLLO

Page 2: Tema 3 software

TEMA 3

SOFTWARE OPERATIVO Y DE DESARROLLO

Según la RAE, el software es un conjunto de programas, instrucciones y reglas informáticas que permiten ejecutar distintas tareas en una computadora. En computación, el software es todo programa o aplicación programado para realizar tareas específicas. El término "software" fue usado por primera vez por John W. Tukey en 1957.

Se considera que el software es el equipamiento lógico e intangible de un ordenador. En otras palabras, el concepto de software abarca a todas las aplicaciones informáticas, como los procesadores de textos, las planillas de cálculo y los editores de imágenes.

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. El software se suele escribir en un lenguaje de programación de alto nivel, que es más sencillo de escribir (pues es más cercano al lenguaje natural humano), pero debe convertirse a lenguaje máquina para ser ejecutado. 

El software es desarrollado mediante distintos lenguajes de programación, que permiten controlar el comportamiento de una máquina. Estos lenguajes consisten en un conjunto de símbolos y reglas sintácticas y semánticas, que definen el significado de sus elementos y expresiones. Un lenguaje de programación permite a los programadores del software especificar, en forma precisa, sobre qué datos debe operar una computadora.

El software 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 una o 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.

Page 3: Tema 3 software

- 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. Algunos software de aplicación son los navegadores, editores de texto, editores gráficos, antivirus, mensajeros, etc.

La industria del desarrollo de software se ha convertido en un protagonista importante dentro de la economía global, ya que mueve millones de dólares al año. La compañía más grande y popular del mundo es Microsoft, fundada en 1975 por Bill Gates y Paul Allen. Esta empresa logró trascender gracias a su sistema operativo Windows y a su suite de programas de oficina Office

Software Base.

Es toda aquella parte lógica realizada generalmente por cada fabricante de computadores o por casas especializadas en el desarrollo de software de base.Este conjunto de programas tiene por función coordinar las diversas partes del sistema computacional para hacerlo funcionar rápida y eficazmente, actuando como mediadores entre los programas de aplicaciones y el hardware del sistema, interpretando los requerimientos de cada programa que ingresa al sistema, poniendo a su disposición cualquiera de los recursos que necesite (ya sean de hardware, software o datos para producir los resultados deseados.) debido a la estrecha relación que existe entre las características de un computador y su software de base, no se puede concebir el uno sin el otro, a tal punto que pareciera que el software es parte integrante del hardware.

El software de base se suele clasificar en:

a) Sistema Operativob) Utilitariosc) Traductores de lenguajes

Page 4: Tema 3 software

Sistema operativo

Los primeros sistemas (1945-1955) eran grandes máquinas operadas desde la consola maestra por los programadores. Durante la década siguiente (1955-1965) se llevaron a cabo avances en el hardware: lectoras de tarjetas, impresoras, cintas magnéticas, etc. Esto a su vez provocó un avance en el software: compiladores, ensambladores, cargadores, manejadores de dispositivos, etc.

Un sistema operativo es un programa o conjunto de programas que en un sistema informático gestiona los recursos de hardware y provee servicios a los programas de aplicación, ejecutándose en modo privilegiado respecto de los restantes

El conjunto de programas informáticos que permite la administración eficaz de los recursos de una computadora es conocido como sistema operativo o software de sistema. Estos programas comienzan a trabajar apenas se enciende el equipo, ya que gestionan el hardware desde los niveles más básicos y permiten además la interacción con el usuario.

Cabe destacar que los sistemas operativos no funcionan sólo en las computadoras. Por el contrario, este tipo de sistemas se encuentran en la mayoría de los dispositivos electrónicos que utilizan microprocesadores: el software de sistema posibilita que el aparato cumpla con sus funciones (por ejemplo, un teléfono móvil o un reproductor de DVD).

El sistema operativo cumple con cinco funciones básicas: el suministro de interfaz al usuario, la administración de recursos, la administración de archivos, la administración de tareas y el servicio de soporte y utilidades.

En cuanto a la interfaz al usuario, el sistema se encarga de que el sujeto pueda cargar programas, acceder a archivos y realizar otras tareas con la computadora. La administración de recursos permite la dirección del hardware, incluyendo los periféricos y la red. El software de sistema también se encarga de la gestión de archivos, al controlar la creación, la eliminación y el acceso a los mismos, y de la administración de las tareas informáticas que llevan adelante los usuarios finales.

Por último, podemos mencionar que el servicio de soporte se encarga de actualizar las versiones, mejorar la seguridad del sistema, agregar nuevas utilidades, controlar los nuevos periféricos que se agregan a la computadora y corregir los errores del software.

Page 5: Tema 3 software

Los sistemas operativos proporcionan una plataforma de software encima de la

cual otros programas, llamados aplicaciones, puedan funcionar. Las aplicaciones

se programan para que funcionen encima de un sistema operativo particular, por

tanto, la elección del sistema operativo determina en gran medida las aplicaciones

que puedes utilizar.

Los sistemas operativos más utilizados en los PC son DOS, OS/2, y Windows,

pero hay otros que también se utilizan, como por ejemplo Linux.

Un usuario normalmente interactúa con el sistema operativo a través de un sistema de comandos, por ejemplo, el sistema operativo DOS contiene comandos como copiar y pegar para copiar y pegar archivos respectivamente. Los comandos son aceptados y ejecutados por una parte del sistema operativo llamada procesador de comandos o intérprete de la línea de comandos. Las interfaces gráficas permiten que utilices los comandos señalando y pinchando en objetos que aparecen en la pantalla.

Generaciones de los sistemas operativos

La primera generación (1945-1955) corresponde a los primeros equipos,

construidos con válvulas de vacío. En esta etapa no existieron sistemas

operativos.

La segunda generación (1955-1965) corresponde a la etapa a los equipos que

estaban basados en el uso de los transistores. Eran más confiables y más

duraderos. Desde el punto de vista de los sistemas operativos se tiene el uso de

monitores simples (lo que implica procesamiento en lote). Sistemas de Operación

de esta etapa son el FMS (Fortran Monitor System) y el IBSYS de la 7094.

 La tercera generación (1965-1980) se caracterizó por la utilización de circuitos

integrados. Los sistemas operativos vinculados a esta etapa introdujeron los

conceptos de SPOOLING y en especial el uso de la multiprogramación. También

corresponde a esta etapa la aparición del tiempo compartido. En esta etapa no

pueden dejar de mencionarse los sistemas de operación OS/360 y Multics. Aquí

surgen las primeras versiones del Unix.

Page 6: Tema 3 software

 La cuarta generación (1980-1990) surge con los circuitos integrados de alta

integración y por ello aparecen en el mercado las computadoras personales. Esta

etapa la dominan sistemas operativos MS-DOS y el Unix (y en un inicio el CP/M).

 El actual desarrollo de los sistemas operativos basados en GUI (Graphic User

Interface) y la incorporación de orientación a objetos así como el soporte de la

multimedia, es suficientemente fuerte para hablar de la quinta generación de los

sistemas operativos.

Lenguajes De Programación

Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente. Aunque muchas veces se usa lenguaje de programación y lenguaje informático como si fuesen sinónimos, no tiene por qué ser así, ya que los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como, por ejemplo, el HTML.

Un lenguaje de programación de bajo nivel es aquel en el que sus instrucciones ejercen un control directo sobre el hardware y están condicionados por la estructura física de la computadora que lo soporta.

Un lenguaje de programación de alto nivel se caracteriza por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las máquinas.

Otra limitación de los lenguajes de nivel bajo es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas. Los lenguajes de alto nivel se crearon para que el usuario común pudiese solucionar un problema de procesamiento de datos de una manera más fácil y rápida.

Por esta razón, a finales de los años 1950 surgió un nuevo tipo de lenguajes de programación que evitaba estos inconvenientes, a costa de ceder un poco en las ventajas. Estos lenguajes se llaman de tercera generación o de nivel alto, en contraposición a los de bajo nivel o de nivel próximo a la máquina.

Page 7: Tema 3 software

Se pueden clasificar según la forma de ejecución:

Los lenguajes de programación generalmente se dividen en dos grupos principales

en base al procesamiento de sus comandos:

lenguajes imperativos;

Un lenguaje imperativo programa mediante una serie de comandos, agrupados en

bloques y compuestos de órdenes condicionales que permiten al programa

retornar a un bloque de comandos si se cumple la condición. Estos fueron los

primeros lenguajes de programación en uso y aún hoy muchos lenguajes

modernos usan este principio.

No obstante, los lenguajes imperativos estructurados carecen de flexibilidad

debido a la secuencialidad de las instrucciones.

lenguajes funcionales.

Un lenguaje de programación funcional(a menudo llamado lenguaje

procedimental) es un lenguaje que crea programas mediante funciones, devuelve

un nuevo estado de resultado y recibe como entrada el resultado de otras

funciones. Cuando una función se invoca a sí misma, hablamos de recursividad.

Los lenguajes de programación pueden, en líneas generales, dividirse en dos categorías:

Lenguaje interpretado

Un lenguaje de programación es, por definición, diferente al lenguaje máquina. Por

lo tanto, debe traducirse para que el procesador pueda comprenderlo. Un

programa escrito en un lenguaje interpretado requiere de un programa auxiliar (el

intérprete), que traduce los comandos de los programas según sea necesario.

Lenguaje compilado

Un programa escrito en un lenguaje "compilado" se traduce a través de un

programa anexo llamado compilador que, a su vez, crea un nuevo archivo

independiente que no necesita ningún otro programa para ejecutarse a sí mismo.

Este archivo se llama ejecutable.

Un programa escrito en un lenguaje compilado posee la ventaja de no necesitar un

programa anexo para ser ejecutado una vez que ha sido compilado. Además,

como sólo es necesaria una traducción, la ejecución se vuelve más rápida. 

Sin embargo, no es tan flexible como un programa escrito en lenguaje

Page 8: Tema 3 software

interpretado, ya que cada modificación del archivo fuente (el archivo comprensible

para los seres humanos: el archivo a compilar) requiere de la compilación del

programa para aplicar los cambios.

Por otra parte, un programa compilado tiene la ventaja de garantizar la seguridad

del código fuente. En efecto, el lenguaje interpretado, al ser directamente un

lenguaje legible, hace que cualquier persona pueda conocer los secretos de

fabricación de un programa y, de ese modo, copiar su código o incluso modificarlo.

Por lo tanto, existe el riesgo de que los derechos de autor no sean respetados. Por

otro lado, ciertas aplicaciones aseguradas necesitan confidencialidad de código

para evitar las copias ilegales (transacciones bancarias, pagos en línea,

comunicaciones seguras...).

ALGUNOS LENGUAJES DE PROGRAMACIÓN

Lenguaje Principal área de aplicación Compilado/interpretado

ADA Tiempo real Lenguaje compilado

BASIC Programación para fines educativos Lenguaje interpretado

C Programación de sistema Lenguaje compilado

C++Programación de sistema orientado

a objetoLenguaje compilado

Cobol Administración Lenguaje compilado

Fortran Cálculo Lenguaje compilado

Java Programación orientada a Internet Lenguaje intermediario

MATLAB Cálculos matemáticos Lenguaje interpretado

Cálculos

matemáticosCálculos matemáticos Lenguaje interpretado

LISP Inteligencia artificial Lenguaje intermediario

Pascal Educación Lenguaje compilado

PHP Desarrollo de sitios web dinámicos Lenguaje interpretado

Inteligencia artificial Inteligencia artificial Lenguaje interpretado

Page 9: Tema 3 software

PerlProcesamiento de cadenas de

caracteresLenguaje interpretado

TRADUCTORES DE LENGUAJE

Un traductor es un programa que recibe como entrada código escrito en un cierto lenguaje y produce como salida código en otro lenguaje. Generalmente el lenguaje de entrada es de más alto nivel que el de salida. Ejemplos de traductores son los ensambladores y los compiladores. Un ensamblador es un programa que traduce de un lenguaje ensamblador a lenguaje máquina, mientras que un compilador es un programa que traduce de un lenguaje de alto nivel a un lenguaje de bajo nivel o a lenguaje máquina. Un traductor es un programa que toma el texto escrito en un lenguaje (el lenguaje fuente) y lo convierte en el texto equivalente en un segundo lenguaje (el lenguaje destino u objeto). Si el fuente es un lenguaje abstracto o de alto nivel y si el objetivo es un lenguaje de ensamble de bajo nivel o de máquina, el traductor es un compilador.

Los programas traductores de lenguajes son:

1. Compiladores.

Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser un código intermedio (bytecode), o simplemente texto

2. Interpretes.

Es un programa informático capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intérpretes se diferencian de los compiladores en que mientras estos traducen un programa desde su descripción en un lenguaje de programación al código de máquina del sistema, los intérpretes sólo realizan la traducción a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción.

Usando un intérprete, un solo archivo fuente puede producir resultados iguales incluso en sistemas sumamente diferentes (ej. una PC y un PlayStation 3).

Page 10: Tema 3 software

Usando un compilador, un solo archivo fuente puede producir resultados iguales solo si es compilado a distintos ejecutables específicos a cada sistema.

Los programas interpretados suelen ser más lentos que los compilados debido a la necesidad de traducir el programa mientras se ejecuta, pero a cambio son más flexibles como entornos de programación y depuración (lo que se traduce, por ejemplo, en una mayor facilidad para reemplazar partes enteras del programa o añadir módulos completamente nuevos), y permiten ofrecer al programa interpretado un entorno no dependiente de la máquina donde se ejecuta el intérprete, sino del propio intérprete (lo que se conoce comúnmente como máquina virtual).

SOFTWARE APLICATIVO: A LA MEDIDA Y HECHO A LA MEDIDA

El software de aplicación es un conjuntó de programas que fueron concebidos o creados para atender trabajos específicos de algún usuario. Estos pueden incluir características que bien, pueden satisfacer las necesidades de forma total o parcial, que pudieron haber sido definidos por los mismos. Generalmente todos requieren de un servicio de Software base, con el cual podrán ser ejecutados, pero existe la posibilidad de ejecutarlos sin esta base, lo cual implica un mayor costo y complejidad en el desarrollo Estos pueden ser sistemas de aplicación confeccionados especialmente para un usuario determinado (hecho a la medida) o sistemas de aplicación pre-planeados (enlatados).

Hecho a Medida

Estos ofrecen la oportunidad de personalizar ciertos parámetros según el esquema con el que el usuario lo este trabajando, teniendo en cuenta las características que esta aplicación tenga para el usuario, por esto, al cumplir con los requerimientos necesarios, requiere la disponibilidad de recursos para desarrollarlo.

Page 11: Tema 3 software

BIBLIOGRAFIA

http://jorgesaavedra.wordpress.com/2007/05/05/lenguajes-de-programacion/

http://definicion.de/sistema-operativo/#ixzz2cGY4LL7n

http://ing.unne.edu.ar/pub/informatica/U3.pdf

http://definicion.de/software/#ixzz2cG9zuhn3

http://es.wikipedia.org/wiki/Lenguaje_de_alto_nivel

http://blogs.utpl.edu.ec/metodologiadeprogramacion/files/2009/05/compiladores-traductores-lenguajes_gberru.pdf

http://es.wikipedia.org/wiki/Lenguaje_de_bajo_nivel

http://jorgesaavedra.wordpress.com/2007/05/05/lenguajes-de-programacion/

http://ing.unne.edu.ar/pub/informatica/U3.pdf

http://www.monografias.com/trabajos15/software/software.shtml

http://feergh.files.wordpress.com/2011/09/tema-3-software-aplicativo.pdf