Sistemas Operativos - Escuela Politécnica Nacional

Anuncio
Agenda
Sistemas Operativos
Notas Prueba #6.
Procesos.
Clase # 13
Procesos
Lunes, 13 de Mayo de 2002
Iván Bernal, Ph.D.
Escuela Politécnica Nacional
email: [email protected]
Copyright @2002, I. Bernal
05/13/2002
Sistemas Operativos
Iván Bernal, Ph.D
Ph.D..
1
05/13/2002
Sistemas Operativos
Procesos (1)
– Se ejecuta cada programa por decenas o
centenas de ms
ms..
– El CPU solo ejecuta un programa en un instante
dado.
– En un segundo el CPU puede trabajar en varios
programas.
– Se da la ilusión de paralelismo.
– En realidad pseudo
pseudo--paralelismo
paralelismo:: no es
paralelismo real en hardware (n procesadores).
Sistemas Operativos
Iván Bernal, Ph.D
Ph.D..
2
Procesos (2)
Abstracción para un programa en ejecución.
El concepto más importante en SOs
SOs..
En un sistema con Multiprogramación, el
CPU se comparte entre diferentes
programas:
05/13/2002
Iván Bernal, Ph.D
Ph.D..
3
Abstracción para un programa en ejecución.
El concepto más importante en SOs
SOs..
En un sistema con Multiprogramación, el
CPU se comparte entre diferentes
programas:
– Se ejecuta cada programa por decenas o
centenas de ms
ms..
– El CPU solo ejecuta un programa en un instante
dado.
– En un segundo el CPU puede trabajar en varios
programas.
– Se da la ilusión de paralelismo.
– En realidad pseudo
pseudo--paralelismo
paralelismo:: no es
paralelismo real en hardware (n procesadores).
05/13/2002
Sistemas Operativos
Iván Bernal, Ph.D
Ph.D..
4
1
Procesos-- Modelo (3)
Procesos
Procesos-- Modelo (4)
Procesos
Todo el software a ejecutarse, incluso el
SO, se organiza en un conjunto de procesos
secuenciales (o simplemente procesos).
Un proceso es simplemente un programa en
ejecución, lo que incluye:
– Los valores presentes o corrientes de :
PC (program
(program counter
counter).
).
Registros.
Variables.
Con este modelo, conceptualmente, se tiene
que cada programa tiene su propio CPU
virtual.
En realidad el CPU se asigna una y otra vez
entre varios procesos.
05/13/2002
Sistemas Operativos
Iván Bernal, Ph.D
Ph.D..
5
Es más fácil visualizar un conjunto de procesos
ejecutándose en (pseudo) paralelo, que tratar de
seguir los pasos de este intercambio del CPU entre
procesos.
La siguiente figura presenta:
– Cuatro procesos.
– Cada proceso corre independientemente de los
otros.
– Cada proceso tiene su PC.
– Físicamente existe un solo PC. Cuando cada
proceso se ejecuta, su PC lógico se carga en el
físico.
– Cuando el CPU se reasigna, el PC actual se
almacena en el PC lógico del proceso, en memoria.
05/13/2002
Procesos-- Modelo (5)
Procesos
Sistemas Operativos
Iván Bernal, Ph.D
Ph.D..
6
Procesos-- Modelo (6)
Procesos
Con todo el intercambio de procesos en el
CPU, la forma en la que cada proceso
ejecuta sus tareas no será uniforme y
probablemente no será reproducible.
Ningún proceso debe programarse
asumiendo aspectos de tiempo.
– Los procesos no deben ser afectados por
la multiprogramación.
– Los procesos no deben ser afectados por
velocidades relativas entre procesos.
05/13/2002
Sistemas Operativos
Iván Bernal, Ph.D
Ph.D..
7
05/13/2002
Sistemas Operativos
Iván Bernal, Ph.D
Ph.D..
8
2
Procesos-- Modelo (7)
Procesos
Procesos-- Creación (8)
Procesos
Diferencia entre proceso y programa.
– El programa es como una receta de
cocina.
– El cocinero es el CPU.
– Los ingredientes son los datos.
– Proceso es la actividad que consiste del
cocinero:
Leyendo la receta.
Trayendo los ingredientes.
Mezclando los ingredientes.
05/13/2002
Sistemas Operativos
Iván Bernal, Ph.D
Ph.D..
9
En un sistema se necesita una forma
de crear y terminar procesos como
sea necesario.
Existen cuatro factores que
determinan que un proceso se cree:
– Inicialización del sistema.
– Un proceso en ejecución utilice una
llamada al sistema.
– Un pedido de un usuario.
– Inicio de un trabajo en modo batch
batch..
05/13/2002
Procesos-- Creación (9)
Procesos
Cuando el SO es inicializado:
– Se crean generalmente varios procesos.
– Algunos son para interactuar con el
usuario (foreground
(foreground processes
processes).
).
– Algunos no están para servir un usuario
en particular (background
(background processes
processes).
).
Un proceso para aceptar correo electrónico
para todos los usuarios de la máquina.
– Está “dormido” la mayor parte del día y reacciona
cuando llegan mensajes.
05/13/2002
Un proceso para un servidor de Web, que
despierta cuando exista un pedido por una
página.
Sistemas Operativos
Iván Bernal, Ph.D
Ph.D..
11
Sistemas Operativos
Iván Bernal, Ph.D
Ph.D..
10
Procesos-- Creación (10)
Procesos
Los procesos que permanecen en el
background para realizar alguna
actividad se denominan daemons
(demonios
demonios)).
– Sistemas grandes pueden tener
docenas de ellos.
En UNIX, el programa ps lista los
procesos existentes.
En Windows, CTRLCTRL- ALT
ALT-- DEL/
TaskManager presentan lo que está en
ejecución.
05/13/2002
Sistemas Operativos
Iván Bernal, Ph.D
Ph.D..
12
3
Procesos-- Creación (11)
Procesos
Procesos-- Creación (12)
Procesos
Creación con llamadas al Sistema.
– Un proceso existente puede hacer
llamadas al sistema para crear uno o
varios procesos que le ayuden en sus
tareas.
– Si se desea traer por la red una gran
cantidad de datos:
Un proceso puede manejar esta tarea y
poner los datos en un buffer compartido.
Otro proceso puede realizar el
procesamiento de estos datos.
05/13/2002
Sistemas Operativos
Iván Bernal, Ph.D
Ph.D..
13
En sistemas interactivos, un usuario
puede crear procesos escribiendo un
comando o haciendo doble click en un
ícono..
ícono
– Se crean un proceso y se ejecuta el
programa seleccionado.
– En UNIX, con XX-Windows, el proceso pasa
a controlar la ventana de comandos desde
la que se creo el proceso.
– En Windows, el proceso no tiene ventanas
pero puede construirlas.
05/13/2002
Sistemas Operativos
Iván Bernal, Ph.D
Ph.D..
14
Procesos-- Creación (13)
Procesos
Creación de procesos: sistemas batch
batch..
– Típicamente para grandes mainframes
mainframes..
05/13/2002
Sistemas Operativos
Iván Bernal, Ph.D
Ph.D..
15
4
Descargar