Conceptos de Software

Anuncio
UNIVERSIDAD SAN PABLO CEU
Facultad de CC. Experimentales y Técnicas
Departamento de Informática
TEMA 2
CONCEPTOS DE SOFTWARE
1 SISTEMAS OPERATIVOS.
2 PROGRAMAS DE APLICACION.
3 LENGUAJES DE PROGRAMACION.
La otra parte fundamental de un sistema informático es el SOFTWARE, es decir, conjunto de
programas que controlan la operativa y funcionamiento del ordenador. Aunque se considera
como software cualquier tipo de programas, estos son de muy diversas clases. Se pueden
dividir en tres grandes grupos :
•
•
•
Sistemas Operativos.
Programas de Aplicación.
Lenguajes de Programación.
1 SISTEMAS OPERATIVOS.
Un ordenador no puede funcionar debidamente sin un gestor que controle el tráfico de
datos y coordine toda la información obtenida del teclado, las unidades de disco y demás
elementos hardware. Se conoce por sistema operativo al “programa o conjunto de programas
de control que tiene por objeto facilitar el uso del computador y conseguir que este se utilice
eficientemente”.
Existen diferentes tipos de sistemas operativos ( D.O.S., OS/2, Windows 95,
UNIX,....) y cada uno de ellos tiene unas características determinadas. Así un sistema
operativo puede ser : mono/multitarea y mono/multipuesto.
Un sistema operativo es monotarea cuando este provoca que el microprocesador no
puede empezar a ejecutar otro programa (tarea) hasta no finalizar la primera, solo permite, por
tanto, la ejecución de un proceso a la vez sin posibilidad de que coexistan varios procesos en
la memoria central.
1
UNIVERSIDAD SAN PABLO CEU
Facultad de CC. Experimentales y Técnicas
Departamento de Informática
Un sistema operativo es multitarea cuando permite que varios procesos diferentes
coexistan en la memoria central y compartan la C.P.U. por turnos. Al contar con una única
C.P.U. solo se puede ejecutar un proceso en un momento dado, aunque el sistema operativo
puede interrumpir temporalmente su ejecución para dar paso a otro. Es lo que se denomina
“cesión de tiempos “. El sistema operativo aprovecha los tiempos muertos de la C.P.U., los
tiempos muertos en periféricos, y los espacios de memoria principal no ocupados por el
proceso; se cargan en la memoria varios procesos y se les va asignando la C.P.U.
sucesivamente, de forma que se aprovecha al maximo la unidad central de proceso. Las tareas
van avanzando en su ejecución sin necesidad de que finalice una para iniciar otra.
La multitarea se controla por el sistema operativo que carga los programas y los
maneja hasta que terminen. El número de procesos o programas que pueden ser efectivamente
ejecutados dependen de la memoria disponible, la velocidad del microprocesador (C.P.U.), la
capacidad y velocidad de los recursos periféricos, así como de la eficiencia del sistema
operativo. Por ejemplo mientras un programa espera una entrada se puede ejecutar una
instrucción de otro.
Además un sistema operativo decimos que es monopuesto o monousuario cuando
estamos ante un modo de ejecución que solo admite un usuario en el ordenador, o lo que es lo
mismo un usuario por cada sistema operativo instalado.
Un sistema operativo es multipuesto o multiusuario cuando permite la conexión de
varios puestos de trabajo desde los que operar concurrentemente, utilizando una única C.P.U.
y un único sistema operativo.
Por ejemplo: D.O.S. (monotarea, monopuesto), OS/2 (multitarea, monopuesto),
WINDOWS 95 y UNIX (multitarea, multipuesto),
En una red con 6 ordenadores los sistemas operativos D.O.S., OS/2, y Windows 95
necesitarían 6 sistemas operativos mientras que UNIX solo necesitaría un solo sistema
operativo instalado en el servidor.
Por tanto : Un sistema operativo es un programa que actúa directamente sobre el
hardware, gestionando los recursos de un ordenador de acuerdo a ciertos objetivos. Los dos
objetivos principales de un sistema operativo son la utilización eficiente de los recursos
disponibles y eliminar las dificultades que supone tratar directamente con el hardware. Sus
funciones principales incluyen : asignación de tiempos de la C.P.U., control de los recursos,
control de la entrada/salida, control y protección contra los errores, interface con el operador y
los usuarios. Y son características deseables la eficiencia, fiabilidad, facilidad de
mantenimiento y un pequeño tamaño.
2
UNIVERSIDAD SAN PABLO CEU
Facultad de CC. Experimentales y Técnicas
Departamento de Informática
2 PROGRAMA DE APLICACIÓN.
Un programa de aplicación es un conjunto de instrucciones capaz de realizar una tarea
concreta para los usuario. Podemos dividirlos en dos tipos principalmente :
Tipo vertical o “software a medida” : Se trata de aplicaciones que tienen muy definida
la tarea que permiten realizar, siendo preparadas “a medida” según las necesidades del
usuario.
Tipo horizontal o de propósito general también llamado “standard software” : Son
programas creados para tareas generales, ajustándose a las necesidades de una pluralidad de
usuarios como por ejemplo procesadores de texto, bases de datos, hojas de calculo, etc..
Veamos algunos de los programas incluidos en este software standard :
•
Procesadores de texto
Sustituyen a la máquina de escribir, pero con más ventajas como poder visualizar
el formato del texto antes de la impresión, realizar copias el documento, almacenar el
texto y recuperarlo cuando queramos, verificar la ortografía. Aquí podemos destacar
Word, Wordperfect, etc.
•
Gestores de bases de datos
Organizan y manipulan gran cantidad de información útil, de forma específica,
permitiendo la búsqueda, selección, actualización y extracción de datos.
La información en una base de datos se encuentra en registros (descripción
completa de un elemento de la base de datos) y en campos (cada una de los datos de
un registro). Podemos destacar Access, Dbase, etc..
•
Hojas de cálculo
Permiten realizar cálculos u operaciones matemáticas, estadísticas, financieras, etc.
Permiten a su vez realizar gráficos con las variables tratadas. Aquí tenemos Excel,
Lotus 1-2-3, etc.
•
Paquetes integrados
Son un conjunto de programas agrupados bajo el mismo nombre. Generalmente
están formados por una hoja de cálculo, un gestor de bases de datos, un programa
generador de gráficos, un procesador de textos, y en algunos casos un programa de
comunicaciones. Esto nos va a facilitar el paso de uno a otro e incluso trabajar con
ellos simultáneamente. Tenemos poe ejemplo Open Access, Woks, etc..
3
UNIVERSIDAD SAN PABLO CEU
Facultad de CC. Experimentales y Técnicas
Departamento de Informática
Actualmente han perdido utilidad al aparecer paquetes de aplicaciones que
incluyen varios programas completos a la vez, como MS-OFFICE que no es un
paquete integrado.
•
Paquetes de Diseño Gráfico
Facilitan las presentaciones gráficas con la posibilidad de encadenar gráficos,
diagramas y dibujos en una secuencia sobre la pantalla. Tenemos Harvard Graphics,
PowerPoint, etc..
•
Diseño asistido
Enfocado a diseño industrial, permite realizar dibujos técnicos por lo que son
especialmente útiles para determinados profesionales como aparejadores, arquitectos,
ingenieros. Aquí tenemos AutoCad, etc..
3 LENGUAJES DE PROGRAMACION.
Un lenguaje de programación es una notación para escribir instrucciones con las que
será posible comunicarse con el hardware, dando las ordenes necesarias para la realización de
un determinado proceso.
Se denomina “lenguaje fuente” a las ordenes que escribe el programador, las cuales
son traducidas al lenguaje máquina de las computadoras. Cada lenguaje de programación
tiene su propia gramática o “lenguaje”.
Existen distintos niveles de programación, así tenemos :
•
Bajo nivel : Es aquel por el que se accede directamente al hardware. Es el caso del
lenguaje máquina, que fue el primero en utilizarse, es el único que entiende la
computadora directamente, al usar el alfabeto binario (0 y 1) por lo que son los
menos “amigables “ para el usuario ante el cúmulo de errores que se pueden
cometer.
También se incluye aquí, aunque en un paso por encima de estos, los lenguajes
ensambladores, que son un intento de sustituir al lenguaje máquina por otro más
fácil de aprender y utilizar. En éste cada instrucción equivale a una instrucción en
lenguaje máquina, la diferencia es que para su escritura utiliza palabras
mnemotécnicas (es decir grupos de letras que equivalen a una operación en la
máquina) y no cadenas de bits.
4
UNIVERSIDAD SAN PABLO CEU
Facultad de CC. Experimentales y Técnicas
Departamento de Informática
Por lo demás presenta todos los inconvenientes del lenguaje máquina, por ejemplo
que cada ordenador tiene un lenguaje ensamblador propio, por lo que un programa
solo se puede usar en el ordenador para el que se pensó, lo que obliga a conocer la
arquitectura de la máquina. Estos lenguajes son los que más se aproximan al
lenguaje máquina, por lo que se pueden cometer errores fácilmente, aunque van a
ser más rápidos que los que veremos a continuación, pues la traducción menos
pasos. Por esto último es por lo que necesitamos un traductor o programa en
lenguaje máquina que tome como datos las sentencias mnemotécnicas y de cómo
resultado un programa objeto a lenguaje máquina.
Programa Fuente
•
Traductor
Programa objeto
Alto nivel o lenguajes evolucionados: Persiguen en primer lugar lograr
independencia de la máquina, de forma que un mismo programa se pueda utilizar
en diferentes ordenadores, si bien, debe disponerse de un programa traductor ( que
puede ser un interprete o un compilador) para obtener el programa ejecutable en
lenguaje binario de la máquina. Así no se requiere conocer el hardware específico
del equipo. En segundo lugar se puede escribir y leer de una forma más sencilla,
eliminando en gran medida las posibilidades de cometer errores, ya que se usan
palabras en ingles y no cadenas de bits. Ejemplos de lenguajes de programación
típicos son FORTRAN, COBOL, BASIC, PASCAL, C, ETC..
Veamos ahora las diferencias entre los traductores :
Los interpretes son traductores de lenguajes de programación de alto nivel que
traducen y ejecutan el programa al mismo tiempo, es decir, traducen una sentencia
de programa a lenguaje máquina y el microprocesador a continuación la ejecuta, y
cuando termina pasa a traducir la siguiente. Un lenguaje de este tipo es el BASIC.
Los compiladores traducen lenguajes de programación de alto nivel (COBOL,
C) en lenguaje máquina. Un compilador primero genera lengueje ensamblador y
después lo traduce a lenguaje máquina. El programa se traduce primero
completamente, es decir, se “compila” y tras comprobar que no existen errores se
ejecuta. El resultado es que los programas compilados se ejecutan más
rápidamente que los interpretados.
Por ejemplo supongamos que queremos crear un programa que sume los números 1 y 3 y
saque el resultado por pantalla.
En alto nivel sería
A=1
B=3
5
UNIVERSIDAD SAN PABLO CEU
Facultad de CC. Experimentales y Técnicas
Departamento de Informática
C=A+B
Print C
Si lo quisiéramos hacer en lenguaje ensamblador, deberemos tener en cuenta como se
representan los números en binario, las instrucciones permitidas en el lenguaje ensamblador (
guardar, mostrar, sumar, etc.), la longitud de palabra con que trabaja el ordenador, las
direcciones de memoria a las que puede acceder el microprocesador. Así tendremos :
00000001
00000011
00111001
00111010
guardar
guardar
sumar
mostrar
00111001
00111011
00111011
guardar
00111010
En código máquina aún sería más difícil pues tendríamos que pasar cada una de las
instrucciones a su correspondiente codificación en 0 y 1.
6
Descargar