Sunteți pe pagina 1din 12

Materia: SISTEMAS OPERATIVOS

1. Arquitectura de un sistema informático

1.1 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: 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: 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

1
Materia: SISTEMAS OPERATIVOS
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.

Figura 1

1.2 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 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.
2
Materia: SISTEMAS OPERATIVOS
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.
1.3 Módulos de 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).

1.4 Interrupciones
Casi todos las computadoras tienen un mecanismo mediante el cual
otros módulos (E/S, memoria) pueden interrumpir la ejecución normal
del procesador. Las interrupciones permiten mejorar la eficiencia del
procesamiento debido a que la mayoría de los dispositivos externos son
mucho más lentos que el procesador y como consecuencia el procesador
tendría un tiempo ocioso, por ejemplo mientras espera que la impresora
se ponga al corriente. La duración de la pausa supone cientos e incluso
miles de ciclos de instrucción donde el procesador no ejecuta
instrucciones. Con las interrupciones, el procesador se puede dedicar a
la ejecución de otras instrucciones mientras una operación de E/S está
en proceso.
Cuando el dispositivo de E/S esté disponible, es decir, cuando esté
preparado para aceptar más datos del procesador, el módulo de E/S de
dicho dispositivo enviará una señal de solicitud de interrupción al
procesador. El procesador responde suspendiendo la operación del
programa en curso y saltando a un programa que da servicio al
dispositivo de E/S en particular, conocido como rutina de tratamiento de
interrupciones (Interrupt handler), reanudando la ejecución original
después de haber atendido al dispositivo.
Desde el punto de vista del programa de usuario una interrupción
solamente plantea una suspensión de la secuencia normal de ejecución.
Cuando el tratamiento de la interrupción termina, la ejecución continúa.
El programa no tiene que disponer de ningún código especial para dar
lugar a las interrupciones; el procesador y el sistema operativo son los
responsables de suspender el programa de usuario y de reanudarlo
después en el mismo punto. Para dar lugar a las interrupciones, se
añade un ciclo de interrupción al ciclo de instrucción. En el ciclo de
interrupción el procesador comprueba si ha ocurrido alguna interrupción,
lo que se indicará con la presencia de alguna señal de interrupción. Si no

3
Materia: SISTEMAS OPERATIVOS
hay interrupciones pendientes, el procesador continúa con el ciclo de
lectura y trae la próxima instrucción del programa en curso. Si hay una
interrupción pendiente, el procesador suspende la ejecución del
programa en curso y ejecuta una rutina de tratamiento de interrupción.
Esta rutina, generalmente, forma parte del sistema operativo y
determina la naturaleza de la interrupción realizando cuantas acciones
sean necesarias.
Un ejemplo práctico Un programa en ejecución consta de una secuencia
de instrucciones en las que se encuentran intercaladas llamadas a
imprimir. Éstas son en realidad llamadas a un programa de E/S que es
una utilidad del sistema que realizará la operación concreta de E/S y
consta de:

a) Secuencia de instrucciones de preparación para la operación


concreta de E/S. Puede incluir copia de datos, etc. Luego viene la orden
concreta de E/S. Sin el uso de interrupciones el programa deberá esperar
a que el dispositivo de E/S (en este caso la impresora) termine la función
pedida.
b) Otra secuencia de instrucciones que permiten completar la operación
de E/S. Puede incluir la activación de un código de condición que indique
el éxito o fracaso de la operación.

Dado que la operación de E/S puede tardar un tiempo considerable


debido al dispositivo impresor, el programa de E/S puede quedar colgado
esperando a que se complete la operación. Entonces el programa de
usuario se detendrá por un tiempo considerable en cada llamada a
impresión. Observe la figura 3, donde el programa de usuario se
encuentra indicado con rectángulos rojos que simbolizan el conjunto de
instrucciones que se encuentran intercaladas por llamadas a imprimir.
Por otra parte, el rectángulo “a” simboliza la secuencia de instrucciones
de preparación para la operación de E/S y el rectángulo “b” las
instrucciones que permiten completar la operación de E/S.

4
Materia: SISTEMAS OPERATIVOS
Figura 3

Con las interrupciones, el procesador se puede dedicar a la ejecución de


otras instrucciones mientras una operación de E/S está en proceso.
Observe la figura 4, cuando el programa de usuario realiza la llamada a
Imprimir, se invoca al programa de E/S que en este caso solamente tiene
las instrucciones de preparación y la orden de E/S. Después de
ejecutarse estas pocas instrucciones, se devuelve el control al programa
de usuario. Mientras tanto el dispositivo externo estará ocupado
recibiendo datos de la memoria de la computadora e imprimiéndolos.
Esta operación se realiza concurrentemente con la ejecución de las
instrucciones del programa de usuario.
Cuando el dispositivo externo esté disponible, es decir, cuando esté
preparado para
recibir más datos desde el procesador, el módulo de E/S de dicho
dispositivo enviará una señal de solicitud de interrupción al
procesador. Entonces el procesador suspenderá la operación del
programa en curso y comenzará la ejecución de un programa que dará
servicio al dispositivo de E/S en particular. Dicho programa se denomina
rutina de tratamiento de interrupción. Por último, el procesador
reanudará la ejecución del programa original una vez que halla sido
atendido el dispositivo de E/S. En la figura 4, las interrupciones están
indicadas con un rombo.

Figura 4

Clases de interrupciones La siguiente tabla resume brevemente las


clases de interrupciones que pueden producirse:
De programa Producidas por alguna condición que se genera como
resultado de la ejecución de una instrucción, como por ejemplo:
Desbordamiento aritmético.
División por cero.
Referencia a una dirección de memoria fuera del espacio permitido al
usuario.
Ejecución de una instrucción ilegal de la máquina.
5
Materia: SISTEMAS OPERATIVOS
De E/S Producidas por un controlador de E/S, indicando que una
operación a terminado normalmente o para indicar alguna condición de
error.
De reloj Producidas por el reloj interno del procesador. Permiten al
sistema operativo realiz ar determinadas funciones con cierta
regularidad.
Por falla de hardware
Producidas por fallas como por ejemplo un corte de corriente o un error
en la paridad de la memoria.

1.5 Jerarquía de la memoria


Función de la memoria El modelo clásico asigna a la memoria la tarea de
almacenar instrucciones y datos para ser utilizados por la máquina. Los
datos y las instrucciones se pueden localizar por medio de una dirección
(única) que los identifica. Una visión funcional de la memoria sería la de
un elemento que recibe una dirección y devuelve el dato o instrucción
que contiene.
Además, puede recibir un dato o instrucción y almacenarlos con la
dirección que se le proporciona.

Características
Existen tres características de las memorias:
Capacidad de almacenamiento.
Velocidad (tiempo de acceso).
Coste (generalmente se usa el coste por bit).
Estas características compiten entre sí, por lo cual se utilizarán
memorias cuyas características sean compatibles con la función que
desempeñarán en la computadora. Se
cumplen las siguientes relaciones:
A mayor velocidad, mayor coste por bit.
A mayor capacidad, menor coste por bit.
A mayor capacidad, tiempo de acceso más lento.
En la figura 4 se muestra una jerarquía de la memoria según su tipo y
donde se cumplen las siguientes condiciones a medida que se desciende
por la jerarquía:
Disminución del coste por bit.
Aumento de la capacidad.
Aumento del tiempo de acceso.
Disminución de la frecuencia de acceso a la memoria por parte del
procesador.

6
Materia: SISTEMAS OPERATIVOS

Figura 5

2. Los Sistemas Operativos


2.1. Definición de Sistema Operativo
Un sistema operativo (SO) es un programa que actúa como intermediario
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.
2.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.
2.3 El Sistema Operativo como interfaz usuario/computadora
El SO es el programa 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.
7
Materia: SISTEMAS OPERATIVOS
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 figura 6 muestra el nivel que ocupa en un sistema informático.

Figura 6

2.4 Evolución histórica de los sistemas operativos


Proceso en serie
Las primeras computadoras de finales de los 40 hasta mediados de los
50 no tenían sistema operativo. El programador interactuaba
directamente con el hardware del equipo.
Los programas en código máquina se cargaban por medio del dispositivo
de entrada, que podía ser un lector de tarjetas perforadas. Si el
programa se detenía por un error se indicaba mediante indicadores
luminosos, entonces el programador podía examinar los registros y la
memoria principal para encontrar la causa del error. Si el programa
continuaba hasta su finalización, la salida aparecería en la impresora.
Estos primeros sistemas presentaban un problema de planificación del
tiempo de
utilización de la computadora por parte de los usuarios. Un usuario podía
reservar dos horas para el uso del equipo y terminar antes, esto producía
un desperdicio del tiempo para el uso de la computadora. Por otra parte,
el usuario podía tener problemas en la ejecución de su programa y al
terminarse el tiempo de uso asignado debía retirarse sin haber resuelto
el problema.
Además, existía otro problema que se relacionaba con el tiempo de
preparación
que demandaba la ejecución de un programa. Cuando se tenía que
ejecutar un programa sencillo (llamado trabajo) se debía cargar un
compilador y un código en un lenguaje de alto nivel (programa fuente)
en la memoria, guardar el programa compilado (programa objeto) y
luego se cargaba el programa objeto junto con las funciones comunes.
Todos estos pasos implicaban montar y desmontar cintas o cantidades
de tarjetas perforadas. Si se producía un error debía repetirse el proceso
de preparación.
En resumen esta forma de operación se denomina proceso en serie
porque los usuarios tenían que acceder a la computadora en serie. Con
el paso del tiempo se
8
Materia: SISTEMAS OPERATIVOS
desarrollaron herramientas de software para tratar de hacer más
eficiente este proceso en serie.
Sistemas sencillos de proceso por lotes
Para salvar los problemas del proceso en serie y mejorar el uso de las
computadoras se desarrolló el concepto de sistema operativo por
lotes (batch). El primer sistema operativo por lotes fue desarrollado por
la General Motors a mediados de los 50 para usar en una IBM 701.
La idea central del proceso por lotes está en el uso de un software
conocido como
monitor. Con el uso de esta clase de sistema operativo, los usuarios no
tenían acceso directo al equipo, por lo tanto cada usuario debía entregar
los trabajos en cinta o tarjetas perforadas al operador de la
computadora, quien agrupaba secuencialmente los trabajos por lotes y
ubicaba los lotes enteros en un dispositivo de entrada para su empleo
por parte del monitor. Cada programa se construía de manera tal que al
terminar su procesamiento volviera el control al monitor y éste
empezara a cargar automáticamente el siguiente programa.
Es el monitor quien controla la secuencia de sucesos. Gran parte del
monitor debe estar siempre en la memoria principal disponible para su
ejecución y leerá uno a uno los trabajos desde el dispositivo de entrada.
A medida que lo lee, el trabajo actual se ubica en la zona del programa
de usuario y el control pasa al trabajo. Cuando el trabajo termina se
devuelve el control al monitor, quien lee otro trabajo. Los resultados de
cada trabajo se envían al dispositivo de salida como la impresora y luego
son entregados al usuario.
Sistemas por lotes con multiprogramación
Aún con el secuenciamiento automático de trabajos realizado por un
sistema operativo por lotes, el procesador está desocupado con
frecuencia. El problema reside en que los dispositivos de E/S son lentos
comparados con la velocidad de procesamiento del procesador. Por
ejemplo, cuando una instrucción de un programa envía a la impresora
cierta información, el procesador se queda esperando la finalización de
la impresión, produciéndose tiempos ociosos del procesador que podrían
ocuparse. Supóngase que existe espacio en la memoria para el sistema
operativo y dos programas de usuario. Entonces, cuando un programa
necesite esperar una E/S, el procesador puede cambiar al otro programa
para continuar procesando instrucciones, sin tener que esperar a la E/S.
También se podría ampliar la memoria para almacenar más programas e
irlos intercambiando durante el procesamiento. Este proceso se
denomina multiprogramación o multitarea y es el punto central de
los sistemas operativos modernos.
El sistema por lotes con multiprogramación depende de ciertas
características del hardware de la computadora. La característica
adicional más importante y útil para la multiprogramación es que el
hardware respalde las interrupciones de E/S y el DMA. Con E/S dirigida
por interrupciones y con DMA, el procesador puede enviar una orden de
E/S para un trabajo y continuar con la ejecución de otro mientras la E/S
es realizada por el controlador del dispositivo. Cuando termina la
operación de E/S, el procesador es interrumpido y el control pasa a un
programa de tratamiento de interrupciones del SO. Entonces, el SO le
pasa el control a otro trabajo.
Los SO con multiprogramación son mucha más complejos que los
sistemas de monoprogramación o de un solo programa. Los SO con

9
Materia: SISTEMAS OPERATIVOS
multiprogramación necesitan alguna forma de gestión de memoria, dado
que para tener varios programas listos para ejecutarse, éstos deben
permanecer en la memoria principal.
Sistema de tiempo compartido
Existen muchas tareas donde es conveniente suministrar un modo en
que el usuario interactúe directamente con la computadora. Por
ejemplo, en el proceso de transacciones el modo interactivo es
fundamental.
En un sistema de tiempo compartido, el tiempo de uso del procesador se
comparte
entre los distintos usuarios. Es decir, múltiples usuarios acceden
simultáneamente al sistema por medio de terminales, donde el SO
intercala la ejecución de cada programa de usuario en ráfagas cortas o
cuantos (quantum) de computación. De esta manera, el tiempo de
procesador se reparte entre los usuarios que solicitan servicio al mismo
tiempo.
Tanto los procesos por lotes como los de tiempo compartido utilizan
multiprogramación.
Uno de los primeros sistemas de tiempo compartido que se desarrollaron
fue el Sistema Compatible de Tiempo Compartido (CTSS, Compatible
Time-Sharing System) en 1961 para una IBM 709.

Glosario
Contador del programa (PC)
Contiene la dirección de la siguiente instrucción a ser leída.
Interfaz de usuario

10
Materia: SISTEMAS OPERATIVOS
El sistema operativo tiene que permitir al usuario ejecutar de alguna
forma las órdenes que éste desee. Para ello, el SO dispone de una
interfaz o entorno de usuario, que hace de puente de comunicación
entre el usuario y el SO Podemos considerar dos tipos de interfaz de
usuario.
• Interfaz de texto.
• Interfaz gráfica.
Programas de aplicación
Programas que utilizan los servicios básicos del sistema operativo para
realizar una
tarea concreta y especializada. Es el software más utilizados por los
usuarios, existiendo tanto en forma de programas comerciales o
gratuitos.
Sistema informático
Conjunto de partes (hardware y software) que funcionan relacionándose
entre sí con un objetivo preciso. Los usuarios forman parte del sistema
informático.

Autoevaluación

1. Caracterice un sistema informático sin interrupciones y con


interrupciones.
2. ¿Qué clases de interrupciones pueden producirse?
3. ¿Qué función cumple la interfaz de un sistema operativo?
4. Explique los beneficios que proporciona un sistema operativo a los
programadores.
5. Indique las ventajas que aporta un sistema operativo por lotes con
respecto al proceso en serie.
6. Indique la diferencia entre multiprogramación y multiusuario.

Trabajo práctico Nº 1

Consigna
1. Construya una lista con los sistemas operativos más utilizados en la
actualidad, especificando versión, características, requerimientos de
hardware, método de distribución o comercialización, etc.
2. Realice un cuadro comparativo entre los distintos sistemas operativos
descriptos en el primer punto.

Lecturas adicionales
Los Sistemas Operativos: su historia y su concepto
http://www.temas-estudio.com/sistemas-operativos/

Historia de Microsoft
http://www.webtaller.com/maletin/articulos/historia -microsoft.php

Historia de Linux
http://www.infotic.org/index2.php?
option=com_content&do_pdf=1&id=50

11
Materia: SISTEMAS OPERATIVOS

Bibliografía complementaria optativa

1. Stallings, William. Sistemas operativos, cuarta edición, Madrid,


Editorial Prentice Hall, 2001.

2. Tanenbaum, Andrew S. Sistemas operativos. Diseño e


implementación, segunda edición, Editorial Prentice Hall, 1997.

3. Carretero Jesús, García Félix, de Miguel Pedro, Pérez Fernando.


Sistemas operativos: una visión aplicada, Madrid, Editorial McGraw Hill,
2001.

12

S-ar putea să vă placă și