Sie sind auf Seite 1von 9

UNIVERSIDAD AUTNOMA DE NUEVO

LEN
FACULTAD DE INGENIERA MECNICA Y
ELCTRICA

Arquitectura de las computadoras


Captulo 8
NOMBRE Y MATRICULA: Gabriel Alejandro Mata Carrizales,
1582082
Hora: M3
Dr. Alfonso Molina Rodrguez.

12 de octubre de 2015, San Nicols de los Garza Nuevo Len

CONCEPTOS BSICOS SOBRE SISTEMAS OPERATIVOS


Un sistema operativo es un programa que controla la ejecucin de los programas de
aplicacin y acta como interfaz entre el usuario y el hardware del computador. Se
puede considerar que un sistema operativo tiene dos objetivos:
* Comodidad: un sistema operativo hace que un computador sea ms fcil y cmodo
de usar.
* Eficiencia: un sistema operativo permite que los recursos del computador se utilicen
de forma eficiente.

El sistema operativo usualmente proporciona servicios en las siguientes reas:


1. Creacin de programas: el sistema operativo proporciona cierta variedad de
servicios y medios, tales como editores y depuradores, para ayudar al programador en
la elaboracin de programas.
2. Ejecucin de programas: para ejecutar un programa es preciso realizar una serie de
tareas. Las instrucciones y los datos deben cargarse en memoria principal, los
dispositivos de E/S y los ficheros deben iniciarse, y deben prepararse otros recursos.
El sistema operativo proporciona todo eso al usuario.
3. Acceso a los dispositivos de E/S: cada dispositivo de E/S necesita su conjunto
particular de instrucciones y seales de control para poder operar. El sistema operativo
se encarga de esos detalles para que el programador pueda pensar simplemente en
trminos de lecturas y escrituras.
4. Acceso controlado a los ficheros: en el caso de ficheros, el control debe incluir el
conocimiento no solo de la naturaleza del dispositivo (disco, cinta) sino tambin del
formato del fichero y del medio de almacenamiento
5. Acceso al sistema: en el caso de un sistema compartido o pblico, el sistema
operativo con trola el acceso al sistema como un todo y a los recursos especficos del
sistema. La funcin de acceso debe proporcionar proteccin de los recursos y datos
frente a los usuarios no autoriza dos y debe resolver los conflictos por el acceso a los
recursos compartidos.
6. Deteccin de errores y respuesta: mientras el computador est funcionando pueden
producir se diversos errores. Entre estos estn los errores hardware internos y

externos, tales como los errores de memoria o los fallos o comportamiento incorrecto
de dispositivos; y errores diversos del software, tales como el desbordamiento
aritmtico, el intento de acceder a una posicin de memoria no permitida o la
incapacidad del sistema operativo para responder una peticin generada por una
aplicacin.
7. Gestin de cuentas: un buen sistema operativo debe almacenar la estadstica de
uso de los distintos recursos y supervisar los parmetros de prestaciones tales como
el tiempo de respuesta.
El sistema operativo, que es un mecanismo de control inusual por dos razones:
* El sistema operativo funciona de la misma forma que el software ordinario del
computador, esto es, se trata de un programa ejecutado por el procesador.
* El sistema operativo frecuentemente cede el control y depende del procesador para
recuperar el control.
El sistema operativo, de hecho, no es nada ms que un programa de computador.
Como otros pro gramas, proporciona instrucciones al procesador. La nica diferencia
se encuentra en el objetivo del programa. El sistema operativo dirige al procesador en
el uso de otros recursos del sistema y en la temporizacin de la ejecucin de otros
programas.
TIPOS DE SISTEMAS OPERATIVOS
Para distinguir entre los distintos tipos de sistemas operativos existen ciertas
caractersticas clave. Las caractersticas se agrupan en dos dimensiones distintas. La
primera dimensin especifica si se trata de un sistema de colas (batch) o interactivo.
En un sistema interactivo, el usuario/programador interacta directamente con el
computador, usualmente a travs de un terminal de pantalla y teclado, para solicitar la
ejecucin de un trabajo o realizar una transaccin. Un sistema de colas es lo opuesto
a uno interactivo.
Otra dimensin independiente especifica si el sistema utiliza multiprogramacin o no.
Con la multiprogramacin se intenta mantener el procesador ocupado tanto como sea
posible, hacindolo trabajar en ms de un programa al mismo tiempo. Varios
programas se cargan en la memoria, y el procesador conmuta rpidamente entre ellos.
La alternativa es un sistema de mono-programacin que trabaja solo en un programa
en cada momento.
PRIMEROS SISTEMAS
En los primeros computadores desde el final de la dcada de los cuarenta a la mitad
de la de los cincuenta, el programador interactuaba directamente con el hardware del
computador. Estas mquinas se accionaban desde una consola, constituida por luces
indicadoras, interruptores, algn dispositivo de entrada y una impresora. Estos
primeros sistemas presentaban dos problemas fundamentales:
* Planificacin: la mayora de las instalaciones utilizaban una lista para reservar tiempo
en la mquina. Un usuario normalmente poda reservarse espacios de tiempo
mltiplos de media hora.
* Tiempo de preparacin: un nico programa, llamado trabajo, se encargaba de cargar
en memoria el compilador y el programa en lenguaje de alto nivel (programa fuente),
guardar el programa compilado (programa objeto) y despus cargar y enlazar juntos el
programa objeto y las funciones comunes.
Para mejorar la utilizacin, se desarrollaron los sistemas de colas sencillos. Con un
sistema de este tipo, llamado monitor, el usuario ya no tiene acceso directo a la
mquina. En cambio, el usuario enva el trabajo, en tarjetas o en cinta, a un operador
del computador que pone los trabajos en cola y sita toda la cola en un dispositivo de
entrada al que accede el monitor.

Desde el punto de vista del monitor, es l el que controla la secuencia de eventos.


Para que esto sea as, el monitor est siempre en la memoria principal y dispuesta
para ejecutarse Esta parte se denomina monitor residente. El resto del monitor
consiste en utilidades y funciones comunes que son cargadas como subrutinas del
programa de usuario al iniciarse cualquier trabajo que las necesite. El monitor
introduce uno a uno los trabajos desde el dispositivo de entrada (usualmente un lector
de tarjetas o de cintas magnticas). A medida que es ledo, el trabajo en cuestin se
sita en el
rea de programas de usuario y se cede el control a dicho trabajo. Cuando el trabajo
termina, se devuelve el control al monitor, que inmediatamente lee el siguiente trabajo.
Ahora consideremos esta secuencia desde el punto de vista del procesador. En cierto
instante de tiempo, el procesador est ejecutando instrucciones captadas de la porcin
de memoria que contiene al monitor. Estas instrucciones hacen que se lea el siguiente
trabajo y se pase a otra zona de memoria principal. Una vez que se ha introducido el
trabajo, el procesador ejecutar una instruccin de salto del monitor que hace que el
procesador prosiga la ejecucin en la posicin de memoria correspondiente al
comienzo del programa de usuario.
El monitor, o sistema operativo de colas, es simplemente un programa de computador.
Se basa en la posibilidad que tiene el procesador de captar instrucciones de diferentes
zonas de la memoria principal para tomar y ceder el control. Adems se necesita que
el hardware proporcione ciertas funciones:
* Proteccin de memoria: mientras el programa de usuario se est ejecutando, no
debe alterarse el rea de memoria que contiene al monitor. Si se intenta, el hardware
del procesador detecta un error y transfiere el control al monitor. El monitor aborta el
trabajo, imprime un mensaje de error, y carga el siguiente trabajo.
* Temporizacin: se debe utilizar un temporizador para evitar que un nico trabajo
monopolice el uso del sistema. El temporizador se actualiza al comienzo de cada
trabajo. Si el tiempo termina, se produce una interrupcin, y el control vuelve al
monitor.
* Instrucciones privilegiadas: ciertas instrucciones que se denominan privilegiadas solo
pue den ser ejecutadas por el monitor. Entre estas estn las instrucciones de E/S para
que el monitor tenga el control de todos los dispositivos de E/S. Esto impide, por
ejemplo, que un programa de usuario lea accidentalmente las instrucciones del
siguiente trabajo.
* Interrupciones: los primeros modelos de computadores no disponan de esta
capacidad. Esta caracterstica proporciona al procesador ms flexibilidad para ceder y
recuperar el control de los programas de usuario.

Sistemas de colas multi-programados. Incluso con la sucesin automtica de trabajos


que proporcionan los sistemas de colas sencillos, el procesador est parado a
menudo. El problema surge porque los dispositivos de E/S son lentos en comparacin
con el procesador. El procesador consume cierto tiempo ejecutando instrucciones
hasta que llega a una instruccin de E/S. Entonces debe esperar hasta que esa
instruccin de E/S concluya para continuar.
Los sistemas operativos multi-programados son bastante sofisticados en comparacin
con los sis temas de un solo programa o mono-programados. Para tener varios
trabajos listos para ejecutarse, deben mantenerse en memoria, precisndose una
cierta gestin de la memoria.
Sistemas de tiempo compartido. Con el uso de la multiprogramacin, el
procesamiento en colas puede ser bastante eficiente. Sin embargo, para muchos
trabajos es deseable disponer de un modo en el cual el usuario interacte
directamente con el computador.
PLANIFICACIN
La clave de la multiprogramacin es la planificacin. De hecho, usualmente implica
tres tipos de planificacin. El planificador a largo plazo determina qu programas se
admiten para ser procesados en el sistema. De esta manera, este planificador controla
el grado de multiprogramacin (nmero de procesos en memoria). Una vez admitido,
un trabajo o programa de usuario pasa a ser un proceso y se aade a una cola
asociada al planificador a corto plazo.
En un sistema de colas, o en la parte de colas de un sistema operativo de uso general,
los trabajos nuevos que se envan pasan al disco y se mantienen en una cola. El
planificador a largo plazo selecciona trabajos de esta cola cuando puede. Esto implica
tomar dos decisiones. Primera, el planificador debe decidir si el sistema operativo
puede aceptar uno o ms procesos adicionales. Segunda, el planificador debe decidir

qu trabajo o trabajos acepta y transforma en procesos. En ese momento, si se


produce una solicitud de conexin se responde con un mensaje que indica que el
sistema est completo y el usuario debe intentar la conexin de nuevo, pasado un
cierto tiempo.
PLANIFICACIN A CORTO PLAZO
El planificador a largo plazo se ejecuta de manera relativamente poco frecuente y toma
las decisiones ms genricas de si aceptar un nuevo proceso o no, y qu proceso
aceptar. El planificador a corto plazo, conocido tambin como distribuidor.
Estados de los procesos. Para comprender el funcionamiento del planificador a corto
plazo, necesitamos considerar el concepto de estado de un proceso. Durante el tiempo
de vida de un proceso, la situacin en que se encuentra cambiar un cierto nmero de
veces. Su situacin en cada instante de tiempo se denomina estado. El trmino estado
se utiliza porque tiene la connotacin de que existe cierta informacin que define la
situacin en que se encuentra el proceso en ese momento.
* Nuevo: el planificador de alto nivel admite un programa, pero todava no est
preparado para ejecutarse. El sistema operativo iniciar el proceso, pasndolo al
estado pre parado.
* Preparado: el proceso est preparado para ejecutarse y se encuentra esperando
acce so al procesador.
* En ejecucin: el proceso est siendo ejecutado por el procesador.
* En espera: el proceso ha suspendido su ejecucin al estar esperando algn recurso
del sistema, tal como una E/S.
* Parado el proceso ha terminado y ser eliminado por el sistema operativo.
Para eso, cada proceso se representa en el sistema operativo mediante un blo que de
control de proceso
* Identificador: cada proceso en curso tiene un identificador nico.
* Estado: el estado actual del proceso (Nuevo, Preparado, etc.).
* Prioridad: el nivel de prioridad relativo.
* Contador de programa: la direccin de la siguiente instruccin del programa a
ejecutar.
* Punteros a memoria: las posiciones de memoria de inicio y final del proceso.
* Datos de contexto: son los datos de los registros del procesador cuando el proceso
se est ejecutando, y se discutirn en la Parte Tercera. Por ahora, es suficiente decir
que estos datos representan el contexto del proceso. El contexto junto con el
contador de programa se guarda cuando el procesador abandona el estado
Preparado. El procesador los recupera cuando reanuda la ejecucin del proceso.
* Informacin de estado de las E/S: incluye las solicitudes de E/S pendientes, los
dispositivos de E/S (por ejemplo, cintas) asignados al proceso, la lista de ficheros
asignados al proceso, etc.
* Informacin para contabilidad: puede incluir el tiempo total y el tiempo de procesador
utilizado, los lmites de tiempo, los datos de las cuentas, etc.
INTERCAMBIO (SW APPING)
Tenemos una cola a largo plazo de solicitudes de proceso, usualmente almacenado en
disco. Estas solicitudes se traen a memoria, una a una, a medida que hay espacio
disponible. Conforme terminan, los procesos se sacan de la memoria principal. Ahora,
podra ocurrir que ninguno de los procesos en la memoria principal est en el estado
preparado (por ejemplo, todos estn esperando una operacin de E/S). En lugar de
permanecer parado, el procesador intercambia uno de esos procesos situndolo en el
disco en una cola intermedia. Esta es una cola de procesos existentes que se han
sacado temporalmente de memoria.

El intercambio es de hecho una operacin de E/S, y por consiguiente existe la


posibilidad de empeorar el problema ms que de solucionarlo. No obstante, puesto
que la E/S en disco es generalmente la operacin de E/S ms rpida DEFINICIN DE
PARTICIONES
El esquema ms simple para definir particiones en la memoria disponible es utilizar
particiones de tamao fijo,
La memoria del proceso est constituida por instrucciones y datos. Las instrucciones
contendrn direcciones de posiciones de memoria de dos tipos:
* Direcciones de datos.
* Direcciones de instrucciones, usadas por las instrucciones de salto.

PAGINACIN
Tanto las particiones de tamao fijo como las de tamao variable son ineficaces en el
aprovecha miento de la memoria. Supngase, no obstante, que la memoria se divide
en trozos iguales de tamao fijo y relativamente pequeo, y que cada proceso tambin
se divide en pequeos trozos de tamao fijo. Despus los trozos de un programa,
conocidos como pginas, se podran asignar a los trozos de memoria disponibles,
conocidos como marco. En cambio, el sistema operativo mantiene una tabla de
pginas para cada proceso. La tabla de pginas indica el marco que aloja a cada
pgina del proceso. Dentro del programa, cada direccin lgica est constituida por un
nmero de pgina y una direccin relativa dentro de la pgina. Recurdese que en el
caso de particiones simples, una direccin lgica era la posicin de una palabra en
relacin con el comienzo del programa; el procesador la traduce a una direccin fsica.
Con la paginacin, la traduccin de direccin lgica a direccin fsica tambin la realiza
el hardware del procesador.
MEMORIA VIRTUAL
Paginacin por demanda. Con el uso de la paginacin, se dispone de sistemas con
multiprogramacin verdaderamente efectivos. Es ms, la sencilla tctica de dividir el
proceso en pginas llev al desarrollo de otro concepto decisivo: la memoria virtual.
Esta mejora es la paginacin por demanda, que simplemente significa que cada
pgina de un proceso se introduce en memoria solo cuando se necesita. Despus, si
el programa salta a una instruccin de una pgina que no est en memoria principal, o
si el programa hace referencia a un dato de una pgina que no est en memoria, se
produce un fallo de pgina. Esto indica al sistema operativo que debe cargar la pgina
deseada. Puesto que un proceso se ejecuta solo si est en memoria principal, esta
recibe el
nombre de memoria real. Pero el programador o usuario percibe una memoria mucho
mayor la que hay disponible en disco. En consecuencia, esta ltima se denomina
memoria virtual. La memoria virtual posibilita una multiprogramacin muy efectiva y
libera al usuario de las innecesarias y exigentes restricciones de memoria principal.
Estructura de la tabla de pginas. El mecanismo bsico para leer una palabra de
memoria implica la traduccin, mediante una tabla de pginas, de una direccin virtual
o lgica, consistente en un nmero de pgina y un desplazamiento a una direccin
fsica, constituida por un nmero de marco y un desplazamiento. Puesto que la tabla
de pginas tiene una longitud variable, dependiendo del tamao del proceso, no es
posible almacenarla en los registros. En su lugar, debe accederse a ella en memoria
principal.
BUFFER DE TRADUCCIN ANTICIPADA

En principio, toda referencia a memoria virtual puede ocasionar dos accesos a la


memoria fsica: uno para captar el elemento de la tabla de pginas apropiada, y otro
para captar el dato deseado. Como consecuencia, un esquema de memoria virtual
directo tendra el efecto de duplicar el tiempo de acceso a memoria. Para resolver este
problema, la mayora de los esquemas de memoria virtual hacen uso de una cach
especial para los elementos de la tabla de pginas, llamada usualmente buffer de
traduccin anticipada (TLB). Este buffer funciona de la misma manera que una
memoria cach y contiene aquellos elementos de la tabla de pginas a los que se ha
accedido ms recientemente.
SEGMENTACIN
Hay otra forma en la que puede subdividirse la memoria direccionarle, conocida como
segmentacin. Mientras que la paginacin es invisible para el programador y sirve
para proporcionar al programador un espacio de direcciones mayor, la segmentacin
es usualmente visible para el programador y proporciona una forma conveniente de
organizar los programas y los datos, para asociar los privilegios y los atributos de
proteccin con las instrucciones y los datos.
GESTIN OE MEMORIA EN EL PENTIUM II Y EN EL POWERPC
Espacios de direcciones. El Pentium II incluye hardware tanto para segmentacin
como para paginacin. Ambos mecanismos se pueden desactivar, permitiendo elegir
entre cuatro formas de ver la memoria:
* Memoria no segmentada y no paginada: en este caso, la direccin virtual es la
misma que la direccin fsica. Esto es til, por ejemplo, cuando se utiliza como
controlador de baja complejidad y elevadas prestaciones.
* Memoria paginada no segmentada: la memoria se ve como un espacio de
direcciones line al paginado. La proteccin y la gestin de memoria se realizan va
paginacin. Esta es la forma preferida por ciertos sistemas operativos (por ejemplo, el
UNIX de Berkeley).
* Memoria segmentada no paginada: se ve la memoria como un conjunto de espacios
de direcciones lgicas. La ventaja de esta imagen sobre el enfoque de la paginacin
estriba en que proporciona proteccin por debajo del nivel de byte, si es necesario. Es
ms, a diferencia de la paginacin, garantiza que la tabla de traduccin necesaria se
encuentra almacenada en el chip cuando el segmento est en memoria
* Memoria segmentada paginada: se utiliza la segmentacin para definir particiones
lgicas de memoria en el control de acceso, y la paginacin se usa para gestionar la
asignacin de memoria dentro de las particiones.
El nivel de privilegio asociado a un segmento de datos. El nivel de privilegio 1 sera
utilizado por la mayor parte del sistema operativo, y el nivel 0 por una pequea parte
del mismo dedicada a la gestin de memoria, en muchos sistemas, las aplicaciones se
encuentran en el nivel 3, dejndose sin utilizar el nivel 2. Los subsistemas de
aplicacin especfica que deben protegerse debido a que implementan sus propios
mecanismos de seguridad son buenos candidatos para situarse en el nivel 2.
Paginacin. La segmentacin es una propiedad opcional y puede desactivarse.
Cuando se utiliza la segmentacin, las direcciones utilizadas en los programas son
direcciones virtuales y se convierten en direcciones lineales, como se ha descrito.
Adems, el Pentium II hace uso del buffer de traduccin rpida (TLB). El buffer puede
contener 32 elementos de la tabla de pginas. Cada vez que cambia el directorio de
pginas, el buffer se borra.
HARDWARE DE GESTIN DE MEMORIA EN EL POWERPC

El Power-PC proporciona un amplio conjunto de mecanismos de direccionamiento.


Para las implementaciones de la arquitectura de 32 bits, existe un esquema de
paginacin con un mecanismo sencillo de segmentacin. Para las implementaciones
de 64 bits, es posible la paginacin y un mecanismo ms potente de segmentacin.
Adems, tanto para las mquinas de 32 como de 64 bits hay un mecanismo hardware
alternativo, conocido como traduccin de direccin de bloque.

Das könnte Ihnen auch gefallen