A computer-implemented method, the method comprising: initializing , by an operating system kernel , a descriptor table at various physical memory addresses wherein the descriptor table is initialized by the operating system kernel and is associated with a hardware processor; mapping the descriptor table to a first virtual memory address and to a second virtual memory address associated with a first permission level, wherein the second virtual memory address is different from the first virtual memory address; updating , by the operating system kernel, a descriptor table register ; and in response to a request to update the descriptor table : changing , by the operating system kernel, a permission level associated with the descriptor table located at the first virtual memory address to a second permission level, wherein the second permission level is greater than the first permission level; updating , by the operating system kernel, the descriptor table located at the first virtual memory address while the descriptor table is associated with the second permission level, wherein the updating is based on the update request, and after updating the descriptor table, changing, by the operating system kernel, the permission level associated with the descriptor table back to the first permission level, and in response to a request to access the descriptor table : accessing the descriptor table located at the second virtual memory address and associated with the first permission level. initializing , by an operating system kernel , a descriptor table at various physical memory addresses wherein the descriptor table is initialized by the operating system kernel and is associated with a hardware processor; mapping the descriptor table to a first virtual memory address and to a second virtual memory address associated with a first permission level, wherein the second virtual memory address is different from the first virtual memory address; updating , by the operating system kernel, a descriptor table register ; and in response to a request to update the descriptor table : changing , by the operating system kernel, a permission level associated with the descriptor table located at the first virtual memory address to a second permission level, wherein the second permission level is greater than the first permission level; updating , by the operating system kernel, the descriptor table located at the first virtual memory address while the descriptor table is associated with the second permission level, wherein the updating is based on the update request, and after updating the descriptor table, changing, by the operating system kernel, the permission level associated with the descriptor table back to the first permission level, and in response to a request to access the descriptor table : accessing the descriptor table located at the second virtual memory address and associated with the first permission level. changing , by the operating system kernel, a permission level associated with the descriptor table located at the first virtual memory address to a second permission level, wherein the second permission level is greater than the first permission level; updating , by the operating system kernel, the descriptor table located at the first virtual memory address while the descriptor table is associated with the second permission level, wherein the updating is based on the update request, and after updating the descriptor table, changing, by the operating system kernel, the permission level associated with the descriptor table back to the first permission level, and in response to a request to access the descriptor table : accessing the descriptor table located at the second virtual memory address and associated with the first permission level. <EOS>