0% found this document useful (0 votes)
21 views19 pages

Intro To Unix

Uploaded by

woyevi6712
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views19 pages

Intro To Unix

Uploaded by

woyevi6712
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 19

Introduction to

UNIX / Linux
CMSC 121 Introduction to UNIX

Much of the material in these slides was taken from


Dan Hood’s CMSC 121.
What is an Operating
System?
 The operating system (OS) is the program which starts up
when you turn on your computer and runs underneath all
other programs - without it nothing would happen at all.
 In simple terms, an operating system is a manager. It
manages all the available resources on a computer, from
the CPU, to memory, to hard disk accesses.
 Tasks the operating system must perform:
 Control Hardware - The operating system controls all the parts
of the computer and attempts to get everything working together.
 Run Applications - Another job the OS does is run application
software. This would include word processors, web browsers,
games, etc...
 Manage Data and Files - The OS makes it easy for you to
organize your computer. Through the OS you are able to do a
number of things to data, including copy, move, delete, and
rename it. This makes it much easier to find and organize what
you have.
UNIX History
 The UNIX operating system was born in the late
1960s. It originally began as a one man project led
by Ken Thompson of Bell Labs, and has since grown
to become the most widely used operating system.
 In the time since UNIX was first developed, it has
gone through many different generations and even
mutations.
 Some differ substantially from the original version, like
Berkeley Software Distribution (BSD) or Linux.
 Others, still contain major portions that are based on the
original source code.
 An interesting and rather up-to-date timeline of
these variations of UNIX can be found at
http://www.levenez.com/unix/history.html.
General Characteristics of
UNIX as an Operating

System (OS)
Multi-user & Multi-tasking - most versions of UNIX are capable of allowing
multiple users to log onto the system, and have each run multiple tasks. This is
standard for most modern OSs.
 Over 30 Years Old - UNIX is over 30 years old and it's popularity and use is still
high. Over these years, many variations have spawned off and many have died
off, but most modern UNIX systems can be traced back to the original versions.
It has endured the test of time. For reference, Windows at best is half as old
(Windows 1.0 was released in the mid 80s, but it was not stable or very complete
until the 3.x family, which was released in the early 90s).
 Large Number of Applications – there are an enormous amount of
applications available for UNIX operating systems. They range from commercial
applications such as CAD, Maya, WordPerfect, to many free applications.
 Free Applications and Even a Free Operating System - of all of the
applications available under UNIX, many of them are free. The compilers and
interpreters that we use in most of the programming courses here at UMBC can
be downloaded free of charge. Most of the development that we do in
programming courses is done under the Linux OS.
 Less Resource Intensive - in general, most UNIX installations tend to be much
less demanding on system resources. In many cases, the old family computer
that can barely run Windows is more than sufficient to run the latest version of
Linux.
 Internet Development - Much of the backbone of the Internet is run by UNIX
servers. Many of the more general web servers run UNIX with the Apache web
server - another free application.
Parts of the UNIX OS
 The Kernel - handles memory management, input and output
requests, and program scheduling. Technically speaking, the kernel is
the OS. It provides the basic software connection to the hardware. The
kernel is very complex and deals with the inner workings of these
things, and is beyond the scope of this course. The kernel is covered in
detail in “Operating Systems.”
 The Shell and Graphical User Interfaces (GUIs) - basic UNIX
shells provides a “command line” interface which allows the user to type
in commands. These commands are translated by the shell into
something the kernel can comprehend, and then executed by the kernel.
 The Built-in System Utilities - are programs that allow a user to
perform tasks which involve complex actions. Utilities provide user
interface functions that are basic to an operating system, but which are
too complex to be built into the shell. Examples of utilities are programs
that let us see the contents of a directory, move & copy files, remove
files, etc...
 Application Software & Utilities – these are not part of the
operating system, per se. They are additional programs that are
bundled with the OS distribution, or available separately. These can
range from additional or different versions of basic utilities, to full scale
commercial applications.
Flavors of UNIX
 These can be grouped into two categories: Open Source and Proprietary
 Proprietary: (redistribution and modification prohibited or restricted; not free)
 Solaris - Access to a Solaris UNIX server (solaris.gl.umbc.edu) via SSH
access.
 IRIX - There are a couple of IRIX machines in the basement of the library, as
well as server access (irix.gl.umbc.edu) via SSH access.
 Mac OS X - no access currently available at UMBC.
 and many others...
 Open Source: (source code is readily available and free to modify)
 FreeBSD - no access currently available at UMBC.
 Linux Distributions - access is available in the form of dual-boot PCs
scattered throughout the Engineering building. There are also several Linux
servers (linux.gl.umbc.edu) through which access is available.
 RedHat (used by UMBC) and the Fedora Project (maintained by RedHat)
 Mandrake
 Debian
 SuSE
 Slackware
 and many others...
 As a side note, Linux is a open source UNIX-based OS that was originally
developed in 1991 by Linus Torvalds, a Finnish undergraduate student.
UNIX Interfaces
 There are really 2 means of connecting to
UNIX computers:
 You can be sitting in front of a dual-bootable PC
that you have booted into Linux and logged
onto. All of your commands are then being run
locally on that computer. When you logon in
this manner you have a full GUI environment.
 You can connect remotely to one of the UNIX
servers (whether from home or at the labs).
This is often how your projects are suggested to
be developed as they are graded on those same
servers. When you logon in this manner you
have a command line (or text based)
environment. You can also open up a command
line on local lab machines as well.
Graphical User
Interfaces (GUIs)
 When you logon locally, you are presented
with graphical environment.
 You start at a graphical login screen. You
must enter your username and password. You
also the have the option to choose from a
couple session types. Mainly you have the
choice between Gnome and KDE.
 Once you enter in your username and
password, you are then presented with a
graphical environment that looks like one of
the following...
Gnome
KDE
Command Line Interface
 You also have access to some UNIX servers as
well.
 You can logon from virtually any computer that has
internet access whether it be Windows, Mac, or UNIX
itself.
 In this case you are communicating through a
local terminal to one of these remote servers.
 All of the commands actually execute on the remote
server.
 It is also possible to open up graphical applications
through this window, but that requires a good bit more
setup and software. (Time permitting, we may cover
how to do this.)
The Terminal
Linux vs. Windows
 OS does not have to use a graphical interface.
 The OS itself (the kernel) is incredibly small.
 The GUI just another application (or set of applications)
that can be installed and run on top the existing text-
based OS.
 File system differences.
 Windows typically uses FAT32 or NTFS file systems.
 Linux typically uses the ext2 or ext3 file systems
 In much larger research and university environments,
where file access is necessary across the network,
something like Network File System (NFS) or the
Andrew File System (AFS) is used.
 Windows lists all drives separately (A:,C:,D:, etc…), with
“My Computer” at the highest level.
 UNIX starts its highest level at “/” and drives can be
mounted anywhere underneath it.
Practical Tasks
 Rebooting the computer into Linux on a
dual-boot PC.
 Logging in.
 Locking the screen.
 Logging out.
 The non-graphical terminal!
 Press Ctrl-Alt-F2 then login
 Be sure to logout with the command
“logout”
 Press Ctrl-Alt-F7 to get the GUI back.
If all else fails in Gnome
or KDE
 If your session seems to have froze
up, you can press ctrl-alt-
backspace to restart the X window
server, in the process logging you
out.
 Note that by doing it this way, you
risk losing unsaved work.
What is X Window?
 X window is the program that draws windows on the
screen under most GUI-based versions of UNIX. It is
important to note that the language that X windows
speaks is completely different from that of Microsoft
Windows or Mac OS X.
 Any X window system consists of 2 distinct parts - the X
server and 1 or more X clients.
 The server controls the display directly, and is responsible for
all input/output via the keyboard, mouse or display.
 The clients, on the other hand, do not access the screen directly
- they communicate with the server, which handles all input and
output.
 It is the clients which do the "real" computing work - running
applications or whatever.
 The clients communicate with the server, causing the server to open
one or more windows to handle input and output for that client.
What is a Desktop
Manager?
 Gnome and KDE are examples of desktop managers. Both
of these look a lot like Microsoft Windows.
 They have the equivalent of a Start Menu, have an equivalent
of Windows Explorer, and have some sort of control panel.
 The roll of the Desktop Manager is to provide you with the
ability to manage all of the details of your system that
would otherwise require you to type in a bunch of
commands in a terminal window.
 These details include managing your files, launching
programs, configuring various aspects of your system, etc.
 It is also worthy to note that the desktop manager is
optional. Many older systems did not have a desktop
manger that sat in-between the X server and the Window
manager.
What is a Window
Manager?
 The Window Manager is a program that manages the
placement of Windows on your system. The Window
Manager makes it possible to move, resize, and minimize
the various programs running on your computer
 KDE handles this functionality as well, whereas Gnome
does not directly provide this functionality, but rather
relies on an independent window manager to do it for us.
 Think of the Window Manager as the framing around the
windows as well as all of the associated functionality that
they provide.
 For example, most all window managers can close, minimize,
maximize & resize.
 However most UNIX window managers add so much more in
the way of functionality. The decoration and customization of
these windows under UNIX tends to be much more flexible.
 Many Window Managers also provide other functionality such
as shading, sticky/nonsticky, window history, and desktop and
workspace manipulations.
Programming Tools and
Utilities Available under Linux
 Text Editors  Debuggers
 Xemacs  C / C++ debugger - gdb
 Emacs  Interpreters
 Pico  Perl - perl
 vi  Tcl/Tk - tcl & wish
 Compilers  Miscellaneous
 C compiler - gcc
 Web Browsers - Mozilla,
Netscape, Firefox, and
 C++ compiler - g++ Lynx (lynx is text based)
 Java compiler & Java  Instant Messengers -
Virtual Machine - javac Gaim
& java  Email - Netscape is there,
but we will learn Pine

You might also like