Syllabus --- Unix and Advanced Programming
- Text: "Unix in a Nutshell"
- Text: "Advanced Linux Programming"
Goals of this course
To give the student proficiency in using
the Unix operating system in its various manifestations,
including Solaris and Linux. This course will also cover
setting up and administering a Unix machine, and programming
in the Unix environment
We will focus on Linux because it is:
- the most widely used form of Unix
- a form of Unix that can be installed on students' own machines. It
comes with a selection of free software comparable to that available on
the departmental Sun systems.
Discussion group for this class
Grading policy
There will be at least 3 exams, all given as fill-out forms on web
pages accessible from this page. When the exams are graded, grades
will be emailed to students (along with the correct answers to
questions). Final grades will depend on written assignments, and
exams. The lowest exam grade will be dropped. Written assignments
count as 1/10 of an exam.
At any time, students may find out their current grades by
consulting
this web page using the password given in emails with exam
grades.
Exams use XML and (sometimes MathML) that can only be viewed
with the Mozilla web browser, downloadable from
Mozilla Home Page
Exam 3 (due 8/13/2002)
Topics
- The first assignment covers obtaining and installing RedHat Linux on
a student's machine. This involves:
- Partitioning the hard drive. This can be done without
destroying the Windows software already present.
Parted can resize (i.e., shrink) Windows partitions.
See
Parted Home Page and
Bootdisk form of Parted (see the README file
in this directory).
- Creating a swap partition.
- Deciding on the software configuration to get.
- Configuring the network: ppp and dsl connections.
- Configuring X windows. Choosing a desktop.
- The Unix tree-oriented file system. Access permissions
of files in Unix.
- Editing text files: emacs and vi.
- The bash shell. Basic shell commands. Navigating directories.
- Attaching devices to the tree.
- System configuration files: the /etc directory.
- The boot process in Linux: run-levels and starting up services.
- Java:
- Computer security issues.
Remaining assignments
Internet access via a modem
Unix Links
History
Unix Timeline
Solaris
This is the operating system used most commonly on Sun systems.
Free implementations of Unix
All of these are effective substitutes for Solaris and make the
user's PC functionally equivalent to the Sun systems in most respects.
Linux is the most widely used version of Unix --- it is
Microsoft's only real competition.
- Software: RedHat Linux 7.3 (or later) from
Linux Central
This comes with no support. If you want a supported
copy of Linux, purchase an official copy from
RedHat Corporation
- Recommended book (optional)
- Cheap
Bytes (a cheap source for Unix CDs)
-
Linux Documentation Project
- Linux Home Page
-
Yellow Dog Linux (a commercial
distribution for the Macintosh PPC)
- MkLinux Home Page (Apple's
Linux for the Macintosh Power PC)
- The three BSD's (the first two use the revolutionary
UVM virtual memory algorithm):
- OpenBSD (the
world's most secure operating system). Runs on the following
architectures: x86 (of course), sparc, amiga, hp30, Macintosh 68K,
mvme, 68K, and Macintosh PowerPC
- NetBSD (a highly
portable operating system). Runs on everything (well, almost
everything). It was the first unix-like OS to be ported to
the Macintosh 68K.
- FreeBSD (one of the
world's fastest operating system and basis for Apple OSX).
Runs on: x86, Alpha, and Macintosh PowerPC.
Other Links
-
HOWTO's for Linux
-
Link to get Ximian version of Gnome Desktop
After installing this, run 'red-carpet' (as root) and:
- Subscribe to all channels that interest you (at least the one
corresponding to your Linux distribution and Gnome).
- Download and install all updates for your Linux
distribution (these updates include bug fixes and
enhanced security).
Software available for Linux
- Productivity Software:
- Open Office
A free drop-in replacement for Microsoft Office
- Gnome Desktop
Contains a word processor, spreadsheet, and drawing
programs.
- Web servers
Apache --- this comes with the Redhat distribution. The actual
web site files are located in
/var/www/html
directory. Point your browser to
127.0.0.1
- SQL-based Free Databases
Justin R. Smith