SlideShare uma empresa Scribd logo
1 de 47
2.1.- DESCRIPCIÓN Y CONTROL DE PROCESOS
Proceso
Es un programa en ejecución.
Los procesos son gestionados por el sistema operativo,
De este modo, al comienzo de la ejecución del programa principal de un usuario
   se inicia la ejecución de un proceso.
¿Cuál es la manifestación de un proceso?
El proceso consta de memoria suficiente para resguardar los programas y los
    datos del proceso, además se lleva una cuenta de las llamadas a
    procedimientos y de todos los parámetros que pasan de procedimiento a
    procedimiento.
El S. O utiliza una estructura de datos llamada bloque de control la cual es la
    estructura de datos central y más importante de un S. O.
El conjunto de todos los PCB’s se guarda en una estructura del sistema
    operativo llamada tabla de procesos.
El bloque de control se divide en 3:
 Identificación del proceso.
 Información del proceso.
 Información del control del proceso.
Operaciones con procesos
 Crear y destruir un proceso
 Suspender y reanudar un proceso
 Cambiar la prioridad de un proceso
 Bloquear y "desbloquear" un proceso
 Planificar un proceso (asignarle la CPU)
2.2.- DEFINICIÓN DE PROCESOS
Cada proceso tiene asociado un espacio de direcciones , una lista de posiciones
   de memoria desde algún mínimo (usualmente 0) hasta algún máximo, que
   el proceso puede leer y escribir.
A cada proceso también asocia un conjunto de registros, que incluyen el
    contador del programa, el apuntador de la pila y otros registros, que incluyen
    el contador del programa, el apuntador de la pila y otros registros de
    hardware. Así como toda la demás información necesaria para ejecutar el
    programa.
Implantación de los procesos
La implementación del modelo de procesos se logra debido a que el sistema
    operativo almacena en una tabla denominada tabla de control de procesos
    información relativa a cada proceso que se esta ejecutando en el procesador.
    Cada línea de esta tabla representa a un proceso.
La información que se almacena es la siguiente:
 Identificación del proceso.
 Identificación del proceso padre.
 Información sobre el usuario y grupo.
 Estado del procesador.
 Información de control de proceso
 Información del planificador.
 Segmentos de memoria asignados.
 Recursos asignados.
 Comunicación entre procesos
2.3.- ESTADOS DE LOS PROCESOS
Durante su existencia, un proceso transita por varios estados. Los más
   importantes son:
Listo, en Ejecución y Bloqueado. Un proceso Listo es aquél que no está
    ejecutándose en un momento dado, pero que está preparado para ejecutar
    tan pronto como el S. O lo decida. Un proceso en Ejecución es aquél que
    esta ejecutándose en el procesador. En un sistema procesador puede haber
    más de un proceso en este estado. Un proceso bloqueado es el que está
    esperando a que termine algún suceso (como una operación de E/S).
2.4.- CONTROL DE PROCESOS
La mayoría de los procesadores dan soporte para dos tipos de ejecución por lo
   menos. Ciertas instrucciones pueden ejecutarse solo n modo privilegiado.
   Entre éstas están la lectura o modificación de registros de control (como la
   palabra de estado del programa), instrucciones primitivas de E/S e
   instrucciones relativas a la gestión de memoria. Además, se puede acceder a
   ciertas regiones de memoria.
El modo menos privilegiado a menudo se conoce como modo de usuario, ya que
    los programas de usuario ejecutan normalmente en este modo.
2.5.- PROCESOS E HILOS
Procesos
 Su estado de ejecución en un momento dado, esto es, los valores de los
  registros de la unidad central de procesamiento para dicho programa.
 Su memoria de trabajo, es decir, la memoria que ha reservado y sus
  contenidos.
 Los procesos son creados y destruidos por el sistema operativo, así como
  también este se debe hacer cargo de la comunicación entre procesos,
Hilos
 Es la unidad de procesamiento más pequeña que puede ser planificada por
  un sistema operativo.
 Un hilo es una característica que permite a una aplicación realizar varias
  tareas a la vez (concurrentemente). Los distintos hilos de ejecución
  comparten una serie de recursos tales como el espacio de memoria, los
  archivos abiertos, situación de autenticación, etc. Esta técnica permite
  simplificar el diseño de una aplicación que debe llevar a cabo distintas
  funciones simultáneamente.
 Es básicamente una tarea que puede ser ejecutada en paralelo con otra
  tarea.
2.6.- CONCURRENCIA, EXCLUSIÓN MUTUA Y
               SINCRONIZACIÓN
Concurrencia
Es el punto clave de la gestión de procesos y fundamental para el diseño de
   sistemas operativos. Comprende un gran numero de cuestiones de
   diseño, incluyendo la comunicación entre procesos, compartición y
   competencia por los recursos, sincronización de la ejecución de varios
   procesos.
Gestión de procesos
 Multiprogramación
 Multiproceso
 Proceso Distribuido
Puede presentarse en 3 contextos diferentes que son:
Varias aplicaciones: La multiprogramación se creo para permitir que el tiempo
de procesador de las maquinas fuese compartido dinámicamente entre varios
trabajos o aplicaciones activas.
Aplicaciones estructuradas: Estas pueden implementarse eficazmente como
un conjunto de procesos concurrentes.
Estructura del sistema operativo: Son aplicables a los programadores de
sistemas y se ha comprobado que algunos sistemas operativos están
implementados como un conjunto de procesos.
                              Exclusión mutua
 El uso adecuado de la concurrencia entre procesos exige la capacidad de
  definir secciones criticas y hacer cumplir la exclusión mutua.
 Una manera es dejar la responsabilidad a los procesos que deseen ejecutar
  concurrentemente, así pues tanto si son programas del sistema, como de
  aplicación, los procesos deben coordinarse unos con otros para ser cumplida
  la exclusión mutua, sin ayuda por parte del lenguaje de programación o del
  sistema operativo.
Soluciones por Software
 Para los procesos concurrentes que ejecuten en máquinas monoprocesador
  o multiprocesador con una memoria principal compartida.
Soluciones por hardware
Inhabilitación de interrupciones
 En una maquina monoprocesador, la ejecución de procesos concurrentes no
  puede superponerse, los procesos sólo pueden intercalarse, es mas un
  proceso continuara ejecutando hasta que solicite un servicio del sistema
  operativo o hasta que sea interrumpido.
2.7.- PRINCIPIOS GENERALES DE
                     CONCURRENCIA
En un sistema multiprogramado con un único procesador, los procesos se
   intercalan en el tiempo para dar la apariencia de ejecución simultánea.
   Aunque no se consigue un procesamiento paralelo real y aunque se produce
   una cierta sobrecarga en los intercambios de procesos de un sitio a otro, la
   ejecución intercalada produce beneficios importantes en la eficiencia del
   procesamiento y en la estructura de los programas. En un sistema
   multiprocesador no solo es posible intercalar procesos, sino también
   superponerlos.

En el caso de un sistema monoprocesador, los problemas son consecuencia de
   una característica básica de los sistemas multiprogramadores: la velocidad
   relativa de ejecución de los procesos no puede predecirse y depende de las
   actividades de otros procesos, de la forma en que el sistema operativo trata
   las interrupciones y las políticas de planificación del sistema operativo. De
   aquí surgen las siguientes dificultades:
 Compartir recursos globales está lleno de riesgos.
 Para el sistema operativo resulta difícil gestionar la asignación óptima de
  recursos.
 Resulta difícil localizar un error de programación porque los resultaos no
  son, normalmente reproducibles.

                        Interacción entre procesos

Enumera tres niveles de conocimiento y las consecuencias de cada uno de
   ellos:
 Los procesos no tienen conocimiento de los demás: Estos son procesos
  independientes que no están pensados para operar juntos.
 Los procesos tienen un conocimiento indirecto de los otros: Los procesos no
  conocen necesariamente a los otros por sus identificadores de proceso, pero
  comparten el acceso a algunos objetos, como un buffer de E/S.
 Los procesos tienen un conocimiento directo de los otros: Los procesos son
  capaces de comunicarse con los demás por el identificador de proceso y
  están diseñados para trabajar conjuntamente en alguna actividad.
Competencia entre procesos por los recursos
Los procesos concurrentes entran en conflicto cuando compiten por el uso del
   mismo recurso. Es posible describir esta situación como sigue: dos o mas
   procesos necesitan acceder a un recurso durante el curso de su ejecución:
   ningún proceso es consciente de la existencia de los otros y no se ve
   afectado por su ejecución.
Cooperación entre procesos por comportamiento
El caso de cooperación por comportamiento comprende los procesos que
    interactúan con otros sin tener conocimiento explicito de ellos. Por
    ejemplo, varios procesos pueden tener acceso a variables.
Cooperación entre procesos por comunicación
Las interacciones entre los procesos son indirectas. En caso de competencia, los
   procesos están compartiendo recursos sin tener conocimiento de la
   existencia de otros procesos.
Exclusión mutua
Consiste en que un solo proceso excluye
 temporalmente a todos los demás para
 usar un recurso compartido de forma
 que garantice la integridad del sistema.
Exclusión mutua
 CONDICIONES DE LA EXCLUSIÓN MUTUA
Hay que garantizar la exclusión mutua entre los diferentes
  procesos a la hora de acceder al recurso compartido. No
  puede haber en ningún momento dos procesos dentro de
  sus respectivas secciones críticas.

 No se deben hacer suposiciones en cuanto a la velocidad
  relativa de los procesos en conflicto.
 Ningún proceso que esté fuera de su sección crítica debe
  interrumpir a otro para el acceso a la sección crítica.
 Cuando más de un proceso desee entrar en su sección
  crítica, se le debe conceder la entrada en un tiempo finito, es
  decir, que nunca se le tendrá esperando en un bucle que no
  tenga final.
Exclusión mutua

TIPOS DE SOLUCIONES DE EXCLUSIÓN MUTUA

Soluciones software.
Soluciones hardware.
Soluciones aportadas por el Sistema
 Operativo.
Exclusión mutua
Soluciones hardware.
 Las soluciones hardware se dividen en dos
 tipos:
  Optimistas.
 Consideran que lo mas probable es que no haya
  conflictos, y si los hay sea en número reducido, por lo que
  permiten cualquier acceso a la variable compartida. En
  caso de conflicto, mantienen la integridad del sistema
  descartando las actualizaciones.

Pesimistas.
 Bloquean todo aquello que pueda interferir.
 Actualizan la variable.
Exclusión mutua
EJEMPLO
Semáforos es un algoritmo de control de
  procesos

Que a su vez tiene varios tipos de
 semáforos los cuales se dividen en:
SEMÁFORO BINARIO

Un semáforo binario es un indicador de
  condición (S) que registra si un recurso
  está disponible o no. Un semáforo
  binario sólo puede tomar dos valores: O
  y 1.
Semáforo robusto:
Es el que se encarga de liberar los
  procesos
  que llevan mas tiempo bloqueados.
EJEMPLO:

wait (variable)
  begin
    while (variable)>=0 do {esperar}
    variable=variable-1
  end
signal (variable)
  begin
    variable=variable+1
  end
El semáforo se inicializa con el numero
  total de recursos disponibles (n) y las
  operaciones de espera y señal se
  diseñan de modo que se impida el
  acceso al recurso protegido por el
  semáforo cuando el valor de éste es
  menor o igual que cero
MONITORES
Los monitores son una herramienta de sincronización


Posee una estructura propia, es una colección de
  procedimientos, variables y estructuras de datos que
  se agrupan en un módulo especial.


Los procesos pueden llamar a los procedimientos de un
  monitor siempre que lo requieran, pero no pueden
  acceder directamente las estructuras de datos internas
  del monitor.


Implementan un nivel aún más alto de abstracción
  facilitando el acceso a recursos compartidos.
MONITORES

Componentes
Inicialización: contiene el código a ser
  ejecutado cuando el monitor es creado

Datos privados: contiene los
 procedimientos privados, que sólo
 pueden ser usados desde dentro del
 monitor y no son visibles desde fuera
MONITORES


Procedimientos del monitor: son los
  procedimientos que pueden ser llamados
  desde fuera del monitor.

Cola de entrada: contiene a los threads que han
 llamado a algún procedimiento del monitor
 pero no han podido adquirir permiso para
 ejecutarlos aún.
MONITORES


La sincronización se usan dos
 instrucciones:

wait (c): suspende la ejecución del proceso que llama
  bajo la condición c. El monitor está ahora disponible
  para ser usado por otros procesos.

signal(c): reanuda la ejecución de algún proceso
  suspendido después de un cwait bajo la misma
  condición. Si hay varios procesos, se elige uno de
  ellos; si no hay ninguno, no hace nada.
MENSAJES

Son una solución del sistema operativo
 que nos permitirán la sincronización de
 procesos y la comunicación entre
 ambos.

Es una cadena de texto transmitida de un
  proceso que envía el mensaje a un
  receptor
MENSAJES

Un mensaje puede tener código, texto, datos etc.

Suelen tener dos partes:

    - Cabecera (obligatoria):
  IdProcesoEmisor, IdProcesoReceptor, Tipo, Longitud
    - Cuerpo (optativo): Información adicional

Tenemos dos tipos de órdenes para gestionar mensajes
  (para enviar y recibir):

    - Enviar: send (destino, mensaje)
    - Recibir: receive (origen, mensaje)
MENSAJES
Propiedad de los buzones
Tenemos dos casos:
El proceso es el propietario. El buzón existe
  mientras existe el proceso y sólo el
  propietario puede leer datos del buzón
El propietario del buzón es el SO. La
  propiedad del buzón puede transmitirse
  entre procesos, lo que permite que varios
  procesos puedan leer.
MENSAJES
Casos habituales:

Envío bloqueante - Recepción bloqueante.
     Se usa cuando la sincronización ha de ser
  muy estricta.

Envío no bloqueante - Recepción bloqueante.
     Se usa para cuando el proceso emisor no
  necesita que el receptor haya recibido el
  mensaje para continuar. Ej: Servidor de correo

Envío no bloqueante - Recepción no bloqueante
PRINCIPIOS DE INTERBLOQUEO
PRINCIPIOS DE INTERBLOQUEO



El interbloqueo se puede definir como el bloqueo
   permanente de un conjunto de procesos que
   compiten por los recursos del sistema o bien se
   comunican unos con otros. A diferencia de otros
   problemas de la gestión concurrente de procesos, no
   existe una solución eficiente para el caso general.
Todos los interbloqueos suponen necesidades
  contradictorias de recursos por parte de dos o más
  procesos.
PRINCIPIOS DE INTERBLOQUEO

Ejemplo :

Interbloqueo de tráfico
Cuatro coches llegan aproximadamente en el mismo instante a
   un cruce de cuatro caminos. Los cuatro cuadrantes de la
   intersección son los recursos compartidos sobre los que se
   demanda control; por tanto, si los coches desean atravesar
   el cruce, las necesidades de recursos son las siguientes:

-     El coche que va hacia el norte necesita los cuadrantes 1
  y 2.
-     El coche que va hacia el oeste necesita los cuadrantes 2
  y 3.
-     El coche que va hacia el sur necesita los cuadrantes 3 y
  4.
-     El coche que va hacia el este necesita los cuadrantes 4 y
PRINCIPIOS DE INTERBLOQUEO
Acciones a Realizar en Interbloqueo
CONDICIONES PARA PRODUCIR UN INTERBLOQUEO

1- Condición de exclusión mutua: Cada recurso esta
   asignado a un único proceso o esta disponible.


2- Condición de posesión y espera: Los procesos que
   tienen, en un momento dado, recursos asignados
   con anterioridad, pueden solicitar nuevos recursos.


3- Condición de no apropiación: Los recursos
   otorgados con anterioridad no pueden ser forzados
   a dejar un proceso. El proceso que los posee debe
   liberarlos en forma explicita.
Puede no existir interbloqueo con solo estas tres
  condiciones. Para que se produzca interbloqueo, se
  necesita una cuarta condición:


4- Condición de espera circular (o circulo vicioso de
   espera): Debe existir una cadena circular de dos o
   mas procesos, cada uno de los cuales espera un
   recurso poseído por el siguiente miembro de la
   cadena.
PREVENCIÓN DE INTERBLOQUEO

- Los métodos indirectos que consisten en
   impedir la aparición de alguna de las tres
   condiciones necesarias para que se de
   el interbloqueo.

- Los métodos directos que consisten en
   evitar la aparición del circulo vicioso de
   espera.

Mais conteúdo relacionado

Mais procurados

Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesosayreonmx
 
Gestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosGestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosMarvin Romero
 
Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosCarolina Cols
 
Administración de procesos en el S.O.
Administración de procesos en el S.O.Administración de procesos en el S.O.
Administración de procesos en el S.O.Carlos Solano
 
Conceptos Básicos de Sistemas Operativos
Conceptos Básicos de Sistemas OperativosConceptos Básicos de Sistemas Operativos
Conceptos Básicos de Sistemas Operativosfvaldivieso
 
Unidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del ProcesadorUnidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del ProcesadorUPTM
 
104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesadorMiguel Joshua Godinez Barbosa
 
Servicios de los Sistemas Operativos para la Gestion de Procesos
Servicios de los Sistemas Operativos para la Gestion de ProcesosServicios de los Sistemas Operativos para la Gestion de Procesos
Servicios de los Sistemas Operativos para la Gestion de ProcesosAmandita_Jiss
 
Unidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosUnidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosCESAR
 
Estados de un proceso
Estados de un procesoEstados de un proceso
Estados de un procesoi92almaa
 
Comunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosComunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosLorena Ramos
 
Vision general de los sistemas operativos
Vision general de los sistemas operativosVision general de los sistemas operativos
Vision general de los sistemas operativossuperone314
 

Mais procurados (20)

Grupo1
Grupo1Grupo1
Grupo1
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesos
 
Unidad2
Unidad2Unidad2
Unidad2
 
Procesos e hilos- Parte 1
Procesos e hilos- Parte 1Procesos e hilos- Parte 1
Procesos e hilos- Parte 1
 
Gestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosGestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas Operativos
 
Operaciones Sobre Procesos
Operaciones Sobre ProcesosOperaciones Sobre Procesos
Operaciones Sobre Procesos
 
Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativos
 
Administración de procesos en el S.O.
Administración de procesos en el S.O.Administración de procesos en el S.O.
Administración de procesos en el S.O.
 
Conceptos Básicos de Sistemas Operativos
Conceptos Básicos de Sistemas OperativosConceptos Básicos de Sistemas Operativos
Conceptos Básicos de Sistemas Operativos
 
Unidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del ProcesadorUnidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del Procesador
 
Clase 3 tipos de sistemas
Clase 3 tipos de sistemasClase 3 tipos de sistemas
Clase 3 tipos de sistemas
 
104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador
 
Servicios de los Sistemas Operativos para la Gestion de Procesos
Servicios de los Sistemas Operativos para la Gestion de ProcesosServicios de los Sistemas Operativos para la Gestion de Procesos
Servicios de los Sistemas Operativos para la Gestion de Procesos
 
Unidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosUnidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De Procesos
 
Tema3 procesos
Tema3 procesos Tema3 procesos
Tema3 procesos
 
Estados de un proceso
Estados de un procesoEstados de un proceso
Estados de un proceso
 
Comunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosComunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de Procesos
 
Vision general de los sistemas operativos
Vision general de los sistemas operativosVision general de los sistemas operativos
Vision general de los sistemas operativos
 
Proceso Informatico
Proceso InformaticoProceso Informatico
Proceso Informatico
 
Tipos de procesos
Tipos de procesosTipos de procesos
Tipos de procesos
 

Destaque

Interbloqueo sistemas operativos
Interbloqueo  sistemas operativosInterbloqueo  sistemas operativos
Interbloqueo sistemas operativosAndy Lopez
 
Deteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un InterbloqueoDeteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un InterbloqueoTecnologico de pinotepa
 
2.6 metodos de planificacion
2.6 metodos de planificacion 2.6 metodos de planificacion
2.6 metodos de planificacion lupita zume
 
Concepto de semáforo, exclusión mutua y sección critica
Concepto de semáforo, exclusión mutua y sección criticaConcepto de semáforo, exclusión mutua y sección critica
Concepto de semáforo, exclusión mutua y sección criticaYeseidid SooSa Garcia
 
Transiciones de Procesos
Transiciones de ProcesosTransiciones de Procesos
Transiciones de Procesossueich
 
Software de aplicación
Software de aplicaciónSoftware de aplicación
Software de aplicacióneduardo lopez
 
TECNOLOGIA DE INFORMACIÓN Y COMUNICACIÓN
TECNOLOGIA DE INFORMACIÓN Y COMUNICACIÓNTECNOLOGIA DE INFORMACIÓN Y COMUNICACIÓN
TECNOLOGIA DE INFORMACIÓN Y COMUNICACIÓNmijacaza
 
CÓMO SE PUEDE DEPARTAMENTALIZAR UNA EMPRESA
CÓMO SE  PUEDE DEPARTAMENTALIZAR UNA EMPRESACÓMO SE  PUEDE DEPARTAMENTALIZAR UNA EMPRESA
CÓMO SE PUEDE DEPARTAMENTALIZAR UNA EMPRESAManuel Bedoya D
 
Cuadro comparativo Sistemas operativos I
Cuadro comparativo Sistemas operativos ICuadro comparativo Sistemas operativos I
Cuadro comparativo Sistemas operativos IKim Sorel Rush
 
IntroduccióN A Los Sistemas Operativos De Red
IntroduccióN A Los Sistemas Operativos De RedIntroduccióN A Los Sistemas Operativos De Red
IntroduccióN A Los Sistemas Operativos De Redguest263b7b0
 

Destaque (15)

Interbloqueo sistemas operativos
Interbloqueo  sistemas operativosInterbloqueo  sistemas operativos
Interbloqueo sistemas operativos
 
Deteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un InterbloqueoDeteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un Interbloqueo
 
2.6 metodos de planificacion
2.6 metodos de planificacion 2.6 metodos de planificacion
2.6 metodos de planificacion
 
Concepto de semáforo, exclusión mutua y sección critica
Concepto de semáforo, exclusión mutua y sección criticaConcepto de semáforo, exclusión mutua y sección critica
Concepto de semáforo, exclusión mutua y sección critica
 
Programa sistemas-operativos
Programa  sistemas-operativosPrograma  sistemas-operativos
Programa sistemas-operativos
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Transiciones de Procesos
Transiciones de ProcesosTransiciones de Procesos
Transiciones de Procesos
 
Deadlock
DeadlockDeadlock
Deadlock
 
Software de aplicación
Software de aplicaciónSoftware de aplicación
Software de aplicación
 
TECNOLOGIA DE INFORMACIÓN Y COMUNICACIÓN
TECNOLOGIA DE INFORMACIÓN Y COMUNICACIÓNTECNOLOGIA DE INFORMACIÓN Y COMUNICACIÓN
TECNOLOGIA DE INFORMACIÓN Y COMUNICACIÓN
 
CÓMO SE PUEDE DEPARTAMENTALIZAR UNA EMPRESA
CÓMO SE  PUEDE DEPARTAMENTALIZAR UNA EMPRESACÓMO SE  PUEDE DEPARTAMENTALIZAR UNA EMPRESA
CÓMO SE PUEDE DEPARTAMENTALIZAR UNA EMPRESA
 
Cuadro comparativo Sistemas operativos I
Cuadro comparativo Sistemas operativos ICuadro comparativo Sistemas operativos I
Cuadro comparativo Sistemas operativos I
 
IntroduccióN A Los Sistemas Operativos De Red
IntroduccióN A Los Sistemas Operativos De RedIntroduccióN A Los Sistemas Operativos De Red
IntroduccióN A Los Sistemas Operativos De Red
 
Organizacion De Hospitales
Organizacion De HospitalesOrganizacion De Hospitales
Organizacion De Hospitales
 
Procesamiento de datos
Procesamiento de datosProcesamiento de datos
Procesamiento de datos
 

Semelhante a Unidad 2 Sistemas Operativos

Semelhante a Unidad 2 Sistemas Operativos (20)

S..O. Unidad 2
S..O. Unidad 2S..O. Unidad 2
S..O. Unidad 2
 
Trabajo de sistemas operativos
Trabajo de sistemas operativosTrabajo de sistemas operativos
Trabajo de sistemas operativos
 
:)Resumen
:)Resumen:)Resumen
:)Resumen
 
Unidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosUnidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De Procesos
 
PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTE
 
PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTE
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
 
Diapositivas capitulo 4
Diapositivas capitulo 4Diapositivas capitulo 4
Diapositivas capitulo 4
 
Diapositivas capitulo 4
Diapositivas capitulo 4Diapositivas capitulo 4
Diapositivas capitulo 4
 
Diapositivas capitulo 4
Diapositivas capitulo 4Diapositivas capitulo 4
Diapositivas capitulo 4
 
Gestion de procesos
Gestion de procesosGestion de procesos
Gestion de procesos
 
Gestion de procesos
Gestion de procesosGestion de procesos
Gestion de procesos
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Proceso
ProcesoProceso
Proceso
 
Multiprogramacion
MultiprogramacionMultiprogramacion
Multiprogramacion
 
Multiprogramacion
MultiprogramacionMultiprogramacion
Multiprogramacion
 
Administración de procesosby dan
Administración  de  procesosby danAdministración  de  procesosby dan
Administración de procesosby dan
 
Planificacion de procesos
Planificacion de procesosPlanificacion de procesos
Planificacion de procesos
 
Planificacion de procesos
Planificacion de procesosPlanificacion de procesos
Planificacion de procesos
 
Prueba
PruebaPrueba
Prueba
 

Último

CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicaGianninaValeskaContr
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfpatriciavsquezbecerr
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfssuser50d1252
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTESaraNolasco4
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 

Último (20)

CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
recursos naturales america cuarto basico
recursos naturales america cuarto basicorecursos naturales america cuarto basico
recursos naturales america cuarto basico
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básica
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdf
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 

Unidad 2 Sistemas Operativos

  • 1.
  • 2.
  • 3. 2.1.- DESCRIPCIÓN Y CONTROL DE PROCESOS Proceso Es un programa en ejecución. Los procesos son gestionados por el sistema operativo, De este modo, al comienzo de la ejecución del programa principal de un usuario se inicia la ejecución de un proceso. ¿Cuál es la manifestación de un proceso? El proceso consta de memoria suficiente para resguardar los programas y los datos del proceso, además se lleva una cuenta de las llamadas a procedimientos y de todos los parámetros que pasan de procedimiento a procedimiento. El S. O utiliza una estructura de datos llamada bloque de control la cual es la estructura de datos central y más importante de un S. O.
  • 4. El conjunto de todos los PCB’s se guarda en una estructura del sistema operativo llamada tabla de procesos. El bloque de control se divide en 3:  Identificación del proceso.  Información del proceso.  Información del control del proceso. Operaciones con procesos  Crear y destruir un proceso  Suspender y reanudar un proceso  Cambiar la prioridad de un proceso  Bloquear y "desbloquear" un proceso  Planificar un proceso (asignarle la CPU)
  • 5. 2.2.- DEFINICIÓN DE PROCESOS Cada proceso tiene asociado un espacio de direcciones , una lista de posiciones de memoria desde algún mínimo (usualmente 0) hasta algún máximo, que el proceso puede leer y escribir. A cada proceso también asocia un conjunto de registros, que incluyen el contador del programa, el apuntador de la pila y otros registros, que incluyen el contador del programa, el apuntador de la pila y otros registros de hardware. Así como toda la demás información necesaria para ejecutar el programa. Implantación de los procesos La implementación del modelo de procesos se logra debido a que el sistema operativo almacena en una tabla denominada tabla de control de procesos información relativa a cada proceso que se esta ejecutando en el procesador. Cada línea de esta tabla representa a un proceso.
  • 6. La información que se almacena es la siguiente:  Identificación del proceso.  Identificación del proceso padre.  Información sobre el usuario y grupo.  Estado del procesador.  Información de control de proceso  Información del planificador.  Segmentos de memoria asignados.  Recursos asignados.  Comunicación entre procesos
  • 7. 2.3.- ESTADOS DE LOS PROCESOS Durante su existencia, un proceso transita por varios estados. Los más importantes son: Listo, en Ejecución y Bloqueado. Un proceso Listo es aquél que no está ejecutándose en un momento dado, pero que está preparado para ejecutar tan pronto como el S. O lo decida. Un proceso en Ejecución es aquél que esta ejecutándose en el procesador. En un sistema procesador puede haber más de un proceso en este estado. Un proceso bloqueado es el que está esperando a que termine algún suceso (como una operación de E/S).
  • 8. 2.4.- CONTROL DE PROCESOS La mayoría de los procesadores dan soporte para dos tipos de ejecución por lo menos. Ciertas instrucciones pueden ejecutarse solo n modo privilegiado. Entre éstas están la lectura o modificación de registros de control (como la palabra de estado del programa), instrucciones primitivas de E/S e instrucciones relativas a la gestión de memoria. Además, se puede acceder a ciertas regiones de memoria. El modo menos privilegiado a menudo se conoce como modo de usuario, ya que los programas de usuario ejecutan normalmente en este modo.
  • 9. 2.5.- PROCESOS E HILOS Procesos  Su estado de ejecución en un momento dado, esto es, los valores de los registros de la unidad central de procesamiento para dicho programa.  Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos.  Los procesos son creados y destruidos por el sistema operativo, así como también este se debe hacer cargo de la comunicación entre procesos, Hilos  Es la unidad de procesamiento más pequeña que puede ser planificada por un sistema operativo.
  • 10.  Un hilo es una característica que permite a una aplicación realizar varias tareas a la vez (concurrentemente). Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc. Esta técnica permite simplificar el diseño de una aplicación que debe llevar a cabo distintas funciones simultáneamente.  Es básicamente una tarea que puede ser ejecutada en paralelo con otra tarea.
  • 11.
  • 12.
  • 13. 2.6.- CONCURRENCIA, EXCLUSIÓN MUTUA Y SINCRONIZACIÓN Concurrencia Es el punto clave de la gestión de procesos y fundamental para el diseño de sistemas operativos. Comprende un gran numero de cuestiones de diseño, incluyendo la comunicación entre procesos, compartición y competencia por los recursos, sincronización de la ejecución de varios procesos. Gestión de procesos  Multiprogramación  Multiproceso  Proceso Distribuido Puede presentarse en 3 contextos diferentes que son:
  • 14. Varias aplicaciones: La multiprogramación se creo para permitir que el tiempo de procesador de las maquinas fuese compartido dinámicamente entre varios trabajos o aplicaciones activas. Aplicaciones estructuradas: Estas pueden implementarse eficazmente como un conjunto de procesos concurrentes. Estructura del sistema operativo: Son aplicables a los programadores de sistemas y se ha comprobado que algunos sistemas operativos están implementados como un conjunto de procesos. Exclusión mutua  El uso adecuado de la concurrencia entre procesos exige la capacidad de definir secciones criticas y hacer cumplir la exclusión mutua.  Una manera es dejar la responsabilidad a los procesos que deseen ejecutar concurrentemente, así pues tanto si son programas del sistema, como de aplicación, los procesos deben coordinarse unos con otros para ser cumplida la exclusión mutua, sin ayuda por parte del lenguaje de programación o del sistema operativo.
  • 15. Soluciones por Software  Para los procesos concurrentes que ejecuten en máquinas monoprocesador o multiprocesador con una memoria principal compartida. Soluciones por hardware Inhabilitación de interrupciones  En una maquina monoprocesador, la ejecución de procesos concurrentes no puede superponerse, los procesos sólo pueden intercalarse, es mas un proceso continuara ejecutando hasta que solicite un servicio del sistema operativo o hasta que sea interrumpido.
  • 16. 2.7.- PRINCIPIOS GENERALES DE CONCURRENCIA En un sistema multiprogramado con un único procesador, los procesos se intercalan en el tiempo para dar la apariencia de ejecución simultánea. Aunque no se consigue un procesamiento paralelo real y aunque se produce una cierta sobrecarga en los intercambios de procesos de un sitio a otro, la ejecución intercalada produce beneficios importantes en la eficiencia del procesamiento y en la estructura de los programas. En un sistema multiprocesador no solo es posible intercalar procesos, sino también superponerlos. En el caso de un sistema monoprocesador, los problemas son consecuencia de una característica básica de los sistemas multiprogramadores: la velocidad relativa de ejecución de los procesos no puede predecirse y depende de las actividades de otros procesos, de la forma en que el sistema operativo trata las interrupciones y las políticas de planificación del sistema operativo. De aquí surgen las siguientes dificultades:
  • 17.  Compartir recursos globales está lleno de riesgos.  Para el sistema operativo resulta difícil gestionar la asignación óptima de recursos.  Resulta difícil localizar un error de programación porque los resultaos no son, normalmente reproducibles. Interacción entre procesos Enumera tres niveles de conocimiento y las consecuencias de cada uno de ellos:  Los procesos no tienen conocimiento de los demás: Estos son procesos independientes que no están pensados para operar juntos.  Los procesos tienen un conocimiento indirecto de los otros: Los procesos no conocen necesariamente a los otros por sus identificadores de proceso, pero comparten el acceso a algunos objetos, como un buffer de E/S.  Los procesos tienen un conocimiento directo de los otros: Los procesos son capaces de comunicarse con los demás por el identificador de proceso y están diseñados para trabajar conjuntamente en alguna actividad.
  • 18. Competencia entre procesos por los recursos Los procesos concurrentes entran en conflicto cuando compiten por el uso del mismo recurso. Es posible describir esta situación como sigue: dos o mas procesos necesitan acceder a un recurso durante el curso de su ejecución: ningún proceso es consciente de la existencia de los otros y no se ve afectado por su ejecución. Cooperación entre procesos por comportamiento El caso de cooperación por comportamiento comprende los procesos que interactúan con otros sin tener conocimiento explicito de ellos. Por ejemplo, varios procesos pueden tener acceso a variables. Cooperación entre procesos por comunicación Las interacciones entre los procesos son indirectas. En caso de competencia, los procesos están compartiendo recursos sin tener conocimiento de la existencia de otros procesos.
  • 19.
  • 20. Exclusión mutua Consiste en que un solo proceso excluye temporalmente a todos los demás para usar un recurso compartido de forma que garantice la integridad del sistema.
  • 21. Exclusión mutua CONDICIONES DE LA EXCLUSIÓN MUTUA Hay que garantizar la exclusión mutua entre los diferentes procesos a la hora de acceder al recurso compartido. No puede haber en ningún momento dos procesos dentro de sus respectivas secciones críticas.  No se deben hacer suposiciones en cuanto a la velocidad relativa de los procesos en conflicto.  Ningún proceso que esté fuera de su sección crítica debe interrumpir a otro para el acceso a la sección crítica.  Cuando más de un proceso desee entrar en su sección crítica, se le debe conceder la entrada en un tiempo finito, es decir, que nunca se le tendrá esperando en un bucle que no tenga final.
  • 22. Exclusión mutua TIPOS DE SOLUCIONES DE EXCLUSIÓN MUTUA Soluciones software. Soluciones hardware. Soluciones aportadas por el Sistema Operativo.
  • 23. Exclusión mutua Soluciones hardware. Las soluciones hardware se dividen en dos tipos: Optimistas.  Consideran que lo mas probable es que no haya conflictos, y si los hay sea en número reducido, por lo que permiten cualquier acceso a la variable compartida. En caso de conflicto, mantienen la integridad del sistema descartando las actualizaciones. Pesimistas.  Bloquean todo aquello que pueda interferir.  Actualizan la variable.
  • 25.
  • 26. Semáforos es un algoritmo de control de procesos Que a su vez tiene varios tipos de semáforos los cuales se dividen en:
  • 27. SEMÁFORO BINARIO Un semáforo binario es un indicador de condición (S) que registra si un recurso está disponible o no. Un semáforo binario sólo puede tomar dos valores: O y 1. Semáforo robusto: Es el que se encarga de liberar los procesos que llevan mas tiempo bloqueados.
  • 28. EJEMPLO: wait (variable) begin while (variable)>=0 do {esperar} variable=variable-1 end signal (variable) begin variable=variable+1 end
  • 29. El semáforo se inicializa con el numero total de recursos disponibles (n) y las operaciones de espera y señal se diseñan de modo que se impida el acceso al recurso protegido por el semáforo cuando el valor de éste es menor o igual que cero
  • 30.
  • 31. MONITORES Los monitores son una herramienta de sincronización Posee una estructura propia, es una colección de procedimientos, variables y estructuras de datos que se agrupan en un módulo especial. Los procesos pueden llamar a los procedimientos de un monitor siempre que lo requieran, pero no pueden acceder directamente las estructuras de datos internas del monitor. Implementan un nivel aún más alto de abstracción facilitando el acceso a recursos compartidos.
  • 32. MONITORES Componentes Inicialización: contiene el código a ser ejecutado cuando el monitor es creado Datos privados: contiene los procedimientos privados, que sólo pueden ser usados desde dentro del monitor y no son visibles desde fuera
  • 33. MONITORES Procedimientos del monitor: son los procedimientos que pueden ser llamados desde fuera del monitor. Cola de entrada: contiene a los threads que han llamado a algún procedimiento del monitor pero no han podido adquirir permiso para ejecutarlos aún.
  • 34. MONITORES La sincronización se usan dos instrucciones: wait (c): suspende la ejecución del proceso que llama bajo la condición c. El monitor está ahora disponible para ser usado por otros procesos. signal(c): reanuda la ejecución de algún proceso suspendido después de un cwait bajo la misma condición. Si hay varios procesos, se elige uno de ellos; si no hay ninguno, no hace nada.
  • 35.
  • 36. MENSAJES Son una solución del sistema operativo que nos permitirán la sincronización de procesos y la comunicación entre ambos. Es una cadena de texto transmitida de un proceso que envía el mensaje a un receptor
  • 37. MENSAJES Un mensaje puede tener código, texto, datos etc. Suelen tener dos partes: - Cabecera (obligatoria): IdProcesoEmisor, IdProcesoReceptor, Tipo, Longitud - Cuerpo (optativo): Información adicional Tenemos dos tipos de órdenes para gestionar mensajes (para enviar y recibir): - Enviar: send (destino, mensaje) - Recibir: receive (origen, mensaje)
  • 38. MENSAJES Propiedad de los buzones Tenemos dos casos: El proceso es el propietario. El buzón existe mientras existe el proceso y sólo el propietario puede leer datos del buzón El propietario del buzón es el SO. La propiedad del buzón puede transmitirse entre procesos, lo que permite que varios procesos puedan leer.
  • 39. MENSAJES Casos habituales: Envío bloqueante - Recepción bloqueante. Se usa cuando la sincronización ha de ser muy estricta. Envío no bloqueante - Recepción bloqueante. Se usa para cuando el proceso emisor no necesita que el receptor haya recibido el mensaje para continuar. Ej: Servidor de correo Envío no bloqueante - Recepción no bloqueante
  • 41. PRINCIPIOS DE INTERBLOQUEO El interbloqueo se puede definir como el bloqueo permanente de un conjunto de procesos que compiten por los recursos del sistema o bien se comunican unos con otros. A diferencia de otros problemas de la gestión concurrente de procesos, no existe una solución eficiente para el caso general. Todos los interbloqueos suponen necesidades contradictorias de recursos por parte de dos o más procesos.
  • 42. PRINCIPIOS DE INTERBLOQUEO Ejemplo : Interbloqueo de tráfico Cuatro coches llegan aproximadamente en el mismo instante a un cruce de cuatro caminos. Los cuatro cuadrantes de la intersección son los recursos compartidos sobre los que se demanda control; por tanto, si los coches desean atravesar el cruce, las necesidades de recursos son las siguientes: - El coche que va hacia el norte necesita los cuadrantes 1 y 2. - El coche que va hacia el oeste necesita los cuadrantes 2 y 3. - El coche que va hacia el sur necesita los cuadrantes 3 y 4. - El coche que va hacia el este necesita los cuadrantes 4 y
  • 44.
  • 45. Acciones a Realizar en Interbloqueo CONDICIONES PARA PRODUCIR UN INTERBLOQUEO 1- Condición de exclusión mutua: Cada recurso esta asignado a un único proceso o esta disponible. 2- Condición de posesión y espera: Los procesos que tienen, en un momento dado, recursos asignados con anterioridad, pueden solicitar nuevos recursos. 3- Condición de no apropiación: Los recursos otorgados con anterioridad no pueden ser forzados a dejar un proceso. El proceso que los posee debe liberarlos en forma explicita.
  • 46. Puede no existir interbloqueo con solo estas tres condiciones. Para que se produzca interbloqueo, se necesita una cuarta condición: 4- Condición de espera circular (o circulo vicioso de espera): Debe existir una cadena circular de dos o mas procesos, cada uno de los cuales espera un recurso poseído por el siguiente miembro de la cadena.
  • 47. PREVENCIÓN DE INTERBLOQUEO - Los métodos indirectos que consisten en impedir la aparición de alguna de las tres condiciones necesarias para que se de el interbloqueo. - Los métodos directos que consisten en evitar la aparición del circulo vicioso de espera.