3 minute read

SECCIÓN CRÍTICA

Según Colaboradores Wikipedia (2022), dice que: “Se denomina sección o región crítica en programación concurrente de ciencias de la computación, a la porción de código de un programa de ordenador en la que 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, monitores, el algoritmo de Dekker y Peterson, los candados.”

Según un artículo de Google Site, dice que: “En procesos concurrentes, la ejecución de un proceso se desarrolla en forma asíncrona respecto a los otros. Sin embargo, cuando dos, o más procesos necesitan entrar en región crítica, es necesario que exista una sincronización entre ellos a fin de garantizar que al menos uno y solo un proceso entrará en región crítica.”

Advertisement

“Si una actividad desea impedir que otra acceda a ciertos datos compartidos, mientras no se cumpla una determinada condición, debemos sincronizar las actividades con dicha condición. Por tanto, la sincronización es un elemento necesario para asegurar la exclusión mutua.”

Mecanismo De Sem Foros

Según un artículo de Google Site, dice que: “Un semáforo es un tipo de datos abstracto que permite el uso de un recurso de manera exclusiva cuando varios procesos están compitiendo.”

Según un artículo de Google Site, dice que: “Un semáforo es un tipo de datos abstracto que permite el uso de un recurso de manera exclusiva cuando varios procesos están compitiendo.”

El tipo de datos abstracto cumple la siguiente semántica:

• El estado interno del semáforo cuenta cuantos procesos todavía pueden utilizar el recurso. Se puede realizar, por ejemplo, con un número entero que nunca llega a ser negativo.

• Exiten tres operaciones con un semáforo: init(), wait(), y signal() que realizan lo siguiente: init(): Inicializa el semáforo antes de que cualquier proceso haya ejecutado ni una operación wait() ni una operación signal() al límite de número de procesos que tengan derecho a acceder el recurso. Si se inicializa con 1, se ha contruido un semáforo binario. wait(): Si el estado indica cero, el proceso se queda atrapado en el semáforo hasta que sea despertado por otro proceso. Si el estado indica que un proceso más puede acceder el recurso se decrementa el contador y la operación termina con exito. signal(): Una vez se ha terminado el uso del recurso, el proceso lo señaliza al semáforo. Si queda algún proceso bloqueado en el semáforo uno de ellos sea despertado, sino se incrementa el contador.

La operación wait() tiene que estár implementada como una instrucción atómica. Sin embargo, en muchas implementaciones la operación wait() puede ser interrumpida. Normalmente existe una forma de comprobar si la salida del wait() es debido a una interrupción o porque se ha dado acceso al semáforo.

La operación signal() también tiene que estár implementada como instrucción atómica. En algunás implementaciones es posible comprobar si se haya despertado un proceso con exito en caso que hubiera alguno bloqueado.

Para despertar los procesos se puede implementar varias formas que se distinguen en sus grados de justicia, por ejemplo, con un simple sistema tipo FIFO.

Según Colaboradores Wikipedia (2020), dice que: “Los semáforos son un mecanismo de sincronización de procesos inventados por Edsger Dijkstra en 1965. Los semáforos permiten al programador asistir al planificador del sistema operativo en su toma de decisiones de manera que permiten sincronizar la ejecución de dos o más procesos. A diferencia de los cerrojos, los semáforos nos ofrecen un mecanismo de espera no ocupada.”

Conclusi N

Tomando base en lo ya antes expuesto se entiende que los sistemas operativos están conformados por diversas capas que componen un sistema de funciones complejas que dan el funcionamiento a un hardware determinado, adicional a ello el SO tiene una capa centra o principal la cual es la más importante de todas, esta es conocida como kernel o núcleo, el cual se encarga del funcionamiento del sistema, esto como el cargar los controladores y generar las funciones principales para que el software se relacione con el hardware.

El kernel se ejecuta en modo privilegiado, con todos los permisos en posesión asigna los accesos necesarios en el sistema. Juntamente con el trabajo del núcleo se llevan a cabo diversos procesos que garantizan el funcionamiento del sistema operativo, ese mantiene estados los cuales son la etapa que corre en el momento, las cuales dependiendo de la circunstancia puede tener una transición adaptándose al proceso actual que éste lleve. Se puede decir que el sistema operativo cumple funciones internas que garantizan que el procesamiento de la interfaz que visualice el usuario se ejecute de manera óptima.

Referencia

Equipo editorial de IONOS. (2021). Kernel - El núcleo del sistema operativo. IONOS

Digital Guide. https://www.ionos.es/digitalguide/servidores/know-how/que-es-elkernel/ colaboradores de Wikipedia. (2023c). Núcleo (informática). Wikipedia, la enciclopedia libre. https://es.wikipedia.org/wiki/N%C3%BAcleo_(inform%C3%A1tica)

De Rafael Gamas Gutiérrez, V. T. L. E. (2013b, marzo 17). Las capas del sistema operativo Sistemasumma.com. https://sistemasumma.com/2013/03/16/lascapas-del-sistema-operativo/ https://1984.lsi.us.es/wiki-ssoo/index.php/Estados_de_los_procesos

Estados de los procesos - Wiki de Sistemas Operativos. (s. f.-b).

2.2

Estados y transiciones

de los procesos - Materia SisOperativos. (s. f.-b).

https://sites.google.com/site/materiasisoperativo/unidad-2-administrador-delproceso-y-del-procesador/2-2-estados-y-transiciones-de-los-procesos http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro26/bloque_de_control_ de_procesos.html

Bloque de Control de Procesos. (s. f.-b).

This article is from: