Back to Index

linux kernel development, 3rd edition

robert love2010




interruptible status

"this [assigning the state field task_uninterruptible] is why you have those dreaded unkillable processes with state d in ps(1) . because the task will not respond to signals, you cannot send it a sigkill signal. further, even if you could terminate the task, it would not be wise because the task is supposedly in the middle of an important operation and may hold a semaphore." - linux kernel development

here i create a very simple assembly program that loops forever. the operating system allows me to think i have control over the processor, but i'm really in a virtual box. the loop is interrupted, i imagine, thousands of times to process mouse movement or whatever else has to happen in the background. the interrupt code has to be careful to put everything back and transfer control to the loop. if i were able to disable interrupts, this would really completely freeze the computer, but in user-space, i'm not allowed that privilege.