summaryrefslogtreecommitdiff
path: root/sag-0.6.1-www/sag-0.6.1.html/x94.html
diff options
context:
space:
mode:
Diffstat (limited to 'sag-0.6.1-www/sag-0.6.1.html/x94.html')
-rw-r--r--sag-0.6.1-www/sag-0.6.1.html/x94.html687
1 files changed, 687 insertions, 0 deletions
diff --git a/sag-0.6.1-www/sag-0.6.1.html/x94.html b/sag-0.6.1-www/sag-0.6.1.html/x94.html
new file mode 100644
index 0000000..f42055e
--- /dev/null
+++ b/sag-0.6.1-www/sag-0.6.1.html/x94.html
@@ -0,0 +1,687 @@
+<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
+<HTML
+><HEAD
+><TITLE
+>Major services in a UNIX system</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet"><LINK
+REL="HOME"
+TITLE="The Linux System Administrators' Guide"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Overview of a Linux System"
+HREF="c63.html"><LINK
+REL="PREVIOUS"
+TITLE="Important parts of the kernel"
+HREF="x83.html"><LINK
+REL="NEXT"
+TITLE="Overview of the Directory Tree"
+HREF="c212.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Linux System Administrators' Guide</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x83.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 2. Overview of a Linux System</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="c212.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN94"
+>Major services in a UNIX system</A
+></H1
+><P
+>This section describes some of the more important UNIX
+ services, but without much detail. They are described more
+ thoroughly in later chapters.</P
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN97"
+><B
+CLASS="COMMAND"
+>init</B
+></A
+></H2
+><P
+>The single most important service in a UNIX system is
+ provided by <B
+CLASS="COMMAND"
+>init</B
+>. <B
+CLASS="COMMAND"
+>init</B
+>
+ is started as the first process of every UNIX system, as the last
+ thing the kernel does when it boots. When <B
+CLASS="COMMAND"
+>init</B
+>
+ starts, it continues the boot process by doing various startup
+ chores (checking and mounting filesystems, starting daemons,
+ etc).</P
+><P
+>The exact list of things that <B
+CLASS="COMMAND"
+>init</B
+>
+ does depends on which flavor it is; there are several to choose
+ from. <B
+CLASS="COMMAND"
+>init</B
+> usually provides the concept of
+ <I
+CLASS="GLOSSTERM"
+>single user mode</I
+>, in which no one can
+ log in and root uses a shell at the console; the usual mode is
+ called <I
+CLASS="GLOSSTERM"
+>multiuser mode</I
+>. Some flavors
+ generalize this as <I
+CLASS="GLOSSTERM"
+>run levels</I
+>; single
+ and multiuser modes are considered to be two run levels, and
+ there can be additional ones as well, for example, to run X on
+ the console.</P
+><P
+>In normal operation, <B
+CLASS="COMMAND"
+>init</B
+> makes sure
+ <B
+CLASS="COMMAND"
+>getty</B
+> is working (to allow users to log in),
+ and to adopt orphan processes (processes whose parent has died; in
+ UNIX <I
+CLASS="EMPHASIS"
+>all</I
+> processes <I
+CLASS="EMPHASIS"
+>must</I
+>
+ be in a single tree, so orphans must be adopted).</P
+><P
+>When the system is shut down, it is <B
+CLASS="COMMAND"
+>init</B
+>
+ that is in charge of killing all other processes, unmounting all
+ filesystems and stopping the processor, along with anything else
+ it has been configured to do.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN117"
+>Logins from terminals</A
+></H2
+><P
+>Logins from terminals (via serial lines) and the console
+ (when not running X) are provided by the <B
+CLASS="COMMAND"
+>getty</B
+>
+ program. <B
+CLASS="COMMAND"
+>init</B
+> starts a separate instance
+ of <B
+CLASS="COMMAND"
+>getty</B
+> for each terminal for which
+ logins are to be allowed. <B
+CLASS="COMMAND"
+>getty</B
+> reads
+ the username and runs the <B
+CLASS="COMMAND"
+>login</B
+> program,
+ which reads the password. If the username and password
+ are correct, <B
+CLASS="COMMAND"
+>login</B
+> runs the shell.
+ When the shell terminates, i.e., the user logs out, or when
+ <B
+CLASS="COMMAND"
+>login</B
+> terminated because the username
+ and password didn't match, <B
+CLASS="COMMAND"
+>init</B
+> notices
+ this and starts a new instance of <B
+CLASS="COMMAND"
+>getty</B
+>.
+ The kernel has no notion of logins, this is all handled by the
+ system programs.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN129"
+>Syslog</A
+></H2
+><P
+>The kernel and many system programs produce error, warning, and
+ other messages. It is often important that these messages can
+ be viewed later, even much later, so they should be written to
+ a file. The program doing this is <B
+CLASS="COMMAND"
+>syslog</B
+>. It can be
+ configured to sort the messages to different files according to
+ writer or degree of importance. For example, kernel messages
+ are often directed to a separate file from the others, since
+ kernel messages are often more important and need to be read
+ regularly to spot problems.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN133"
+>Periodic command execution: <B
+CLASS="COMMAND"
+>cron</B
+> and
+<B
+CLASS="COMMAND"
+>at</B
+></A
+></H2
+><P
+>Both users and system administrators often need
+ to run commands periodically. For example, the system
+ administrator might want to run a command to clean the
+ directories with temporary files (<TT
+CLASS="FILENAME"
+>/tmp</TT
+>
+ and <TT
+CLASS="FILENAME"
+>/var/tmp</TT
+>) from old files, to keep the
+ disks from filling up, since not all programs clean up after
+ themselves correctly.</P
+><P
+>The <B
+CLASS="COMMAND"
+>cron</B
+> service is set up to do this.
+ Each user has a <TT
+CLASS="FILENAME"
+>crontab</TT
+> file, where he
+ lists the commands he wants to execute and the times they should
+ be executed. The <B
+CLASS="COMMAND"
+>cron</B
+> daemon takes care of
+ starting the commands when specified.</P
+><P
+>The <B
+CLASS="COMMAND"
+>at</B
+> service is similar to
+ <B
+CLASS="COMMAND"
+>cron</B
+>, but it is once only: the command is
+ executed at the given time, but it is not repeated.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN147"
+>Graphical user interface</A
+></H2
+><P
+>UNIX and Linux don't incorporate the user interface
+ into the kernel; instead, they let it be implemented by user
+ level programs. This applies for both text mode and graphical
+ environments.</P
+><P
+>This arrangement makes the system more flexible, but has
+ the disadvantage that it is simple to implement a different
+ user interface for each program, making the system harder to
+ learn.</P
+><P
+>The graphical environment primarily used with Linux
+ is called the X Window System (X for short). X also does
+ not implement a user interface; it only implements a window
+ system, i.e., tools with which a graphical user interface can
+ be implemented. The three most popular user interface styles
+ implemented over X are Athena, Motif, and Open Look.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN152"
+>Networking</A
+></H2
+><P
+>Networking is the act of connecting two or more computers
+ so that they can communicate with each other. The actual methods
+ of connecting and communicating are slightly complicated, but
+ the end result is very useful.</P
+><P
+>UNIX operating systems have many networking features.
+ Most basic services (filesystems, printing, backups, etc) can
+ be done over the network. This can make system administration
+ easier, since it allows centralized administration, while
+ still reaping in the benefits of microcomputing and distributed
+ computing, such as lower costs and better fault tolerance.</P
+><P
+>However, this book merely glances at networking; see the
+ <I
+CLASS="CITETITLE"
+>Linux Network Administrators' Guide</I
+> for
+ more information, including a basic description of how networks
+ operate.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN158"
+>Network logins</A
+></H2
+><P
+>Network logins work a little differently than normal logins.
+ There is a separate physical serial line for each terminal via
+ which it is possible to log in. For each person logging in via
+ the network, there is a separate virtual network connection,
+ and there can be any number of these.
+
+ <A
+NAME="AEN161"
+HREF="#FTN.AEN161"
+>[1]</A
+>
+
+ It is therefore not possible to run a separate
+ <B
+CLASS="COMMAND"
+>getty</B
+> for each possible virtual connection.
+ There are also several different ways to log in via a network,
+ <B
+CLASS="COMMAND"
+>telnet</B
+> and <B
+CLASS="COMMAND"
+>rlogin</B
+> being
+ the major ones in TCP/IP networks.</P
+><P
+>Network logins have, instead of a herd of
+ <B
+CLASS="COMMAND"
+>getty</B
+>s, a single daemon per way of logging in
+ (<B
+CLASS="COMMAND"
+>telnet</B
+> and <B
+CLASS="COMMAND"
+>rlogin</B
+> have
+ separate daemons) that listens for all incoming login attempts.
+ When it notices one, it starts a new instance of itself to
+ handle that single attempt; the original instance continues to
+ listen for other attempts. The new instance works similarly
+ to <B
+CLASS="COMMAND"
+>getty</B
+>.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN171"
+>Network file systems</A
+></H2
+><P
+>One of the more useful things that can be done with
+ networking services is sharing files via a <I
+CLASS="GLOSSTERM"
+>network
+ file system</I
+>. The one usually used is called the
+ Network File System, or NFS, developed by Sun.</P
+><P
+>With a network file system any file operations done by
+ a program on one machine are sent over the network to another
+ computer. This fools the program to think that all the files
+ on the other computer are actually on the computer the program
+ is running on. This makes information sharing extremely simple,
+ since it requires no modifications to programs.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN176"
+>Mail</A
+></H2
+><P
+>Electronic mail is usually the most important method for
+ communicating via computer. An electronic letter is stored in a
+ file using a special format, and special mail programs are used
+ to send and read the letters.</P
+><P
+>Each user has an <I
+CLASS="GLOSSTERM"
+>incoming mailbox</I
+>
+ (a file in the special format), where all new mail is stored.
+ When someone sends mail, the mail program locates the receiver's
+ mailbox and appends the letter to the mailbox file. If the
+ receiver's mailbox is in another machine, the letter is sent to
+ the other machine, which delivers it to the mailbox as it best
+ sees fit.</P
+><P
+>The mail system consists of many programs. The
+ delivery of mail to local or remote mailboxes is done by one
+ program (the <I
+CLASS="GLOSSTERM"
+>mail transfer agent</I
+> or
+ <I
+CLASS="GLOSSTERM"
+>MTA</I
+>, e.g., <B
+CLASS="COMMAND"
+>sendmail</B
+>
+ or <B
+CLASS="COMMAND"
+>smail</B
+>), while the programs users use
+ are many and varied (<I
+CLASS="GLOSSTERM"
+>mail user agent</I
+>
+ or <I
+CLASS="GLOSSTERM"
+>MUA</I
+>, e.g., <B
+CLASS="COMMAND"
+>pine</B
+>
+ or <B
+CLASS="COMMAND"
+>elm</B
+>). The mailboxes are usually stored
+ in <TT
+CLASS="FILENAME"
+>/var/spool/mail</TT
+>.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN191"
+>Printing</A
+></H2
+><P
+>Only one person can use a printer at one time, but it is
+ uneconomical not to share printers between users. The printer is
+ therefore managed by software that implements a <I
+CLASS="GLOSSTERM"
+>print
+ queue</I
+>: all print jobs are put into a queue and
+ whenever the printer is done with one job, the next one is sent
+ to it automatically. This relieves the users from organizing
+ the print queue and fighting over control of the printer.
+
+ <A
+NAME="AEN195"
+HREF="#FTN.AEN195"
+>[2]</A
+>
+
+ </P
+><P
+>The print queue software also <I
+CLASS="GLOSSTERM"
+>spools</I
+>
+ the printouts on disk, i.e., the text is kept in a file while
+ the job is in the queue. This allows an application program
+ to spit out the print jobs quickly to the print queue software;
+ the application does not have to wait until the job is actually
+ printed to continue. This is really convenient, since it
+ allows one to print out one version, and not have to wait for
+ it to be printed before one can make a completely revised new
+ version.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN200"
+>The filesystem layout</A
+></H2
+><P
+>The filesystem is divided into many parts;
+ usually along the lines of a root filesystem with
+ <TT
+CLASS="FILENAME"
+>/bin</TT
+>, <TT
+CLASS="FILENAME"
+>/lib</TT
+>,
+ <TT
+CLASS="FILENAME"
+>/etc</TT
+>, <TT
+CLASS="FILENAME"
+>/dev</TT
+>, and
+ a few others; a <TT
+CLASS="FILENAME"
+>/usr</TT
+> filesystem with
+ programs and unchanging data; a <TT
+CLASS="FILENAME"
+>/var</TT
+>
+ filesystem with changing data (such as log files); and a
+ <TT
+CLASS="FILENAME"
+>/home</TT
+> filesystem for everyone's personal
+ files. Depending on the hardware configuration and the decisions
+ of the system administrator, the division can be different;
+ it can even be all in one filesystem.</P
+><P
+><A
+HREF="c212.html"
+>Chapter 3</A
+> describes the filesystem
+ layout in some detail; the Linux Filesystem Standard covers it
+ in somewhat more detail.</P
+></DIV
+></DIV
+><H3
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN161"
+HREF="x94.html#AEN161"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>Well, at least there can be many. Network
+ bandwidth still being a scarce resource, there is still
+ some practical upper limit to the number of concurrent
+ logins via one network connection. </P
+></TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN195"
+HREF="x94.html#AEN195"
+>[2]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>Instead, they form a new queue
+ <I
+CLASS="EMPHASIS"
+>at</I
+> the printer, waiting for their
+ printouts, since no one ever seems to be able to get the
+ queue software to know exactly when anyone's printout is
+ really finished. This is a great boost to intra-office
+ social relations.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x83.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="c212.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Important parts of the kernel</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="c63.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Overview of the Directory Tree</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file