📄 unx45.htm
字号:
<P>Within several years of its commercial availability, UNIX existed in so many different versions that, like the aftermath of the tower of Babel, its followers did not all speak the same language.
<BR></P>
<P>Many proprietary versions of UNIX came into being during these times. Some were based on the AT&T release and others on the Berkeley Software Distribution (BSD), often combining features of both. Digital Equipment's Ultrix, for example, was based on
the Berkeley release but incorporated some System V features as well. SunOS was moving to the Berkeley release but incorporated System V features, too. Even HP-UX was primarily BSD but added some System V features. IBM's AIX, on the other hand, was based
on System V and added some BSD features, as did Apple's AUX. Users and administrators could move between these different versions of the UNIX operating system but not without a fair degree of stress and retooling. The command rsh, for example, was a remote
shell command in the Berkeley release, but was the restricted shell command in System V. These differences, along with significantly different print subsystems, were enough to make the different flavors of UNIX an issue for just about anyone who had to
move between them.
<BR></P>
<P>By the time UNIX realized it was without the stabilizing influence of standards, commercialism had taken over and many UNIX products were being sold and used in large quantity. UNIX had been thrown into the world of big business, government, and
competition.
<BR></P>
<H3 ALIGN="CENTER">
<CENTER><A ID="I6" NAME="I6">
<FONT SIZE=4><B>Factors Leading to UNIX's Early Success</B>
<BR></FONT></A></CENTER></H3>
<P>The quick acceptance of UNIX and its move from the laboratory into big business and government was based on a number of compelling advantages that this powerful operating system offered to its users.
<BR></P>
<P>A few underlying concepts of UNIX really work well: the tree-structured file system, the fact that a file is a sequence of bytes, and the fact that objects can be accessed as files. UNIX also survived, even embraced, the advent of networks. Its survival
made it the operating system of choice in many campus environments and gave it an early mandate for interoperability.
<BR></P>
<P>The features that most contributed to the success of UNIX include its model of computing, its portability, and events in its history that allowed its proliferation and encouraged innovation.
<BR></P>
<H4 ALIGN="CENTER">
<CENTER><A ID="I7" NAME="I7">
<FONT SIZE=3><B>The UNIX Model of Computing</B>
<BR></FONT></A></CENTER></H4>
<P>The UNIX kernel became the core of the operating system, which generally only UNIX wizards concern themselves with; the shells' environments became the messengers, making the wishes of users palatable before delivering them to the kernel; and the shells
(Bourne and C) created the working environments of users. This organization of UNIX into a kernel surrounded by the shell and by user commands was a revolutionary concept in the early days of UNIX.
<BR></P>
<P>The UNIX kernel became the core of the system, interacting directly with the hardware while providing services to programs to insulate them from hardware details. The kernel provided essential control and support for the many processes needing to use
the CPU. It managed the sequential sharing of the CPU to effect time sharing in such a way that it appeared to users that their processes were continuously running when, in fact, they were running only intermittently. The kernel also maintained the file
system and handled interrupts (for example, devices requesting attention). Processes interacted with the kernel through system calls.
<BR></P>
<P>The UNIX shells act both as command interpreters and as mini programming languages. Shells read and interpret user commands, expanding filenames and substituting variables with their values before passing commands to the kernel for execution. Over the
years, a number of shells have been added to UNIX. The Bourne shell (sh) is the standard UNIX shell; the C shell (csh) and Korn shell (ksh) bring many modern features. Other shells available in some UNIX systems provide limited-access environments with
restricted shells such as rsh and process (that is, job) control with jsh. Additionally, public-domain utilities such as PERL and tcsh are used on many UNIX systems.
<BR></P>
<P>The simple yet powerful concepts of pipes and redirects are clearly two of the most important features of UNIX. The ability to string together commands to create new tools brings the extensibility of UNIX to every user. When a user feeds the output of a
cat command into grep or sort, for example, and then to awk for reformatting or sed for string substitution, he or she is creating a new tool "on the fly."
<BR></P>
<P>UNIX also contains several hundred commands and utilities. Many of these, such as sed and awk, are languages with powerful capabilities. Others, such as fold, have a single, simple function.
<BR></P>
<H4 ALIGN="CENTER">
<CENTER><A ID="I8" NAME="I8">
<FONT SIZE=3><B>Portability</B>
<BR></FONT></A></CENTER></H4>
<P>From a technical point of view, portability was probably the most important factor in the overall success of UNIX. Users could move UNIX to many different platforms with very little change. Coded in the high-level language C, UNIX was easily ported to a
variety of very different hardware platforms. For any large organization, the ability to run the same operating system on virtually all of its computers continues to have considerable appeal. The overhead associated with using and managing these systems is
significantly reduced.
<BR></P>
<H4 ALIGN="CENTER">
<CENTER><A ID="I9" NAME="I9">
<FONT SIZE=3><B>Extensibility</B>
<BR></FONT></A></CENTER></H4>
<P>Another reason for the early success of UNIX was its extensibility and simplicity. UNIX was able to grow without losing its fundamental elegance and without excessive risk of introducing serious new bugs. Previously, as systems grew, they became
increasingly complex and increasingly difficult to maintain. Each feature that was added affected other features, and the likelihood of introducing errors was considerable. It was nearly impossible to maintain or control a single feature without
considering its effect on the rest of the operating system.
<BR></P>
<P>UNIX, on the other hand, with its simple modularity, allowed developers of new tools to code them fairly independently of other tools and commands. The developers merely had to build tools so that they worked with standard input, standard output, and
standard error. In addition, many requirements for additional features could be answered by innovative use of existing UNIX commands. The "UNIX way" suggested simple robust tools that could be used almost like tinker toys to create command
one-liners that could accomplish more than complex programs in any other operating system.
<BR></P>
<H4 ALIGN="CENTER">
<CENTER><A ID="I10" NAME="I10">
<FONT SIZE=3><B>Additional Features</B>
<BR></FONT></A></CENTER></H4>
<P>The multiuser and multiprocessing nature of UNIX greatly amplified the productivity of its users; they could work on several things at a time.
<BR></P>
<P>UNIX also became ready for networking at an early age. With the TCP/IP protocol suite that was derived from the Berkeley work, network-ready UNIX implementations arrived early and fulfilled important needs.
<BR></P>
<P>Although you may have heard complaints about UNIX security, the security of UNIX was, in fact, another key feature that helped it to make its way into business and government sites. Operating system security was almost totally lacking in earlier
operating systems. In UNIX, file permissions and fairly secure passwords created a paradigm for privacy.
<BR></P>
<H4 ALIGN="CENTER">
<CENTER><A ID="I11" NAME="I11">
<FONT SIZE=3><B>Appeal</B>
<BR></FONT></A></CENTER></H4>
<P>Finally, the success of UNIX is based on its appeal to its users. Enthusiasm for UNIX is generally correlated with the time people spend with it. Users must get to a certain level of expertise before they can string together commands and
"compose" their own functionality or embed their tricks into scripts that they use as if they were UNIX commands themselves. Once they've mastered this skill, however, UNIX is extremely powerful and compelling. UNIX wizards have many tricks up
their sleeves and are always looking for that new clever combination to further streamline their work. The almost endless ways that commands can be combined and data extracted and manipulated is unique to UNIX.
<BR></P>
<P>UNIX is composed of many small pieces. UNIX commands don't try to do everything; instead, they do something simple well. Because UNIX offers so many commands, even those who consider themselves experts are constantly discovering new commands and new
options. At the same time, much of the detail even the experts don't need to concern themselves with at all. They don't worry, for example, if their data is coming from a file or a device or even from another program. It doesn't matter. The experts can
plug the pieces together whenever they need to without having to make allowances for the source or destination of the data.
<BR></P>
<P>The early creators of UNIX got to name all the tools that were added to the growing set of commands and utilities that was early UNIX. Some, with names such as sed and grep, are acronyms. Others were given names such as biff (after a dog) and awk (after
its creators). The mix of meaningful and arbitrary command names gave an odd character to this revolutionary operating system. Interestingly, you might notice that UNIX has only advocates and enemies. Almost no one who knows anything about UNIX is neutral.
<BR></P>
<P>Some people are overwhelmed by the hundreds of commands and tools that comprise UNIX, and they consider UNIX to be a "four-letter word." It has a terse syntax and oddly named commands, some with an overwhelming set of options. Other people are
fond of individual commands or tools. Talk to a UNIX devotee about awk, if you don't believe this devotion. UNIX people can talk at length about the power of the operating system and their favorite utilities.
<BR></P>
<H3 ALIGN="CENTER">
<CENTER><A ID="I12" NAME="I12">
<FONT SIZE=4><B>Flavors BSD and System V</B>
<BR></FONT></A></CENTER></H3>
<P>By the time UNIX had become mainstream, there were two primary flavors, each with its own strengths and markets. For the most part, BSD has become firmly entrenched in the academic and research environments and has maintained a lead in innovation. The
System V version has moved toward more strictly commercial applications and stresses robustness and rugged error handling. Each of the UNIX camps has become devoted to its own particular flavor of UNIX, and each has resisted standardization.
<BR></P>
<P>The BSD and System V versions differ in many ways. Many of the basic commands, such as ls and cd, are the same, but other major components are different. The print subsystems, for example, in BSD and System V are different. The files required to set up
and provide access to printers and the commands to issue print requests and check the print queue also are different.
<BR></P>
<P>For system administrators, moving from one flavor of UNIX to another involves additional troubles. Many of the start-up and configuration files in the /etc directory are differently named or differently formatted so that administering a System V host is
quite different from administering a BSD system. Files used during the bootup process include /etc/rc.local and /etc/rc.boot on BSD systems and /etc/rc0 and /etc/rc2 on System V. In addition, many scripts and utilities for facilitating system
administration (for example, adding and removing users) exist in one and not the other. Enough differences exist that a system administrator always encounters some degree of difficulty moving between the two major flavors of UNIX.
<BR></P>
<P>Despite the fact that the BSD and AT&T UNIX flavors compete, they have benefitted from considerable cross-fertilization. This cross-fertilization helped both major versions of UNIX evolve but also proliferated many different proprietary UNIX
implementations that included some features from both systems. Some System V versions of UNIX have BSD enhancements, and some BSD versions have System V support. Saying "I use UNIX" isn't enough anymore. The particular command set that you know
may be a grab bag of features from both BSD and System V. The merge of the BSD and System V into SVR4 will end much of the stress involved in moving between versions of UNIX.
<BR></P>
<P>Among the many popular flavors of UNIX in use today are many BSD and System V representatives. SunOS 4.1, for example, is a BSD-based UNIX. SGI's IRIX is based on System V. SCO UNIX, a popular UNIX for personal computers, is based on System V. NeXTStep
is based on Carnegie-Mellon's Mach, which is based on BSD.
<BR></P>
<P>The following factors differentiate the popular flavors of UNIX today: completeness of the command set, availability of different shells, support for diverse file systems, sophistication of system administration tools, networking features and support,
user interface and desktop tools, support for internationalization, application development support, memory management, and adherence to standards
<BR></P>
<H3 ALIGN="CENTER">
<CENTER><A ID="I13" NAME="I13">
<FONT SIZE=4><B>Open Systems</B>
<BR></FONT></A></CENTER></H3>
<P>When the phrase open systems emerged, it caught on quickly. Soon, every computer vendor was using the term. After all, open systems had a ring of idealism and an appeal to buyers. Initially, however, vendors didn't all mean the same thing when they used
the term. For some, open meant that an operating system ran on more than one vendor's equipment. For others, it meant that the systems could be purchased from more than one source.
<BR></P>
<P>The valid definition of open systems is the one that vendor consortiums use. An open system is one that uses published interface specifications to promote interoperability and portability. The standards groups that promote open systems pursue
interoperability and portability to facilitate innovation and preserve the investment that both users and developers make in their systems. Once developers, for example, can spend less time worrying about porting their code between vastly different
systems, they can spend more time working on improvements and new features.
<BR></P>
<P>Open can refer to licensing as well as to specifications. Open licensing means that technology produced by one company can be licensed for use by another, allowing for a good degree of interoperability. Open licensing, however, generally means that a
single vendor is responsible for the technology. Open specifications, on the other hand, allow for many vendors to participate in defining the specifications and permit the creation of a vendor-neutral environment for development and innovation.
<BR></P>
<P>In contrast to open is the concept of proprietary. Proprietary systems do not use open specifications or open licensing. The Macintosh operating system is an example of a proprietary operating system; it is neither openly licensed nor openly specified.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -