您的位置:首页 > 运维架构 > Linux

Linux Kernel 核心中文手册(15)

2011-01-16 14:26 309 查看
Append B (附录 B ) The Alpha AXP Processor
Alpha AXP 体系结构是一个为了速度而设计的 64 位的加载 / 存储( load/store
) RISC 体系结构。所有的寄存器都是 64 位长的: 32 个整数寄存器和 32 个
浮点寄存器。第 31 个整数寄存器和第 31 个浮点寄存器用于 null 操作:读取它
们得到 0 ,写向它们没有任何结果。所有的指令和内存操作(不管是读或写)都
是 32 位。只要具体的实现遵循这种体系结构,允许不同的实现方式。

没有直接在内存中操作数值的指令:所有的数据操作都是在寄存器之间进行。所以
,如果你希望增加内存中一个计数器,你必须首先把它读到一个积存其中,修改之
后再写回去。只有通过一个指令写向一个寄存器或内存位置,而另一个读取这个寄
存器或内存位置,指令之间才能过相互作用。 Alpha AXP 的一个有趣的特点是它
有可以产生标志位的指令,比如测试两个整数是否相等,这个结构不是存放到处理
器的一个状态寄存器,而是存放到第三个寄存器。初看上去比较奇怪,但是不依赖
于状态寄存器意味着可以更容易地让这个 CPU 每一个循环执行多个指令。执行过
程中使用无关的寄存器的指令不需要互相等待,如果只有一个状态寄存器则必须等

待。没有对于内存的直接操作以及数目众多的寄存器对于同时多条指令也有帮助。

Alpha AXP 体系结构使用一系列子例程,叫做体系结构的授权库代码(
privileged architecture library code PALcode )。 PALcode 和操作系统、
Alpha AXP 体系的 CPU 具体实现和系统硬件相关。这些子例程向操作系统提供上
下文切换、中断、异常和内存管理的基本支持。这些子例程可以被硬件调用或通过
CALL_PAL 指令调用。 PALcode 用标准的 Alpha AXP 汇编程序编写,带有一些特
殊扩展的实现,用于提供直接访问低级硬件的功能,例如内部处理器的寄存器。
PALcode 在 PAL 模式运行,这是一个特权的模式,会停止一些系统事件的发上,
并允许 PALcode 完全控制系统的物理硬件。

Appendix C (附录 C )

Useful Web and FTP Sites (有用的 web 和 ftp 站点)

http://www.azstarnet.com/~axplinux ;This is David Mosberger-Tang's
Alpha

AXP Linux web site and it is the place to go for all of the Alpha AXP
HOW-

TOs. It also has a large number of pointers to Linux and Alpha AXP
specific

information such as CPU data sheets.

http://www.redhat.com/ ;Red Hat's web site. This has a lot of useful
pointers.

ftp://sunsite.unc.edu ;This is the major site for a lot of free software.
The Linux

specfic software is held in pub/Linux.

http://www.intel.com ;Intel's web site and a good place to look for Intel
chip

information.

http://www.ssc.com/lj/index.html ;The Linux Journal is a very good
Linux

magazine and well worth the yearly subscription for its excellent

articles.

http://www.blackdown.org/java-linux.html ;This is the primary site for
infor-

mation on Java on Linux.

ftp://tsx-11.mit.edu/ ;~ftp/pub/linux MIT's Linux ftp site.

ftp://ftp.cs.helsinki.fi/pub/Software/Linux/Kernel ;Linus's kernel
sources.

http://www.linux.org.uk ;The UK Linux User Group.

http://sunsite.unc.edu/mdw/linux.html ;Home page for the Linux Documen-

tation Project,

http://www.digital.com ;Digital Equipment Corporation's main web page.

http://altavista.digital.com ;DIGITAL's Altavista search engine. A very
good

place to search for information within the web and news groups.

http://www.linuxhq.com ;The Linux HQ web site holds up to date offical
and

unoffical patches as well as advice and web pointers that help you get
the best

set of kernel sources possible for your system.

http://www.amd.com ;The AMD web site.

http://www.cyrix.com ;Cyrix's web site.

Appendix D( 附录 D)

The GNU General Public

License

Printed below is the GNU General Public License (the GPL or copyleft),

under

which Linux is licensed. It is reproduced here to clear up some of the
confusion

about Linux's copyright status|Linux is not shareware, and it is not
in the public

domain. The bulk of the Linux kernel is copyright c 1993 by Linus
Torvalds, and

other software and parts of the kernel are copyrighted by their authors.
Thus, Linux

is copyrighted, however, you may redistribute it under the terms of
the GPL printed

below.

GNU GENERAL PUBLIC LICENSE

Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave,
Cambridge,

MA 02139, USA Everyone is permitted to copy and distribute verbatim
copies of

this license document. but changing it is not allowed.

D.1 Preamble

The licenses for most software are designed to take away your freedom to
share and

change it. By contrast, the GNU General Public License is intended to
guarantee

your freedom to share and change free software{to make sure the software
is free

for all its users. This General Public License applies to most of the
Free Software

Foundation's software and to any other program whose authors commit to
using

it. (Some other Free Software Foundation software is covered by the
GNU Library

General Public License instead.) You can apply it to your programs,
too.

When we speak of free software, we are referring to freedom, not price.
Our General

Public Licenses are designed to make sure that you have the freedom to
distribute

copies of free software (and charge for this service if you wish),
that you receive

source code or can get it if you want it, that you can change the
software or use

pieces of it in new free programs; and that you know you can do these
things.

To protect your rights, we need to make restrictions that forbid
anyone to deny

you these rights or to ask you to surrender the rights. These
restrictions translate

to certain responsibilities for you if you distribute copies of the
software, or if you

modify it.

For example, if you distribute copies of such a program, whether
gratis or for a fee,

you must give the recipients all the rights that you have. You must make
sure that

they, too, receive or can get the source code. And you must show them
these terms

so they know their rights.

We protect your rights with two steps: (1) copyright the software, and
(2) offer you

this license which gives you legal permission to copy, distribute and/or
modify the

software.

Also, for each author's protection and ours, we want to make certain
that everyone

understands that there is no warranty for this free software. If the
software is modified

by someone else and passed on, we want its recipients to know that
what they have

is not the original, so that any problems introduced by others will
not re ect on the

original authors' reputations.

Finally, any free program is threatened constantly by software patents.
We wish to

avoid the danger that redistributors of a free program will individually
obtain patent

licenses, in e
ect making the program proprietary. To prevent this, we have made it

clear that any patent must be licensed for everyone's free use or not
licensed at all.

The precise terms and conditions for copying, distribution and
modification follow.

D.2 Terms and Conditions for Copying, Distribu-

tion, and Modification 0. This License applies to any program or other
work which contains a notice

placed by the copyright holder saying it may be distributed under the
terms of

this General Public License. The /Program", below, refers to any such
program

or work, and a /work based on the Program" means either the Program or

any derivative work under copyright law: that is to say, a work
containing

the Program or a portion of it, either verbatim or with modifications
and/or

translated into another language. (Hereinafter, translation is
included without

limitation in the term /modification".) Each licensee is addressed as
/you".

Activities other than copying, distribution and modification are not

covered

by this License; they are outside its scope. The act of running the
Program is

not restricted, and the output from the Program is covered only if its
contents

constitute a work based on the Program (independent ofhaving been made
by

running the Program). Whether that is true depends on what the Program

does.

1. You may copy and distribute verbatim copies of the Program's source
code

as you receive it, in any medium, provided that you conspicuously and
appro-

priately publish on each copy an appropriate copyright notice and

disclaimer

of warranty; keep intact all the notices that refer to this License
and to the

absence of any warranty; and give any other recipients of the Program
a copy

of this License along with the Program.

You may charge a fee for the physical act of transferring a copy, and
you may

at your option offer warranty protection in exchange for a fee.

2. You may modify your copy or copies of the Program or any portion of
it,

thus forming a work based on the Program, and copy and distribute such

modifications or work under the terms of Section 1 above, provided
that you

also meet all of these conditions:

a. You must cause the modified files to carry prominent notices
stating that

you changed the files and the date of any change.

b. You must cause any work that you distribute or publish, that in whole
or

in part contains or is derived from the Program or any part thereof,
to

be licensed as a whole at no charge to all third parties under the terms
of

this License.

c. If the modified program normally reads commands interactively when
run,

you must cause it, when started running for such interactive use in
the

most ordinary way, to print or display an announcement including an

appropriate copyright notice and a notice that there is no warranty
(or

else, saying that you provide a warranty) and that users may
redistribute

the program under these conditions, and telling the user how to view a

copy of this License. (Exception: if the Program itself is interactive
but

does not normally print such an announcement, your work based on the

Program is not required to print an announcement.)

These requirements apply to the modified work as a whole. If
identifiable

sections of that work are not derived from the Program, and can be
reasonably

considered independent and separate works in themselves, then this
License,

and its terms, do not apply to those sections when you distribute them
as

separate works. But when you distribute the same sections as part of a
whole

which is a work based on the Program, the distribution of the whole must
be

on the terms of this License, whose permissions for other licensees
extend to

the entire whole, and thus to each and every part regardless of who
wrote it.

Thus, it is not the intent of this section to claim rights or contest
your rights

to work written entirely by you; rather, the intent is to exercise the
right to

control the distribution of derivative or collective works based on
the Program.

In addition, mere aggregation of another work not based on the Program
with

the Program (or with a work based on the Program) on a volume of a
storage

or distribution medium does not bring the other work under the scope
of this

License.

3. You may copy and distribute the Program (or a work based on it, under
Section

2) in object code or executable form under the terms of Sections 1 and 2
above

provided that you also do one of the following:

a. Accompany it with the complete corresponding machine-readable
source

code, which must be distributed under the terms of Sections 1 and 2
above

on a medium customarily used for software interchange; or,

b. Accompany it with a written offer, valid for at least three years, to
give any

third party, for a charge no more than your cost of physically
performing

source distribution, a complete machine-readable copy of the
correspond-

ing source code, to be distributed under the terms of Sections 1 and 2

above on a medium customarily used for software interchange; or,

c. Accompany it with the information you received as to the offer to
dis-

tribute corresponding source code. (This alternative isallowed only
for

noncommercial distribution and only if you received the program in
object

code or executable form with such an offer, in accord with Subsection
b above.)

The source code for a work means the preferred form of the work for
making

modifications to it. For an executable work, complete source code
means all

the source code for all modules it contains, plus any associated
interface defi-

nition files, plus the scripts used to control compilation and
installation of the

executable. However, as a special exception, the source code distributed
need

not include anything that is normally distributed (in either source or
binary

form) with the major components (compiler, kernel, and so on) of the
operating

system on which the executable runs, unless that component itself
accompanies

the executable.

If distribution of executable or object code is made by offering

access to copy

from a designated place, then offering equivalent access to copy the
source code

from the same place counts as distribution of the source code, even
though third

parties are not compelled to copy the source along with the object
code.

4. You may not copy, modify, sublicense, or distribute the Program
except as

expressly provided under this License. Any attempt otherwise to copy,
modify,

sublicense or distribute the Program is void, and will automatically
terminate

your rights under this License. However, parties who have received
copies, or

rights, from you under this License will not have their licenses
terminated so

long as such parties remain in full compliance.

5. You are not required to accept this License, since you have not
signed it. How-

ever, nothing else grants you permission to modify or distribute the
Program

or its derivative works. These actions are prohibited by law ifyou do
not ac-

cept this License. Therefore, by modifying or distributing the Program
(or any

work based on the Program), you indicate your acceptance of this License
to

do so, and all its terms and conditions for copying, distributing or

modifying

the Program or works based on it.

6. Each time you redistribute the Program (or any work based on the
Program),

the recipient automatically receives a license from the original
licensor to copy,

distribute or modify the Program subject to these terms and conditions.
You

may not impose any further restrictions on the recipients' exercise of
the rights

granted herein. You are not responsible for enforcing compliance by
third

parties to this License.

7. If, as a consequence of a court judgment or allegation of patent

infringement

or for any other reason (not limited to patent issues), conditions are
imposed

on you (whether by court order, agreement or otherwise) that
contradict the

conditions of this License, they do not excuse you from the conditions
of this

License. If you cannot distribute so as to satisfy simultaneously your
obligations

under this License and any other pertinent obligations, then as a
consequence

you may not distribute the Program at all. For example, if a patent
license

would not permit royalty-free redistribution of the Program by all those
who

receive copies directly or indirectly through you, then the only way you
could

satisfy both it and this License would be to refrain entirely from
distribution

of the Program.

If any portion of this section is held invalid or unenforceable under
any par-

ticular circumstance, the balance of the section is intended to apply
and the

section as a whole is intended to apply in other circumstances.

It is not the purpose of this section to induce you to infringe any
patents or

other property right claims or to contest validity ofany such claims;
this section

has the sole purpose of protecting the integrity of the free software
distribution

system, which isimplemented by public license practices. Many people
have

made generous contributions to the wide range of software distributed
through

that system in reliance on consistent application of that system; it
is up to the

author/donor to decide if he or she is willing to distribute software
through

any other system and a licensee cannot impose that choice.

This section is intended to make thoroughly clear what is believed to be
a

consequence of the rest of this License.

8. If the distribution and/or use of the Program is restricted in
certain countries

either by patents or by copyrighted interfaces, the original copyright
holder

who places the Program under this License may add an explicit
geographical

distribution limitation excluding those countries, so that
distribution is permit-

ted only in or among countries not thus excluded. In such case, this
License

incorporates the limitation as if written in the body of this License.

9. The Free Software Foundation may publish revised and/or new
versions of the

General Public License from time to time. Such new versions will be

similar in

spirit to the present version, but may differ in detail to address new
problems

or concerns.

Each version is given a distinguishing version number. If the Program
specifies

a version number of this License which applies to it and /any later
version", you

have the option of following the terms and conditions either of that
version or

of any later version published by the Free Software Foundation. If the
Program

does not specify a version number of this License, you may choose any
version

ever published by the Free Software Foundation.

10. If you wish to incorporate parts of the Program into other free
programs whose

distribution conditions are different, write to the author to ask for
permission.

For software which is copyrighted by the Free Software Foundation, write
to the

Free Software Foundation; we sometimes make exceptions for this. Our
decision

will be guided by the two goals of preserving the free status of all
derivatives of

our free software and of promoting the sharing and reuse of software
generally.

NO WARRANTY

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE

IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMIT-

TED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED

IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES

PROVIDE THE PROGRAM /AS IS" WITHOUT WARRANTY OF ANY

KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIM-

ITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND

FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO

THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH

YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME

THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORREC-

TION.

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAWOR AGREED

TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER

PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM

AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, IN-

CLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUEN-

TIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE

THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA

OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED

BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO

OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER

OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF

SUCH DAMAGES.

END OF TERMS AND CONDITIONS

D.3 Appendix: How to Apply These Terms to Your

New Programs

If you develop a new program, and you want it to be of the greatest
possible use to

the public, the best way toachieve this is to make itfree software which
everyone

can redistribute and change under these terms.

To do so, attach the following notices to the program. It is safest to
attach them

to the start of each source file to most effectively convey the

exclusion of warranty;

and each file should have at least the /copyright" line and a pointer to
where the full

notice is found.

hone line to give the program's name and a brief idea of what it does.
i

Copyright c 19yy hname of authori

This program is free software; you can redistribute it and/or modify
it

under the terms of the GNU General Public License as published by the

Free Software Foundation; either version 2 of the License, or (at your

option) any later version.

This program is distributed in the hope that it will be useful, but

WITH-

OUT ANY WARRANTY; without even the implied warranty of MER-

CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See

the GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along

with this program; if not, write to the Free Software Foundation, Inc.,

675 Mass Ave, Cambridge, MA 02139, USA.

Also add information on how to contact you by electronic and paper
mail.

If the program is interactive, make it output a short notice like this
when it starts

in an interactive mode:

Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision

comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This

is free software, and you are welcome to redistribute it under certain

conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the
appropriate

parts of the General Public License. Of course, the commands you use may
be called

something other than `show w' and `show c'; they could even be
mouse-clicks or

menu items{whatever suits your program.

You should also get your employer (if you work as a programmer) or

your school, if

any, to sign a /copyright disclaimer" for the program, if necessary.
Here is a sample;

alter the names:

Yoyodyne, Inc., hereby disclaims all copyright interest in the program

`Gnomovision' (which makes passes at compilers) written by James
Hacker.

hsignature of Ty Cooni, 1 April 1989 Ty Coon, President of Vice

This General Public License does not permit incorporating your program
into pro-

prietary programs. If your program is a subroutine library, you may
consider it more

useful to permit linking proprietary applications with the library. If
this is what you

want to do, use the GNU Library General Public License instead of this
License.

 

 

Glossary (名词表)

Argument Functions and routines are passed arguments to process.

ARP Address Resolution Protocol. Used to translate IP addresses into
physical

hardware addresses.

Ascii American Standard Code for Information Interchange. Each letter of
the

alphabet is represented by an 8 bit code. Ascii is most often used to
store

written characters.

Bit A single bit of data that represents either 1 or 0 (on or off).

Bottom Half Handler Handlers for work queued within the kernel.

Byte 8 bits of data,

C A high level programming language. Most of the Linux kernel is written
in C.

CPU Central Processing Unit. The main engine of the computer, see also
micro-

processor and processor.

Data Structure This is a set of data in memory comprised of fields,

Device Driver The software controlling a particular device, for
example the NCR

810 device driver controls the NCR 810 SCSI device.

DMA Direct Memory Access.

ELF Executable and Linkable Format. This object file format designed
by the Unix

System Laboratories is now firmly established as the most commonly
used

format in Linux.

EIDE Extended IDE.

Executable image A structured file containing machine instructions and
data.

This file can be loaded into a process's virtual memory and executed.
See

also program.

Function A piece of software that performs an action. For example,
returning the

bigger of two numbers.

IDE Integrated Disk Electronics.

Image See executable image.

IP Internet Protocol.

IPC Interprocess Communiction.

Interface A standard way of calling routines and passing data
structures. For

example, the interface between two layers of code might be expressed
in terms

of routines that pass and return a particular data structure. Linux's
VFS is a

good example of an interface.

IRQ Interrupt Request Queue.

ISA Industry Standard Architecture. This is a standard, although now
rather dated,

data bus interface for system components such as oppy disk drivers.

Kernel Module A dynamically loaded kernel function such as a
filesystem or a

device driver.

Kilobyte A thousand bytes of data, often written as Kbyte,

Megabyte A million bytes of data, often written as Mbyte,

Microprocessor A very integrated CPU. Most modern CPUs are
Microprocessors.

Module A file containing CPU instructions in the form of either assembly

language

instructions or a high level language like C.

Object file A fille containing machine code and data that has not yet
been linked

with other object files or libraries to become an executable image.

Page Physical memory is divided up into equal sized pages.

Pointer A location in memory that contains the address of another
location in

memory,

Process This is an entity which can execute programs. A process could be
thought

of as a program in action.

Processor Short for Microprocessor, equivalent toCPU.

PCI Peripheral Component Interconnect. A standard describing how the
peripheral

components of a computer system may be connected together.

Peripheral An intelligent processor that does work on behalf of the
system's CPU.

For example, an IDE controller chip,

Program A coherent set of CPU instructions that performs a task, such as
printing

/hello world". See also executable image.

Protocol A protocol is a networking language used to transfer
application data

between two cooperating processes or network layers.

Register A location within a chip, used to store information or

instructions.

Routine Similar to a function except that, strictly speaking, routines
do not return

values.

SCSI Small Computer Systems Interface.

Shell This is a program which acts as an interface between the operating
system

and a human user. Also called a command shell, the most commonly used
shell

in Linux is the bash shell.

SMP Symmetrical multiprocessing. Systems with more than one processor
which

fairly share the work amongst those processors.

Socket A socket represents one end of a network connection, Linux
supports the

BSD Socket interface.

Software CPU instructions (both assembler and high level languages
like C) and

data. Mostly interchangable with Program.

System V A variant ofUnix

TM

produced in 1983, which included, amongst other

things, System V IPC mechanisms.

TCP Transmission Control Protocol.

Task Queue A mechanism for deferring work in the Linux kernel.

UDP User Datagram Protocol.

Virtual memory A hardware and software mechanism for making the
physical

memory in a system appear larger than it actually is.

 

 

Bibliography (参考书目)

[1] Richard L. Sites. Alpha Architecture Reference Manual Digital
Press

[2] Matt Welsh and Lar Kaufman. Running Linux O'Reilly & Associates,
Inc, ISBN

1-56592-100-3

[3] PCI Special Interest Group PCI Local Bus Specification

[4] PCI Special Interest Group PCI BIOS ROM Specification

[5] PCI Special Interest Group PCI to PCI Bridge Architecture
Specification

[6] Intel Peripheral Components Intel 296467, ISBN 1-55512-207-8

[7] Brian W. Kernighan and Dennis M. Richie The C Programming Language
Pren-

tice Hall, ISBN 0-13-110362-8

[8] Steven Levy Hackers Penguin, ISBN 0-14-023269-9

[9] Intel Intel486 Processor Family: Programmer's Reference Manual
Intel

[10] Comer D. E. Interworking with TCP/IP, Volume 1 - Principles,
Protocols and

Architecture Prentice Hall International Inc

[11] David Jagger ARM Architectural Reference Manual Prentice Hall, ISBN
0-13-

736299-4
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: