Grupo1  Integrantes: Karina A. Ojeda H. Jennifer B. Samaniego F. Silvana P. Vélez M. Tema:  Concepto de Proceso Planificación de procesos
Contenido 3.1 Concepto de Proceso 3.1.1 El Proceso  3.1.2 Estado del proceso  3.1.3 Bloqueo de control de proceso 3.1.4 Hebras 3.2 Planificación de procesos 3.2.1 Colas de planificación 3.2.2 Planificadores 3.2.3 Cambio de contexto
Objetivos  Presentar el concepto de proceso. Describir el mecanismo de planificación de un Proceso.
Introducción  Tomando en cuenta la evolución que se ha  tenido desde los primeros sistemas informáticos que permitían la ejecución de un solo programa a la vez, y los actuales que permiten que se carguen y ejecuten en memoria múltiples programas a la vez, tenemos el resultado de un proceso como un programa en ejecución Por lo tanto un sistema esta formado por una colección de procesos.
3.1 Concepto de Proceso ¿Cómo llamar a  las diversas Actividades del CPU? Para dar repuesta a esta interrogante podemos decir que: Los sistemas de procesos por lotes ejecutan trabajos, mientras que un sistema de tiempo compartido tiene programas de usuario o tareas. Incluso los sistemas mono usuario como Microsoft Windows en el cual el usuario puede ejecutar uno o varios programas a la vez, el SO puede tener que dar soporte a sus propias actividades internas programadas Todas estas actividades pueden ser denominadas procesos.
3.1.1 El Proceso  Proceso: Programa en ejecución, mas que el código de un programa (sección de texto) Incluye la actividad actual que queda representada por el valor del  contador de programa,  y por contenidos de registro del procesador Un proceso incluye: Pila del proceso: contiene datos temporales. Sección de datos: contiene las variables  globales.
Cúmulo de Memoria: memoria que se asigna al proceso en tiempo de ejecución.
Programa: no es un proceso, es una Entidad pasiva con lista de acciones almacenadas en un disco (Archivo ejecutable). Proceso: entidad activa con un contador de programas, que especifica la siguiente acción, ejecuta un conjunto de recursos asociados. Un programa se convierte en proceso cuando se carga en memoria un archivo ejecutable. Técnicas para cargar archivos ejecutables: Doble clic sobre un icono que represente un archivo ejecutable e introducir el nombre del archivo ejecutable en la línea de comandos. Puede haber dos procesos asociados con el mismo programa los mismos que se consideran dos secuencias de ejecución separadas  Un proceso crea varios procesos a medida que se ejecuta.
3.1.2 Estado del proceso  El proceso cambia de estado a menudo que se va ejecutando . Pueden estar en cualquiera de los siguientes estados
Nuevo: el proceso se esta creando. En ejecución: se ejecutan las instrucciones. En espera: esta a la espera que se produzca un suceso (operación E/S, recepción de una señal). Preparando: esta a la espera de que asignen a un procesador. Terminado: se ha terminado la ejecución del proceso. Solo puede haber un proceso ejecutándose en cualquier procesador en cada instante concreto, pero si pueden haber muchos procesos preparándose y en espera.
3.1.3  Bloque  de control de  proceso Cada proceso es representado mediante un  Bloque de control de proceso  o también  Bloque de control de tarea . Elementos de información asociados con un proceso especifico: Estado del proceso:  puede ser nuevo, preparado, en ejecución en espera, detenido.  Contador de programa:  indica la dirección de la siguiente instrucción que va a ejecutar dicho proceso. Registro de la CPU:  varían en cuanto a n ú mero y tipo. Dependiendo de la arquitectura de la computadora, incluyen los acumuladores, registro de índice ,punteros de pila y registros de propósito general
Esta información debe guardarse junto al contador de programa cuando se produce una interrupción, para que luego pueda continuar ejecutándose correctamente. Información de planificación de la CPU:  Esta información incluye  la prioridad del proceso, los punteros a las colas de planificación y cualesquiera otros parámetros de planificación que se requieren.  Informe de gestión de memoria:  Incluye información acerca del valor de los registros base y límite, las tablas de paginas o las tablas de segmento, dependiendo del mecanismo de gestión de memoria utilizado por el sistemas operativo. Información contable:  Esta información incluye  la cantidad de CPU y de tiempo real empleados, los limites de tiempo asignados, los números de cuenta, el numero de trabajo o de proceso. Información del Estado E/s: Esta información incluye la lista de los dispositivos de E/S asignados al proceso, una lista de los archivos abiertos. El PCB sirve simplemente como repositorio de cualquier información que pueda variar de un proceso a otro .
3.1.4  Hebras El  modelo  de  proceso  hasta  ahora   visto   implica   un   proceso   es  un  programa que tiene una sola hebra  de  ejecución.
Ejemplo :  Cuando  un  proceso   está   ejecutando  un  procesador de texto se ejecuta una sola hebra de instrucciones, esta única hebra de control permite al proceso realizar sólo una tarea cada vez .Por ejemplo el usuario no puede escribir simultáneamente caracteres y pasar el corrector ortográfico dentro del mismo proceso, muchos sistemas operativos modernos han ampliado el concepto de proceso para permitir que un programa tenga múltiples hebras de ejecución por lo tanto puede a llevar a cabo más de una tarea al mismo tiempo. 3.2  Planificación  de  procesos El  objetivo  de la  multiprogramación   es   tener  en  ejecución   varios   procesos  al  mismo   tiempo  con el fin de  maximizar  la  utilización  de la CPU. El  objetivo de los sistemas de tiempo compartido es conmutar la CPU entre los distintos procesos con tanta frecuencia que los usuarios puedan interactuar con cada programa mientras este se ejecuta. El  planificador  de  procesos   selecciona  un  proceso disponible. En los  sistemas  de un solo  procesador   nunca   habrá   mas  de un  proceso  en  ejecución  ,  si  hay  mas   tendrá   que esperar hasta que la CPU este libre y pueda asignar otro proceso .
 
3.2.1 Colas de  planificación   Los procesos que entran en el sistema se colocan en una cola de trabajos.  Los procesos que residen en la memoria principal y están preparados  y en espera de ejecutarse se mantienen en una lista denominada  cola de procesos preparados  se almacena en forma de listas enlazadas  El sistema también incluye otras colas. Cuando se asigna la CPU a un proceso, éste se ejecuta durante un rato y finalmente termina, es interrumpido o espera a que se produzca un determinado  suceso, como la terminación de una solicitud de E/S. Suponga que el proceso hace una solicitud de E/S a un dispositivo compartido, como por ejemplo un disco. Dado que hay muchos  procesos en el sistema, el disco puede estar ocupado con la solicitud de E/S de algún otro proceso. Por tanto, nuestro proceso puede tener que esperar para poder acceder al disco. La lista de procesos en espera de un determinado dispositivo de E/S se denomina  cola del dispositivo.  Dispositivo tiene su propia cola (Figura 3.6).
 
Una representación que habitualmente se emplea para explicar la planificación de procesos  el  diagrama de colas,  como el mostrado en la Figura 3.7, donde cada rectángulo representa una cola. Hay dos tipos de colas: la cola de procesos preparados y un conjunto de colas de dispositivos. Los círculos representan los recursos que dan servicio a las colas y las flechas indican el flujo de procesos en el sistema.
Cada proceso nuevo se coloca inicialmente en la cola de procesos preparados, donde espera hasta que es seleccionado para ejecución, es decir, hasta que es despachado. Una vez que se asig­na la CPU al proceso y éste comienza a ejecutarse, se puede producir uno de los sucesos siguientes: El proceso podría ejecutar una solicitud de E/S y ser colocado, como consecuencia, en una cola de E/S. El proceso podría crear un nuevo subproceso y esperar a que éste termine. El proceso podría ser desalojado de la CPU como resultado de una interrupción y puesto de nuevo en la cola de procesos preparados. En los dos primeros casos, el proceso terminará, antes o después, por cambiar del estado de espera al estado preparado y será colocado de nuevo en la cola de procesos preparados. Los pro­cesos siguen este ciclo hasta que termina su ejecución, momento en el que se elimina el proceso de todas las colas y se desasignan su PCB y sus recursos.  
PLANIFICADORES El sistema operativo, como parte de la tarea de planificación, debe de seleccionar de alguna de estas manera los procesos que se encuentran en estas colas. El proceso de selección se realiza mediante un  planificador  apropiado. -Planificador a largo Plazo o planificador de trabajos. -Planificador a corto Plazo o planificador de la CPU. Planificador a largo Plazo o planificador de trabajos.-  Selecciona procesos de esta cola y los carga en memoria para su ejecución.   Planificador a corto Plazo o planificador de la CPU.-  Selecciona de entre los procesos que ya están preparados para ser ejecutados y asigna la CPU  a uno de ellos.
PLANIFICADOR A LARGO Y CORTO PLAZO La principal diferencia entre estos dos planificadores se encuentra en la frecuencia de ejecución. El planificador a corto plazo se ejecuta cada vez cada 100 milisegundos(debe de ser rápido).  El planificador a largo plazo controla el  grado de multiprogramación(el numero de procesos en memoria).
En general la mayoría de los procesos pueden describirse como limitados por la E/S o limitados por la CPU.  Un  proceso limitado por E/S  es aquel que interviene la mayor parte del tiempo en operaciones de E/S en lugar de realizar cálculos. Un  proceso limitado por la CPU  genera solicitudes de E/S de poca frecuencia, usando la mayor parte de su tiempo en realizar cálculos. Es importante que el planificador a largo plazo seleccione una adecuada  mezcla   de procesos,  equilibrando los procesos limitados por E/S y por los procesos limitado por la CPU.
CAMBIO DE CONTEXTO Un  cambio de contexto  consiste en la ejecución de una rutina perteneciente al núcleo del sistema operativo multitarea de una computadora, cuyo propósito es parar la ejecución de un proceso  para dar paso a la ejecución de otro distinto. Cuando se produce una interrupción el sistema tiene que guardar el contexto actual del proceso que se  esta ejecutando en la CPU, de modo que pueda restaurar dicho contexto cuando su procesamiento concluya, suspendiendo el proceso y reanudándola después.  Es decir realizamos un  salvaguarda  de estado  actual de la CPU y una  restauración del estado  para reanudar las operaciones.
Cuando esto ocurre, el sistema operativo ejecuta inmediatamente la rutina de  cambio de contexto . Esta rutina realiza las siguientes operaciones en el siguiente orden: Salvar el estado del programa que se estaba ejecutando . El estado, también denominado  contexto , consiste en los valores de todos los registros del microprocesador. Se copian en la memoria principal. Seleccionar otro programa para ejecutar . Entre todos los programas que estén preparados para ejecutarse, la rutina selecciona uno de ellos siguiendo algún algoritmo equitativo. Restaurar el estado del programa seleccionado . Para ello, se toma el estado previamente copiado en la memoria principal y se vuelca en los registros del microprocesador. Ejecutar el programa seleccionado . La rutina termina su ejecución saltando a la instrucción que estaba pendiente de ejecutar en el programa seleccionado. Este ciclo se repite bien cada vez que ocurre un evento de entrada/salida, bien cuando vence un temporizador programado en el hardware. Dicho temporizador hace saltar una interrupción cada 150 milisegundos aproximadamente (según sistema operativo). La ejecución concurrente también es aplicable a computadoras multiprocesador. En este caso, se llevan a cabo cambios de contexto en cada microprocesador de manera independiente.
En si el cambio de contexto se lo conoce como la conmutación de la CPU proceso requiere una salvaguarda del estado del proceso actual y una restauración del estado de otro proceso diferente. El tiempo dedicado al cambio de contexto es tiempo desperdiciado, dado que el sistema no realiza ningún trabajo útil durante la conmutación. La velocidad del cambio de contexto varía de una máquina a otra, dependiendo de la velocidad de memoria, del numero de registros que tengan que copiarse y de la existencia de instrucciones especiales(como por ej. Una instrucción para cargar o almacenar todos los registros). Las velocidades típicas son del orden de unos pocos milisegundos. Como se conserva el espacio de memoria y que cantidad de trabajo es necesario para conservarlo depende del método de gestión de memoria utilizado por el sistema operativo .

Más contenido relacionado

PPTX
GESTION DE PROCESOS Sistemas Operativos
PPTX
Servicios de los Sistemas Operativos para la Gestion de Procesos
PDF
Gestión de procesos en sistemas operativos
PPTX
Administración de procesos en el S.O.
PPTX
Sistemas operativos procesos
PPTX
Sistemas Operativos Gestion de procesos
PPTX
Administración de procesos y del procesador
PDF
Vision general de los sistemas operativos
GESTION DE PROCESOS Sistemas Operativos
Servicios de los Sistemas Operativos para la Gestion de Procesos
Gestión de procesos en sistemas operativos
Administración de procesos en el S.O.
Sistemas operativos procesos
Sistemas Operativos Gestion de procesos
Administración de procesos y del procesador
Vision general de los sistemas operativos

La actualidad más candente (20)

PDF
Introduccion a la administracion de los procesos y el procesador (S.O)
PPTX
Descripcion y control de procesos
PDF
Estados de un proceso
PDF
Unidad 4: Procesos y Administracion del Procesador
PPT
Operaciones Sobre Procesos
PPT
SISTEMAS OPERATIVOS
DOCX
Creacion y terminacion de procesos
PPS
Unidad 2 AdministracióN De Procesos
PDF
Administración de cpu
PPTX
Gestion Procesos, Sistemas Operativos
PPTX
Procesos de los sistemas operativos
PPTX
Sistemas operativos unidad 2
PPTX
Sistema de computación procesos
PPTX
PPTX
Manejo de los procesos en los sistemas operativos
PPT
Administracion de perifericos
PPTX
Unidad 2 Sistemas Operativos
PPTX
Unidad 2 sistemas operativos 2011
DOCX
Estados de un proceso sistemas operativos-
PDF
Planificacion windows
Introduccion a la administracion de los procesos y el procesador (S.O)
Descripcion y control de procesos
Estados de un proceso
Unidad 4: Procesos y Administracion del Procesador
Operaciones Sobre Procesos
SISTEMAS OPERATIVOS
Creacion y terminacion de procesos
Unidad 2 AdministracióN De Procesos
Administración de cpu
Gestion Procesos, Sistemas Operativos
Procesos de los sistemas operativos
Sistemas operativos unidad 2
Sistema de computación procesos
Manejo de los procesos en los sistemas operativos
Administracion de perifericos
Unidad 2 Sistemas Operativos
Unidad 2 sistemas operativos 2011
Estados de un proceso sistemas operativos-
Planificacion windows
Publicidad

Destacado (20)

PPTX
Modelo de estados
PPTX
Modelos de estados
PPT
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
PDF
Números Reales
PPTX
PresentacióN De Nuestros Productos
PDF
Lynnie certificates
PPTX
Datacenter dinamico parte1
PPTX
PPS
Comer Frutas
PDF
Nathan Stern Voisin-age
PPT
Informatique_Libertés_Identités
PPTX
Volley championnat de france2012 copie
PDF
CSID idea detectives Presentation Mai 2010
PDF
How sociable ? 2ème Baromètre (automne 2011)
PPT
Conference - Club canadien de Toronto, 15 decembre 09
PDF
DefiCamp Sophia, 14/1/2015 - Les fiches idées
PDF
Conference intelligence
PDF
Volumen2 - Proyecto de Ley de Creación de la Universidad Yachay
PDF
Le Plein D IdéEs Janvier 2010 Vf
PPT
E Id Card
Modelo de estados
Modelos de estados
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
Números Reales
PresentacióN De Nuestros Productos
Lynnie certificates
Datacenter dinamico parte1
Comer Frutas
Nathan Stern Voisin-age
Informatique_Libertés_Identités
Volley championnat de france2012 copie
CSID idea detectives Presentation Mai 2010
How sociable ? 2ème Baromètre (automne 2011)
Conference - Club canadien de Toronto, 15 decembre 09
DefiCamp Sophia, 14/1/2015 - Les fiches idées
Conference intelligence
Volumen2 - Proyecto de Ley de Creación de la Universidad Yachay
Le Plein D IdéEs Janvier 2010 Vf
E Id Card
Publicidad

Similar a Grupo1 (20)

PPT
Prueba
PPSX
Introducción a los procesos alfa ii
PPTX
S..O. Unidad 2
PDF
Gestión de procesos
PDF
U n i d a d 2 sist oper
PPTX
Introduccion a los procesos
PDF
104842258 unidad-2-administracion-de-procesos-del-procesador
PDF
Gestión de Recursos de un Sistema Operativo-Book-MGHE-ar.pdf
PPTX
UNIDAD 4. CONOCER LOS PROCESOS Y ADMINISTRACIÓN DEL PROCESADOR.pptx
PPTX
Sistemas operativos - 6to SSI
DOC
Procesos de un sistema operativo
PPT
Apuntes02ele
PPT
Balotario_Examen_Parcial-dsfasfsafSO-G1.ppt
PPT
Balotario_Examen_ParciFGSDFAFASSFAal-SO.ppt
PPT
Balotario_Examen_Parcial-SOESGDFGFFDHGSFGH.ppt
PPT
Manejo de procesos y procesador
PPTX
Proceso
Prueba
Introducción a los procesos alfa ii
S..O. Unidad 2
Gestión de procesos
U n i d a d 2 sist oper
Introduccion a los procesos
104842258 unidad-2-administracion-de-procesos-del-procesador
Gestión de Recursos de un Sistema Operativo-Book-MGHE-ar.pdf
UNIDAD 4. CONOCER LOS PROCESOS Y ADMINISTRACIÓN DEL PROCESADOR.pptx
Sistemas operativos - 6to SSI
Procesos de un sistema operativo
Apuntes02ele
Balotario_Examen_Parcial-dsfasfsafSO-G1.ppt
Balotario_Examen_ParciFGSDFAFASSFAal-SO.ppt
Balotario_Examen_Parcial-SOESGDFGFFDHGSFGH.ppt
Manejo de procesos y procesador
Proceso

Más de betzi.15 (18)

PDF
Manual de uso del aplicativo Virtopsia
PDF
Instructivo Virtopsia
PDF
Manual de usuario Regiones Anatómicas
PDF
Instructivo Regiones Anatómicas
PDF
Caso i octubrefebrero2020final
PDF
Proyecto ed y m c
PPTX
Espo ed
PPT
Grupo1 Hhh
PPS
Floresamistad[2]
PPS
EltiemponosenseñA
PPS
El.Oso.Polar
PPT
Ajax
PPT
Acciones Mas Comunes Sobre Capas
PPS
Los Ojos
PPS
En Que Manos Esta Tu Vida
PPT
Impresoras Y Escaneres Diapositivas
PPT
Sistema Operativo Linuxinfo
PPS
El Moo
Manual de uso del aplicativo Virtopsia
Instructivo Virtopsia
Manual de usuario Regiones Anatómicas
Instructivo Regiones Anatómicas
Caso i octubrefebrero2020final
Proyecto ed y m c
Espo ed
Grupo1 Hhh
Floresamistad[2]
EltiemponosenseñA
El.Oso.Polar
Ajax
Acciones Mas Comunes Sobre Capas
Los Ojos
En Que Manos Esta Tu Vida
Impresoras Y Escaneres Diapositivas
Sistema Operativo Linuxinfo
El Moo

Grupo1

  • 1. Grupo1 Integrantes: Karina A. Ojeda H. Jennifer B. Samaniego F. Silvana P. Vélez M. Tema: Concepto de Proceso Planificación de procesos
  • 2. Contenido 3.1 Concepto de Proceso 3.1.1 El Proceso 3.1.2 Estado del proceso 3.1.3 Bloqueo de control de proceso 3.1.4 Hebras 3.2 Planificación de procesos 3.2.1 Colas de planificación 3.2.2 Planificadores 3.2.3 Cambio de contexto
  • 3. Objetivos Presentar el concepto de proceso. Describir el mecanismo de planificación de un Proceso.
  • 4. Introducción Tomando en cuenta la evolución que se ha tenido desde los primeros sistemas informáticos que permitían la ejecución de un solo programa a la vez, y los actuales que permiten que se carguen y ejecuten en memoria múltiples programas a la vez, tenemos el resultado de un proceso como un programa en ejecución Por lo tanto un sistema esta formado por una colección de procesos.
  • 5. 3.1 Concepto de Proceso ¿Cómo llamar a las diversas Actividades del CPU? Para dar repuesta a esta interrogante podemos decir que: Los sistemas de procesos por lotes ejecutan trabajos, mientras que un sistema de tiempo compartido tiene programas de usuario o tareas. Incluso los sistemas mono usuario como Microsoft Windows en el cual el usuario puede ejecutar uno o varios programas a la vez, el SO puede tener que dar soporte a sus propias actividades internas programadas Todas estas actividades pueden ser denominadas procesos.
  • 6. 3.1.1 El Proceso Proceso: Programa en ejecución, mas que el código de un programa (sección de texto) Incluye la actividad actual que queda representada por el valor del contador de programa, y por contenidos de registro del procesador Un proceso incluye: Pila del proceso: contiene datos temporales. Sección de datos: contiene las variables globales.
  • 7. Cúmulo de Memoria: memoria que se asigna al proceso en tiempo de ejecución.
  • 8. Programa: no es un proceso, es una Entidad pasiva con lista de acciones almacenadas en un disco (Archivo ejecutable). Proceso: entidad activa con un contador de programas, que especifica la siguiente acción, ejecuta un conjunto de recursos asociados. Un programa se convierte en proceso cuando se carga en memoria un archivo ejecutable. Técnicas para cargar archivos ejecutables: Doble clic sobre un icono que represente un archivo ejecutable e introducir el nombre del archivo ejecutable en la línea de comandos. Puede haber dos procesos asociados con el mismo programa los mismos que se consideran dos secuencias de ejecución separadas Un proceso crea varios procesos a medida que se ejecuta.
  • 9. 3.1.2 Estado del proceso El proceso cambia de estado a menudo que se va ejecutando . Pueden estar en cualquiera de los siguientes estados
  • 10. Nuevo: el proceso se esta creando. En ejecución: se ejecutan las instrucciones. En espera: esta a la espera que se produzca un suceso (operación E/S, recepción de una señal). Preparando: esta a la espera de que asignen a un procesador. Terminado: se ha terminado la ejecución del proceso. Solo puede haber un proceso ejecutándose en cualquier procesador en cada instante concreto, pero si pueden haber muchos procesos preparándose y en espera.
  • 11. 3.1.3 Bloque de control de proceso Cada proceso es representado mediante un Bloque de control de proceso o también Bloque de control de tarea . Elementos de información asociados con un proceso especifico: Estado del proceso: puede ser nuevo, preparado, en ejecución en espera, detenido. Contador de programa: indica la dirección de la siguiente instrucción que va a ejecutar dicho proceso. Registro de la CPU: varían en cuanto a n ú mero y tipo. Dependiendo de la arquitectura de la computadora, incluyen los acumuladores, registro de índice ,punteros de pila y registros de propósito general
  • 12. Esta información debe guardarse junto al contador de programa cuando se produce una interrupción, para que luego pueda continuar ejecutándose correctamente. Información de planificación de la CPU: Esta información incluye la prioridad del proceso, los punteros a las colas de planificación y cualesquiera otros parámetros de planificación que se requieren. Informe de gestión de memoria: Incluye información acerca del valor de los registros base y límite, las tablas de paginas o las tablas de segmento, dependiendo del mecanismo de gestión de memoria utilizado por el sistemas operativo. Información contable: Esta información incluye la cantidad de CPU y de tiempo real empleados, los limites de tiempo asignados, los números de cuenta, el numero de trabajo o de proceso. Información del Estado E/s: Esta información incluye la lista de los dispositivos de E/S asignados al proceso, una lista de los archivos abiertos. El PCB sirve simplemente como repositorio de cualquier información que pueda variar de un proceso a otro .
  • 13. 3.1.4 Hebras El modelo de proceso hasta ahora visto implica un proceso es un programa que tiene una sola hebra de ejecución.
  • 14. Ejemplo : Cuando un proceso está ejecutando un procesador de texto se ejecuta una sola hebra de instrucciones, esta única hebra de control permite al proceso realizar sólo una tarea cada vez .Por ejemplo el usuario no puede escribir simultáneamente caracteres y pasar el corrector ortográfico dentro del mismo proceso, muchos sistemas operativos modernos han ampliado el concepto de proceso para permitir que un programa tenga múltiples hebras de ejecución por lo tanto puede a llevar a cabo más de una tarea al mismo tiempo. 3.2 Planificación de procesos El objetivo de la multiprogramación es tener en ejecución varios procesos al mismo tiempo con el fin de maximizar la utilización de la CPU. El objetivo de los sistemas de tiempo compartido es conmutar la CPU entre los distintos procesos con tanta frecuencia que los usuarios puedan interactuar con cada programa mientras este se ejecuta. El planificador de procesos selecciona un proceso disponible. En los sistemas de un solo procesador nunca habrá mas de un proceso en ejecución , si hay mas tendrá que esperar hasta que la CPU este libre y pueda asignar otro proceso .
  • 15.  
  • 16. 3.2.1 Colas de planificación Los procesos que entran en el sistema se colocan en una cola de trabajos. Los procesos que residen en la memoria principal y están preparados y en espera de ejecutarse se mantienen en una lista denominada cola de procesos preparados se almacena en forma de listas enlazadas El sistema también incluye otras colas. Cuando se asigna la CPU a un proceso, éste se ejecuta durante un rato y finalmente termina, es interrumpido o espera a que se produzca un determinado suceso, como la terminación de una solicitud de E/S. Suponga que el proceso hace una solicitud de E/S a un dispositivo compartido, como por ejemplo un disco. Dado que hay muchos procesos en el sistema, el disco puede estar ocupado con la solicitud de E/S de algún otro proceso. Por tanto, nuestro proceso puede tener que esperar para poder acceder al disco. La lista de procesos en espera de un determinado dispositivo de E/S se denomina cola del dispositivo. Dispositivo tiene su propia cola (Figura 3.6).
  • 17.  
  • 18. Una representación que habitualmente se emplea para explicar la planificación de procesos el diagrama de colas, como el mostrado en la Figura 3.7, donde cada rectángulo representa una cola. Hay dos tipos de colas: la cola de procesos preparados y un conjunto de colas de dispositivos. Los círculos representan los recursos que dan servicio a las colas y las flechas indican el flujo de procesos en el sistema.
  • 19. Cada proceso nuevo se coloca inicialmente en la cola de procesos preparados, donde espera hasta que es seleccionado para ejecución, es decir, hasta que es despachado. Una vez que se asig­na la CPU al proceso y éste comienza a ejecutarse, se puede producir uno de los sucesos siguientes: El proceso podría ejecutar una solicitud de E/S y ser colocado, como consecuencia, en una cola de E/S. El proceso podría crear un nuevo subproceso y esperar a que éste termine. El proceso podría ser desalojado de la CPU como resultado de una interrupción y puesto de nuevo en la cola de procesos preparados. En los dos primeros casos, el proceso terminará, antes o después, por cambiar del estado de espera al estado preparado y será colocado de nuevo en la cola de procesos preparados. Los pro­cesos siguen este ciclo hasta que termina su ejecución, momento en el que se elimina el proceso de todas las colas y se desasignan su PCB y sus recursos.  
  • 20. PLANIFICADORES El sistema operativo, como parte de la tarea de planificación, debe de seleccionar de alguna de estas manera los procesos que se encuentran en estas colas. El proceso de selección se realiza mediante un planificador apropiado. -Planificador a largo Plazo o planificador de trabajos. -Planificador a corto Plazo o planificador de la CPU. Planificador a largo Plazo o planificador de trabajos.- Selecciona procesos de esta cola y los carga en memoria para su ejecución. Planificador a corto Plazo o planificador de la CPU.- Selecciona de entre los procesos que ya están preparados para ser ejecutados y asigna la CPU a uno de ellos.
  • 21. PLANIFICADOR A LARGO Y CORTO PLAZO La principal diferencia entre estos dos planificadores se encuentra en la frecuencia de ejecución. El planificador a corto plazo se ejecuta cada vez cada 100 milisegundos(debe de ser rápido). El planificador a largo plazo controla el grado de multiprogramación(el numero de procesos en memoria).
  • 22. En general la mayoría de los procesos pueden describirse como limitados por la E/S o limitados por la CPU. Un proceso limitado por E/S es aquel que interviene la mayor parte del tiempo en operaciones de E/S en lugar de realizar cálculos. Un proceso limitado por la CPU genera solicitudes de E/S de poca frecuencia, usando la mayor parte de su tiempo en realizar cálculos. Es importante que el planificador a largo plazo seleccione una adecuada mezcla de procesos, equilibrando los procesos limitados por E/S y por los procesos limitado por la CPU.
  • 23. CAMBIO DE CONTEXTO Un cambio de contexto consiste en la ejecución de una rutina perteneciente al núcleo del sistema operativo multitarea de una computadora, cuyo propósito es parar la ejecución de un proceso para dar paso a la ejecución de otro distinto. Cuando se produce una interrupción el sistema tiene que guardar el contexto actual del proceso que se esta ejecutando en la CPU, de modo que pueda restaurar dicho contexto cuando su procesamiento concluya, suspendiendo el proceso y reanudándola después. Es decir realizamos un salvaguarda de estado actual de la CPU y una restauración del estado para reanudar las operaciones.
  • 24. Cuando esto ocurre, el sistema operativo ejecuta inmediatamente la rutina de cambio de contexto . Esta rutina realiza las siguientes operaciones en el siguiente orden: Salvar el estado del programa que se estaba ejecutando . El estado, también denominado contexto , consiste en los valores de todos los registros del microprocesador. Se copian en la memoria principal. Seleccionar otro programa para ejecutar . Entre todos los programas que estén preparados para ejecutarse, la rutina selecciona uno de ellos siguiendo algún algoritmo equitativo. Restaurar el estado del programa seleccionado . Para ello, se toma el estado previamente copiado en la memoria principal y se vuelca en los registros del microprocesador. Ejecutar el programa seleccionado . La rutina termina su ejecución saltando a la instrucción que estaba pendiente de ejecutar en el programa seleccionado. Este ciclo se repite bien cada vez que ocurre un evento de entrada/salida, bien cuando vence un temporizador programado en el hardware. Dicho temporizador hace saltar una interrupción cada 150 milisegundos aproximadamente (según sistema operativo). La ejecución concurrente también es aplicable a computadoras multiprocesador. En este caso, se llevan a cabo cambios de contexto en cada microprocesador de manera independiente.
  • 25. En si el cambio de contexto se lo conoce como la conmutación de la CPU proceso requiere una salvaguarda del estado del proceso actual y una restauración del estado de otro proceso diferente. El tiempo dedicado al cambio de contexto es tiempo desperdiciado, dado que el sistema no realiza ningún trabajo útil durante la conmutación. La velocidad del cambio de contexto varía de una máquina a otra, dependiendo de la velocidad de memoria, del numero de registros que tengan que copiarse y de la existencia de instrucciones especiales(como por ej. Una instrucción para cargar o almacenar todos los registros). Las velocidades típicas son del orden de unos pocos milisegundos. Como se conserva el espacio de memoria y que cantidad de trabajo es necesario para conservarlo depende del método de gestión de memoria utilizado por el sistema operativo .