- ... edge1.1
- The reason I prefer not to 
compile as root is that the least done as root the safer the box is. I
work in computer security, so I'm paranoid
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
 
- ... proc_register_dynamic3.1
- In version 2.0, in
version 2.2 this is done for us automatically if we set the inode to zero.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
 
- ...
operations4.1
- The difference between the two is that file operations 
deal with the file itself, and inode operations deal with ways of 
referencing the file, such as creating links to it.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
 
- ... process),5.1
- Notice that here the roles of read and write are reversed 
again, so in ioctl's read is to send information to the kernel
and write is to receive information from the kernel.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
 
- ... anything.5.2
- This isn't exact. You won't be able to pass a structure, for 
example, through an ioctl -- but you will be able to pass a pointer to the
structure.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
 
- ...
arguments6.1
- There can't be, since under C the object file only has 
the location of global variables, not their type. That is why header files 
are necessary
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
 
- ...
module_interruptible_sleep_on8.1
- The easiest way to keep a
file open is to open it with tail -f.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
 
- ...
module_interruptible_sleep_on8.2
- This means that the process is still in kernel 
mode -- as far as the process is concerned, it issued the open system
call and the system call hasn't returned yet. The process doesn't know 
somebody else used the CPU for most of the time between the moment it issued
the call and the moment it returned.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
 
- ... process8.3
- This is because
we used module_interruptible_sleep_on. We could have used 
module_sleep_on instead, but that would have resulted is extremely
angry users whose control C's are ignored.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
 
- ... tty9.1
- Teletype, originally a combination 
keyboard-printer used to communicate with a Unix system, and today an
abstraction for the text stream used for a Unix program, whether it's a
physical terminal, an xterm on an X display, a network connection used with
telnet, etc.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
 
- ... module_sleep_on10.1
- They're really the same.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
 
- ...
Requests)11.1
- This is standard nomencalture on the Intel
architecture where Linux originated.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
 
- ... queue_task11.2
- queue_task_irq is 
protected from this by a global lock -- in 2.2 there is no 
queue_task_irq and queue_task is protected by a lock.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
 
- ... time12.1
- The exception
is threaded processes, which can run on several CPUs at once.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
 
- ... safe12.2
- Meaning it is safe
to use it with SMP
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.