<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="static/style.xsl"?><OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"><responseDate>2026-04-14T09:07:12Z</responseDate><request verb="GetRecord" identifier="oai:www.recercat.cat:2117/428914" metadataPrefix="oai_dc">https://recercat.cat/oai/request</request><GetRecord><record><header><identifier>oai:recercat.cat:2117/428914</identifier><datestamp>2025-07-22T18:24:37Z</datestamp><setSpec>com_2072_1033</setSpec><setSpec>col_2072_452951</setSpec></header><metadata><oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:doc="http://www.lyncode.com/xoai" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
   <dc:title>Anàlisi d'implementació en Linux per compartir la màscara d'afinitat d'un procés amb els seus fills</dc:title>
   <dc:creator>Lopez Mañes, Xavier</dc:creator>
   <dc:contributor>Universitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors</dc:contributor>
   <dc:contributor>Becerra Fontal, Yolanda</dc:contributor>
   <dc:contributor>Costa Prats, Juan José</dc:contributor>
   <dc:subject>Àrees temàtiques de la UPC::Informàtica::Sistemes operatius::Linux</dc:subject>
   <dc:subject>Linux device drivers (Computer programs)</dc:subject>
   <dc:subject>Operating systems (Computers)</dc:subject>
   <dc:subject>Linux</dc:subject>
   <dc:subject>kernel</dc:subject>
   <dc:subject>Sistemes Operatius</dc:subject>
   <dc:subject>Màscares d'Afinitat</dc:subject>
   <dc:subject>Operating Systems</dc:subject>
   <dc:subject>Affinity Masks</dc:subject>
   <dc:subject>Linux device drivers (Programes d'ordinador)</dc:subject>
   <dc:subject>Sistemes operatius (Ordinadors)</dc:subject>
   <dc:description>Aquest projecte tracta d’analitzar la implementació en Linux d’un mecanisme per a permetre compartir la màscara d’afinitat d’un procés amb els seus fills. La màscara d’afinitat és una propietat de cada procés que indica en quins processadors es pot executar, per tant, compartir-la permet una fàcil gestió de grups de processos, que actualment és una tasca complexa. Aquesta complexitat prové del fet que el kernel Linux no ofereix aquesta funcionalitat i des d’espai d’usuari és complicat poder tenir una vista actualitzada d’una jerarquia pare-fill en un temps òptim. A més a més, fer el canvi de la màscara d’afinitat en una jerarquia implica fer una crida al sistema per a cada procés. En aquest treball s’investiga com es pot moure aquesta responsabilitat a l’espai kernel a través de dues implementacions diferents: la primera és desenvolupar un mòdul que es carrega dinàmicament i la segona és la modificació directa del kernel Linux. L’espai kernel permet una gestió molt més eficient, ja que aquest té una visió completa de tots els processos i els seus recursos en tot moment. Amb aquest moviment de responsabilitat es permet aconseguir una millora del temps del canvi de la màscara d’afinitat d’un conjunt de processos de fins al 99.888%.</dc:description>
   <dc:description>Este proyecto trata de analizar la implementación en Linux de un mecanismo para permitir compartir la máscara de afinidad de un proceso con sus hijos. La máscara de afinidad es una propiedad de cada proceso que indica en qué procesadores se puede ejecutar, por lo tanto, compartirla permite una fácil gestión de grupos de procesos, que actualmente es una tarea compleja. Esta complejidad proviene del hecho de que el kernel Linux no ofrece esta funcionalidad y, desde el espacio de usuario, es complicado poder tener una vista actualizada de una jerarquía padre-hijo en un tiempo óptimo. A su vez, hacer el cambio de la máscara de afinidad en una jerarquía implica hacer una llamada al sistema para cada proceso. En este trabajo se investiga cómo se puede mover esta responsabilidad al espacio kernel a través de dos implementaciones diferentes: la primera es el desarrollo de un módulo que se carga dinámicamente y la segunda es la modificación directa del kernel Linux. El espacio kernel permite una gestión más eficiente, ya que este tiene una visión completa de todos los procesos y sus recursos en todo momento. Con este movimiento de responsabilidad se permite conseguir una mejora del tiempo de cambio de la máscara de afinidad de un conjunto de procesos hasta el 99.888%.</dc:description>
   <dc:description>This project analyzes the implementation of a mechanism on Linux to share the affinity mask of a process with its children. The affinity mask is a property of a process that indicates in which processors it can be executed, so by sharing it an easier management of groups of processes is allowed, which is currently a complex task. This complexity comes from the fact that the Linux kernel does not offer this functionality, and from user space it is difficult to have an updated view of a father-child hierarchy in an optimum time. Furthermore, changing the affinity mask for a group of processes implies making a syscall for every process. This thesis investigates how this responsibility can be moved to kernel space through two different implementations: the first one is the development of a module that is loaded dynamically, and the second one is the direct modification of the Linux kernel. Kernel space allows for more efficient management given the fact that it has a complete view of the processes and their resources at all times. With this movement of responsibilities, the time for changing the affinity mask of a group of processes is improved by up to 99.888%.</dc:description>
   <dc:date>2025-01-23</dc:date>
   <dc:type>Bachelor thesis</dc:type>
   <dc:identifier>https://hdl.handle.net/2117/428914</dc:identifier>
   <dc:identifier>192743</dc:identifier>
   <dc:language>cat</dc:language>
   <dc:rights>Open Access</dc:rights>
   <dc:format>application/pdf</dc:format>
   <dc:publisher>Universitat Politècnica de Catalunya</dc:publisher>
</oai_dc:dc></metadata></record></GetRecord></OAI-PMH>