Page 63 - e-book Sistemas Operativos
P. 63
hilo creado está en el nivel del kernel o en el nivel del descritas en la sección anterior también se han
usuario, y considerando que el entorno del hilo en implementado para permitir la comunicación entre
tiempo real terminará cuando no haya más hilos en el cables en diferentes espacios de direcciones (incluidas
nivel del usuario, el nivel debe usarse para crear un diferentes máquinas). El ID del hilo se pasa a través
hilo de servidor constante. Kernel (a menos que otros del espacio de direcciones como un valor de retorno en
entornos HTR requieran sus servicios, en este caso, se una llamada de procedimiento o mensaje enviado por
recomienda el nivel de usuario) [7] la aplicación. Alternativamente, se puede establecer un
servicio de nombres para registrar y encontrar el
Usar una llamada de terminación para eliminar un hilo, identificador de hilo de un hilo remoto. [9]
lo que hará que el hilo salga del sistema
inmediatamente; o "estar al final", que es equivalente Cuando el entorno de subprocesos desea establecer un
a usar una llamada de terminación en la última puerto de comunicación con otro espacio de
instrucción de la subrutina; o ser eliminado por algún direcciones de alguna manera, es importante
otro hilo, lo que requiere eliminar el hilo Identificador. inicializar la dirección IP y el número de puerto que se
Cuando todos los subprocesos a nivel de usuario utilizará. La conversión de comunicación del espacio
terminan y registran la terminación, el entorno HTR de direcciones requiere una forma de determinar los
termina. Los hilos se sincronizan mediante semáforos. identificadores de hilo en otros entornos HTR. Esto se
Los atributos que especifica el usuario al asignar un hace nombrando el hilo del servidor creado por el
nuevo semáforo son el nombre del semáforo y un valor usuario, que debe ser único en cada entorno de hilo en
inicial, que indica cuántas instancias se necesitan, es tiempo real. Puede determinar el identificador de
decir, la cantidad de veces que se puede llamar a la subproceso nombrado por el subproceso del servidor
primitiva de espera antes de que se bloquee el hilo. , desde otro entorno de subprocesos en tiempo real, pero
Suponiendo que no se realizarán llamadas desde necesita conocer la dirección IP y el número de puerto
primitivas de señal. [8] del entorno de destino. Los identificadores de
subprocesos se pueden enviar en mensajes entre
El semáforo solo se puede borrar usando su nombre. espacios de direcciones que se pueden codificar y
Para utilizar el semáforo, también se proporcionan las decodificar mediante XDR (representación de datos
primitivas de espera y señal convencionales, y se externos). [1]
proporciona un método que tiene en cuenta la
necesidad de utilizar el nombre del semáforo como Planificaciónjerárquica
referencia para obtener el valor actual del semáforo.
Dado que la memoria se comparte en el entorno HTR, (scheduling).Mecanismos
los semáforos se pueden compartir fácilmente entre Los diferentes planificadores implementados por los
hilos. El sistema no puede garantizar que no se utilicen usuarios pueden ajustar la estrategia de planificación
los semáforos retirados. Para ayudar a detectar esto, en forma de árbol a través de subprocesos de
intentar eliminar el semáforo en el que otro hilo está aplicación estructurados y mantener la fuente en el
bloqueado resultará en un error. Si el hilo se elimina kernel por razones de eficiencia y seguridad. El
mientras está bloqueado por el semáforo, el estado del planificador se utiliza para cambiar entre la aplicación
semáforo se modificará automáticamente (su valor y el subsistema del kernel. Cada aplicación necesaria
aumentará). para implementar su propia estrategia de planificación
1.3 Comunicación de hilos crea una instancia de un planificador en su espacio de
direcciones. La administración de subprocesos y
Los subprocesos en tiempo real proporcionan programadores es similar a otro programador. Los
primitivas de comunicación de estilo de envío / programadores de aplicaciones y subsistemas se
recepción / respuesta de bloqueo entre subprocesos en encuentran en el espacio de usuario. Los usuarios son
el mismo espacio de direcciones. El hilo de envío se usuarios que implementan estrategias de planificación
bloquea hasta que se recibe el mensaje y se da una para sus hilos. Dado que la implementación requiere
respuesta. El hilo de recepción se bloquea hasta que se subprocesos del kernel, una parte de cada subproceso
recibe el mensaje. También hay una prueba de no se usa como un objeto que se mantendrá en el kernel y
bloqueo, que permite que el hilo verifique si hay la otra parte se usa como una pila en el espacio del
mensajes esperando recibir. usuario.
El envío requiere el identificador del hilo que recibe el Cada programador gestiona una lista de subprocesos y
mensaje y la longitud y dirección del mensaje que se / o programadores. Después de la activación, decidirá
enviará y recibirá. Recibir debe referirse al hilo de cuál se ejecutará o ejecutará, y el intervalo de tiempo
envío; puntero al búfer en el que se recibirá el mensaje virtual que se empleará en cada intervalo. Después del
y su memoria asignada por la aplicación; los intervalo de tiempo virtual especificado, el
parámetros de entrada / salida se utilizarán para indicar programador volverá a hacerse cargo del procesador.
la longitud máxima del mensaje recibido (si es más Cada programador utiliza el intervalo de tiempo
largo) se truncará . virtual recibido del programador anterior.
La respuesta requiere un identificador de hilo para la
respuesta, el indicador del mensaje de respuesta y la
longitud del mensaje de respuesta. Las funciones El temporizador por procesador es la instancia
principal de activación y preferencia. Es la persona
61