Excusion Mutua
Enviado por diego2894 • 8 de Abril de 2014 • 1.313 Palabras (6 Páginas) • 187 Visitas
Exclusión Mutua
En un sistema multiprogramado con un único procesador, losprocesos se intercalan en el tiempo (i.e. Round Robin) para darapariencia de ejecución simultánea. Aunque no se consigue unprocesado en paralelo real, y aunque se produce un sobrecargadoen la cpu por el hecho de tener que cambiar de tareaconstantemente, las ventajas de todo esto son muy elevadas. Ejemplo: avion-torre, chat's, etc.
Uno de los grandes problemas que nos podemos encontrar es queel hecho de compartir recursos está lleno de riesgos. Por ejemplo,si dos procesos hacen uso al mismo tiempo de una variable globaly ambos llevan a cabo tanto operaciones de lectura como deescritura sobre dicha variable, el orden en que se ejecuten estaslecturas y escrituras es crítico, puesto que se verá afectado elvalor de la variable.
Los algoritmos de exclusión mutua se usan en programación concurrente para evitar el uso simultáneo de recursos comunes, como variables globales, por fragmentos de código conocidos como secciones críticas.
La mayor parte de estos recursos son las señales, contadores, colas y otros datos que se emplean en la comunicación entre el código que se ejecuta cuando se da servicio a una interrupción y el código que se ejecuta el resto del tiempo. Se trata de un problema de vital importancia porque, si no se toman las precauciones debidas, una interrupción puede ocurrir entre dos instrucciones cualesquiera del código normal y esto puede provocar graves fallos.
Sección Crítica
Se denomina sección crítica, en programación concurrente, a la porción de código de un programa de computador en la cual se accede a un recurso compartido (estructura de datos o dispositivo) que no debe ser accedido por más de un proceso o hilo en ejecución. La sección crítica por lo general termina en un tiempo determinado y el hilo, proceso o tarea sólo tendrá que esperar un período determinado de tiempo para entrar. Se necesita un mecanismo de sincronización en la entrada y salida de la sección crítica para asegurar la utilización en exclusiva del recurso, por ejemplo un semáforo.
El acceso concurrente se controla teniendo cuidado de las variables que se modifican dentro y fuera de la sección crítica. La sección crítica se utiliza por lo general cuando un programa multihiloactualiza múltiples variables sin un hilo de ejecución separado que lleve los cambios conflictivos a esos datos. Una situación similar, la sección crítica puede ser utilizada para asegurarse de que un recurso compartido, por ejemplo, una impresora, puede ser accedida por un solo proceso a la vez.
La manera en cómo se implementan las secciones puede variar dependiendo de los diversos sistemas operativos.
Sólo un proceso puede estar en una sección crítica a la vez.
El método más común para evitar que dos procesos accedan al mismo tiempo a un recurso es el de la exclusión mutua
Kernel
Es el principal responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma más básica, es el encargado de gestionar recursos, a través de servicios de llamada al sistema. Como hay muchos programas y el acceso al hardware es limitado, también se encarga de decidir qué programa podrá hacer uso de un dispositivo de hardware y durante cuánto tiempo, lo que se conoce como multiplexado. Acceder al hardware directamente puede ser realmente complejo, por lo que los núcleos suelen implementar una serie de abstracciones del hardware. Esto permite esconder la complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que facilita su uso al programador.
Microkernel
Se conoce como microkernel al modelo de kernel de sistema operativo que consiste en distribuir en porciones de código modulares y sencillas las operaciones necesarias para construir una máquina virtual sobre el hardware de un sistema de cómputo.
Así construido, un microkernel consta de un conjunto limitado de operaciones (mayormente de bajo nivel) que se ejecutan en espacio de kernel, mientras que las restantes (llamadas de sistema, gestión de memoria, sistema de archivos, operaciones de E/S, etc.), se ejecutan por medio de procesos servidores en espacio de usuario.
Sincronización
Es la coordinación
...