Download Historia del Software

Document related concepts

Visual Prolog wikipedia , lookup

Transcript
Tema 3: Software Operativo y de Desarrollo.
Evolución del software y su situación actual
El software es el conjunto de programas que permite
emplear la PC, es decir, es el medio de comunicación
con la computadora, el control de sus funciones y su
programación para la solución de diversos problemas.
En 1946 John Von Neuman, miembro del grupo del
desarrollo de la ENIAC, pensó que las instrucciones
podían almacenarse en la computadora junto con los
datos; a ello lo llamó programa almacenado o
concepto de Von Neumann.
Tema 3: Software Operativo y de Desarrollo.
La característica principal de modelo de Von
Neumann, es el concepto de programa
almacenado, por lo que los programas se
almacenan en memoria de la computadora.
Programa
Memoria
Datos
Tema 3: Software Operativo y de Desarrollo.
Sistemas de
de
Sistemas
Computación
Computación
Software
Software
Hardware
Hardware
Sistema
Sistema
Operativo
Operativo
Programas de
de
Programas
Aplicación
Aplicación
Tema 3: Software Operativo y de Desarrollo.
Sistema Operativo
Una interfaz entre el hardware de una
computadora y el usuario.
Serie de programas que facilita la ejecución de
otros programas.
Actúa como el gerente general que supervisa
la actividad de cada componente del sistema
computacional.
Tema 3: Software Operativo y de Desarrollo.
Objetivos principales:

El uso eficiente del hardware

Facilidad para usar los recursos
Tema 3: Software Operativo y de Desarrollo.
Evolución de los S.O.´s
Sistemas por Lotes
Sistemas de Tiempo Compartido
Sistemas Personales
Sistemas Paralelos
Sistemas Distribuidos
Tema 3: Software Operativo y de Desarrollo.
Sistema
Sistema
Operativo
Operativo
Interfaz
Interfaz
de
de usuario
usuario
Administrador
Administrador
de
de Memoria
Memoria
Administrador
Administrador
de
de Procesos
Procesos
Administrador
Administrador
de
de Dispositivos
Dispositivos
Administrador
Administrador
de
de Archivos
Archivos
Tema 3: Software Operativo y de Desarrollo.
Sistemas Operativos más Comunes:
Windows, UNIX, Linux
Windows
Comenzó con MS-DOS, ahora es Gráfico, es de
los
que
más
ha
evolucionado,
es
multiprogramación.
Tema 3: Software Operativo y de Desarrollo.
UNIX
Conocido y usado por programadores y
científicos.
Es portátil, tiene utilerías para evitar ciertos
errores e independiente de los dispositivos.
Multiprogramación, comandos cortos y a su
vez complicados.
Tema 3: Software Operativo y de Desarrollo.
Linux
Parecido a UNIX, la idea original para este
sistema era que se instalará en máquinas
personales, por lo que se ha convertido en el
más usado por programadores expertos.
Tema 3: Software Operativo y de Desarrollo.
Sistema Operativo
Administra los procesos de entrada y salida, controla todos
los recursos de la computadora y ofrece la base sobre la
cual pueden escribirse los programas de aplicación.
Un sistema de computación moderno consta de uno o más
procesadores, alguna memoria principal, relojes, terminales,
discos, interfaces de redes, y otros dispositivos de
entrada/salida, por lo que se hizo evidente que tenía que
descubrirse alguna manera de resguardar a los
programadores de la complejidad del hardware.
Tema 3: Software Operativo y de Desarrollo.
•Clasificación de Sistemas Operativos
Requisitos de usuario: Sistema fácil de usar y de
aprender, seguro, rápido y adecuado al uso al que se le
quiere destinar.
Requisitos del software: Donde se engloban aspectos
como el mantenimiento, forma de operación, restricciones
de uso, eficiencia, tolerancia frente a los errores y
flexibilidad.
Tema 3: Software Operativo y de Desarrollo.
Sistemas Operativos
por Servicios
Sistemas Operativos por la Forma de Ofrecer sus Servicios
Sistemas Operativos de Red
Los sistemas operativos de red se definen como aquellos que tiene
la capacidad de interactuar con sistemas operativos en otras
computadoras por medio de un medio de transmisión con el objeto
de intercambiar información, transferir archivos, ejecutar comandos
remotos, etc.
Sistemas Operativos Distribuidos
Los sistemas operativos distribuidos abarcan los servicios de los
de red, logrando integrar recursos (impresoras, unidades de
respaldo, memoria, procesos, unidades centrales de proceso) en
una sola máquina virtual que el usuario accede en forma
transparente. Es decir, ahora el usuario ya no necesita saber la
ubicación de los recursos, sino que los conoce por nombre y
simplemente los usa como si todos ellos fuesen locales a su lugar
de trabajo habitual.
Tema 3: Software Operativo y de Desarrollo.
Algoritmo:
Son procedimientos que se realizan paso a
paso para resolver un problema.
O bien, método paso a paso para resolver
un problema o realizar una tarea.
Los hay numéricos y alfanuméricos.
Tema 3: Software Operativo y de Desarrollo.
Algoritmo:
Se define como la secuencia de pasos o
instrucciones para resolver un problema dado.
Haciendo enfoque hacia la programación se
utilizaría un Lenguaje de programación.
Tema 3: Software Operativo y de Desarrollo.
Lista de Entrada
Algoritmo
Lista de Salida
Tema 3: Software Operativo y de Desarrollo.
Se pueden identificar tres estructuras de
control para la creación de un algoritmo.
Secuencia: Instrucción
cualquier otra estructura.
Decisión:
condición.
Donde
Repetición: Da
instrucciones
o
instrucciones.
se
simple
o
incluso
comprueba
una
la opción de repetir
hasta
bloques
de
Tema 3: Software Operativo y de Desarrollo.
Los algoritmos se pueden representar mediante:
Diagramas de Flujo
Pseudocódigo
Tema 3: Software Operativo y de Desarrollo.
Algoritmo: Una serie de pasos ordenada de
pasos precisos que produce un resultado y
termina en un tiempo finito.
Debe contener instrucciones ordenadas y bien
definidas.
Da un resultado, de lo contrario sería inútil.
Debe detenerse. ‫ײַ‬
Tema 3: Software Operativo y de Desarrollo.
Lenguajes de Programación
Serie de palabras predefinidas que se combinan
en un programa de acuerdo a las reglas
predefinidas.
Por lo que para escribir un programa se necesita
un lenguaje de Programación.
Dentro de una metodología podría ser el paso
siguiente después del algoritmo.
Tema 3: Software Operativo y de Desarrollo.
Evolución de Lenguajes de Programación
Lenguajes de Máquina
Lenguajes Simbólicos
Lenguajes de Alto Nivel
Lenguajes Naturales
Tema 3: Software Operativo y de Desarrollo.
Existen dos tipo de lenguaje de programación:
Bajo nivel, instrucciones dadas utilizando
dígitos binarios.
Alto nivel, instrucciones dadas en palabras.
Tema 3: Software Operativo y de Desarrollo.
 Primera generación de lenguajes
Lenguaje binario o de máquina.
 Segunda generación de lenguajes
Los lenguajes de máquina avanzaron hacia los
ensambladores o lenguajes de código, que
dieron la base para la elaboración de software
de sistemas y el software de procedimientos.
Tema 3: Software Operativo y de Desarrollo.
Lenguajes Procedurales:
FORTRAN
COBOL
PASCAL
C
ADA
Lenguajes Orientados a Objetos:
C++
Java
Tema 3: Software Operativo y de Desarrollo.
Lenguajes Funcionales:
LISP
Scheme
Lenguajes Declarativos:
Prolog
Lenguajes Especiales:
HTML
Perl
Sql
Tema 3: Software Operativo y de Desarrollo.
Programa
Es un conjunto de instrucciones escritas en un lenguaje de
programación de alto nivel que indica paso a paso, las acciones para
resolver un problema dado y que pueden ser traducidas al lenguaje de
la computadora, se le conoce como programa fuente.
En realidad las máquinas solo tienen un lenguaje; de máquina,
cuando se programa en un lenguaje de alto nivel existen además un
software llamado compilador que lo traduce, a su vez, en lenguaje
de máquina para que la PC lo interprete y a estas instrucciones se la
llama programa objeto.
Programa FUENTE
EJECUTABLE

Programa
OBJETO

Programa
Tema 3: Software Operativo y de Desarrollo.
Pasos para crear un programa:
Escribir el programa y editar el programa
Compilar el programa
Vincular el programa con los módulos de
biblioteca requeridos
Tema 3: Software Operativo y de Desarrollo.
Intérprete: Traduce y ejecuta instrucción por instrucción del programa
fuente y sólo continua con la siguiente instrucción si no hay errores de
escritura en la instrucción que analiza en turno.
Compilador: Traduce todas las instrucciones y al final indica los
posibles errores.
Entonces, el software de la computadora puede dividirse de modo
general en dos clases:
Los programas
computadora.
del
sistema:
Manejan
la
operación
de
la
Los programas de aplicación: Resuelven problemas de los usuarios.
Tema 3: Software Operativo y de Desarrollo.
Software aplicativo
La aparición de paquetes para procesar información se
debe al éxito del uso de las PC´s, ya que no es
necesario programar.
Hoja de cálculo electrónica, bases de datos, procesador
de palabras, paquetes de aplicación especifica como
pueden ser el de análisis estadístico y el de diseño
estructural, entre muchos.
El concepto de paquete o software orientado a una
aplicación especifica continua evolucionando y cada
vez es mejor.
Tema 3: Software Operativo y de Desarrollo.
 El software aplicativo se divide en:
a) Software a la medida
b) Software de propósito general
En los cuales debe de existir calidad total,
utilizando métodos y mecanismos.
El software libre y software patentado
Pros y contras.
Piratería de software.
Software incompleto y con muchos errores.