Donation?

Harley Hahn
Home Page

Send a Message
to Harley


A Personal Note
from Harley Hahn

Unix Book
Home Page

SEARCH

List of Chapters

Table of Contents

List of Figures

Chapters...
   1   2   3
   4   5   6
   7   8   9
  10  11  12
  13  14  15
  16  17  18
  19  20  21
  22  23  24
  25  26

Glossary

Appendixes...
  A  B  C
  D  E  F
  G  H

Command
Summary...

• Alphabetical
• By category

Unix-Linux
Timeline

Internet
Resources

Errors and
Corrections

Endorsements


INSTRUCTOR
AND STUDENT
MATERIAL...

Home Page
& Overview

Exercises
& Answers

The Unix Model
Curriculum &
Course Outlines

PowerPoint Files
for Teachers

Exercises and Answers for Chapter 2...

What Is Unix? What is Linux?

Review Question #1:

What is an operating system?

Answer

An operating system is a very complex master control program whose principal function is to make efficient use of the hardware. The operating system acts as the primary interface to the hardware for both users and programs.

Most operating systems are distributed with a large variety of ancillary software (for example, a Web browser, office software, etc). Strictly speaking, these programs are not part of the operating system.

Review Question #2:

What is the kernel? Name four tasks performed by the kernel.

Answer

The kernel is the central part of an operating system that is always running in order to provide essential services as they are needed.

Although the nature of a kernel can vary from one operating system to another, the essential services it provides are pretty much the same from one system to another. They are:

• Memory management (virtual memory management, including paging)

• Process management (process creation, termination, scheduling)

• Interprocess communication (local, network)

• Input/output (via device drivers, programs that perform the actual communications with physical devices)

• Input/output (via device drivers, programs that perform the actual communications with physical devices)

• File management

• Security and access control

• Network access (such as TCP/IP)

Review Question #3:

What is open source software? Why is it important?

Answer

The term "open source software" is used in two ways. Primarily, it refers to software whose source code is freely distributed, often with the software itself.

Alternatively, "open source software" is sometimes used as a synonym for free software: software that can legally be examined, modified, shared and distributed by anyone.

Review Question #4:

What is Linux?

When was the first version of Linux released? By whom?

Answer

The term "Linux" has two meanings. Technically, it refers to any Unix-like kernel created by the Linux project.

More generally, "Linux" refers to any operating system based on a Linux kernel. Such operating systems are sometimes referred to as GNU/Linux, to indicate that a Linux kernel is combined with the GNU utilities.

The project to develop what became known as the Linux kernel was started in 1991 by Linus Torvalds. The first kernel was released in September 1991. (Linux had been working on the kernel before he formally started the project.) By February 1992, people were already offering free operating systems based on the Linux kernel. The first important Linux distribution was Slackware, released in July 1993 by Patrick Volkerding.

For Further Thought #1:

Would the Internet have been possible without Unix?

Would Linux have been possible without the Internet?

Answer

At first, the Internet did exist without Unix. However, much of the early growth of the Internet was fueled by the use of relatively inexpensive Unix computers.

Linux would not have been possible without the Internet, as its development depended — and still depends — on global communication and widespread file sharing.

For Further Thought #2:

When Richard Stallman founded the Free Software Foundation in 1985, he was able to tap into the energy of many programmers around the world who wanted to work on a free operating system. Later, in the early 1990s, Linu Torvalds was also able to find programmers to help him, in this case, to develop the Linux kernel.

Why are so many programmers willing to work a long time on a difficult project and then give away the fruits of their labor for free? Is this more common with young programmers than old programmers? If so, why?

Answer

Programmers who volunteer their efforts have a natural talent for what they do. To such people, working in a difficult project for free is a very rewarding experience, as they get to use their talents, and they get to collaborate and communicate with other people with similar talents.

Volunteering in this way is more common among younger programmers as they do not, as yet, have the financial responsibilities that come with age. Moreover, young programmers — like young people in general — have more energy for effort-intensive leisure-time pursuits than do older programmers, many of whom eventually burn out.

For Further Thought #3:

Traditionally, lawyers are expected to offer a certain amount of work free as a public service, such work being described as pro bono publico (Latin: "for the public good"). Should the programming profession have a similar expectation of its members? If so, why? If not, why not?

Answer

The legal profession is a very old one. Programming is relativity new occupation, with fewer well-defined traditions. Lawyers will typically work for many clients at the same time, making it easy to work for a few of those clients for free. Programmers tend to work on one large project at a time, making it difficult and impractical to donate a small part of their time.

Realistically, there are already many, many programmers around the world who donate a great deal of their time for free, without having it required of them. This is especially true of younger programmers, who often volunteer their time as a matter of course (see answer to the previous question).

Jump to top of page