Sistemas Operativos

Post on 06-Jul-2015

695 views 0 download

Transcript of Sistemas Operativos

Sistemas Operativos I

FORMATO DE INSTRUCCIÓN

COD. OPERACIÓN

DIRECCIÓN

0 3 4 15

0 0 0 1 1 0 0 1 0 0 0 1 0 0 1 1

0 3 4 15

• La parte cod op (los primeros 4 bits) especifican cuál instrucción será ejecutada.

• La parte de la dirección (los 12 bits restantes) especifican la dirección de memoria, que participa de la operación.

magnitudSigno

0 1 15

Registros Internos de la CPUPC: Contador de Programa Dirección de la Instrucción.IR: Registro de la Instrucción Instrucción que está ejecutándoseAC: Acumulador Almacenamiento Temporal

Listado de códigos de operación

0001 Cargar de la memoria al acumulador0011 Cargar AC desde E/S0010 Almacenar el acumulador en memoria0100 Resetear el AC0101 Sumar al AC el contenido de la memoria0111 Guarda AC en E/S

Ejemplo de ejecución de un programa1. EL PC contiene 300, la dirección de la primera instrucción. Se

cargará el contenido de la ubicación 300 en el IR.

2. Los primeros 4 bits de IR indican que se cargará el AC. Los 12 bits restantes especifican la dirección, .(0001 001110101100).

• Se incrementa el PC y se lee la siguiente instrucción.

• El contenido anterior de AC y el contenido de la ubicación 001110101101 se suman y el resultado se almacena en el AC.

• Se incrementa el PC y se le la instrucción siguiente.

• El contenido del AC se almacena en la ubicación 001110101101

Continuación del Ejemplo0001 Cargar de la memoria al acumulador 0010 Almacenar el acumulador en memoria 0101 Sumar al AC el contenido de la memia

0 0 0 1 001110101100300

MEMORIA

0 1 0 1 001110101101301

0 0 1 0 001110101101302

0 000000000000011940

0 000 000000000010941

.

.

REG. CPU

3 0 0 PC

0 0 0 1 001110101100

AC

IR

0 0 0 1 001110101100300

MEMORIA

0 1 0 1 001110101101301

0 0 1 0 001110101101302

0 000000000000011940

0 000 000000000010941

.

.

REG. CPU

3 0 1 PC

0 0 0 1 001110101100

AC

IR

0 000000000000011

0 0 0 1 001110101100300

MEMORIA

0 1 0 1 001110101101301

0 0 1 0 001110101101302

0 000000000000011940

0 000 000000000010941

.

.

REG. CPU

3 0 2 PC

AC

IR

0 000000000000101

0 1 0 1 001110101101

0 0 0 1 001110101100300

MEMORIA

0 1 0 1 001110101101301

0 0 1 0 001110101101302

0 000000000000011940

0 000 000000000010941

.

.

REG. CPU

3 0 1 PC

AC

IR

0 000000000000011

0 1 0 1 001110101101

3+2=5

0 0 0 1 001110101100300

MEMORIA

0 1 0 1 001110101101301

0 0 1 0 001110101101302

0 000000000000011940

0 000000000000101941

.

.

REG. CPU

3 0 3 PC

AC

IR

0 000000000000101

0 0 0 1 001110101100300

MEMORIA

0 1 0 1 001110101101301

0 0 1 0 001110101101302

0 000000000000011940

0 000 000000000010941

.

.

REG. CPU

3 0 2 PC

AC

IR

0 000000000000101

0 0 1 0 001110101101

0 0 1 0 001110101101

Desde otra vista general

Del Ejemplo

......

1 9 4 05 9 4 12 9 4 1

0 0 0 3 0 0 0 2

300301302

940941

MemoriaRegistros de la CPU

PCAC

IR

3 0 0

1 9 4 0

El procesador contiene 300, la direccion de la primera instrucción.

•Los primeros 4 bits del IR indican que se cargara el AC, los 12 bits restantes indican la direccion.

......

1 9 4 05 9 4 12 9 4 1

0 0 0 3 0 0 0 2

300301302

940941

MemoriaRegistros de la CPU

PCAC

IR

3 0 0

1 9 4 00 0 0 3

Se incrementa el PC y se lee la instrucción siguiente

......

1 9 4 05 9 4 12 9 4 1

0 0 0 3 0 0 0 2

300301302

940941

MemoriaRegistros de la CPU

PCAC

IR

3 0 1

5 9 4 10 0 0 3

El contenido anterior del acumuladory el contenido dela ubicación 941 se suman y el resultado se almacena en el AC

......

1 9 4 05 9 4 12 9 4 1

0 0 0 3 0 0 0 2

300301302

940941

MemoriaRegistros de la CPU

PCAC

IR

3 0 1

1 9 4 0

0003 + 0002 = 0005

0 0 0 5

Ejemplo de ejecución de un programa1. La dirección de la primera instrucción, EL PC contiene 500.

Se cargará el contenido de la ubicación 500 en el IR.

2. Los primeros 4 bits de IR indican que se cargará el AC. Los 12 bits restantes especifican la dirección, .(0001 1101010010).

• Se incrementa el PC y se lee la siguiente instrucción.

• El contenido anterior de AC y el contenido de la ubicación 1101010010 se suman y el resultado se almacena en el AC.

• Se incrementa el PC y se le la instrucción siguiente.

• El contenido anterior de AC y el contenido de la ubicación 1101010100, se suman y el resultado se almacena en el AC.

0 0 0 1 1101010010500

MEMORIA

0 1 0 1 1101010011501

0 1 0 1 1101010100502

0 000000000000111850

0 000 000000000011851

.

.

REG. CPU

PC

AC

IR

0 000 000000000000852

Evolución del Sistema Operativo

Proceso• También son llamados tareas.

• Puede ser considerado:

– Lista de la secuencia de instrucciones que ejecuta.

• Los procesos llevan a cabo tareas en el sistema operativo.

• Es un conjunto de instrucciones almacenados en el HD, se activan cuando se les asigna un espacio de direcciones.

• Es una entidad dinámica que cambia a medida que el procesador ejecuta las instrucciones.

• Un SO es multi-proceso, en el sentido que pueden ejecutarse varios procesos a la vez.

• Un SO es multi-proceso, en el sentido que puede correr en una máquina con varios procesadores.

PROCESOS

EN EJECUCIÓN

BLOQUEADO/espera/

LISTO

1 23

4

• UN PROCESO PUEDE ESTAR EN: EJECUCIÓN, BLOQUEADO O LISTO

1. BLOQUEO2. TIEMPO EXCEDIDO3. DESPACHO4. DESPERTAR

1. EL PROCESO SE BLOQUEA EN ESPERA DE DATOS.2. EL PLANIFICADOR ELIGE OTRO PROCESO3. EL PLANIFICADOR ELIGE ESTE PROCESO4. LOS DATOS ESTÁN DISPONIBLES.

• El sistema operativo debe intercalar la ejecución de un conjunto de procesos para maximizar la utilización del procesador ofreciendo a la vez un tiempo de respuesta razonable.

• El sistema operativo debe asignar los recursos a los procesos en conformidad con una política especifica (por ejemplo, ciertas funciones o aplicaciones son de prioridad más alta), evitando, al mismo tiempo, el interbloqueo.1

• El sistema operativo podría tener que dar soporte a la comunicación entre procesos y la creación de procesos por parte del usuario, labores que pueden ser de ayuda en la estructuración de las aplicaciones.

Bloque de control de Proceso

Apuntador Estado del Proceso

# del Proceso

Contador de Programa

Registros

Límites de MemoriaLista de archivos

abiertos...

Estados de Procesos

Listo

Nuevo

Espera

Ejecución

Terminadoadmitido

salir

interrupción

Terminación de E/SO Evento Espera de E/S

O Evento

Despecho Del

Planificador

•NUEVO: El Proceso se está creando•EJECUCIÓN: Se están ejecutando Instrucciones•EN ESPERA: El Proceso está esperando que ocurra algún evento•LISTO: El Proceso está en espera de ser asignado a un Procesador•TERMINADO: El Proceso ha terminado su ejecución

Planificación de Procesos

• La multiprogramación permite que varios procesos, compitan por el uso del CPU

• La Planificación estará:1. Cola de Planificación

2. Planificadores

3. Conmutación del Contexto

1 Cola de Planificación

• Cola de Trabajo

• Cola de procesos listos

• Cola de dispositivo a cola de E/S

2 Planificadores

• De largo plazo o planificador de trabajos

• De corto plazo o planificador de CPU

3 Conmutación de Contexto

• Guardar el estado del proceso anterior y cargar el estado guardado del nuevo proceso.

OPERACIONES ENTRE PROCESOS

• Creación

• Terminación

Creación de Procesos• Un Proceso puede crear varios procesos, el

proceso creador se le conoce como Proceso Padre y así sucesivamente.

• En general un proceso requiere ciertos recursos como:– Tiempo de CPU

– Memoria

– Archivos

– Y dispositivos de E/S

• Los Procesos pueden obtener los recursos que requiere, por alguna de las siguientes opciones:

– Puede restringirse al conjunto de recursos del Proceso Padre.

– Puede tener que compartir los recursos entre sus hijos.

– Puede ser capáz de compartir algunos recursos, entre varios de sus hijos.

Además de los recursos, también los datos pueden pasarse del Proceso Padre al Proceso Hijo

Padre

Hijo

Padre

Hijos

Padre

Hijos

HijosHijo

• Cada vez que el SO crea un proceso se procede de la siguiente manera:– Asignar un único identificador del proceso.– Asignar espacio para el proceso. Elementos de la imagen

del proceso. Espacio de direcciones privado, de la pila– Establecer los enlaces apropiados. Colocarlo en la lista de

procesos listos o suspendidos.– Crear otras estructuras de control.

BIBLIOGRAFÍA

• Sistemas Operativos, Diseño e Implementación, Andrew S. Tanenbaum.

• Sistemas Operativos, William Stalling

• Material del ISED

• Vídeos de Youtube