Ir al contenido principal

Sistemas de informacion gerencial - capítulo 8 - Software

Software

Ir al Indice

Software: Conceptos

Una computadora trabaja de acuerdo a un programa formado por una serie de instrucciones ordenadas en una secuencia predeterminada, siendo cada instrucción una orden específica en las que se descompone un trabajo. Es decir, un programa se integra de un conjunto de operaciones que han de ejecutarse.
Uno o mas programas constituyen un software. Existe una división entre el software destinado a cubrir aplicaciones generales (software de aplicación) y software que se utilizan para la administración o gestión de los recursos físicos del hardware de las computadoras (software de sistema).

Software de aplicación

Es un conjunto de programas concebidos o creados para atender trabajos generales o específicos del usuario, referidos al cumplimiento de sus diversos objetivos. En cambio el software de sistema o de base, actúa como apoyo para que podamos usar la computadora, pero cualquier actividad que queramos realizar desde un punto de vista funcional implicará la utilización de un software de aplicación.
El software  de aplicación puede ser dividido en:
  • De propósito general: son los navegadores de internet, correo electrónico, procesadores de texto, planilla de cálculo electrónicas.
  • De propósito específico: diferentes aplicaciones para educación, entrenamiento, arquitectura, ingeniería, medicina, etc.
Las formas de obtener un software pueden ser:
  • Confeccionados especialmente para un usuario determinado. Sistema desarrollado a medida.
  • Incorporando paquetes pre planeados. Concebidos en forma estándar.
Es posible una estrategia intermedia, tomando lo que me sirve de un paquete y desarrollando complementos que permitan personalizar la aplicación a las necesidades de los usuarios.

Software de Sistema

Se divide en tres grupos:
  • Sistema operativo: son conjuntos de programas concebidos para efectuar la administración o gestión de los recursos físicos de la computadora. Ejemplo de ellos son: Windows, Linux, UNIX, etc.
    Es frecuente que a un sistema operativo se lo denomine también “plataforma”. Cuando un software funciona en distintas plataformas se lo de denomina multiplataforma.
    Tiene dos objetivos básicos: Facilitar el uso de la computadora, proporcionando servicios para la ejecución de programas, y actuar como entorno de la aplicación en la cual el programa es ejecutado
  • Software para el desarrollo: Para el desarrollo del software, existe un conjunto de software específicos que permiten facilitar el proceso de construcción. Ejemplo de este tipo de software son los sistemas de administración de base de datos que permiten definir, visualizar, modificar, copiar y manejar, entre otras funciones, bases de datos.
  • Utilitarios: Son usados para cumplir un numero de funciones que, por estándares y repetitivas, resultan necesarias para cualquier usuarios en tareas relacionadas con el uso, diagnostico y mantenimiento de la computadoras. Son ejemplo de este tipo de software los antivirus, firewalls, antispyware, utilitarios de diagnostico, de información de hardware, monitores de hardware, monitores de red, calculadora, liberador de espacio de disco, el explorador, el inicializador de discos, el reorganizador de espacio de discos, el editor de textos, reproductores de audio y video, etc.


Funciones del sistema operativo:
Carga inicial de los componentes residentes en la memoria principal.
El sistema operativo tiene a su cargo la administración de cinco elementos principales:
  1. Memoria principal: cualquiera sea la forma que se utilice será el supervisor del programa el que se encargue de las tareas necesarias para la administración de la memoria.
    Eliminar las restricciones de memoria es un paso importante para lograr implementar software de aplicación a un costo menor, por esto, se debe intentar lograr un mayor espacio de memoria pero sin ampliar la memoria real. La memoria virtual es un espacio de direcciones virtuales en una unidad de almacenamiento externo de acceso directo cuyo tamaño máximo esta determinado por el esquema de direccionamiento del computador. Se denomina memoria virtual porque representa una imagen de memoria en lugar de una memoria principal física. Las instrucciones y datos de un programa referenciados por direcciones virtuales deben ser contenidos en alguna ubicación física de memoria real para ser ejecutados.
    La performance de la computadora puede estar directamente afectada por la cantidad de tiempo utilizado transfiriendo secciones de la memoria virtual a la real y viceversa. Cuanto mayor sea la actividad de paginación, mayor será la probabilidad de una menor performance del computador.
  2. Procesadores: el programa supervisor es quien se encarga de la multiprogramación y el multiprocesamiento, a través de dos componentes denominados planificador que se encargara básicamente de elegir el programa que  se ejecutara en cada oportunidad en que dicha selección sea necesaria; y control de tráfico, cuya función se puede resumir como la del manejo de las interrupciones. El ordenamiento de asignaciones de organiza alrededor de una especia de lista de aplicaciones, programas o modulo a ser ejecutados y que se encuentran en distintos estados: ejecutándose, listo para ejecutarse y detenido. Solo puede ejecutarse un programa que este en estado “listo para ejecutarse”
  3. Dispositivos de entrada/salida: se encargara de la administración de dispositivos periféricos de entrada/ salida (cada periférico requiere su propio conjunto especial de instrucciones para cada operación. El sistema operativo y los canales o controladores proporcionan una interfase uniforme que esconde esos detalles de forma que los programas puedan acceder a dichos dispositivos utilizando lecturas y escriturar sencillas, logrando una independencias de las unidades físicas), de la administración de la impresora (cada vez que un programa asigna la impresora, el sistema operativo genera un archivo en una unidad de disco. Cada vez que un programa solicita una operación de impresión, el supervisor desvía la impresión y la graba en el archivo correspondiente. El spooling hace independizar totalmente los conceptos de impresora física e impresora lógica.) y también de otros discos y unidades lógicamente similares (el sistema operativo es el encargado de asignar la ubicación del archivo, de tal manera de minimizar los huecos que van quedando).
  4. Procesos a ser ejecutados: proveer los servicios necesarios para que se inicie la ejecución de los programas o procesos indicados por el usuario.
  5. Datos: si bien los programas son los que realizan el manejo lógico de cada archivo que utilizan, no son sus instrucciones las que detallan las actividades necesarias  para leer o grabar los datos. Las instrucciones de un programa simplemente establecerán que se deben leer o grabar datos indicando el archivo correspondiente y el área receptora de los datos a ser leídos, o que contiene los que deben ser grabados.

Multiprogramación:

consiste en el manejo casi simultáneo de dos o más programas independientes, intercalando su ejecución y compartiendo tiempos del procesador. El control de la ejecución de esta intercalación lo realiza el sistema operativo. En pocas palabras, efectúa la administración de la ejecución en paralelo de dos o más programas que residen simultáneamente en la memoria de la computadora.
Características generales:

  1. Intercalación: ya que mas de un programa se encuentra cargado en la memoria principal en condiciones de ejecutarse
  2. Instantaneidad: se simula trabajar como si existiera un solo programa cargado de ejecución instantánea.
  3. Independencia: se trata de distintos programas, con distintas asignaciones de memoria y de dispositivos de hardware.
    El objetivo principal e la multiprogramación es el aprovechamiento del procesador. Se minimizan los “tiempos de espera” en que el procesador se encuentra “inactivo”.

Multiprocesamiento:

El problema a resolver por el sistema operativo consiste en asignar una cantidad de procesadores N a una cantidad de programas M, donde generalmente  N>M, pero sabiendo que N>1. El sistema operativo deberá asignar cada procesador a los distintos programas sabiendo que contamos con más de un procesador.

LENGUAJES DE PROGRAMACIÓN

COMPILADORES, INTÉRPRETES Y ENTORNOS

  • Compaginadores: el compaginador realizaba primeramente el control general de sintaxis en todo el programa fuente y si no encontraba errores, generaba la versión ejecutable de ese programa, traduciendo una por una las instrucciones fuente
  • Compiladores: son traductores de características similares a los compaginadores, solo que asociados a lenguajes de alto nivel
  • Intérpretes: la traducción y la ejecución se realizan conjuntamente. Cada instrucción es analizada sintácticamente y,si es correcta, es traducida y ejecutada antes de pasar a la siguiente instrucción. Si se encuentra la instrucción errónea, la ejecución es detenida. No se genera un archivo con el programa en lenguaje de maquina.
     
  • Entornos de desarrollo: permiten interpretar el código fuente para el desarrollo y puesta a punto del programa, y luego generar el archivo correspondiente con el programa en lenguaje de maquina, para su ejecución reiterativa por parte del usuario.
Ir al Indice

Comentarios