Computación para
Ingenieros
Tarea 2
“Software Operativo y de
Desarrollo”

Oropeza Bonfanti Rodrigo

414012716

Profesor: I...
SOFTWARE

Antes de poder definir lo que es un software, debemos entender el concepto
de abstracto. Abstracto es aquello qu...
En 1957 un equipo de IBM, dirigido por John Backus, creó el primer lenguaje
de programación, llamado Fortran , formulado p...
TIPOS DE SOFTWARE
Dado que hay múltiples tipos de datos e instrucciones que se pueden
almacenar dentro de las computadoras...
Multiproceso
Permiten ejecutar varios programas al mismo tiempo, controlando el acceso
de cada uno de ellos a los recursos...
sistema operativo Linux (la parte desarrollada por Linus Torvalds) y otra serie
de aplicaciones de uso general o no tan ge...
Alto nivel
Aquel lenguaje cuyas instrucciones se asemejan al lenguaje natural, es decir
está dada como enunciados que noso...
– INTÉRPRETES
Traducen una instrucción a la vez y la ejecutan. No genera código objeto y
sólo genera un resultado o un err...
Se usa principalmente para desarrollar sistemas operativos, i

,

editores de texto, compiladores y administradores de dat...
Clasificación de software por su propiedad
a) Software libre
Es aquel software que una vez obtenido, puede ser usado, copi...
Debemos de tomar en cuenta que a pesar de los grandes avances que se
han hecho en relación al software, un conjunto de pro...
Próxima SlideShare
Cargando en…5
×

Tarea 2 software

233 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
233
En SlideShare
0
De insertados
0
Número de insertados
11
Acciones
Compartido
0
Descargas
3
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Tarea 2 software

  1. 1. Computación para Ingenieros Tarea 2 “Software Operativo y de Desarrollo” Oropeza Bonfanti Rodrigo 414012716 Profesor: Ing. Méndez Hernández Ernesto 20/08/2013
  2. 2. SOFTWARE Antes de poder definir lo que es un software, debemos entender el concepto de abstracto. Abstracto es aquello que representa una cualidad o característica de un objeto pero en forma aislada a este; es decir no es algo físico o palpable, de manera que no se puede percibir con los sentidos. Para poder entender este concepto podemos decir que las letras y símbolos , si no que son representaciones de la información. Una vez que entendemos esto, podemos decir que el software es la estructura lógica de una computadora, todo lo intangible; es decir, son los programas de aplicación y/o sistemas operativos que no son tangibles para el usuario. Se puede decir que es todo aquello que se representa dentro de los circuitos de las computadoras, el conjunto de programas, instrucciones y reglas informáticas para ejecutar ciertas tareas en una computadora. Esta idea permite dividir a las computadoras en dos grandes partes: la primera son los componentes físicos (tangibles y concretos), la cual se conoce como el Hardware (hard= fuerte en inglés). La segunda son las representaciones abstractas que se almacenan en una computadora que es el Software. EVOLUCIÓN DEL SOFTWARE En 1949 el matemático húngaro John Von Neumann resolvió el problema de tener que cablear una máquina para cada tarea al poner las instrucciones en la misma memoria que los datos las cuales las escribió en código binario. Durante los primeros años de la era de la computadora, el software se contemplaba como un añadido. La programación de computadoras era artesanal y existían pocos métodos sistemáticos. El desarrollo del software se realizaba virtualmente sin ninguna planificación. El diseño era un proceso implícito, realizado en la mente de alguien y la documentación normalmente no existía.
  3. 3. En 1957 un equipo de IBM, dirigido por John Backus, creó el primer lenguaje de programación, llamado Fortran , formulado para el IBM 704. 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 hombremáquina. También se caracterizó por el establecimiento del software como producto y la llegada de las "casas de software". En1969 Kenneth Thompson y Dennis Ritchie, de Bell Labs, desarrollaron el sistema operativo Unix y el lenguaje C en1972. Posteriormente, en 1975 Steve Jobs desarrolló el lenguaje de programación Basic y con su compañero Wozniak construyeron la primera computadora Apple. En ese mismo año Bill Gates y Paul Allen crearon Microsoft. La tercera era en la evolución de los sistemas de computadora comenzó a mediados de los años setenta y continúo más allá de una década. Las múltiples computadoras, cada una ejecutando funciones concurrentes y comunicándose con alguna otra, incrementaron notablemente la complejidad de los sistemas informáticos.Las redes, las comunicaciones digitales de alto ancho de banda y la creciente demanda de acceso instantáneo a los datos, supusieron una fuerte presión sobre los desarrolladores del software. La cuarta era de la evolución de los sistemas informáticos se aleja 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 convirtieron en la norma. La industria del software ya es la cuna de la economía del mundo. Las técnicas de la cuarta generación para el desarrollo del software están cambiando en la forma en que la comunidad del software construye programas informáticos. 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.
  4. 4. TIPOS DE SOFTWARE Dado que hay múltiples tipos de datos e instrucciones que se pueden almacenar dentro de las computadoras, es necesario identificar los tipos de software de acuerdo a las siguientes clasificaciones. Clasificado según su función a) Software aplicativo Es aquel SW que dirige las distintas tareas para las que se utilizan las computadoras en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios; es decir, facilita al usuario la realización de un determinado tipo de trabajo. Aquel que permite darle a las computadoras un uso especifico, como las hojas de calculo y los procesadores de texto. Lleva a cabo tareas de tratamiento de textos, gestión de bases de datos, contabilidad, reservaciones de viajes y similares. b) Software de sistema o de base Aquel asociado con el funcionamiento interno de las computadoras y que permite a otros programas ejecutarse correctamente. Se le conoce también como software operativo y de desarrollo. Sistemas operativos Es el intermediario entre el usuario y la máquina. Controla los procesos de la computadora y administra sus recursos. Tiene 3 funciones principales: – Coordina y manipula el hardware de la computadora (ej. la administración de la pantalla) – Organiza los archivos en diversos dispositivos de almacenamiento – Gestiona los errores de hardware y la pérdida de datos Usualmente se les clasifica de la siguiente manera: Monoproceso , destinándole todos los recursos de la computadora.
  5. 5. Multiproceso Permiten ejecutar varios programas al mismo tiempo, controlando el acceso de cada uno de ellos a los recursos de la computadora. Multiusuario Son sistemas operativos multiproceso que además . Algunos sistemas operativos son:  MS-DOS.  Linux  Android.  Windows.  Symbian.  Chrome OS  UNIX.  iOS.  BSD.  BlackBerry. Uno de los principales sistemas operativos, muy conocido y de los más usados es Windows. Windows hace su aparición el 20 de noviembre de 1985. Dispone de una interfaz gráfica que facilita el manejo de los procedimientos: cada comando puede ser visualizado en una pantalla mediante una imagen que lo representa. Tuvo una mayor difusión en el mercado actual, y su imponente popularidad se torna elemento indispensable para la inserción de todo nuevo usuario informático. Windows 95 fue el primero considerado como sistema operativo real; incorporó el “Plug and Play”.WinXP, aparece en 2001, el más utilizado actualmente. Otro de los sistemas operativos que es conveniente mencionar es Linux. Linux es el núcleo de un sistema operativo libre, desarrollado y lanzado al mundo por Linus Torvalds en 1991.Torvalds eligió distribuir Linux con una licencia de software de código libre denominada GNU GPL (General Public License), Linux se caracteriza por ser libre, gratuito, de código fuente abierto y portable. Uno de los primeros conceptos que aparecen al iniciarse en Linux es el concepto de distribución.Una distribución es un agrupamiento del núcleo del
  6. 6. sistema operativo Linux (la parte desarrollada por Linus Torvalds) y otra serie de aplicaciones de uso general o no tan general. También se encuentran los sistemas operativos, UNIX que es un sistema operativo portable, multitarea y multiusuario, desarrollado por Ken Thompson y Dennis Ritchie entre otros. Hizo su aparición a principios de los 70’s en los Laboratorios Bell. LENGUAJES DE COMPUTADORA Son el conjunto de instrucciones escritas para que una computadora efectúe unas funciones determinadas. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana. Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. NIVEL DEL LENGUAJE Bajo nivel Es aquel lenguaje que sólo entiende la computadora, es decir, el lenguaje que maneja el procesador y es dependiente de él. Este lenguaje a su vez se puede clasificar en: 1) : Las instrucciones y los datos están representados por unos y ceros lógicos (lenguaje binario), . Son los lenguajes que entienden y ejecutan en forma directa las computadoras, por lo que los de poderse ejecutar . 2) Lenguajes tipo ensamblador: unos y ceros. Cada modelo de microprocesador cuenta con s binario equivalente.
  7. 7. Alto nivel Aquel lenguaje cuyas instrucciones se asemejan al lenguaje natural, es decir está dada como enunciados que nosotros podemos entender. Es independiente de la máquina. Al aproximarse al lenguaje natural, el programa se puede escribir y leer de una forma más sencilla, eliminando muchas de las posibilidades de cometer errores. Ej. Lenguaje C, Pascal, Fortran, C++ Los lenguajes de computadora también se pueden clasificar según su aplicación en: Lenguajes orientados a procedimientos. Son los que comúnmente se conocen como Lenguajes de Programación. Se emplean para desarrollar a su vez tanto software de base como aplicativo. Lenguajes orientados a problemas específicos. Son los desarrollados para resolver problemas de un área particular de aplicación, como los lenguajes para procesamiento de texto o los de análisisestadístico. Lenguajes de consulta Se emplean en las bases de datos para manipular matemáticamente los datos y dar formato a resultados e informes. Generadores de aplicaciones Permiten seleccionar funciones previamente programadas para generar una nueva aplicación con características particulares. LENGUAJES SEGÚN SU TIPO DE TRADUCTOR , los programas que no estén . Al pro código objeto, mientras que al escrito en otro distinto se le conoce como código fuente. Asimismo tenemos que entender que un traductor es un software que toma un código fuente y lo transforma en código objetoUn lenguaje de programación puede emplear uno o más de los siguientes tipos de traducción.
  8. 8. – INTÉRPRETES Traducen una instrucción a la vez y la ejecutan. No genera código objeto y sólo genera un resultado o un error. Es un programa capaz de analizar y ejecutar programas escritos en un lenguaje de alto nivel. Los intérpretes se diferencian de los compiladores en que los primeros 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. El interpretar utiliza menos memoria que el compilar. – Compiladores Aquellos traductores que cuyo código fuente está en lenguaje de alto nivel y lo transforman a lenguaje de bajo nivel. Ej. C, Pascal, Fortran, C++. Un compilador es un programa que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de máquina). De esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a como piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora. Un compilador muestra todos los errores de una sola vez y mas detallada. El interpretador se detiene una vez encontrado un error. El Ensamblador es un caso particular de un compilador, ya que traduce el lenguaje ensamblador a lenguaje máquina – Híbridos Aquellos traductores que actúan tanto como intérpretes y como compiladores. Ejemplo: Java, C# A partir de lo descrito en el apartado anterior, el lenguaje C se puede clasificar como: Estructurado Para programadores, debido a que es muy permisivo Compilado Sensible a mayúsculas y minúsculas
  9. 9. Se usa principalmente para desarrollar sistemas operativos, i , editores de texto, compiladores y administradores de datos, es decir, software de base. Un programa en lenguaje C se escribe en un archivo de texto, conocido como , , conocida como . Este archivo contiene las instrucciones del programa. (que comparten todos los compiladores de lenguaje C), en librerías propias de cada compilador o en librerías . A este proceso se le conoce como enlace y es efectuado po , conocida como ejecutable. Clasificación de software por su uso o estandarización a) Software a la medida . Son aplicaciones desarrolladas a la medida de las necesidades que ofrecen una gran potencia, ya que, están exclusivamente diseñadas para resolver problemas con requerimientos específicos. b) Software de propósito general Es aquel que puede responder a las necesidades de varias personas, estando dirigido al mercado general y en algunos casos comercializado. Aquel software orientado a las necesidades generales de los usuarios. También llamados paquetes integrados de software o solamente paquetes, ofrecen poca potencia pero a cambio incluyen varias aplicaciones, como un software procesador de textos, de hoja de cálculo y de base de datos.
  10. 10. Clasificación de software por su propiedad a) Software libre Es aquel software que una vez obtenido, puede ser usado, copiado, estudiado, modificado y redistribuido libremente. La licencia para su uso se pone a disposición del usuario en forma gratuita. Asimismo se pone a disposición el código fuente para que el usuario vea cómo se programó y pueda aportar mejoras a él. b) Software propietario Es el que requiere de una licencia del propietario para poderse utilizar, modificar o redistribuir; misma que puede adquirirse pagando una cierta cantidad de dinero o mediante un convenio. En la mayoría de los casos la licencia no incluye los derechos para alterar el software. Calidad de Software La calidad del software se puede definir como el grado en el cual un sistema, componente o proceso cumple con los necesidadesy requerimientos explícitos e implícitos del usuario, está bien documentado, cumple con las normas operativas de la organización y se ejecuta de manera eficiente en el hardware para el cual se desarrolló. Para poder determinar la calidad de un software, debemos de analizar su operatividad en los aspectos de precisión, seguridad, eficiencia, fiabilidad, pertinencia, entre otros. También su capacidad de mantenimiento, en cuestión de flexibilidad, capacidad de corrección, de variabilidad y de los resultados de las pruebas que se le han realizado. Finalmente es conveniente analizar su capacidad de transferencia para ver si se puede usar como basa de las mejoras; es decir, analizar su portabilidad, posibilidad de reutilizar su código, etc.
  11. 11. Debemos de tomar en cuenta que a pesar de los grandes avances que se han hecho en relación al software, un conjunto de problemas relacionados con el software ha persistido a través de su evolución:  Los avances del software continúan dejando atrás nuestra habilidad de construir software para alcanzar el potencial del hardware.  Nuestra habilidad de construir nuevos programas no pueden ir al mismo ritmo de la demanda de nuevos programas.  El uso extenso de computadoras ha hecho de la sociedad cada vez más dependiente de la operación fiable del software.  Luchamos por construir software informático que tenga fiabilidad y alta calidad.  Nuestra habilidad de soportar y mejorar los programas existentes se ve amenazada por diseños pobres y recursos inadecuados.

×