SlideShare une entreprise Scribd logo
1  sur  40
Unidad 2.-  Administración de procesos
2.1 Descripción Y Control De Procesos 	Cada programa que se ejecuta mediante una orden de ejecutar dada por el usuario, se trata como un proceso independiente. Estos procesos generados por el O.S se denominan implícitos. Una vez terminada la ejecución de los mismos, su eliminación también la realiza el propio O.S. Así mismo, el O.S proporciona en tiempo real los servicios que son necesarios para que el usuario pueda definir procesos de forma explicita. Los programas acceden a estos servicios realizando llamadas al sistema (systemcall).
	Estas llamadas pueden aparecer incrustadas en el código de un programa de usuario o del propio sistema, se asemejan a llamadas a procedimientos o funciones que dan lugar a transferencias de rutinas del O.S cuando se invocan en tiempo real. Las llamadas al sistema se realizan también, pero de forma indirecta, cuando se dan órdenes al O.S a través de un terminal, la rutina de monitorización del terminal se encarga de transformar las órdenes en llamadas al sistema.  De esta forma, al comienzo de la ejecución del programa principal de un usuario se inicia la ejecución de un proceso. A su vez el proceso podría crear nuevos procesos. El proceso que crea otro nuevo se denomina proceso padre (parentprocess), y el proceso creado de denomina proceso hijo (childprocess). Una vez creado un proceso hijo, la ejecución de padre e hijo transcurre de manera concurrente. De esta manera se puede crear una jerarquía de procesos, en la que un padre puede tener varios hijos y estos pueden tener otros hijos, etc., pero donde cada hijo sólo tiene un padre.
	Un proceso se refiere a las instrucciones que ejecutará el microprocesador mientras lee un programa determinado. Esto también implica a la memoria reservada y a sus contenidos, el estado de ejecución en determinado momento, y la información que permite al sistema operativo planificar. 	Un proceso es una instancia de ejecución de un programa, caracterizado por su contador de programa, su palabra de estado, sus registros del procesador, su segmento de texto, y datos, etc.   2.2 Definición de Proceso
	Los estados de los procesos son: 	Vacio 	Espera 	Ejecución 	El principal trabajo del procesador es ejecutar las instrucciones de máquina que se encuentran en memoria principal. Estas instrucciones se encuentran en forma de programas. Para que un programa pueda ser ejecutado, el sistema operativo crea un nuevo proceso, y el procesador ejecuta una tras otra las instrucciones del mismo.  2.3 Estados de Procesos
	Modelo de cinco estados Los cinco estados de este diagrama son los siguientes: Ejecución: el proceso está actualmente en ejecución.  Listo: el proceso está listo para ser ejecutado, sólo está esperando que el planificador de corto plazo así lo disponga.  Espera: el proceso no puede ejecutar hasta que no se produzca cierto suceso, como la finalización de una operación de Entrada/Salida solicitada por una llamada al sistema operativo.  Nuevo: El proceso recién fue creado y todavía no fue admitido por el sistema operativo. En general los procesos que se encuentran en este estado todavía no fueron cargados en la memoria principal.
	Terminado: El proceso fue expulsado del grupo de procesos ejecutables, ya sea porque terminó o por algún fallo, como un error de protección, aritmético, etc.  	Nuevo: El proceso recién fue creado y todavía no fue admitido por el sistema operativo. En general los procesos que se encuentran en este estado todavía no fueron cargados en la memoria principal.  	Terminado: El proceso fue expulsado del grupo de procesos ejecutables, ya sea porque terminó o por algún fallo, como un error de protección, aritmético, etc.
La mayoría de los procesadores dan soporte para dos modos de ejecución por lo menos. 2.4Control De Procesos Sistemas Operativos
[object Object]
El modo menos privilegiado a menudo se conoce como modo de usuario,[object Object]
Surgen dos preguntas: ¿Cómo conoce el procesador en qué modo va a ejecutar? ¿Cómo se cambia de modo? Para la primera pregunta, normalmente hay un bit en la PSW que indica el modo de ejecución. El bit es cambiado como respuesta a ciertos sucesos. Por ejemplo, cuando un usuario hace una llamada a un servicio del sistema operativo, el modo se cambia al de núcleo. Esto se suele llevar a cabo ejecutando una instrucción que cambia el modo. Un ejemplo de cómo se hace esto es la instrucción de Cambio de Modo (CHM, Change Mode) del VAX.
2.5Procesos E Hilos
Estados en los que puede estar un proceso. ,[object Object]
Suspendido: No está en memoria principal.
Bloqueado: Está esperando un evento.
Bloqueado y suspendido.
Listo y suspendido. ,[object Object]
Dos hilos de una misma tarea (denominados hilos pares) comparten el segmento de código, el segmento de datos y un espacio de pila, es decir, los recursos asignados a la tarea.
Diferencias entre el control de múltiples hilos con el control de múltiples procesos. ,[object Object]
Cuando un hilo está en ejecución, posee el acceso a todos los recursos que tiene asignados la tarea. ,[object Object]
Contexto del procesador.
Pila de ejecución.
Espacio de almacenamiento estático.
Acceso a los recursos de la tarea. ,[object Object]
Se tarda menos tiempo en terminar un hilo que en terminar un proceso.
Se tarda menos tiempo en cambiar entre dos hilos de una misma tarea que en cambiar entre dos procesos (porque los recursos no cambian, por ejemplo)
Es mas sencillo la comunicación (paso de mensajes por ejemplo) entre hilos de una misma tarea que entre diferentes procesos.
Cuando se cambia de un proceso a otro, tiene que intervenir el núcleo del sistema operativo para que haya protección. ,[object Object]
• Multiprogramación: consiste en la gestión de varios procesos dentro de un sistema mono-procesador.  • Multiprocesamiento: consiste en la gestión de varios procesos, dentro de un sistema multiprocesador.  • Procesamiento distribuido: consiste en la gestión de varios procesos, ejecutándose en sistemas de computadores múltiples y distribuidos. La reciente proliferación de las agrupaciones es el principal ejemplo de este tipo de sistemas.
La concurrencia puede presentarse en tres contextos diferentes:  • Múltiples aplicaciones: la multiprogramación se creó para permitir que el tiempo de procesador de la máquina fuese compartido dinámicamente entre varias aplicaciones activas.  • Aplicaciones estructuradas: como ampliación de los principios del diseño modular y la programación estructurada, algunas aplicaciones pueden implementarse eficazmente como un conjunto de procesos concurrentes.  • Estructura del sistema operativo: las mismas ventajas de estructuración son aplicables a los programadores de sistemas y se ha comprobado que algunos sistemas operativos están implementados como un conjunto de procesos o hilos.
2.7 PRINCIPIOS GENERALES DE LA CONCURRENCIA En un sistema multiprogramado con un único procesador, los procesos se intercalan en el tiempo aparentando una ejecución simultánea. Aunque no se logra un procesamiento paralelo y produce una sobrecarga en los intercambios de procesos, la ejecución intercalada produce beneficios en la eficiencia del procesamiento y en la estructuración de los programas.  La intercalación y la superposición pueden contemplarse como ejemplos de procesamiento concurrente en un sistema monoprocesador, los problemas son consecuencia de la velocidad de ejecución de los procesos que no pueden predecirse y depende de las actividades de otros procesos, de la forma en que el sistema operativo trata las interrupciones surgen las siguientes dificultades:
LABORES DEL SISTEMA OPERATIVO  Elementos de gestión y diseño que surgen por causa de la concurrencia:  1) El sistema operativo debe seguir a los distintos procesos activos  2) El sistema operativo debe asignar y retirar los distintos recursos a cada proceso activo, entre estos se incluyen:  _Tiempo de procesador  _Memoria  _Archivos  _Dispositivos de E/S  3) El sistema operativo debe proteger los datos y los recursos físicos de cada proceso contra injerencias no intencionadas de otros procesos.  4) Los resultados de un proceso deben ser independientes de la velocidad a la que se realiza la ejecución de otros procesos concurrentes.  Para abordar la independencia de la velocidad debemos ver las formas en las que los procesos interactúan.
INTERACCIÓN ENTRE PROCESOS  Se puede clasificar los en que interactúan los procesos en función del nivel de conocimiento que cada proceso tiene de la existencia de los demás. Existen tres niveles de conocimiento:  1) Los procesos no tienen conocimiento de los demás: son procesos independientes que no operan juntos. Ej: la multiprogramación de procesos independientes. Aunque los procesos no trabajen juntos, el sistema operativo se encarga de la “competencia” por los recursos.  2) Los procesos tienen un conocimiento indirecto de los otros: los procesos no conocen a los otros por sus identificadores de proceso, pero muestran cooperación el objeto común.  3) Los procesos tienen conocimiento directo de los otros: los procesos se comunican por el identificador de proceso y pueden trabajar conjuntamente.
Competencia entre procesos por los recursos  Los procesos concurrentes entran en conflicto cuando compiten por el uso del mismo recurso; dos o más procesos necesitan acceder a un recurso durante su ejecución .Cada proceso debe dejar tal y como esté el estado del recurso que utilice.  La ejecución de un proceso puede influir en el comportamiento de los procesos que compiten. Por Ej. Si dos procesos desean acceder a un recurso, el sistema operativo le asignará el recurso a uno y el otro tendrá que esperar.  Cuando hay procesos en competencia, se deben solucionar tres problemas de control: la necesidad de exclusión mutua. Suponiendo que dos procesos quieren acceder a un recurso no compartible. A estos recursos se les llama “recursos críticos” y la parte del programa que los utiliza es la “sección crítica” del programa. Es importante que sólo un programa pueda acceder a su sección crítica en un momento dado.  Hacer que se cumpla la exclusión mutua provoca un interbloqueo.
REQUISITOS PARA LA EXCLUSIÓN MUTUA  Sólo un proceso, de todos los que poseen secciones críticas por el mismo recurso compartido, debe tener permiso para entrar en ella en un momento dado. Un proceso que se interrumpe en una sección no crítica debe hacerlo sin interferir con los otros procesos. Un proceso no debe poder solicitar acceso a una sección crítica para después ser demorado indefinidamente, no puede permitirse el interbloqueo o la inanición. Si ningún proceso está en su sección crítica, cualquier proceso que solicite entrar en la suya debe poder hacerlo sin demora. No se debe suponer sobre la velocidad relativa de los procesos o el número de procesadores. Un proceso permanece en su sección crítica por un tiempo finito. Una manera de satisfacer los requisitos de exclusión mutua es dejar la responsabilidad a los procesos que deseen ejecutar concurrentemente. Tanto si son programas del sistema como de aplicación, los procesos deben coordinarse unos con otros para cumplir la exclusión mutua, sin ayuda del lenguaje de programación o del sistema operativo.
2.8 Exclusión mutua: solución por software y hardware 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  Los algoritmos de exclusión mutua se usan en programación para evitar que fragmentos de código conocidos como secciones críticas sean accedidas al mismo tiempo a recursos que no deben ser compartidos  La técnica que se emplea para conseguir la exclusión mutua es inhabilitar las interrupciones durante el conjunto de instrucciones más pequeño que impedirá la corrupción de la estructura compartida La mayoría de los métodos de exclusión mutua clásicos intentan reducir la espera activa mediante las colas y cambios de contexto Algunos investigadores afirman que las pruebas indican que estos algoritmos especiales pierden más tiempo del que ahorran  Algunos ejemplos de soluciones por software y hardware son los algoritmos clásicos de exclusión mutua: El algoritmo de Dekker El algoritmo de Peterson     
2.9 Semáforos Un semáforo es un algoritmo de control de procesos  diseñada para sincronizar dos o más  procesos, de modo que su ejecución se realice de forma ordenada y sin conflictos entre ellos.  Los semáforos pueden ser usados para diferentes propósitos, entre ellos: Implementar cierres de exclusión mutua o locks. Eliminar Barreras  Permitir a un máximo de N threads, acceder a un recurso, inicializando el semáforo en N. Se utilizan dos variables comunes para realizar el código. La operación P Se  denomina "wait" o "espera"  Wait.-   Pregunta a los procesos si su contador es > ó = que cero, en caso de no ser así, los decrementa. El proceso que cambia en este caso a negativo (−1) desde la cola de procesos Listos a ser ejecutados es el que automáticamente toma el control del procesador.
La operación V se denomina "signal" o "señal". Signal.- determina  el tiempo t, y pregunta a los procesos si su contador es < que cero en caso de que sea afirmativa la respuesta, saca a este proceso de su ejecución. Los semáforos también se emplean para permitir el acceso a diferentes partes de programas donde se manipulan variables o recursos que deben ser accedidos de forma especial.  Los sistemas operativos usan semáforos para controlar el acceso a una sección crítica o recursos compartidos. El semáforo se inicializa en un valor que corresponde al número de recursos disponibles
2.10 Monitores El monitor del sistema es la herramienta que permite ver el estado del sistema. Esta herramienta permite generar gráficos a tiempo real del estado de funcionamiento de los diversos componentes del sistema, así como hacer un seguimiento de estos componentes, obteniendo informes e incluso lanzando aplicaciones en respuesta a determinadas condiciones. Los elementos de monitorización que permite crear el monitor del sistema son de cuatro tipos: gráficos, alertas, registros e informes.  Un monitor encapsula el código relativo a un recurso compartido en un solo módulo de programa; Mantenimiento más simple. Menos errores de programación.
. La interfaz del monitor es un conjunto de funciones que representan las diferentes operaciones que pueden hacerse con el recurso.  La implementación del monitor garantiza la exclusión mutua:  Mediante semáforos o algún otro mecanismo.  Implícitamente en los lenguajes concurrentes  Monitor residente Son programas que residían en memoria y que gestionaban la ejecución de una cola de trabajos.  Un monitor residente estaba compuesto por un cargador, un Intérprete de comandos y un Controlador (drivers) para el manejo de entrada/salida.

Contenu connexe

Tendances

Interrupciones y llamadas del sistema
Interrupciones y llamadas del sistemaInterrupciones y llamadas del sistema
Interrupciones y llamadas del sistemajomapuga
 
Interrupciones y excepciones de software y hardware
Interrupciones y excepciones de software y hardwareInterrupciones y excepciones de software y hardware
Interrupciones y excepciones de software y hardwareCarlos Yanez
 
Las interrupciones
Las interrupcionesLas interrupciones
Las interrupcionescwelio45
 
Interrupciones del microprocesador
Interrupciones del microprocesadorInterrupciones del microprocesador
Interrupciones del microprocesadorJorge Luis Tinoco
 
Interrupciones
InterrupcionesInterrupciones
Interrupcioneshandresrm
 
Mantenimiento de la pc
Mantenimiento de la pcMantenimiento de la pc
Mantenimiento de la pcmanuelbonito61
 
Interrupciones
InterrupcionesInterrupciones
Interrupcionesjcarlosl
 
Procesos Interrupciones y Nucleo
 Procesos Interrupciones y Nucleo Procesos Interrupciones y Nucleo
Procesos Interrupciones y NucleoG Hoyos A
 
Interrupciones Del IBM PC
Interrupciones Del IBM PCInterrupciones Del IBM PC
Interrupciones Del IBM PCByron Medina
 
Revista Digital
Revista Digital Revista Digital
Revista Digital Yosel97
 
Revista Digital
Revista Digital Revista Digital
Revista Digital Yosel97
 

Tendances (19)

Interrupciones: Sistemas Operativos
Interrupciones: Sistemas OperativosInterrupciones: Sistemas Operativos
Interrupciones: Sistemas Operativos
 
Interrupciones y llamadas del sistema
Interrupciones y llamadas del sistemaInterrupciones y llamadas del sistema
Interrupciones y llamadas del sistema
 
Interrupción informatica
Interrupción informaticaInterrupción informatica
Interrupción informatica
 
Interrupciones y excepciones de software y hardware
Interrupciones y excepciones de software y hardwareInterrupciones y excepciones de software y hardware
Interrupciones y excepciones de software y hardware
 
Las interrupciones
Las interrupcionesLas interrupciones
Las interrupciones
 
Interrupciones del microprocesador
Interrupciones del microprocesadorInterrupciones del microprocesador
Interrupciones del microprocesador
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Mantenimiento de la pc
Mantenimiento de la pcMantenimiento de la pc
Mantenimiento de la pc
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Procesos Interrupciones y Nucleo
 Procesos Interrupciones y Nucleo Procesos Interrupciones y Nucleo
Procesos Interrupciones y Nucleo
 
Interrupciones Del IBM PC
Interrupciones Del IBM PCInterrupciones Del IBM PC
Interrupciones Del IBM PC
 
Llamadas de sistemas
Llamadas de sistemasLlamadas de sistemas
Llamadas de sistemas
 
Revista Digital
Revista Digital Revista Digital
Revista Digital
 
Revista Digital
Revista Digital Revista Digital
Revista Digital
 
Interrupciones de Hardware
Interrupciones de HardwareInterrupciones de Hardware
Interrupciones de Hardware
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladores
 
S.O Ecci
S.O EcciS.O Ecci
S.O Ecci
 
Relojes
RelojesRelojes
Relojes
 
El Sistema Operativo
El Sistema OperativoEl Sistema Operativo
El Sistema Operativo
 

Similaire à S..O. Unidad 2

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
 
Unidad 2 Sistemas Operativos
Unidad 2 Sistemas OperativosUnidad 2 Sistemas Operativos
Unidad 2 Sistemas OperativosKim Sorel Rush
 
Recurrencia en procesos
Recurrencia en procesosRecurrencia en procesos
Recurrencia en procesosrcarrerah
 
Procesos de un sistema operativo
Procesos de un sistema operativoProcesos de un sistema operativo
Procesos de un sistema operativoRaul Abad
 
Gestion de procesos
Gestion de procesosGestion de procesos
Gestion de procesosEli_Jonathan
 
Gestion de procesos
Gestion de procesosGestion de procesos
Gestion de procesoswflores100
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativoTEUJARA
 
Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01Alfredo Gonzalez
 
Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01Alfredo Gonzalez
 
GESTION DE PROCESOS
GESTION DE PROCESOSGESTION DE PROCESOS
GESTION DE PROCESOSDAVID CRROS
 
Estructura de los Sistemas Operativos
Estructura de los Sistemas OperativosEstructura de los Sistemas Operativos
Estructura de los Sistemas OperativosG Hoyos A
 
Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesosLlabajo Baez
 
Expocontrolcalidad
ExpocontrolcalidadExpocontrolcalidad
ExpocontrolcalidadLenin Lucano
 

Similaire à S..O. Unidad 2 (20)

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
 
Unidad2
Unidad2Unidad2
Unidad2
 
Unidad 2 Sistemas Operativos
Unidad 2 Sistemas OperativosUnidad 2 Sistemas Operativos
Unidad 2 Sistemas Operativos
 
Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
 
Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
 
Recurrencia en procesos
Recurrencia en procesosRecurrencia en procesos
Recurrencia en procesos
 
Procesos de un sistema operativo
Procesos de un sistema operativoProcesos de un sistema operativo
Procesos de un sistema operativo
 
Grupo1
Grupo1Grupo1
Grupo1
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
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
 
Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01
 
Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01Sistemaoperativo 130416194811-phpapp01
Sistemaoperativo 130416194811-phpapp01
 
GESTION DE PROCESOS
GESTION DE PROCESOSGESTION DE PROCESOS
GESTION DE PROCESOS
 
Estructura de los Sistemas Operativos
Estructura de los Sistemas OperativosEstructura de los Sistemas Operativos
Estructura de los Sistemas Operativos
 
Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesos
 
Expocontrolcalidad
ExpocontrolcalidadExpocontrolcalidad
Expocontrolcalidad
 
Sistemas operativos - 6to SSI
Sistemas operativos - 6to SSISistemas operativos - 6to SSI
Sistemas operativos - 6to SSI
 
:)Resumen
:)Resumen:)Resumen
:)Resumen
 

Plus de Chulinneitor

Sistemas operativos 2
Sistemas operativos 2Sistemas operativos 2
Sistemas operativos 2Chulinneitor
 
Unidad 6 Yb 7 Sistemas Operativos
Unidad 6 Yb 7 Sistemas OperativosUnidad 6 Yb 7 Sistemas Operativos
Unidad 6 Yb 7 Sistemas OperativosChulinneitor
 
Practica configuracion grupo trabajo
Practica configuracion grupo trabajoPractica configuracion grupo trabajo
Practica configuracion grupo trabajoChulinneitor
 
Grupo de trabajo Practica
Grupo de trabajo PracticaGrupo de trabajo Practica
Grupo de trabajo PracticaChulinneitor
 
C U E S T I O N A R I O S S I S T E M A S O P E R A T I V O S
C U E S T I O N A R I O S  S I S T E M A S  O P E R A T I V O SC U E S T I O N A R I O S  S I S T E M A S  O P E R A T I V O S
C U E S T I O N A R I O S S I S T E M A S O P E R A T I V O SChulinneitor
 
Cuestionarios Sistemas Operativos
Cuestionarios Sistemas OperativosCuestionarios Sistemas Operativos
Cuestionarios Sistemas OperativosChulinneitor
 
S.O. Net comandos (windows)
S.O. Net comandos (windows)S.O. Net comandos (windows)
S.O. Net comandos (windows)Chulinneitor
 
Instalando Linux 9.04
Instalando Linux 9.04Instalando Linux 9.04
Instalando Linux 9.04Chulinneitor
 
Sistemas Operativos Windows, Linux, Unix
Sistemas Operativos Windows, Linux, UnixSistemas Operativos Windows, Linux, Unix
Sistemas Operativos Windows, Linux, UnixChulinneitor
 
Sistemas Operativos (temas de clase)
Sistemas Operativos (temas de clase)Sistemas Operativos (temas de clase)
Sistemas Operativos (temas de clase)Chulinneitor
 
Sistemas Operativos I[1]
Sistemas Operativos I[1]Sistemas Operativos I[1]
Sistemas Operativos I[1]Chulinneitor
 
Sistemas Operativos cuestionario
Sistemas Operativos cuestionarioSistemas Operativos cuestionario
Sistemas Operativos cuestionarioChulinneitor
 
Linea D E L T I E M P O S I S T E M A
Linea  D E L  T I E M P O  S I S T E M ALinea  D E L  T I E M P O  S I S T E M A
Linea D E L T I E M P O S I S T E M AChulinneitor
 
Línea Del Tiempo Empezando Desde 1834
Línea Del Tiempo Empezando Desde 1834Línea Del Tiempo Empezando Desde 1834
Línea Del Tiempo Empezando Desde 1834Chulinneitor
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas OperativosChulinneitor
 

Plus de Chulinneitor (20)

Sistemas operativos 2
Sistemas operativos 2Sistemas operativos 2
Sistemas operativos 2
 
Unidad 6 Yb 7 Sistemas Operativos
Unidad 6 Yb 7 Sistemas OperativosUnidad 6 Yb 7 Sistemas Operativos
Unidad 6 Yb 7 Sistemas Operativos
 
Practica configuracion grupo trabajo
Practica configuracion grupo trabajoPractica configuracion grupo trabajo
Practica configuracion grupo trabajo
 
Grupo de trabajo Practica
Grupo de trabajo PracticaGrupo de trabajo Practica
Grupo de trabajo Practica
 
Practica 1
Practica 1Practica 1
Practica 1
 
C U E S T I O N A R I O S S I S T E M A S O P E R A T I V O S
C U E S T I O N A R I O S  S I S T E M A S  O P E R A T I V O SC U E S T I O N A R I O S  S I S T E M A S  O P E R A T I V O S
C U E S T I O N A R I O S S I S T E M A S O P E R A T I V O S
 
Cuestionarios Sistemas Operativos
Cuestionarios Sistemas OperativosCuestionarios Sistemas Operativos
Cuestionarios Sistemas Operativos
 
Practica 1
Practica 1Practica 1
Practica 1
 
Unidad 5 So
Unidad 5 SoUnidad 5 So
Unidad 5 So
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
Practica
PracticaPractica
Practica
 
S.O. Net comandos (windows)
S.O. Net comandos (windows)S.O. Net comandos (windows)
S.O. Net comandos (windows)
 
Instalando Linux 9.04
Instalando Linux 9.04Instalando Linux 9.04
Instalando Linux 9.04
 
Sistemas Operativos Windows, Linux, Unix
Sistemas Operativos Windows, Linux, UnixSistemas Operativos Windows, Linux, Unix
Sistemas Operativos Windows, Linux, Unix
 
Sistemas Operativos (temas de clase)
Sistemas Operativos (temas de clase)Sistemas Operativos (temas de clase)
Sistemas Operativos (temas de clase)
 
Sistemas Operativos I[1]
Sistemas Operativos I[1]Sistemas Operativos I[1]
Sistemas Operativos I[1]
 
Sistemas Operativos cuestionario
Sistemas Operativos cuestionarioSistemas Operativos cuestionario
Sistemas Operativos cuestionario
 
Linea D E L T I E M P O S I S T E M A
Linea  D E L  T I E M P O  S I S T E M ALinea  D E L  T I E M P O  S I S T E M A
Linea D E L T I E M P O S I S T E M A
 
Línea Del Tiempo Empezando Desde 1834
Línea Del Tiempo Empezando Desde 1834Línea Del Tiempo Empezando Desde 1834
Línea Del Tiempo Empezando Desde 1834
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 

S..O. Unidad 2

  • 1. Unidad 2.- Administración de procesos
  • 2. 2.1 Descripción Y Control De Procesos Cada programa que se ejecuta mediante una orden de ejecutar dada por el usuario, se trata como un proceso independiente. Estos procesos generados por el O.S se denominan implícitos. Una vez terminada la ejecución de los mismos, su eliminación también la realiza el propio O.S. Así mismo, el O.S proporciona en tiempo real los servicios que son necesarios para que el usuario pueda definir procesos de forma explicita. Los programas acceden a estos servicios realizando llamadas al sistema (systemcall).
  • 3. Estas llamadas pueden aparecer incrustadas en el código de un programa de usuario o del propio sistema, se asemejan a llamadas a procedimientos o funciones que dan lugar a transferencias de rutinas del O.S cuando se invocan en tiempo real. Las llamadas al sistema se realizan también, pero de forma indirecta, cuando se dan órdenes al O.S a través de un terminal, la rutina de monitorización del terminal se encarga de transformar las órdenes en llamadas al sistema. De esta forma, al comienzo de la ejecución del programa principal de un usuario se inicia la ejecución de un proceso. A su vez el proceso podría crear nuevos procesos. El proceso que crea otro nuevo se denomina proceso padre (parentprocess), y el proceso creado de denomina proceso hijo (childprocess). Una vez creado un proceso hijo, la ejecución de padre e hijo transcurre de manera concurrente. De esta manera se puede crear una jerarquía de procesos, en la que un padre puede tener varios hijos y estos pueden tener otros hijos, etc., pero donde cada hijo sólo tiene un padre.
  • 4. Un proceso se refiere a las instrucciones que ejecutará el microprocesador mientras lee un programa determinado. Esto también implica a la memoria reservada y a sus contenidos, el estado de ejecución en determinado momento, y la información que permite al sistema operativo planificar. Un proceso es una instancia de ejecución de un programa, caracterizado por su contador de programa, su palabra de estado, sus registros del procesador, su segmento de texto, y datos, etc.   2.2 Definición de Proceso
  • 5. Los estados de los procesos son: Vacio Espera Ejecución El principal trabajo del procesador es ejecutar las instrucciones de máquina que se encuentran en memoria principal. Estas instrucciones se encuentran en forma de programas. Para que un programa pueda ser ejecutado, el sistema operativo crea un nuevo proceso, y el procesador ejecuta una tras otra las instrucciones del mismo. 2.3 Estados de Procesos
  • 6. Modelo de cinco estados Los cinco estados de este diagrama son los siguientes: Ejecución: el proceso está actualmente en ejecución. Listo: el proceso está listo para ser ejecutado, sólo está esperando que el planificador de corto plazo así lo disponga. Espera: el proceso no puede ejecutar hasta que no se produzca cierto suceso, como la finalización de una operación de Entrada/Salida solicitada por una llamada al sistema operativo. Nuevo: El proceso recién fue creado y todavía no fue admitido por el sistema operativo. En general los procesos que se encuentran en este estado todavía no fueron cargados en la memoria principal.
  • 7. Terminado: El proceso fue expulsado del grupo de procesos ejecutables, ya sea porque terminó o por algún fallo, como un error de protección, aritmético, etc. Nuevo: El proceso recién fue creado y todavía no fue admitido por el sistema operativo. En general los procesos que se encuentran en este estado todavía no fueron cargados en la memoria principal. Terminado: El proceso fue expulsado del grupo de procesos ejecutables, ya sea porque terminó o por algún fallo, como un error de protección, aritmético, etc.
  • 8. La mayoría de los procesadores dan soporte para dos modos de ejecución por lo menos. 2.4Control De Procesos Sistemas Operativos
  • 9.
  • 10.
  • 11. Surgen dos preguntas: ¿Cómo conoce el procesador en qué modo va a ejecutar? ¿Cómo se cambia de modo? Para la primera pregunta, normalmente hay un bit en la PSW que indica el modo de ejecución. El bit es cambiado como respuesta a ciertos sucesos. Por ejemplo, cuando un usuario hace una llamada a un servicio del sistema operativo, el modo se cambia al de núcleo. Esto se suele llevar a cabo ejecutando una instrucción que cambia el modo. Un ejemplo de cómo se hace esto es la instrucción de Cambio de Modo (CHM, Change Mode) del VAX.
  • 13.
  • 14. Suspendido: No está en memoria principal.
  • 17.
  • 18. Dos hilos de una misma tarea (denominados hilos pares) comparten el segmento de código, el segmento de datos y un espacio de pila, es decir, los recursos asignados a la tarea.
  • 19.
  • 20.
  • 24.
  • 25. Se tarda menos tiempo en terminar un hilo que en terminar un proceso.
  • 26. Se tarda menos tiempo en cambiar entre dos hilos de una misma tarea que en cambiar entre dos procesos (porque los recursos no cambian, por ejemplo)
  • 27. Es mas sencillo la comunicación (paso de mensajes por ejemplo) entre hilos de una misma tarea que entre diferentes procesos.
  • 28.
  • 29. • Multiprogramación: consiste en la gestión de varios procesos dentro de un sistema mono-procesador. • Multiprocesamiento: consiste en la gestión de varios procesos, dentro de un sistema multiprocesador. • Procesamiento distribuido: consiste en la gestión de varios procesos, ejecutándose en sistemas de computadores múltiples y distribuidos. La reciente proliferación de las agrupaciones es el principal ejemplo de este tipo de sistemas.
  • 30. La concurrencia puede presentarse en tres contextos diferentes: • Múltiples aplicaciones: la multiprogramación se creó para permitir que el tiempo de procesador de la máquina fuese compartido dinámicamente entre varias aplicaciones activas. • Aplicaciones estructuradas: como ampliación de los principios del diseño modular y la programación estructurada, algunas aplicaciones pueden implementarse eficazmente como un conjunto de procesos concurrentes. • Estructura del sistema operativo: las mismas ventajas de estructuración son aplicables a los programadores de sistemas y se ha comprobado que algunos sistemas operativos están implementados como un conjunto de procesos o hilos.
  • 31. 2.7 PRINCIPIOS GENERALES DE LA CONCURRENCIA En un sistema multiprogramado con un único procesador, los procesos se intercalan en el tiempo aparentando una ejecución simultánea. Aunque no se logra un procesamiento paralelo y produce una sobrecarga en los intercambios de procesos, la ejecución intercalada produce beneficios en la eficiencia del procesamiento y en la estructuración de los programas. La intercalación y la superposición pueden contemplarse como ejemplos de procesamiento concurrente en un sistema monoprocesador, los problemas son consecuencia de la velocidad de ejecución de los procesos que no pueden predecirse y depende de las actividades de otros procesos, de la forma en que el sistema operativo trata las interrupciones surgen las siguientes dificultades:
  • 32. LABORES DEL SISTEMA OPERATIVO Elementos de gestión y diseño que surgen por causa de la concurrencia: 1) El sistema operativo debe seguir a los distintos procesos activos 2) El sistema operativo debe asignar y retirar los distintos recursos a cada proceso activo, entre estos se incluyen: _Tiempo de procesador _Memoria _Archivos _Dispositivos de E/S 3) El sistema operativo debe proteger los datos y los recursos físicos de cada proceso contra injerencias no intencionadas de otros procesos. 4) Los resultados de un proceso deben ser independientes de la velocidad a la que se realiza la ejecución de otros procesos concurrentes. Para abordar la independencia de la velocidad debemos ver las formas en las que los procesos interactúan.
  • 33. INTERACCIÓN ENTRE PROCESOS Se puede clasificar los en que interactúan los procesos en función del nivel de conocimiento que cada proceso tiene de la existencia de los demás. Existen tres niveles de conocimiento: 1) Los procesos no tienen conocimiento de los demás: son procesos independientes que no operan juntos. Ej: la multiprogramación de procesos independientes. Aunque los procesos no trabajen juntos, el sistema operativo se encarga de la “competencia” por los recursos. 2) Los procesos tienen un conocimiento indirecto de los otros: los procesos no conocen a los otros por sus identificadores de proceso, pero muestran cooperación el objeto común. 3) Los procesos tienen conocimiento directo de los otros: los procesos se comunican por el identificador de proceso y pueden trabajar conjuntamente.
  • 34. Competencia entre procesos por los recursos Los procesos concurrentes entran en conflicto cuando compiten por el uso del mismo recurso; dos o más procesos necesitan acceder a un recurso durante su ejecución .Cada proceso debe dejar tal y como esté el estado del recurso que utilice. La ejecución de un proceso puede influir en el comportamiento de los procesos que compiten. Por Ej. Si dos procesos desean acceder a un recurso, el sistema operativo le asignará el recurso a uno y el otro tendrá que esperar. Cuando hay procesos en competencia, se deben solucionar tres problemas de control: la necesidad de exclusión mutua. Suponiendo que dos procesos quieren acceder a un recurso no compartible. A estos recursos se les llama “recursos críticos” y la parte del programa que los utiliza es la “sección crítica” del programa. Es importante que sólo un programa pueda acceder a su sección crítica en un momento dado. Hacer que se cumpla la exclusión mutua provoca un interbloqueo.
  • 35. REQUISITOS PARA LA EXCLUSIÓN MUTUA Sólo un proceso, de todos los que poseen secciones críticas por el mismo recurso compartido, debe tener permiso para entrar en ella en un momento dado. Un proceso que se interrumpe en una sección no crítica debe hacerlo sin interferir con los otros procesos. Un proceso no debe poder solicitar acceso a una sección crítica para después ser demorado indefinidamente, no puede permitirse el interbloqueo o la inanición. Si ningún proceso está en su sección crítica, cualquier proceso que solicite entrar en la suya debe poder hacerlo sin demora. No se debe suponer sobre la velocidad relativa de los procesos o el número de procesadores. Un proceso permanece en su sección crítica por un tiempo finito. Una manera de satisfacer los requisitos de exclusión mutua es dejar la responsabilidad a los procesos que deseen ejecutar concurrentemente. Tanto si son programas del sistema como de aplicación, los procesos deben coordinarse unos con otros para cumplir la exclusión mutua, sin ayuda del lenguaje de programación o del sistema operativo.
  • 36. 2.8 Exclusión mutua: solución por software y hardware 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 Los algoritmos de exclusión mutua se usan en programación para evitar que fragmentos de código conocidos como secciones críticas sean accedidas al mismo tiempo a recursos que no deben ser compartidos La técnica que se emplea para conseguir la exclusión mutua es inhabilitar las interrupciones durante el conjunto de instrucciones más pequeño que impedirá la corrupción de la estructura compartida La mayoría de los métodos de exclusión mutua clásicos intentan reducir la espera activa mediante las colas y cambios de contexto Algunos investigadores afirman que las pruebas indican que estos algoritmos especiales pierden más tiempo del que ahorran Algunos ejemplos de soluciones por software y hardware son los algoritmos clásicos de exclusión mutua: El algoritmo de Dekker El algoritmo de Peterson    
  • 37. 2.9 Semáforos Un semáforo es un algoritmo de control de procesos diseñada para sincronizar dos o más procesos, de modo que su ejecución se realice de forma ordenada y sin conflictos entre ellos. Los semáforos pueden ser usados para diferentes propósitos, entre ellos: Implementar cierres de exclusión mutua o locks. Eliminar Barreras Permitir a un máximo de N threads, acceder a un recurso, inicializando el semáforo en N. Se utilizan dos variables comunes para realizar el código. La operación P Se denomina "wait" o "espera" Wait.- Pregunta a los procesos si su contador es > ó = que cero, en caso de no ser así, los decrementa. El proceso que cambia en este caso a negativo (−1) desde la cola de procesos Listos a ser ejecutados es el que automáticamente toma el control del procesador.
  • 38. La operación V se denomina "signal" o "señal". Signal.- determina el tiempo t, y pregunta a los procesos si su contador es < que cero en caso de que sea afirmativa la respuesta, saca a este proceso de su ejecución. Los semáforos también se emplean para permitir el acceso a diferentes partes de programas donde se manipulan variables o recursos que deben ser accedidos de forma especial. Los sistemas operativos usan semáforos para controlar el acceso a una sección crítica o recursos compartidos. El semáforo se inicializa en un valor que corresponde al número de recursos disponibles
  • 39. 2.10 Monitores El monitor del sistema es la herramienta que permite ver el estado del sistema. Esta herramienta permite generar gráficos a tiempo real del estado de funcionamiento de los diversos componentes del sistema, así como hacer un seguimiento de estos componentes, obteniendo informes e incluso lanzando aplicaciones en respuesta a determinadas condiciones. Los elementos de monitorización que permite crear el monitor del sistema son de cuatro tipos: gráficos, alertas, registros e informes. Un monitor encapsula el código relativo a un recurso compartido en un solo módulo de programa; Mantenimiento más simple. Menos errores de programación.
  • 40. . La interfaz del monitor es un conjunto de funciones que representan las diferentes operaciones que pueden hacerse con el recurso. La implementación del monitor garantiza la exclusión mutua: Mediante semáforos o algún otro mecanismo. Implícitamente en los lenguajes concurrentes Monitor residente Son programas que residían en memoria y que gestionaban la ejecución de una cola de trabajos. Un monitor residente estaba compuesto por un cargador, un Intérprete de comandos y un Controlador (drivers) para el manejo de entrada/salida.
  • 41. 2.11Paso De Mensajes Sistemas Operativos
  • 42. El paso de mensajes es una técnica empleada en programación concurrente para aportar sincronización entre procesos y permitir la exclusión mutua, de manera similar a como se hace con los semáforos, monitores, etc.
  • 43. Los elementos principales que intervienen en el paso de mensajes son el proceso que envía, el que recibe y el mensaje
  • 44. 2.12 Concurrencia E Interbloqueo Deadlock
  • 45. DEADLOCK Los procesos no son ejecutados constantemente desde que se inician hasta que son finalizados. Un proceso puede estar identificado con tres estados diferentes: leyendo (ready), ejecutando (running) o bloqueado (blocked). En el estado de lectura, un proceso está parado, concediendo que otro proceso sea ejecutado; en el estado de ejecución, un proceso está utilizando algún recurso; y en el estado de bloqueo, el proceso está parado y no se ejecutará mientras algo lo restaure.
  • 46. Se dice que dos procesos se encuentran en estado de deadlock (interbloqueo, bloqueo mutuo o abrazo mortal) cuando están esperando por condiciones que nunca se van a cumplir. Se podría hablar de deadlock como el estado permanente de bloqueo de un conjunto de procesos que están compitiendo por recursos del sistema.
  • 48. 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.
  • 49. Todos los interbloqueos suponen necesidades contradictorias de recursos por parte de dos o más procesos