lunes, 13 de junio de 2016

SISTEMAS INFORMÁTICOS



ESTRUCTURA Y FUNCIONAMIENTO DE SISTEMAS INFORMÁTICOS
(Éste es el material para estudiar)

1. Conceptos básicos

Una definición de computadora 
Máquina  digital  electrónica  programable  para  el  tratamiento  automático  de  la
información. Recibe datos,  realiza operaciones sobre ellos  mediante  procesos  determinados (instrucciones)  y suministra los resultados de tales operaciones.

Definición de dato e información

Dato:
es un elemento aislado, recabado para un cierto fin, pero que no ha pasado por un proceso que lo interrelacione con otros.
Información: se trata de datos procesados y relacionados de manera que nos pueden ser útiles para la correcta toma de decisiones.

Diferencia entre dato e información
Por ejemplo, una empresa recaba los siguientes datos entre varios  documentos de un posible cliente:
     Ciudad, Pablo Álvarez, Moreno 740, 35 años, 002-3426478,  Olivos
    
De este modo, cada dato por sí solo no nos dice nada, por ello tienen que pasar por un proceso (análisis, ordenamiento, agregado, u otros), el cuál le dé sentido a los datos anteriores:

Después del procesamiento de los datos podemos obtener la siguiente información:

Nombre:
 Pablo
Apellidos:  Álvarez
Edad:  35 años
Dirección  Moreno 740
Localidad:   Olivos
Banco:  Ciudad
Cuenta:  002-3426478
   
 Por lo tanto, la diferencia radica en que la información se compone de datos que
ya han sido procesados de algún modo para que tengan un sentido y un objetivo al momento de tomar decisiones.



En resumen, las computadoras procesan  datos, y obtienen  información. Puede
ocurrir que la información que sale de un proceso dado se alimente como dato en el proceso siguiente, encadenando así varios procesos.

Una computadora está constituida por dos componentes principales
Hardware   (parte física o tangible).
Software    (parte formada por los programas).

El  hardware  está  regido  por  una  CPU  (Central  Process  Unit)  o  unidad  central  de
procesamiento (microprocesador), que a su vez está constituída por una  unidad de
control CU (control Unit), una unidad aritmético-lógica ALU  (Arithmetic-Logic Unit), y
una pequeña  cantidad de memoria denominada memoria de registro.

Por otra parte, se encuentra la  memoria principal o primaria, también llamada RAM o
memoria de trabajo (Random Access Memory), y cierta cantidad de memoria de inicialización y configuración, llamada ROM (Read Only Memory).

También existen los medios de almacenamiento secundario de datos, que pueden ser un soporte magnético (discos) u óptico (Lectograbadoras de CD/DVD/Blueray).
Para comunicarse con el medio ambiente que la rodea, a las computadoras se les conectan
una serie de dispositivos externos a la misma, que se denominan periféricos. Son ejemplos de ellos: teclado, impresora, modem, escáner, monitor y muchos otros.
Según su función, estos periféricos se  denominan de Entrada (Input), de Salida (Output) o también pueden funcionar en forma mixta (E/S).

Definición de programa

Un programa  consiste  en una  serie  de  instrucciones  que  le  indica  al  procesador  las
tareas que debe ejecutar.


2. Sistemas informáticos

Un sistema informático está compuesto por:
a) Componente físico: que constituye el hardware del sistema informático que lo conforman, basicamente, los ordenadores, los periféricos y el sistema de comunicaciones. Los componentes físicos proporcionan la capacidad y la potencia de cálculo del sistema
informático.
b) Componente lógico: que constituye el software del sistema informático y lo conforman,
basicamente, los programas, las estructuras de datos y la documentación asociada El
software se encuentra distribuido en el hardware y lleva a cabo el proceso lógico que
requieren los datos.
c) Componente humano: constituido por todas las personas participantes en todas las
fases de la vida de un sistema informático (diseño, desarrollo, implantación, explotación).
Este componente humano es sumamente importante ya que los sistemas informáticos están
desarrollados por humanos y para uso de humanos.

2.2 Modelo de Von Neumann

A un nivel muy alto, un sistema informático que implemente la arquitectura Von
Neumann consta de tres componentes básicos: Unidad central de proceso, memoria principal y módulos de entrada/salida (E/S). Estos componentes básicos se encuentran
interconectados para llevar a cabo la función principal de una computadora, la cual consiste
en la ejecución de instrucciones que indican los programas.

Componentes básicos

Unidad central de proceso: controla la operación de la computadora y es la
encargada de ejecutar las instrucciones de los programas que se almacenan en la memoria.
También se lo llama procesador o con las siglas CPU (Central Processing Unit).
Está compuesta por:
Unidad de control (CU) : su función es coordinar la operación de todas las demás
unidades ofreciendo señales de temporización para mantener al sistema en
sincronización adecuada y de control para seleccionar si se desea leer o escribir en
una dirección de memoria o en un dispositivo de E/S.

Registros : proporcionan un nivel de memoria que es más rápido y pequeño que la
memoria principal. Existen registros del procesador visibles e invisibles para el
usuario. Los registros visibles para el usuario permiten al programador de lenguaje
máquina o ensamblador minimizar las referencias a la memoria principal utilizando
estos registros. Con lenguajes de alto nivel es el compilador el que intenta optimizar
el código para utilizarlos eficientemente. Por otra parte, existen los registros de
control y de estado que son utilizados por el procesador para el control de las
operaciones y las rutinas del sistema operativo para controlar la ejecución de los
programas. Estos registros son el la mayoría de los casos invisibles para el usuario.

Unidad aritmético-lógica (ALU) : permite efectuar un conjunto de operaciones
aritméticas y lógicas con los datos.

Memoria principal
: en ella se almacena el programa a ejecutar en código
máquina, los datos de entrada y los resultados. Esta memoria es normalmente volátil y
también se la conoce como memoria real.

Módulos de E/S
: transportan los datos entre la computadora y los dispositivos
externos. Estos dispositivos pueden ser memoria secundaria, equipos de comunicación,
terminales, impresoras, etc.

Además de los tres componentes básicos descriptos se encuentran en la arquitectura
los buses de datos, direcciones y control.
El procesador utiliza el bus de datos para mover datos entre el procesador y la memoria principal, entre el procesador y los dispositivos externos o entre la memoria principal y los dispositivos externos.
El procesador utiliza el bus de direcciones para indicar la dirección de memoria o dispositivo externo donde se quiere leer o escribir.
Por último, el bus de control se utiliza para habilitar el dispositivo sobre el que se quiere leer o escribir e indicar cual de estas operaciones se va a realizar.

La figura 1 muestra esquemáticamente la arquitectura Von Neumann:

 

2.3 Módulos de entrada / salida (E/S)
Los módulos de E/S, por ejemplo un controlador de disco, intercambian datos
directamente con el procesador y éste puede leer o escribir datos en un módulo de E/S
específico. Para realizar esta función el procesador identifica a un dispositivo determinado
que es controlado por un módulo de E/S.
Existen casos en los que es conveniente permitir que los intercambios de E/S se
realicen directamente entre el módulo de E/S y la memoria principal. De esta forma, se libera al procesador de esta tarea pero debe otorgar autoridad a un módulo de E/S para leer y escribir en la memoria principal. Esta operación es denominada como acceso directo a
memoria (DMA, Direct Memory Access).

3. Ejecución de las instrucciones de un programa

Un programa para ser ejecutado por el procesador consta de un conjunto de
instrucciones almacenadas en memoria.
El procesamiento de las instrucciones implica dos pasos: el procesador lee de a una las instrucciones desde la memoria y a continuación ejecuta cada una de ellas. La ejecución de un programa consiste en la repetición de este proceso de lectura y ejecución de las instrucciones. Dependiendo del tipo de instrucción pueden involucrarse varias operaciones por cada una de ellas.
La ejecución de un programa se detiene solamente si se apaga el equipo, se produce
un error irrecuperable o se encuentra una instrucción en el programa que detiene a la
computadora.
El procesamiento requerido para una instrucción se denomina ciclo de instrucción e involucra el ciclo de lectura (fetch) y ciclo de ejecución.
Al comienzo de cada ciclo de instrucción, el procesador lee una instrucción de la
memoria y cuenta con un registro llamado contador de programa (PC, Program Counter), que se utiliza para llevar la cuenta de cuál es la próxima instrucción a leer. A menos que se indique otra cosa, el procesador siempre incrementará el PC después de leer cada instrucción. De esta forma se irán leyendo secuencialmente todas las instrucciones del programa.
La instrucción leída se carga en un registro del procesador llamado registro de
instrucción (IR, Instruction Register). El procesador interpreta la instrucción y realiza la
acción requerida. Estas acciones pueden clasificarse en las siguientes categorías:
Procesador – memoria: se transfieren datos del procesador a la memoria o
viceversa.
Procesador – E/S: se transfieren datos desde o hacia un dispositivo externo. La
transferencia se realiza entre el procesador y un módulo de E/S.
Tratamiento de datos: el procesador realiza una operación aritmética o lógica
sobre los datos.
Control: una instrucción puede indicar que se altere la secuencia de ejecución de
las instrucciones, indicando a cual se debe dirigir. Por ejemplo, la instrucción con
ubicación 200 indica que la próxima instrucción a ser leída será la 180.

4. Los Sistemas Operativos

4.1 Definición de Sistema Operativo
Un sistema operativo (SO) está constituido por un conjunto de programas que actúan
como intermediarios entre el usuario y el hardware del sistema informático. Además, controla la ejecución de los programas de aplicación proporcionando un entorno para su ejecución.
Estos programas utilizan las facilidades que brinda el SO para acceder a recursos del sistema informático como el procesador, archivos y dispositivos de E/S. De esta manera, el SO constituye la base sobre la que se escriben los programas de aplicación.

4.2 Objetivos de un sistema operativo

Comodidad: Debe permitir que un sistema informático sea más fácil de utilizar.
Eficiencia: Debe permitir una administración eficiente de los recursos del sistema
informático.
Capacidad de evolución: Debe permitir su evolución en el tiempo debido a
actualizaciones del hardware, nuevos tipos de hardware o la necesidad de dar
respuesta a las necesidades de nuevos servicios por parte de los usuarios.

4.3 El Sistema Operativo como interfaz usuario/computadora

El SO es el software más importante de un sistema informático, oculta al programador o usuario los detalles de la arquitectura del hardware y proporciona una interfaz que simplifica el uso del sistema. De esta forma, el usuario final ve al sistema informático en términos de aplicaciones que le permiten realizar distintas tareas con la computadora. Las aplicaciones son escritas por programadores de aplicaciones con un lenguaje de programación. Si las aplicaciones se desarrollaran desde instrucciones de máquina que controlen el hardware sería una tarea muy compleja y agobiadora. Para facilitar esta tarea, el SO ofrece múltiples funcionalidades y servicios que los programadores utilizan para llevar a cabo ciertas acciones que realizarán sus programas.

En resumen, el SO ofrece servicios en las siguientes áreas:
Ejecución de programas.
Creación de programas.
Acceso a los dispositivos de E/S.
Acceso a los archivos.
Acceso al sistema (en el caso de sistemas compartidos controla el acceso de los
usuarios al sistema.)
Detección y respuesta a errores.

El SO se relaciona directamente con el hardware del sistema informático y sirve de
plataforma para la ejecución de los programas de aplicación. La siguiente figura muestra el nivel que ocupa en un sistema informático.


4.5 Servicios

El SO oculta al usuario los detalles del hardware y le proporciona una interfaz
cómoda para utilizar el sistema. Además, el SO actúa como mediador, ofreciendo al
programador y a los programas de aplicación un conjunto de servicios y utilidades que
facilitan su tarea.

De forma resumida el sistema operativo ofrece servicios en las siguientes áreas:

Creación de programas: El sistema operativo ofrece una gran variedad de servicios como
los editores y depuradores (debuggers), para ayudar al programador en la creación de
programas. Normalmente, estos servicios existen como programas de utilidad que no forman
realmente parte del sistema operativo, pero que son accesibles a través de él.

Ejecución de programas: Para ejecutar un programa es necesario realizar un cierto
número de tareas. Las instrucciones y los datos deben cargarse en memoria principal, los
archivos y los dispositivos de E/S deben inicializarse y deben prepararse otros recursos. El
sistema operativo administra todas estas tareas por el usuario.

Acceso a los dispositivos de E/S: Cada dispositivo de E/S requiere un conjunto propio y
particular de instrucciones o señales de control para su funcionamiento. El sistema operativo,
ayudado por los controladores o drivers de dispositivo tiene en cuenta estos detalles de
forma que el programador pueda pensar en forma de lecturas y escrituras simples desde o
hacia el dispositivo.

Acceso controlado a los archivos: El sistema operativo se ocupa del formato de los
archivos y del medio de almacenamiento. En el caso de sistemas de varios usuarios
trabajando simultáneamente, es el sistema operativo el que brinda los mecanismos para
controlar que el acceso a los archivos se lleve a cabo de una forma correcta.

Acceso al sistema: En el caso de un sistema compartido o público, el sistema operativo
controla el acceso al sistema como un todo y a los recursos específicos del sistema. Las
funciones de acceso deben brindar protección a los recursos y a los datos ante usuarios no
autorizados y debe resolver conflictos en la propiedad de los recursos.

Detección y respuesta a errores: Cuando un sistema informático está a en
funcionamiento pueden producirse varios errores. El sistema operativo debe dar una
respuesta que elimine la condición de error con el menor impacto posible sobre las
aplicaciones que están en ejecución.

Contabilidad: Un sistema operativo debe recoger estadísticas de utilización de los diversos
recursos y supervisar parámetros de rendimiento tales como el tiempo de respuesta.

---------------------------------------------------------------------------------------------------------------