📄 footnode.html
字号:
<!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>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -