Procesos
Cada proceso se representa en el sistema operativo mediante un bloque de control de proceso (PCB, process control block) 
Concepto de proceso
Contiene muchos elementos de información asociados con un proceso específico, entre los que se incluyen: 
Estado del proceso. El estado puede ser: nuevo, preparado, en ejecución, en espera, detenido, etc. 
Contador de programa. El contador indica la dirección de la siguiente instrucción que va a ejecutar dicho proceso. 
Concepto de proceso
Registros de la CPU. Los registros varían en cuanto a número y tipo, dependiendo de la arquitectura de la computadora. Incluyen los acumuladores, registros de índice, punteros de pila y registros de propósito general, además de toda la información de los indicadores de estado. 
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 requieran. 
Concepto de proceso
Información de gestión de memoria. Incluye información acerca del valor de los registros base y límite, las tablas de páginas, o las tablas de segmentos. 
Información contable. Esta información incluye la cantidad de CPU y de tiempo real empleados, los límites de tiempo asignados, el número de proceso, etc. 
Información del estado de E/S. Esta información incluye la lista de los dispositivos de E/S asignados al proceso, una lista de los archivos abiertos, etc. 
Concepto de proceso
Concepto de proceso
A medida que los procesos entran en el sistema, se colocan en una cola de trabajos. 
Los procesos que residen en la memoria principal y están prepa- rados y en espera de ejecutarse se mantienen en una lista denominada cola de procesos preparados. 
Esta cola se almacena en forma de lista enlazada donde cada nodo es un bloque de control de procesos (PCB). 
La lista de procesos en espera de un determinado dispositivo de E/S se denomina cola del dispositivo. 
Planificación de procesos
Planificación de procesos
Planificación de procesos
El proceso de selección se realiza mediante un planificador apropiado. 
El planificador a largo plazo o planificador de trabajos selecciona procesos de esta cola y los carga en memoria para su ejecución. 
El 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. 
Planificación de procesos
Planificador a medio plazo 
Planificación de procesos
Cambios de contexto 
Las interrupciones hacen que el sistema operativo obligue a la CPU a abandonar su tarea actual, para ejecutar una rutina del kernel. 
Cuando esto ocurre se guarda el contexto actual del proceso de modo que pueda restaurar dicho contexto cuando su la interrupción termine. 
El contexto se almacena en el PCB del proceso e incluye el valor de los registros de la CPU, el estado del proceso y la información de gestión de memoria. 
Planificación de procesos
Un proceso es independiente si no puede afectar o verse afectado por los restantes procesos que se ejecutan en el sistema. 
Un proceso es cooperativo si puede afectar o verse afecta- do por los demás procesos que se ejecutan en el sistema. 
La cooperación entre procesos requiere mecanismos de comunicación interprocesos (IPC, interprocess communication) 
Comunicación interproceso
Comunicación interproceso 
Paso de mensajes 
Memoria compartida
Los dos modelos son bastante comunes y muchos sistemas implementan ambos. 
El paso de mensajes 
Útil para intercambiar pequeñas cantidades de datos. 
Es más fácil de implementar como mecanismo de comunicación entre computadoras. 
Se implementa usando llamadas al sistema , requiere que intervenga el kernel, lo que consume más tiempo. 
Comunicación interproceso
La memoria compartida 
Permite una velocidad máxima y una mejor comunicación, cuando se hace en una misma computadora. 
La memoria compartida es más rápida por que no utiliza llamadas del sistema, sólo son necesarias para establecer las zonas de memoria compartida. 
El problema del productor- consumidor, Un proceso productor genera información que consume un proceso consumidor. 
Comunicación interproceso
Una pareja de procesos que se comunican a través de una red emplea una pareja de sockets, uno para cada proceso. 
Cada socket se identifica mediante una dirección IP concatenada con un número de puerto. 
Comunicación en sistemas cliente-servidor
La comunicación a través de sockets, se considera una forma de bajo nivel de comunicación entre procesos distribuidos. 
Los sockets sólo permiten que se intercambie un flujo no estructurado de bytes, es responsabilidad de la aplicación imponer una estructura a los datos. 
Comunicación en sistemas cliente-servidor
Comunicación en sistemas cliente-servidor
Una de las formas más comunes de prestar servicios remotos es el uso de las llamadas a procedimiento remoto (RPC) 
Se diseñaron como un método para abstraer los mecanismos de llamada a procedimientos, con el fin de utilizarlos entre sistemas conectados en red 
Comunicación en sistemas cliente-servidor
Comunicación en sistemas cliente-servidor 
Cliente 
Mensaje 
Servidor
La invocación de métodos remotos (RMI, remote method invocation) es una funcionalidad Java similar a las llamadas a procedimientos remotos. 
El mecanismo RMI se basa en objetos: permite la invocación de métodos correspondientes a objetos remotos. 
Es posible pasar objetos como parámetros a los métodos remotos. 
Comunicación en sistemas cliente-servidor
Comunicación en sistemas cliente-servidor

3 procesos

  • 1.
  • 2.
    Cada proceso serepresenta en el sistema operativo mediante un bloque de control de proceso (PCB, process control block) Concepto de proceso
  • 3.
    Contiene muchos elementosde información asociados con un proceso específico, entre los que se incluyen: Estado del proceso. El estado puede ser: nuevo, preparado, en ejecución, en espera, detenido, etc. Contador de programa. El contador indica la dirección de la siguiente instrucción que va a ejecutar dicho proceso. Concepto de proceso
  • 4.
    Registros de laCPU. Los registros varían en cuanto a número y tipo, dependiendo de la arquitectura de la computadora. Incluyen los acumuladores, registros de índice, punteros de pila y registros de propósito general, además de toda la información de los indicadores de estado. 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 requieran. Concepto de proceso
  • 5.
    Información de gestiónde memoria. Incluye información acerca del valor de los registros base y límite, las tablas de páginas, o las tablas de segmentos. Información contable. Esta información incluye la cantidad de CPU y de tiempo real empleados, los límites de tiempo asignados, el número de proceso, etc. Información del estado de E/S. Esta información incluye la lista de los dispositivos de E/S asignados al proceso, una lista de los archivos abiertos, etc. Concepto de proceso
  • 6.
  • 7.
    A medida quelos procesos entran en el sistema, se colocan en una cola de trabajos. Los procesos que residen en la memoria principal y están prepa- rados y en espera de ejecutarse se mantienen en una lista denominada cola de procesos preparados. Esta cola se almacena en forma de lista enlazada donde cada nodo es un bloque de control de procesos (PCB). La lista de procesos en espera de un determinado dispositivo de E/S se denomina cola del dispositivo. Planificación de procesos
  • 8.
  • 9.
  • 10.
    El proceso deselección se realiza mediante un planificador apropiado. El planificador a largo plazo o planificador de trabajos selecciona procesos de esta cola y los carga en memoria para su ejecución. El 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. Planificación de procesos
  • 11.
    Planificador a medioplazo Planificación de procesos
  • 12.
    Cambios de contexto Las interrupciones hacen que el sistema operativo obligue a la CPU a abandonar su tarea actual, para ejecutar una rutina del kernel. Cuando esto ocurre se guarda el contexto actual del proceso de modo que pueda restaurar dicho contexto cuando su la interrupción termine. El contexto se almacena en el PCB del proceso e incluye el valor de los registros de la CPU, el estado del proceso y la información de gestión de memoria. Planificación de procesos
  • 13.
    Un proceso esindependiente si no puede afectar o verse afectado por los restantes procesos que se ejecutan en el sistema. Un proceso es cooperativo si puede afectar o verse afecta- do por los demás procesos que se ejecutan en el sistema. La cooperación entre procesos requiere mecanismos de comunicación interprocesos (IPC, interprocess communication) Comunicación interproceso
  • 14.
    Comunicación interproceso Pasode mensajes Memoria compartida
  • 15.
    Los dos modelosson bastante comunes y muchos sistemas implementan ambos. El paso de mensajes Útil para intercambiar pequeñas cantidades de datos. Es más fácil de implementar como mecanismo de comunicación entre computadoras. Se implementa usando llamadas al sistema , requiere que intervenga el kernel, lo que consume más tiempo. Comunicación interproceso
  • 16.
    La memoria compartida Permite una velocidad máxima y una mejor comunicación, cuando se hace en una misma computadora. La memoria compartida es más rápida por que no utiliza llamadas del sistema, sólo son necesarias para establecer las zonas de memoria compartida. El problema del productor- consumidor, Un proceso productor genera información que consume un proceso consumidor. Comunicación interproceso
  • 17.
    Una pareja deprocesos que se comunican a través de una red emplea una pareja de sockets, uno para cada proceso. Cada socket se identifica mediante una dirección IP concatenada con un número de puerto. Comunicación en sistemas cliente-servidor
  • 18.
    La comunicación através de sockets, se considera una forma de bajo nivel de comunicación entre procesos distribuidos. Los sockets sólo permiten que se intercambie un flujo no estructurado de bytes, es responsabilidad de la aplicación imponer una estructura a los datos. Comunicación en sistemas cliente-servidor
  • 19.
    Comunicación en sistemascliente-servidor
  • 20.
    Una de lasformas más comunes de prestar servicios remotos es el uso de las llamadas a procedimiento remoto (RPC) Se diseñaron como un método para abstraer los mecanismos de llamada a procedimientos, con el fin de utilizarlos entre sistemas conectados en red Comunicación en sistemas cliente-servidor
  • 21.
    Comunicación en sistemascliente-servidor Cliente Mensaje Servidor
  • 22.
    La invocación demétodos remotos (RMI, remote method invocation) es una funcionalidad Java similar a las llamadas a procedimientos remotos. El mecanismo RMI se basa en objetos: permite la invocación de métodos correspondientes a objetos remotos. Es posible pasar objetos como parámetros a los métodos remotos. Comunicación en sistemas cliente-servidor
  • 23.
    Comunicación en sistemascliente-servidor