48
1 Software

Capitulo III

Embed Size (px)

Citation preview

Page 1: Capitulo III

1

Software

Page 2: Capitulo III

2

¿Qué es un software? Es el conjunto de programas que ejecuta una

computadora. Estos programas contienen instrucciones u órdenes,

las cuales se encuentran codificadas en un lenguaje que la computadora puede comprender.

Los softwares los podemos clasificar en dos grandes categorías: Software del Sistema Software de Aplicaciones

Page 3: Capitulo III

3

Software del Sistema Es también llamado software interno, está

formado por el conjunto de rutinas que desarrolla el proveedor del equipo o por alguna casa productora de software con el fin de apoyar a los usuarios en la utilización de los recursos computacionales.

En esta categoría se incluye al sistema operativo, lo compiladores, los interpretes, etc.

Page 4: Capitulo III

4

¿Qué es el Sistema Operativo? Es un programa que actúa como intermediario

entre el usuario de un computador y el hardware de éste.

El propósito del sistema operativo es crear un entorno en el que un usuario pueda ejecutar programas.

Page 5: Capitulo III

5

¿Qué es el Sistema Operativo?

El S.O. Es el núcleo de toda la actividad del software.

El S.O. Monitorea y controla toda la entrada y salida, así como la actividad de procesamiento dentro del sistema de computación.

Page 6: Capitulo III

6

HARDWARE

SISTEMA OPERATIVO

SOFTWARE DE UTILERIA

APLICACIONES DE USUARIO FINAL

USUARIOUSUARIO USUARIOUSUARIO USUARIOUSUARIO USUARIOUSUARIO

Page 7: Capitulo III

7

FUNCIONES DEL SISTEMA OPERATIVO

Máquina Extendida Administrador de Recursos

Page 8: Capitulo III

8

EL S.O COMO INTERFAZ CON EL USUARIO

Se presenta como un tipo de software que controla el funcionamiento del elemento físico(hardware), ocultando sus detalles al usuario, permitiéndole así trabajar con la computadora de una forma más fácil y segura.

Para ello, el sistema operativo enmascara los recursos físicos, permitiendo un manejo sencillo y flexible de los mismos, y proporciona determinados servicios de alto nivel al usuario que no están directamente presentes en el hardware subyacente.

Page 9: Capitulo III

9

Sistema Operativo

USUARIO

APLICACIÓN

HARDWARE

Page 10: Capitulo III

10

ADMINISTRADOR DE RECURSOS Un computador integra un conjunto

de elementos necesarios para llevar a cabo su trabajo. Estos elementos que denominamos recursos, deben ser racionalmente distribuidos y utilizados para obtener de ellos el mejor rendimiento.

Page 11: Capitulo III

11

ADMINISTRADOR DE RECURSOS Los principales recursos de un

computador son: El procesador Memoria Principal Dispositivos de Entrada/Salida Información

Page 12: Capitulo III

12

ENTRADA/SALIDA

SISTEMA OPERATIVO

PROCESADOR MEMORIA

INFORMACIÓN

ADMINISTRADOR DE RECURSOS

Page 13: Capitulo III

13

Objetivos del Sistema Operativo Facilitar la comunicación entre el sistema de

computación y la gente que lo maneja Facilitar la comunicación entre los componentes

del sistema de computación Maximizar el rendimiento Minimizar el tiempo necesario para ejecutar un

comando del usuario Optimizar el uso de los recursos del sistema de

computación

Page 14: Capitulo III

14

Objetivos del Sistema Operativo

Llevar el control de los archivos en el almacenamiento en disco

Proporcionar una cubierta de seguridad al sistema de computación

Monitorear todas las capacidades del sistema y alertar al usuario de fallas o de posibles problemas del sistema.

Page 15: Capitulo III

15

Interfaz de Usuario En los sistemas operativos la interfaz de usuario

es controlada y establecida por el entorno(shell) o intérprete de órdenes.

La shell es un programa independiente del sistema operativo que se encarga de traducir o descomponer órdenes del usuario de forma que se realicen operaciones asociadas a la ejecucción de la orden.

Existen dos amplías categorías de interfaz de usuario que son:

Intefaz de línea de comandos Intefaz gráfica

Page 16: Capitulo III

16

Interfaz de Línea de Comando En una interfaz de línea de comando el usuario controla el

programa mediante el tecleo de órdenes después del indicador de petición de entrada o prompt.

El prompt es el indicador que utiliza el S.O. para señalar que esta listo para aceptar una orden.

Las ordenes obedecen a una sintaxis y semántica claramente preestablecida. Si se genera una orden de forma incorrecta el S.O generará un mensaje de error indicando que no entendió el mensaje.

El principal inconveniente de este tipo de interfaces es que obligan al usuario a conocer el lenguaje de órdenes para llevar a cabo cualquier tarea.

Page 17: Capitulo III

17

Interfaz Gráfica Con la interfaz gráfica no es preciso que el

usuario recuerde la sintaxis y el significado de una orden.

La facilidad de uso de la interfaz gráfica es un aspecto muy importante. Es frecuente que esta facilidad se asocie con lo intuitiva que pueda ser la interfaz.

A este tipo de interfaz se le denomina de uso amigable.

Page 18: Capitulo III

18

Interfaz Gráfica Las principales características que debe ofrecer una

interfaz gráfica son: Trabajar en un entorno de ventanas: la imagen en la pantalla

puede subdividirse en pequeñas pantallas o ventanas, en cada una de las cuales puede visualizarse la interfaz de una aplicación distinta.

Sistema de menús desplegables: mediante el uso de los menús, el usuario no necesita escribir órdenes, sino que se limita a seleccionar con el ratón o el cursor una de las opciones presentadas en pantalla.

Cajas de Diálogo: Las cajas de diálogo, también llamados paneles o menús de proyección, son menús de propósito especial sensibles al contexto en el que se están utilizando.

Iconos: los iconos son pequeños dibujos que simbolizan acciones. El usuario se limita a seleccionar con el ratón el icono u objeto deseado para solicitar una acción concreta.

Page 19: Capitulo III

19

Interfaz Gráfica El escritorio digital: para mejorar la interfaz, se

introduce la metáfora del escritorio computarizado, un ambiente familiar para cualquier persona. Es usual encontrar entornos que presentan símbolos de herramientas y objetos comunes en cualquier escritorio u oficina de la vida real como un procesador de texto, una calculadora, carpetas y papelaras.

Page 20: Capitulo III

20

Categorías de Sistemas Operativos

De acuerdo al obejtivo por el cual fue creado el S.O los podemos clasificar en diferentes categorías que son:

Sistemas Operativos Monotareas Sistemas Operativos Multitareas Sistemas Operativos Monousuarios Sistemas Operativos Multiprocesos Sistemas Operativos Tiempo Real

Page 21: Capitulo III

21

S.O Monotareas En los S.O monotareas hasta que no finalice

la ejecucción de un programa, no puede iniciarse la ejecucción de otro.

Page 22: Capitulo III

22

S.O. Multitareas Estos sistemas operativos son capaces de ejecutar más de

un programa al mismo tiempo. Existen dos tipos de sistemas operativos multitareas,

dependiendo de cómo lleven a cabo la gestión del procesador. Multitarea Cooperativa: en este esquema existe una cooperación entre

el s.o. Y los programas de aplicación. Los procesos realizan periódicamente una inspección de cara a detectar si otro proceso necesita el procesador. Si ocurre esto, el proceso en ejecucción deja el control al siguiente programa.

Multitarea con asignación de prioridades: con este esquema el S.O. mantiene una lista de procesos que intervienen en cada momento. Cuando se inserta un proceso nuevo a la lista se le asigna una prioridad. En cualquier momento, el S.O puede intervenir y modificar la prioridad de un proceso según las circunstancias.

Page 23: Capitulo III

23

S.O. Monousuarios

Son sistemas muy simples que solo permiten la conexión de un único usuario en un momento dado, por lo cual no necesitan realizar la gestión y control de varios usuarios.

Page 24: Capitulo III

24

S.O. Multiusuarios

Los S.O multiusuarios permiten que más de un usuario acceda a la computadora al mismo tiempo. Naturalmente, para llevar a cabo esto, el sistema operativo debe ser también multitarea y debe establecer mecanismos de identificación, autenticación y control de los distintos usuarios.

Permiten además que cada usuario pueda ejecutar varios programas simultáneamente ya que son multitareas.

Page 25: Capitulo III

25

S.O. Multiprocesos

Son S.O operativos diseñados para trabajar con computadores que tengan más de un procesador.

Los S.O. Multiprocesamiento deben ser capaces de administrar la carga de trabajo entre los procesadores para sacar provecho del paralelismo existente.

Page 26: Capitulo III

26

S.O. de Tiempo Real

Son ampliamente usados en aplicaciones capaces de controlar y regular el medio en que operan, como puede ser control industrial, control de vuelo, aplicaciones militares, etc.

Estos sistemas deben ser capaces de responder a determinados eventos que se pueden producir asincronamente y con frecuencia en unos plazos de tiempo previamente especificados.

Page 27: Capitulo III

27

Software de Utilerías Los software de utilerías nacen en la década de los

80 con el objetivo de mejorar los sistemas operativos existentes.

Los primeros software de utilerías estaban orientados a ayudar a los usuarios a realizar las siguientes labores: respaldar archivos recuperar archivos que fueron borrados recuperación de datos, antivirus y protectores de pantalla

Page 28: Capitulo III

28

Software de Aplicaciones El software de aplicación lo forman los

programas que controlan el funcionamiento de la computadora para realizar una tarea específica. Dentro de este tipo de software se incluyen: software estándar software a la medida.

Page 29: Capitulo III

29

Software Estándar Hace referencia a aquellas aplicaciones de uso

general especialmente diseñadas para su lanzamiento al mercado.

Estas aplicaciones pueden ser utilizadas por un gran número de usuarios y sobre diferentes sistemas. Algunas de estas aplicaciones de uso común son: Procesadores de Palabras Hojas de Cálculo Gestores de Bases de Datos Gestores Gráficos

Page 30: Capitulo III

30

Procesadores de Palabra Un procesador de palabra es un paquete de aplicación

orientado a la gestión de grandes cantidades de texto. Su misión es la generación de informes, cartas, edición de

documentos, que como último soporte utilizarán el papel para la transmisión de información escrita o bien las redes de comunicación.

Podemos clasificar este tipo de programas en tres categorías que son: Procesadores de Texto Edición de Texto Programas de Autoedición

Page 31: Capitulo III

31

Editores de Texto Son los programas más sencillos y no realizan

operaciones complejas, como lo son las operaciones de formateo.

Solo permiten escribir un texto, mostrarlo en pantalla, guardar el texto en archivos y recuperarlos.

Se utilizan por lo general para editar archivos de procesos por lotes en MS-DOS, trabajar con archivos de tipo ASCII, escribir programas en un determinado lenguaje de programación. Ejemplos de estos editores son EDIT, NOTEPAD, EDLIN entre otros.

Page 32: Capitulo III

32

Editores de Texto Son programas que permiten escribir texto y

realizar operaciones de corrección, formateo de documentos, movimiento de bloques y una serie de funciones complejas con el fin de obtener documentos impresos atractivos. Ejemplo: Word, Word Perfect, Ami-Pro, entre otros.

Page 33: Capitulo III

33

Programas de Autoedición Son programas orientados a la composición

de páginas permitiendo incorporar a la página un diseño en cuanto a la distribución de texto, imagen, titulares, etc.

Permiten la importación de textos de distintos procesadores y gráficos en diversos formatos.

Incorporan funciones muy sencillas y básicas de tratamiento de texto y gráficos. Ejemplo: Page Maker, Ventura, Adobe Fram Maker.

Page 34: Capitulo III

34

Hojas de Cálculo Son programas creados para convertir información

desorganizada en datos organizados y realizar cálculos con ellos.

Una hoja electrónica es un programa orientado a la gestión numérica.

Se trata de simular un determinado suceso, representando por números que dependen unos de otros a través de fórmulas o expresiones, para llegar a conclusiones que ayuden a la toma de decisión.

Page 35: Capitulo III

35

Hojas de Cálculo Las funciones básicas de una hoja de cálculo son:

Introducción de valores numéricos, texto y fórmulas Protección contra borrado o escritura de las celdas Formateo de rangos de celdas, columnas y filas Desplazamiento por la hoja Copia del contenido de una celda a otra Almacenamiento de un archivo en disco Posibilidad de combinar hojas de trabajos diferentes

Las hojas de cálculo son mayormente utilizadas en las áreas de planificación y análisis financiero, análisis contable, previsiones de ventas, análisis estadísticos entre otros.

Page 36: Capitulo III

36

Gestor de Bases de Datos Una base de datos es una colección de información relacionada. Un gestor de base de datos permite crear y mantener archivos en la

memoria del computador, y es capaz de encontrar en ellos la información que se le solicite.

Un sistema de gestión de base de datos es un software que permite introducir, organizar y recuperar la información de las bases de datos, es decir administrar las bases de datos.

Un sistema gestor de base de datos realiza básicamente las siguientes funciones: ayuda a la introducción, modificación y borrado de datos, realización de consultas, realización de informes, módulos para crear programas o incluso aplicaciones.

Page 37: Capitulo III

37

Gestores Gráficos Son software que permiten realizar todo aquello que

en un documento o publicación no es texto, este tipo de software se puede clasificar en tres categorías: Programas de dibujo también conocidos como Desktop

Publishing Los Programas de Presentación o Diseño Gráfico: que

incluyen el dibujo técnico, gráficos de barra, diseños en tres dimensiones.

Los Programas de Manipulación o Tratamiento de Imágenes y otros específicos para modelado y animación.

Page 38: Capitulo III

38

Software a la Medida Están constituidos por aquellas aplicaciones

específicas que se refieren a actividades más especializadas.

Una aplicación de este tipo es desarrollada para usuarios concretos y para un sistema específico.

Page 39: Capitulo III

39

Lenguajes de Programación Un lenguaje de programación es un conjunto reglas y estándares que se

utilizan para escribir un programa. Los lenguajes de programación, como cualquier tipo de lenguaje, se

componen de: un léxico (conjunto de símbolos permitidos o vocabularios), una sintaxis (reglas que indican como realizar las construcciones de lenguaje)

y una semántica (reglas que permiten determinar el significado de cualquier

construcción del lenguaje) Los lenguajes de programación se clasifican en :

Lenguaje de Máquina Lenguaje Ensamblador Lenguaje de Alto Nivel Lenguaje de Cuarta Generación(4GL) Lenguajes Naturales Lenguajes Orientado hacia Objetos

Page 40: Capitulo III

40

Lenguaje de Máquina El lenguaje de máquina es el único lenguaje que entiende el

computador. Por esta razón su estructura está totalmente adaptada a los circuitos de la máquina y muy alejada de la forma de expresión y análisis de los problemas propios de los humanos.

Esto hace que la programación en este lenguaje resulte tediosa y complicada, requiriéndose un conocimiento profundo de la arquitectura del computador.

Por otro lado este tipo de lenguaje hace posible que el programador utilice la totalidad de los recursos que ofrece el computador, obteniendo programas muy específicos en tiempo de ejecución y en ocupación de memoria.

Page 41: Capitulo III

41

Características delLenguaje de Máquina

Las instrucciones son expresadas en código binario. Los datos se referencian por medio de las direcciones en que se

encuentran. Las instrucciones realizan operaciones muy simples. El programador

debe ingeniárselas para expresar cada una de las operaciones que desea realizar en términos de las instrucciones elementales de las que dispone.

Existe muy poca versatilidad para la redacción de las instrucciones, ya que tienen un formato rígido en cuanto a la posición de los distintos campos.

El lenguaje de máquina depende y está íntimamente ligado a la CPU del computador. Esto hace que los programas en lenguaje de máquina no sean transferibles de un modelo de computador a otro.

En un programa en lenguaje de máquina no pueden incluirse comentarios que faciliten la lectura del mismo.

Page 42: Capitulo III

42

Lenguaje Ensamblador El lenguaje ensamblador constituye el primer

intento de sustitución lenguaje de máquina por uno más cercano al usado por los humanos.

Page 43: Capitulo III

43

Características del Lenguaje Ensamblador

Usa una notación simbólica o nemotécnica para representar los códigos de operación en lugar de código binario.

Normalmente, los códigos nemotécnicos están constituidos por abreviaturas de las operaciones en inglés. Así por ejemplo, la suma se representa por ADD en la mayoría de los ensambladores.

Direccionamiento Simbólico: En lugar de utilizar direcciones binarias absolutas, los datos pueden ser identificados con nombres como TOTAL, COSTOS, etc.

Se permite el uso de comentarios entre las líneas de instrucciones, haciendo posible la redacción de programas más legibles.

Aparte de esto, el lenguaje ensamblador presenta la mayoría de los inconvenientes del lenguaje de máquina, como son su repertorio muy reducido de instrucciones, el formato rígido de instrucciones, la baja portabilidad y la fuerte dependencia al hardware. Por otro lado, mantiene la ventaja del uso óptimo de los recursos de hardware, permitiendo la obtención de un código muy eficiente.

Page 44: Capitulo III

44

Lenguajes de Alto Nivel Los esfuerzos encaminados a hacer la labor

de programación independiente de la máquina dieron como resultado la aparición de los lenguajes de programación de alto nivel.

Estos lenguajes más evolucionados, usan palabras y frases relativamente fáciles de entender y proporcionan también facilidades para expresar alteraciones del flujo de control de un forma bastante sencilla e intuitiva.

Page 45: Capitulo III

45

Características delLenguaje de Alto Nivel

Son independientes de la arquitectura física del computador. Esto permite utilizar los mismos programas en computadoras de arquitecturas diferentes (portabilidad) y además, no es necesario conocer el hardware específico de la máquina.

La ejecución de un programa en lenguaje de alto nivel requiere de una traducción del mismo al lenguaje de máquina de la computadora donde va a ser ejecutado.

Por lo general una sentencia en un lenguaje de alto nivel da lugar a ser traducida a varias instrucciones en lenguaje de máquina.

Utilizan notaciones cercanas a las usadas por las personas en determinado ámbito. Se pretende la mayor aproximación posible al lenguaje natural. Para ello, las instrucciones vienen expresadas mediante texto, es posible introducir comentarios en las líneas de las instrucciones y las escritura de los programas está usualmente basada en reglas parecidas a las humanas.

Los lenguajes de alto nivel, a diferencia de los lenguajes de máquina y ensamblador, no permiten aprovechar completamente los recursos internos de la máquina.

Page 46: Capitulo III

46

Lenguaje de Cuarta Generación(4GL) Es un lenguaje de muy alto nivel cuya

característica principal es permitir a los usuarios con poco conocimiento sobre computación y lenguajes de programación, desarrollar sus propios programas de aplicación sin la participación operativa de personal técnico.

Page 47: Capitulo III

47

Lenguajes Naturales Este tipo de lenguaje pretende que la

computadora pueda interpretar el lenguaje de un ser humano.

Page 48: Capitulo III

48

Lenguajes Orientados a Objetos En este tipo de lenguaje la operación es ligada

hacia los datos, es decir no se hace hincapié en el procedimiento para hacer una tarea sino en objetos que la componen.