<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!--Converted with LaTeX2HTML 98.1 release (February 19th, 1998) originally by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan * with significant contributions from: Jens Lippmann, Marek Rouchal, Martin Wilck and others --> <HTML> <HEAD> <TITLE>Footnotes</TITLE> <META NAME="description" CONTENT="Footnotes"> <META NAME="keywords" CONTENT="mpg"> <META NAME="resource-type" CONTENT="document"> <META NAME="distribution" CONTENT="global"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <LINK REL="STYLESHEET" HREF="mpg.css"> <LINK REL="previous" HREF="node34.html"> <LINK REL="up" HREF="mpg.html"> </HEAD> <BODY > <DL> <DT><A NAME="foot161">... edge</A><A NAME="foot161" HREF="node12.html#tex2html21"><SUP>1.1</SUP></A> <DD>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 <PRE>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . </PRE> <DT><A NAME="foot323">... <TT>proc_register_dynamic</TT></A><A NAME="foot323" HREF="node16.html#tex2html97"><SUP>3.1</SUP></A> <DD>In version 2.0, in version 2.2 this is done for us automatically if we set the inode to zero. <PRE>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . </PRE> <DT><A NAME="foot351">... operations</A><A NAME="foot351" HREF="node17.html#tex2html108"><SUP>4.1</SUP></A> <DD>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. <PRE>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . </PRE> <DT><A NAME="foot851">... process),</A><A NAME="foot851" HREF="node18.html#tex2html133"><SUP>5.1</SUP></A> <DD>Notice that here the roles of read and write are reversed <EM>again</EM>, so in <TT>ioctl</TT>'s read is to send information to the kernel and write is to receive information from the kernel. <PRE>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . </PRE> <DT><A NAME="foot410">... anything.</A><A NAME="foot410" HREF="node18.html#tex2html134"><SUP>5.2</SUP></A> <DD>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. <PRE>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . </PRE> <DT><A NAME="foot480">... arguments</A><A NAME="foot480" HREF="node19.html#tex2html158"><SUP>6.1</SUP></A> <DD>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 <PRE>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . </PRE> <DT><A NAME="foot852">... <TT>module_interruptible_sleep_on</TT></A><A NAME="foot852" HREF="node21.html#tex2html186"><SUP>8.1</SUP></A> <DD>The easiest way to keep a file open is to open it with <TT>tail -f</TT>. <PRE>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . </PRE> <DT><A NAME="foot853">... <TT>module_interruptible_sleep_on</TT></A><A NAME="foot853" HREF="node21.html#tex2html195"><SUP>8.2</SUP></A> <DD>This means that the process is still in kernel mode -- as far as the process is concerned, it issued the <TT>open</TT> 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. <PRE>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . </PRE> <DT><A NAME="foot854">... process</A><A NAME="foot854" HREF="node21.html#tex2html200"><SUP>8.3</SUP></A> <DD>This is because we used <TT>module_interruptible_sleep_on</TT>. We could have used <TT>module_sleep_on</TT> instead, but that would have resulted is extremely angry users whose control C's are ignored. <PRE>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . </PRE> <DT><A NAME="foot855">... tty</A><A NAME="foot855" HREF="node22.html#tex2html217"><SUP>9.1</SUP></A> <DD><B>T</B>ele<B>ty</B>pe, 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. <PRE>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . </PRE> <DT><A NAME="foot650">... <TT>module_sleep_on</TT></A><A NAME="foot650" HREF="node23.html#tex2html236"><SUP>10.1</SUP></A> <DD>They're really the same. <PRE>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . </PRE> <DT><A NAME="foot671">... <B>R</B>e<B>q</B>uests)</A><A NAME="foot671" HREF="node24.html#tex2html243"><SUP>11.1</SUP></A> <DD>This is standard nomencalture on the Intel architecture where Linux originated. <PRE>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . </PRE> <DT><A NAME="foot856">... <TT>queue_task</TT></A><A NAME="foot856" HREF="node24.html#tex2html249"><SUP>11.2</SUP></A> <DD><TT>queue_task_irq</TT> is protected from this by a global lock -- in 2.2 there is no <TT>queue_task_irq</TT> and <TT>queue_task</TT> is protected by a lock. <PRE>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . </PRE> <DT><A NAME="foot723">... time</A><A NAME="foot723" HREF="node26.html#tex2html265"><SUP>12.1</SUP></A> <DD>The exception is threaded processes, which can run on several CPUs at once. <PRE>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . </PRE> <DT><A NAME="foot724">... safe</A><A NAME="foot724" HREF="node26.html#tex2html266"><SUP>12.2</SUP></A> <DD>Meaning it is safe to use it with SMP <PRE>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . </PRE> </DL><ADDRESS> <BR><I>1999-05-19</I> </ADDRESS> </BODY> </HTML>