UNIX History and Philosophy - PowerPoint PPT Presentation

1 / 66
About This Presentation
Title:

UNIX History and Philosophy

Description:

Perhaps we should mention that Volkswagen built a marketing campaign around the ' ... Recall a command from the command history. Log in to and log out of UNIX. 28 ... – PowerPoint PPT presentation

Number of Views:501
Avg rating:3.0/5.0
Slides: 67
Provided by: til42
Learn more at: http://www.wildbill.org
Category:

less

Transcript and Presenter's Notes

Title: UNIX History and Philosophy


1
UNIX History and Philosophy
  • Life with Unix

2
Definition of an Operating System (OS)
  • An operating system is a control program for a
    computer that performs the following operations
  • manages and allocates computer resources
  • schedules routine tasks
  • provides a platform to run application software
    for users to accomplish tasks
  • provides an interface between the user the
    computer

3
History of Unix OS
  • Prior to Unix, many operating systems ran
    collections or batches of operations one at a
    time.
  • This single-user batch-processing approach did
    not take advantage of the potential processing
    power and speed of computers
  • Note batch processing lacks the advantage of
    immediate feedback as opposed to online processing

Enter data in files to be later processed
Process Collection or Batch of files
Receive information of processed data
4
History of Unix OS
  • The Unix OS was developed (based on Multics
    CTSS operating systems) by Ken Thompson at the
    ATT Bell Laboratories in 1969. He wanted to
    create an multi-user operating system to run
    space wars game.
  • Kens philosophy was to create an operating
    system with commands or utilities that would do
    one thing well very well (i.e. UNIX).

5
History of Unix OS
  • The first versions of UNIX were written in
    machine-dependent program (such as PDP-7).
  • Ken Thompson approach Dennis Ritchie developer of
    C program), and in 1973 they compiled UNIX in C
    programming language to make operating system
    portable to other computers systems.

6
History of Unix OS
  • Ken Thompson (recently retired from Bell Labs) is
    on left, and Dennis Ritchie is in the middle.
    Whats his name is on the right

7
History of Unix OS
  • The Unix OS is a multi-user OS allowing more that
    more person to directly communicate with the
    computer.
  • Although the OS can only work on one task at a
    time, a small piece of time (time slice) is
    dedicated to each task or user - this is referred
    to as time-sharing.
  • Time sharing gives the illusion that the CPU is
    giving all the users its full attention

8
An Illustration of Time-Sharing
User 1
User 8
User 2
User 7
TIME
User 3
User 6
User 4
User 5
9
Development of Unix OS
  • Unix became a popular OS among institutions such
    as colleges universities through a 4-year try
    before you buy deal.
  • Efficient and inexpensive way of networking
  • promotes Internet use and file-sharing
  • Open system allows for source code to be shared
    among many programmers - allows for better
    coordination among programmers

10
Development of Unix OS
  • Students at University of California (in Berkley)
    further developed the UNIX operating system and
    introduced the BDS version of Unix

Unix
Berkley Software Distribution (BSD)Free
Bell LabsUNIX System V (5)Proprietary
11
Development of Unix OS
  • There were versions of UNIX for the Personal
    Computer (PC), such as XENIX, etc., but they
    didnt catch on in popularity until Linux was
    developed in the early 90s.

12
History of Linux
  • Linux operating system developed by programming
    student Linus Torvalds
  • Linus wanted to develop Unix-like OS just to
    experiment with new 386 computer at the time...

13
Why Has Linux Become soPopular?
  • Linus decided to make Linux OSsource-code for
    Linux Kernel open to all
  • Unlike traditional Operating Systems, anyone can
    modify and distribute Linux OS (as long as they
    distribute source code of Linux Kernel)
  • Competition among Hackers allow code to be
    improved and distributed often
  • Many users can spot bugs in the operating system
    or application if source code is open

14
Why Has Linux Become soPopular?
  • Other Factors
  • PCs have increased processing power and a there
    has been a noted shift from mainframes and
    minicomputers to PCs.
  • Since Linux is a Unix Work-alike, this OS has a
    reputation to be a very stable platform for
    networking (creating at-home servers) and running
    / maintaining applications.
  • Agencies such as Free Software Foundation created
    GNU project to provide free software.

15
Concerns
  • Some people claim that there are as many version
    of Linux as there are users
  • POSIX (Portable Operating System Interface for
    Computer Environments) is a government standard
    to ensure consistency among different UNIX and
    Linux versions.
  • Many versions of Linux are approaching POSIX
    standard.

16
Concerns
  • Freedom of allowing Linux users to create
    servers connected up to Internet can lead to
    attacks from experienced hackers.
  • Linux commands may be considered
    user-unfriendly although GUIs are now used.
  • Prior reputation for difficult install process
    including the loss of data on other hard disk
    partitions.
  • The same can be said of Microsoft Windows

17
The Unix philosophy in a Nutshell
  • The tenets of the Unix philosophy are deceptively
    simple. They are so simple, in fact, that people
    tend to regard them as having little importance.
    That's where the deception comes in. Their
    simplicity disguises the fact that these ideas
    are incredibly effective when carried out
    consistently.
  • The following list will give you an idea of what
    the Unix philosophy tenets are. The rest of the
    book will help you to understand why they are
    important.

18
Unix Tenets
  1. Small is beautiful.
  2. Make each program do one thing well.
  3. Build a prototype as soon as possible.
  4. Choose portability over efficiency.
  5. Store data in flat text files.
  6. Use software leverage to your advantage.
  7. Use shell scripts to increase leverage and
    portability.
  8. Avoid captive user interfaces.
  9. Make every program a filter.

19
Unix Tenets
  • The preceding list contains tenets about which
    Unix developers are dogmatic. You will find
    similar lists in other books on Unix, as they are
    the points that everyone considers to be
    foundational Unix concepts. If you adopt them,
    you will be considered to be a "Unix person."

20
Unix Lesser Tenets
  • The following lists 10 lesser tenets, ideas that
    tend to be part of the Unix world's belief
    system.2 Not everyone involved with Unix is
    dogmatic about these, and some of them aren't
    strictly characteristic of Unix. Still, they seem
    to be a part of the Unix culture (and the Linux
    culture by inclusion).

21
Unix Lesser Tenets
  1. Allow the user to tailor the environment.
  2. Make operating system kernels small and
    lightweight.
  3. Use lowercase and keep it short.
  4. Save trees.
  5. Silence is golden.
  6. Think parallel.
  7. The sum of the parts is greater than the whole.
  8. Look for the 90-percent solution.
  9. Worse is better.
  10. Think hierarchically.

22
Unix Tenets
  • After reading the list of tenets, you may be
    wondering just what all the fuss is about. "Small
    is beautiful" is not such a big deal. "Doing one
    thing well" sounds pretty narrow-minded in and of
    itself. Choosing portability over efficiency
    isn't the sort of idea that will change the
    world.
  • Is that all there is to Unix? Is Linux just a
    small operating system for small minds?

23
Unix Tenets
  • Perhaps we should mention that Volkswagen built a
    marketing campaign around the "small is
    beautiful" concept that helped it sell millions
    of automobiles. Or consider that Sun
    Microsystems, a leading Unix systems vendor,
    based its strategy on putting "all the wood
    behind one arrowhead" or, in other words, "doing
    one thing well." Could all the interest in PDAs,
    wireless Web access, and hand-held video have
    something to do with portability?

24
Unit Tenets
  • Come. Let us begin the journey.
  • 2Given words such as "dogmatic," "tenets," and
    "belief system," might one wonder whether the
    Unix philosophy describes a cultural phenomenon
    in addition to a technological one.

25
Introduction to Unix/Linux
  • Chapter One
  • The Essence of UNIX

26
Objectives
  • Define operating systems in general and the UNIX
    operating system in particular
  • Describe Linux as it relates to UNIX
  • Explain the function of UNIX shells
  • Describe the options for connecting to a UNIX
    system
  • Define the syntax used for entering UNIX commands

27
Objectives (cont.)
  • Use the date, cal, who, man, whatis, and clear
    commands
  • Perform basic command-line editing operations
  • Enter multiple commands on a single command line
  • Recall a command from the command history
  • Log in to and log out of UNIX

28
Understanding Operating Systems
  • Operating System (OS)
  • The most fundamental computer program
  • Enables you to store information, process raw
    data, use application software, compile your own
    programs, and access attached hardware, such as a
    printer or keyboard
  • UNIX Operating System
  • Leading OS for workstations, which are computers
    on a local area network (LAN)

29
Understanding Operating Systems
30
PC Operating Systems
  • A personal computer (PC) OS conducts all the
    input, output, processing, and storage operations
    on a stand-alone computer

31
Mainframe Operating Systems
  • A mainframe OS controls a large computer system
    with multiple processors that conduct input,
    output, processing, and storage operations for
    many users

32
Network Operating Systems
  • A network OS controls the operations of a server
    computer, sometimes called a host, which accepts
    requests from user programs running on other
    computers, called clients

33
Server-based vs. peer-to-peer networks
  • Server-based network
  • Centralized processing approach
  • Data and applications server resident
  • If server fails, entire network fails
  • Peer-to-peer
  • Distributed processing approach
  • Data and applications workstation resident
  • Each system is both a server and a client

34
Introducing the UNIXOperating System
  • UNIX can be used on systems functioning as
  • Dedicated servers or client workstations in a
    server-based network
  • Client/server workstations connected to a
    peer-to-peer network
  • Stand-alone workstations not connected to a
    network

35
Introducing the UNIXOperating System
  • UNIX is a multi-user system
  • Allows many users access and share the resources
    of a server computer
  • UNIX is a multitasking system
  • Allows user to execute more than one program at a
    time
  • UNIX is a portable operating system
  • Used in many computing environments

36
UNIX Concepts
  • Shell
  • The interface between user and OS
  • Hierarchical Structure
  • Directory and subdirectory organization
  • Layered components
  • Layers of software surround the computers inner
    core

37
(No Transcript)
38
Linux and UNIX
  • Linux is UNIX-like
  • Not written from traditional UNIX code
  • Linux is original code
  • Includes POSIX standards
  • Other Linux information
  • Created by Linus Torvalds
  • Offers all the complexity of UNIX
  • Linux can coexist with other OSs

39
Introducing UNIX Shells
  • A shell is a UNIX program that interprets the
    commands you enter from the keyboard

40
Choosing Your Shell
  • Shells interpret commands and act as first-class
    programming languages
  • A default shell is associated with your account
    when created Bash is the default shell in Linux
  • A short list of some UNIX shells
  • Bourne
  • Cshell
  • Korn
  • Bash

41
Choosing User Names and Passwords
  • To use UNIX, a user must log in by providing a
    unique user name and password
  • UNIX system administrators create accounts by
    adding user names and passwords
  • Users log in to UNIX or Linux systems as long as
    they have accounts on the workstation or host
    (server) computer

42
Connecting to a UNIX System
  • Remotely through Telnet/Secure Shell
  • Through network client software
  • As peer on peer-to-peer network
  • On a stand-alone PC
  • Through a dumb terminal

43
Connecting to UNIX
  • Telnet
  • terminal emulation software
  • Easy and unsecure
  • Secure Shell
  • Terminal emulation software
  • Session encrypted end-to-end
  • Bundled with secure ftp and copy
  • X-Windows

44
Connecting to Unix
  • Widows Clients
  • telnet (native to windows)
  • Terra Term (http//hp.vector.co.jp/authors/VA00241
    6/teraterm.html)
  • Freeware Win32 telnet client
  • Putty (http//www.chiark.greenend.org.uk/sgtatham
    /putty/)
  • Freeware Win32 Secure Shell Client/Suite
  • X-Win32 (http//www.starnet.com/)
  • Commercial X-Windows Server for Windows
  • Exceed (http//hummingbird.com)
  • Commercial X-Windows Server Suite for Windows

45
Logging in to UNIX
  • Log in by entering username and password when
    UNIX system booted or connected to
  • Enter at prompt (command-line mode) or into login
    box (GUI mode)
  • Youre at the Shell prompt -- Now commands can be
    issued at the command prompt

46
Logging In to UNIX
  • Telnet can be accessed from a the console, or
    terminal window (after X-Windows is started)

47
Entering Commands
  • To interact with UNIX, a command is entered at
    the command prompt
  • UNIX is case-sensitive and most commands are
    typed in lower case
  • Two categories of commands
  • User-level perform tasks
  • System administration system management

48
Entering Commands
  • The date command
  • Displays the system date, which the system
    administrator maintains
  • The cal command
  • Shows the system calendar
  • The who command
  • Shows who is using the system and their current
    location

49
Entering Commands
50
Entering Commands
51
Entering Commands
52
Entering Commands
  • Command-line editing
  • Certain keystrokes perform command-line editing
    (shell dependent)
  • Multiple command entry
  • More than one command on one line by separating
    with a semicolon()
  • The clear command
  • Clears the current screen

53
Entering Commands
  • Command-line history
  • Use up and down arrow keys to scroll through
    command history
  • The whatis command
  • Displays a brief description of a command for
    help purposes
  • Note the numbers in ()s that is the man section

54
Entering Commands
  • The man program displays the UNIX online
    reference manual, called the man pages, for help
    purposes

55
Logging Out of UNIX
  • Logging out ends your current process and
    indicates to UNIX that you are finished
  • Logging out is shell dependent
  • Bourne, Korn, Bash exit command
  • C shell logout command

56
Understanding the Role of the UNIX System
Administrator
  • System administrator manages the UNIX system
  • Adds users and deletes old accounts
  • Also called the superuser
  • Unlimited permission to alter system
  • Unique user name root
  • Prompt ends with (pound) symbol
  • Normal user prompt (dollar) (percent) symbol

57
Changing Passwords
  • For security purposes, changing passwords is
    necessary
  • Use the passwd command
  • UNIX allows new password if
  • The new password differs by at least three
    characters
  • It has six or more characters, including at least
    two letters and one number
  • It is different from the user name

58
Viewing Files with cat, more, less, head, and
tail Commands
  • Use cat, more, less and tail to view file
    contents
  • cat displays a whole file at one time
  • more displays a file one screen at a time,
    allowing scroll down
  • less displays a file one screen at a time,
    allowing scroll down and up
  • tail displays the end of a file
  • head displays the beginning of a file

59
Viewing Files with cat, more, less, head, and
tail Commands
  • Use head and tail to view the first few or last
    few lines of a file
  • head displays the first few lines
  • tail displays the last few lines

60
Redirecting Output
  • The greater than sign (gt) is called a redirection
    symbol
  • Create a new file or overwrite an existing file
    by attaching (gt) to a command that produces
    output
  • To append to an existing file, use two
    redirection symbols (gtgt)

61
Chapter Summary
  • The operating system controls all computer
    resources and provides the base upon which
    application programs can be used or written
  • A server-based network is centralized where
    security and maintenance are handled by the
    system administrator and all systems rely on the
    server a peer-to-peer network is decentralized
    where security and maintenance is distributed to
    each system and if one of the systems fails, the
    network continues to function

62
Chapter Summary
  • UNIX is a multi-user, multitasking operating
    system
  • UNIX systems may be configured as servers or as
    client workstations in a server-based network, as
    client/server workstations in a peer-to-peer
    network, or stand-alone workstations when no
    network connection

63
Chapter Summary
  • The concept of the layered components that make
    up an OS originated with UNIX
  • Linux is a UNIX-like OS and can coexist with
    Windows and MS-DOS
  • In UNIX, you communicate with the OS programs
    through an interpreter called the shell and UNIX
    provides shells such as the Bourne, Korn, and C
    shells, with Bash being the most popular on Linux
    systems

64
Chapter Summary
  • In UNIX, the system administrator sets up
    accounts for users that supply a username and
    password
  • You work with UNIX by typing commands that you
    can learn by referring to the online manual
    called man pages commands have specific syntax
    and allow you to see brief descriptions of
    commands, see who is logged in, display the
    system calendar, and log out

65
Chapter Summary
  • Most shells provide basic command-line editing
    capabilities and keep a history of your most
    recently used commands
  • You can view the contents of files with view
    commands such as cat, less, more, head, and tails

66
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com