PROCESOS
Con los sistemas
antiguos solo un                   Esto requirió de un control
programa tenia el                mas firme y una mayor división
control absoluto del              de los diferentes programas.
sistema y el acceso a            Por esta necesidad se introdujo
los recursos.                       el concepto de procesos
                     Con lo                         El cual es un
                    sistemas                        programa en
                   de hoy en                         ejecución
                       día

                                                   Un proceso es la unidad de
                  Permiten cargar varios
                                                     trabajo en un sistema
                programas en la memoria Y
                                                      moderno en tiempo
                   ejecutarlos de manera
                                                          compartido.
                        concurrente
PROCESOS
 Aunque la ocupación
  principal del sistema
     operativo es la
    ejecución de los                                    En gran
                                   Procesos del
 programas de usuario                                 medida los
                                sistema operativo
                                                       procesos
                                    ejecutando
                                                        pueden
  También se necesita               código del
                                                    ejecutarse de
  encargarse de varias                sistema
                                                        manera
 tareas del sistema que
                                                     concurrente,
es preferible dejar fuera
                                                    multiplexando
    del kernel mismo
                                                        el o los
                                   Procesos de      procesadores
                                     usuario
                                   ejecutando
 El SO consiste en una              códigos de
colección de procesos                usuario
El Proceso

                               También incluye
                                  la actividad,                      Un programa en si
Un proceso es                 representada por                        no se considera
                                                                     un proceso por lo
 mas que el                       el valor del
                                                                        que es una
 código del                     contador del
                                                                      entidad pasiva y
  programa                      programa y el                          un proceso lo
                              contenido de los                        considera a una
                                 registros del    Por lo general       entidad activa
                 El cual es         proceso
                                                    un proceso
                 conocido
                                                   incluye la pila
                  como la
                                                   del proceso y
                sección de
                                                  una sección de
                   texto
                                                       datos
Estado del proceso
        Nuevo: el                         Ejecución:
                                             esta
       proceso se                        ejecutando
          esta                          instrucciones
        creando                                i


                      Cuando se
                       ejecuta un
                     proceso este
                       cambia de
                    estado y se la
                     define por la
                    actividad actual
El proceso: a         del proceso              En espera:
 terminado                                     esperando
su ejecución                                   que ocurra
                                              algún evento

                      Listo : esta en
                      espera de ser
                      asignado a un
                       procesador
Bloque de control de proceso PCB
Cada proceso se                  ESTADO      Puede ser nuevo ,
                    APUNTADO
 representa en el                  DEL        listo, ejecución,
                        R
sistema operativo               PROCESO      espera y detenido
mediante un PCB.
 El cual contiene    NUMERO DE PROCESO      Indica la dirección
 diversas piezas       CONTADOR DE            de la siguiente
                        PROGRAMA               intruccion a
                                                 ejecutar
                         REGISTROS
                                            Varían en numero y
                                                tipos , como
                    LIMITES DE LA MEMORIA
                                              acumuladores ,
                      LISTA DE ARCHIVOS     registros de índice,
                           ABIERTOS         apuntadores de pila
                               .
                               .               y registro de
                               .             propósito general
Bloque de control de proceso PCB

 Información de planificación de la
 CPU: este incluye la prioridad del
  proceso , apuntadores a colas de      Información contable incluye la
    planificación y cualquier otro      cantidad de tiempo de CPU y el
                                               tiempo real usado
    parámetro de planificación
                                                                           El PCB SIRVE
                                                                            COMO UN
                                                                          DEPOSITO DE
 Información de administración de
    memoria: puede incluir datos
                                           Información de                 INFORMACIO
      referentes al valor de los         estado de E/S: este              N QUE PUEDE
  registros base y limite, las tablas
      de paginas, o las tablas de
                                          incluye la lista de               VARIAR DE
     segmento, dependiendo de            dispositivos de E/S              UN PROCESO
 esquema de memoria del sistema
                                        asignados al proceso                  A OTRO
Colas de
                                              planificación
                                                                   Colas de trabajo:
               HILOS
                                                                 En esta están todos
   Este implica que un proceso sigue un solo hilo.                los procesos en el
 Los sistemas modernos ha extendido el concepto                         sistema.
de proceso para permitir que este tenga varios hilos              Los procesos que
 de ejecución. de esta forma permite que el proceso            residen en la memoria
          realice mas de una tarea a la vez                      principal listos y en
                                                                espera de ejecutarse
                                                                 se mantiene en una
                                                              listas denomina la cola
                                                              de procesos listos. Esta
                                                                cola se almacena por
    Planificación de procesos                                   lo general como una
                                                                    lista enlazada.
 El objetivo del tiempo compartido es conmutar la
                                                                 La lista de procesos
CPU entre procesos de manera tan frecuente que
                                                                que están esperando
los usuarios puedan interactuar con cada programa
                                                               por un dispositivo de
             mientras esta en ejecución.
                                                                   E/S particular se
                                                              conoce como cola del
                                                                       dispositivo
Planificadores



                              Para fines de           Planificador de
Planificador de largo        planificación, el        corto plazo, o
plazo, o planificador      sistema operativo        planificador de la
     de trabajos,           debe seleccionar       CPU, selecciona de
selecciona procesos         en alguna forma        entre los procesos
  de la reserva y la        los procesos de       que están listos para
 carga en memoria           estas colas . Esta    la ejecución, y asigna
 para su ejecución         selección la realiza     la CPU a uno de
                             el planificador                ellos
                                apropiado
Conmutación en contexto

      Cuando ocurre una comunicación de contexto, el
     kernel guarda el contexto del proceso anterior en su
     PCB y carga el del nuevo proceso programado para la
                          ejecución.
Operaciones sobre procesos


   Los procesos en el sistema se pueden
    ejecutar de manera concurrente y
    deben ser creados y eliminados de
   manera dinámica. Por esto el sistema
     operativo debe proporcionar un
   mecanismo de creación y terminación
               de procesos
Creación de procesos
                          Por lo general los procesos necesitan de ciertos
                            recursos como tiempo de la CPU, memoria,
                           archivos y dispositivos de entrada y salida para
                                           realizar su tarea


   Un proceso puede
  crear otros proceso
   donde el proceso
     creador se lo
  denomina padre y a
 los creados hijos y a
la vez los hijos pueden
 crear otros procesos
   creando un árbol
Terminación de procesos

 Un proceso concluye
   cuando termina de          Un padre puede terminar la
       ejecutar su        ejecución de un proceso hijo por
   declaración final y            varias razones como:
  pide al so que borre        El hijo excedió en el uso de
usando la llamada exit.    alguno de los recursos que tiene
     En ese punto el                     asignados.
    proceso regresa           Ya no se requiere la tareas
    datos(salida) a su                asignada al hijo.
 proceso padre( vía la    El padre esta saliendo, y el sistema
llamada wait). Cuando      no permite que un hijo continúe
ocurre esto todos los              si su padre termina
      procesos son
    devueltos al SO.
Procesos cooperativos
                                                   independientes:
                                             Son los que no pueden ser
                                                 afectados por otros
                                               procesos que se están
Los procesos concurrentes                     ejecutando en el sistema
 que se ejecutan en el SO
   pueden ser procesos
 independientes o pueden                            Cooperativos:
ser procesos cooperativos                     Son los que son afectados
                                              por otros procesos ya que
                                               comparten datos entre
                                                   otros procesos
 Razones para la cooperación de
           procesos


  Compartir         Aceleración de
                                     Modularidad           Conveniencia
 información           cálculos
Comunicación entre procesos

El esquema requiere que estos
   procesos mantengan una
reserva común de buffer y el        Métodos para implementar
 programador de la aplicación       lógicamente un enlace y las
 escrita de manera explicita el      operaciones send=recive
código para la implementación       • Comunicación directa o
           del buffer                         indirecta.
                                   • Comunicación simétrica o
                                             asimétrica
                                  • Uso automático o explicito
                                             de buffers.
                                       • Envió por copia de
                                             referencia.
                                   • Mensajes de tamaño fijo o
                                               variable
Sistema de paso de mensajes

   La función de un sistema de
   mensajes es permitir que los               Hay dos tipos de
   procesos se comuniquen sin                tamaño de mensaje
   necesidad de recurrir a datos                fijo y variable
           compartidos


   Asignación de nombres
                                             Comunicación indirecta:
                                   Un buzón puede verse, de manera abstracta
    Comunicación directa:             como un objeto en donde los procesos
  Cada proceso que quiere           pueden colocar y remover mensajes . Cada
comunicarse debe nombrar           buzón tiene una identificación única. En este
                                     esquema, un proceso se puede comunicar
 explícitamente al receptor o           con otro utilizando varios buzones
al emisor de la comunicación                         diferentes
Sincronización
 El paso de mensajes puede ser con
   bloqueo o sin bloqueo- también
conocido como síncrono y asíncrono

                                     Envió sin bloqueo
                                     Envió con bloqueo
                                     Recepción sin bloqueo
                                     Recepción con bloqueo




                  Cuando ambos son con bloqueo tenemos una
                    cita(redezvous )entre emisor y receptor.
Uso de buffers

  Los mensajes intercambiados     Capacidad cero
 por los procesos comunicados
 residen en una cola temporal.
    básicamente existen tres
             formas
                                 Capacidad limitada



La capacidad cero se la
denomina sistema sin buffers
                                 Capacidad ilimitada
los otro casos son con
buffers automático
Capitulo 4 grupo 4

Capitulo 4 grupo 4

  • 2.
    PROCESOS Con los sistemas antiguossolo un Esto requirió de un control programa tenia el mas firme y una mayor división control absoluto del de los diferentes programas. sistema y el acceso a Por esta necesidad se introdujo los recursos. el concepto de procesos Con lo El cual es un sistemas programa en de hoy en ejecución día Un proceso es la unidad de Permiten cargar varios trabajo en un sistema programas en la memoria Y moderno en tiempo ejecutarlos de manera compartido. concurrente
  • 3.
    PROCESOS Aunque laocupación principal del sistema operativo es la ejecución de los En gran Procesos del programas de usuario medida los sistema operativo procesos ejecutando pueden También se necesita código del ejecutarse de encargarse de varias sistema manera tareas del sistema que concurrente, es preferible dejar fuera multiplexando del kernel mismo el o los Procesos de procesadores usuario ejecutando El SO consiste en una códigos de colección de procesos usuario
  • 4.
    El Proceso También incluye la actividad, Un programa en si Un proceso es representada por no se considera un proceso por lo mas que el el valor del que es una código del contador del entidad pasiva y programa programa y el un proceso lo contenido de los considera a una registros del Por lo general entidad activa El cual es proceso un proceso conocido incluye la pila como la del proceso y sección de una sección de texto datos
  • 5.
    Estado del proceso Nuevo: el Ejecución: esta proceso se ejecutando esta instrucciones creando i Cuando se ejecuta un proceso este cambia de estado y se la define por la actividad actual El proceso: a del proceso En espera: terminado esperando su ejecución que ocurra algún evento Listo : esta en espera de ser asignado a un procesador
  • 6.
    Bloque de controlde proceso PCB Cada proceso se ESTADO Puede ser nuevo , APUNTADO representa en el DEL listo, ejecución, R sistema operativo PROCESO espera y detenido mediante un PCB. El cual contiene NUMERO DE PROCESO Indica la dirección diversas piezas CONTADOR DE de la siguiente PROGRAMA intruccion a ejecutar REGISTROS Varían en numero y tipos , como LIMITES DE LA MEMORIA acumuladores , LISTA DE ARCHIVOS registros de índice, ABIERTOS apuntadores de pila . . y registro de . propósito general
  • 7.
    Bloque de controlde proceso PCB Información de planificación de la CPU: este incluye la prioridad del proceso , apuntadores a colas de Información contable incluye la planificación y cualquier otro cantidad de tiempo de CPU y el tiempo real usado parámetro de planificación El PCB SIRVE COMO UN DEPOSITO DE Información de administración de memoria: puede incluir datos Información de INFORMACIO referentes al valor de los estado de E/S: este N QUE PUEDE registros base y limite, las tablas de paginas, o las tablas de incluye la lista de VARIAR DE segmento, dependiendo de dispositivos de E/S UN PROCESO esquema de memoria del sistema asignados al proceso A OTRO
  • 8.
    Colas de planificación Colas de trabajo: HILOS En esta están todos Este implica que un proceso sigue un solo hilo. los procesos en el Los sistemas modernos ha extendido el concepto sistema. de proceso para permitir que este tenga varios hilos Los procesos que de ejecución. de esta forma permite que el proceso residen en la memoria realice mas de una tarea a la vez principal listos y en espera de ejecutarse se mantiene en una listas denomina la cola de procesos listos. Esta cola se almacena por Planificación de procesos lo general como una lista enlazada. El objetivo del tiempo compartido es conmutar la La lista de procesos CPU entre procesos de manera tan frecuente que que están esperando los usuarios puedan interactuar con cada programa por un dispositivo de mientras esta en ejecución. E/S particular se conoce como cola del dispositivo
  • 9.
    Planificadores Para fines de Planificador de Planificador de largo planificación, el corto plazo, o plazo, o planificador sistema operativo planificador de la de trabajos, debe seleccionar CPU, selecciona de selecciona procesos en alguna forma entre los procesos de la reserva y la los procesos de que están listos para carga en memoria estas colas . Esta la ejecución, y asigna para su ejecución selección la realiza la CPU a uno de el planificador ellos apropiado
  • 10.
    Conmutación en contexto Cuando ocurre una comunicación de contexto, el kernel guarda el contexto del proceso anterior en su PCB y carga el del nuevo proceso programado para la ejecución.
  • 11.
    Operaciones sobre procesos Los procesos en el sistema se pueden ejecutar de manera concurrente y deben ser creados y eliminados de manera dinámica. Por esto el sistema operativo debe proporcionar un mecanismo de creación y terminación de procesos
  • 12.
    Creación de procesos Por lo general los procesos necesitan de ciertos recursos como tiempo de la CPU, memoria, archivos y dispositivos de entrada y salida para realizar su tarea Un proceso puede crear otros proceso donde el proceso creador se lo denomina padre y a los creados hijos y a la vez los hijos pueden crear otros procesos creando un árbol
  • 13.
    Terminación de procesos Un proceso concluye cuando termina de Un padre puede terminar la ejecutar su ejecución de un proceso hijo por declaración final y varias razones como: pide al so que borre El hijo excedió en el uso de usando la llamada exit. alguno de los recursos que tiene En ese punto el asignados. proceso regresa Ya no se requiere la tareas datos(salida) a su asignada al hijo. proceso padre( vía la El padre esta saliendo, y el sistema llamada wait). Cuando no permite que un hijo continúe ocurre esto todos los si su padre termina procesos son devueltos al SO.
  • 14.
    Procesos cooperativos independientes: Son los que no pueden ser afectados por otros procesos que se están Los procesos concurrentes ejecutando en el sistema que se ejecutan en el SO pueden ser procesos independientes o pueden Cooperativos: ser procesos cooperativos Son los que son afectados por otros procesos ya que comparten datos entre otros procesos Razones para la cooperación de procesos Compartir Aceleración de Modularidad Conveniencia información cálculos
  • 15.
    Comunicación entre procesos Elesquema requiere que estos procesos mantengan una reserva común de buffer y el Métodos para implementar programador de la aplicación lógicamente un enlace y las escrita de manera explicita el operaciones send=recive código para la implementación • Comunicación directa o del buffer indirecta. • Comunicación simétrica o asimétrica • Uso automático o explicito de buffers. • Envió por copia de referencia. • Mensajes de tamaño fijo o variable
  • 16.
    Sistema de pasode mensajes La función de un sistema de mensajes es permitir que los Hay dos tipos de procesos se comuniquen sin tamaño de mensaje necesidad de recurrir a datos fijo y variable compartidos Asignación de nombres Comunicación indirecta: Un buzón puede verse, de manera abstracta Comunicación directa: como un objeto en donde los procesos Cada proceso que quiere pueden colocar y remover mensajes . Cada comunicarse debe nombrar buzón tiene una identificación única. En este esquema, un proceso se puede comunicar explícitamente al receptor o con otro utilizando varios buzones al emisor de la comunicación diferentes
  • 17.
    Sincronización El pasode mensajes puede ser con bloqueo o sin bloqueo- también conocido como síncrono y asíncrono Envió sin bloqueo Envió con bloqueo Recepción sin bloqueo Recepción con bloqueo Cuando ambos son con bloqueo tenemos una cita(redezvous )entre emisor y receptor.
  • 18.
    Uso de buffers Los mensajes intercambiados Capacidad cero por los procesos comunicados residen en una cola temporal. básicamente existen tres formas Capacidad limitada La capacidad cero se la denomina sistema sin buffers Capacidad ilimitada los otro casos son con buffers automático