SlideShare una empresa de Scribd logo
1 de 11
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
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.
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.
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.
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
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.
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.
– 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
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.
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.
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.

Más contenido relacionado

La actualidad más candente

las tics en la educación
las tics en la educación las tics en la educación
las tics en la educación Marcos Farrera
 
Taller de Harwed,software y redes sociales
  Taller de Harwed,software y redes sociales  Taller de Harwed,software y redes sociales
Taller de Harwed,software y redes socialessergiocald
 
Gianna mercedes y victoria trabajo compu
Gianna mercedes y victoria trabajo compuGianna mercedes y victoria trabajo compu
Gianna mercedes y victoria trabajo compugianna01
 
Software y sistemas operativos
Software y sistemas operativosSoftware y sistemas operativos
Software y sistemas operativosmaurohoy
 
mauro hoyos software y sistemas operativos
mauro hoyos software y sistemas operativosmauro hoyos software y sistemas operativos
mauro hoyos software y sistemas operativosmaurohoy
 
Fundamentos del software
Fundamentos del softwareFundamentos del software
Fundamentos del softwareAnabel Santana
 
Resumen introduccion a la programacion
Resumen introduccion a la programacionResumen introduccion a la programacion
Resumen introduccion a la programacionVictor Galicia
 

La actualidad más candente (17)

las tics en la educación
las tics en la educación las tics en la educación
las tics en la educación
 
Software y
Software y Software y
Software y
 
Modulo 1 cele
Modulo 1 celeModulo 1 cele
Modulo 1 cele
 
Clase diez 2011
Clase diez  2011Clase diez  2011
Clase diez 2011
 
SOFTWARE
SOFTWARESOFTWARE
SOFTWARE
 
Taller de Harwed,software y redes sociales
  Taller de Harwed,software y redes sociales  Taller de Harwed,software y redes sociales
Taller de Harwed,software y redes sociales
 
Gianna mercedes y victoria trabajo compu
Gianna mercedes y victoria trabajo compuGianna mercedes y victoria trabajo compu
Gianna mercedes y victoria trabajo compu
 
Software y sistemas operativos
Software y sistemas operativosSoftware y sistemas operativos
Software y sistemas operativos
 
mauro hoyos software y sistemas operativos
mauro hoyos software y sistemas operativosmauro hoyos software y sistemas operativos
mauro hoyos software y sistemas operativos
 
Fundamentos del software
Fundamentos del softwareFundamentos del software
Fundamentos del software
 
Franco vasquez
Franco vasquezFranco vasquez
Franco vasquez
 
Software
SoftwareSoftware
Software
 
Resumen introduccion a la programacion
Resumen introduccion a la programacionResumen introduccion a la programacion
Resumen introduccion a la programacion
 
Softwer
SoftwerSoftwer
Softwer
 
Lopl
LoplLopl
Lopl
 
Computacion
ComputacionComputacion
Computacion
 
Tema i
Tema iTema i
Tema i
 

Similar a Tarea 2 software (20)

Satware
SatwareSatware
Satware
 
Noname ato 1
Noname ato 1Noname ato 1
Noname ato 1
 
Noname ato 1
Noname ato 1Noname ato 1
Noname ato 1
 
Informa acerca de El Software
Informa acerca de El SoftwareInforma acerca de El Software
Informa acerca de El Software
 
Tema 3 software
Tema 3 softwareTema 3 software
Tema 3 software
 
Hardware
HardwareHardware
Hardware
 
Alejandragarcia
AlejandragarciaAlejandragarcia
Alejandragarcia
 
Aaaaa22practicadesoftwareyhardware(1)
Aaaaa22practicadesoftwareyhardware(1)Aaaaa22practicadesoftwareyhardware(1)
Aaaaa22practicadesoftwareyhardware(1)
 
Tipos de software
Tipos de softwareTipos de software
Tipos de software
 
El software
El softwareEl software
El software
 
Software Libre
Software LibreSoftware Libre
Software Libre
 
Software Libre
Software LibreSoftware Libre
Software Libre
 
Software Libre
Software LibreSoftware Libre
Software Libre
 
Tema 3
Tema 3Tema 3
Tema 3
 
Taller software 1
Taller software 1Taller software 1
Taller software 1
 
software
softwaresoftware
software
 
software
softwaresoftware
software
 
El software
El softwareEl software
El software
 
Trabajo de computacion zai y ari
Trabajo de computacion zai y ariTrabajo de computacion zai y ari
Trabajo de computacion zai y ari
 
Informer_Yandira_ Lastra
Informer_Yandira_ LastraInformer_Yandira_ Lastra
Informer_Yandira_ Lastra
 

Tarea 2 software

  • 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. 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. 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. 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. 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. 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. 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. – 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. 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. 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. 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.