27
Sistemas Operativos I

Sistemas Operativos

Embed Size (px)

Citation preview

Page 1: Sistemas Operativos

Sistemas Operativos I

Page 2: Sistemas Operativos

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

Page 3: Sistemas Operativos

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

Page 4: Sistemas Operativos

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

Page 5: Sistemas Operativos

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

Page 6: Sistemas Operativos

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

Page 7: Sistemas Operativos

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

Page 8: Sistemas Operativos

Desde otra vista general

Page 9: Sistemas Operativos

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.

Page 10: Sistemas Operativos

•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

Page 11: Sistemas Operativos

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

Page 12: Sistemas Operativos

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

Page 13: Sistemas Operativos

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.

Page 14: Sistemas Operativos

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

Page 15: Sistemas Operativos

Evolución del Sistema Operativo

Page 16: Sistemas Operativos

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.

Page 17: Sistemas Operativos

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.

Page 18: Sistemas Operativos

• 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.

Page 19: Sistemas Operativos

Bloque de control de Proceso

Apuntador Estado del Proceso

# del Proceso

Contador de Programa

Registros

Límites de MemoriaLista de archivos

abiertos...

Page 20: Sistemas Operativos

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

Page 21: Sistemas Operativos

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

Page 22: Sistemas Operativos

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

Page 23: Sistemas Operativos

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

Page 24: Sistemas Operativos

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

Page 25: Sistemas Operativos

• 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

Page 26: Sistemas Operativos

• 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.

Page 27: Sistemas Operativos

BIBLIOGRAFÍA

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

• Sistemas Operativos, William Stalling

• Material del ISED

• Vídeos de Youtube