COPYRIGHTED MATERIAL. What Is Linux? Linux History. Linux as an Operating System. Linux as Free Software. Commercial Applications for Linux

Similar documents
Chapter 01: Introduction to Linux

An Operating System History of Operating Systems. Operating Systems. Autumn CS4023

COPYRIGHTED MATERIAL. Unix Fundamentals. Brief History

Overview of Unix / Linux operating systems

CSCA0201 FUNDAMENTALS OF COMPUTING. Chapter 6 Operating Systems

CHAPTER 03: MULTIMEDIA & OPERATING SYSTEM. :: Operating System :: ~ What is OS?~ ~ OS Functions~ ~ OS Characteristics ~ ~ Type of OS~

Systems Programming. The Unix/Linux Operating System

I. Ch 5 System Software

Introduction to Linux Overview and Some History

ULI101 Introduction to Unix and Linux Week 1 Origin and History of Unix

Computer Software A computer contains two major sets of tools, software and hardware. Software is generally divided into Systems software and

Welcome to ULI101! The Internet has become part of our daily lives.

Introduction to Operating Systems. Note Packet # 1. CSN 115 Operating Systems. Genesee Community College. CSN Lab Overview

Downloaded from various sources on the NET

A+ Guide to Managing and Maintaining your PC, 6e. Chapter 2 Introducing Operating Systems

Free & Open Source Software: The Academic Future

Computer. Operating Systems Introduction to Operating System (OS)

14-Nov-11. Chapter 5: System Software: Operating Systems and Utility Programs. Learning Objectives. Learning Objectives. Overview

Linux. What is it? What s good about it? What s bad about it?

Computer Software. Microsoft Corporation Operating Systems:

Chapter 1: Introduction Operating Systems MSc. Ivan A. Escobar

17655: Discussion: The New z/os Interface for the Touch Generation

Topics. Operating System. What is an Operating System? Let s Get Started! What is an Operating System? Where in the Book are we?

Topics. Operating System I. What is an Operating System? Let s Get Started! What is an Operating System? OS History.

History of Unix, Linux and the Open Source

Unit 11 Computer Network Introduction to Network Operating Systems

Terms you ll need to understand:

Lecture Topics. Announcements. Today: Operating System Overview (Stallings, chapter , ) Next: Processes (Stallings, chapter

Chapter 8 Operating Systems and Utility Programs أ.أمل زهران

Linux Operating System

STANDARD I/O INTERFACES

Windows Script Host Fundamentals

In the most general sense, a server is a program that provides information

CMSC131. Hardware and Software. Hardware

CMSC131. Hardware and Software

About the Presentations

Chapter 8 Operating Systems and Utility Programs

NETW3005 Operating Systems Lecture 1: Introduction and history of O/Ss

CS 153 Design of Operating Systems

Linux with Biology in IT

31268_WEB SYSTEMS LECTURE 1. Operating Systems Part 1

SAMPLE PAGES. Unit 12.1 Information and Communication Systems Topic 2: Networking. What is a network? Network node

a story of alternatives

Chapter 1. Introduction To Computer Systems

AS Computer Science. Induction task 1: Definitions Induction task 2: System & Application software Induction task 3: Past paper questions

What Makes Up the Modern Linux OS?

What is Linux? Bob Tanner time.com> Real Time Enterprises, Inc Eden Prairie, MN

Expert Reference Series of White Papers. Virtualization for Newbies

Access Application Development

Your Data Demands More NETAPP ENABLES YOU TO LEVERAGE YOUR DATA & COMPUTE FROM ANYWHERE

LANDesk and Lenovo ThinkVantage Technologies Bundle available for commercial, government, and education customers

History of Unix and Linux

Computer chip: A very small pieces of silicon or other semi-conducting material onto which integrated circuits are embedded Circuit board: A thin

Computer Science Honours 2011

Computer Overview. A computer item you can physically see or touch. A computer program that tells computer hardware how to operate.

QuickSpecs. ISG Navigator for Universal Data Access M ODELS OVERVIEW. Retired. ISG Navigator for Universal Data Access

Computer Software. Lect 4: System Software

Game keystrokes or Calculates how fast and moves a cartoon Joystick movements how far to move a cartoon figure on screen figure on screen

ABC Atanasoff-Berry Computer

Linux Introduction. Simon COTER Director of Product Management Oracle VM & VirtualBox

UNIX/Linux Fundamentals Lecture 1. Nick Stiffler Philip Conrad

Database Design. 1-4 Major Transformations in Computing. Copyright 2015, Oracle and/or its affiliates. All rights reserved.

Web Host. Choosing a. for Your WordPress Site. What is web hosting, and why do you need it?

Data Analysis in Geophysics ESCI Class 1. Bob Smalley. Basics of the Computer Environment

Excerpt from. Internet Basics. Jennie L. Phipps

COSC243 Part 2: Operating Systems

CS 378 (Spring 2003) Linux Kernel Programming. Yongguang Zhang. Copyright 2003, Yongguang Zhang

SISTEM OPERASI PELAYAN (SERVER) SKS 3104 SISTEM OPERASI RANGKAIAN SIJIL SISTEM KOMPUTER & SOKONGAN KOLEJ KOMUNITI PAYA BESAR

Welcome to Python! If you re the type of person who wants to know

Free HP Certified: HP-UX System Administration Ebooks Online

ACTUARIAL STUDIES AND DEMOGRAPHY

Operating Systems. Written by Justin Browning. Linux / UNIX Distributions Report

Crash Course in Modernization. A whitepaper from mrc

Objectives. After completing this chapter, you will be able to complete tasks related to

IBM Lotus Domino WebMail

Oracle Database Competency Center

Introduction to Computers. Joslyn A. Smith

Traditional and Emerging Strengths of Linux in 2001

Full file at

SCO Vision2K 2.1. What s in this release

Trend toward Open Systems and Fujitsu s Related Activities

Chapter 2 Software Components

Not long ago, home local area networks were proof of their owner s geekhood. They were very

1. Ultimate Powerful VPN Connectivity

Virtualization. Q&A with an industry leader. Virtualization is rapidly becoming a fact of life for agency executives,

Optimizing and Managing File Storage in Windows Environments

Introduction to Linux

Operating Systems. Operating Systems

Licensed Program Specifications

Chapter 2: Operating-System Structures

Practical Computing-II. Programming in the Linux Environment. 0. An Introduction. B.W.Gore. March 20, 2015

EWRG-CES. Bharath Setturu EWRG, CES, IISc

Tivoli Inventory 4.0 Provides A Cross-Platform Automated Solution For Inventory Management

iscsi Technology Brief Storage Area Network using Gbit Ethernet The iscsi Standard

Part I. Windows XP Overview, Installation, and Startup COPYRIGHTED MATERIAL

OPERATING SYSTEMS & UTILITY PROGRAMS

Quick Web Development using JDeveloper 10g

System Software. System software

About Database Adapters

CHAPTER-1: INTRODUCTION TO OPERATING SYSTEM:

Transcription:

2915ch01.qxd 04/19/01 12:57 PM Page 3 Linux History C H A P T E R O N E What Is Linux? Linux as an Operating System Linux as Free Software Commercial Applications for Linux COPYRIGHTED MATERIAL 1

2915ch01.qxd 04/19/01 12:57 PM Page 4 4 Chapter 1 What Is Linux? If you have made it this far buying this book, wading through the frontmatter, and looking at the table of contents then you probably have some idea of what Linux and the Linux phenomenon are all about. If you don t, read on. Linux is a truly amazing development in the computer industry. It shows that quality software isn t necessarily dependent on the financial blessing of the commercial software industry. The history of Linux illustrates how free software can evolve, grow, and become an attractive alternative to the commercial software packages with which most of you are familiar. In addition, the technical excellence of Linux shows why it is a serious contender against rival operating systems from Microsoft, Apple, Novell, and IBM. As it is also handling more demanding applications, it is also a serious contender against rival Unix-derivative operating systems such as Solaris, HP-UX, and SCO-Unix for larger businesses. This chapter will paint a quick picture of the history of Linux and then look at the key features that make Linux a powerful alternative operating system for a variety of technical applications. Finally, this chapter will look at the free software model used in Linux and examine its implications for the whole software industry. Linux History The emergence of Linux onto the computing scene grew out of the Unix culture. As an operating system (really a variety of different operating systems with similar features), Unix long predates the era of desktop computers; Unix was first developed in 1969 when minicomputers and mainframe computers were the norm in the corporate world. Unix continues to be widely used in this corporate environment, as well as in the educational world, although it is also often found running on today s client-server intranet networks. The problem with Unix, historically, has been its inaccessibility to programmers and developers who want to work with it outside the context of corporate or university computing centers. While versions of Unix have long been available for PCs, they never had the grace or power of the operating systems available for minicomputers, mainframes, and today s servers. In addition, the early commercial versions of Unix were costly, sometimes costing more than the PC hardware they were destined to run on.

2915ch01.qxd 04/19/01 12:57 PM Page 5 Linux as an Operating System 5 This lack of accessibility ultimately gave birth to Linux as a means to make a Unix-like operating system available on a widespread basis. Richard Stallman and the Free Software Foundation (FSF) began work on this alternative operating system in the mid-1980s. By the end of that decade, they had developed functional alternatives to every major Unix component except the kernel. Linus Torvalds at the University of Helsinki in Finland developed the original Linux kernel in 1991. The combined work became the Linux you know today. Torvalds originally intended to develop Linux as a hobby. Early versions of Linux didn t have consumers in mind; instead, they provided the barest bones of functionality to allow Unix programmers the apparent joy of programming the kernel. As the core of the operating system, the kernel keeps everything running smoothly without a stable, powerful kernel, you don t have an operating system. But as programmers integrated the work of the FSF with the Torvalds kernel, the base software for a complete operating system emerged. It became clear to those involved that Linux was evolving to the state where it could respectably be called an operating system. In March 1992, version 1.0 of the kernel came into being, marking the first official release of Linux. At this point, Linux ran most of the common Unix tools from compilers to networking software to X Windows. Linux continues to evolve as the preeminent Unix-clone operating system for PCs. Hardware support is now broad, including the most popular and common peripherals; performance is strong, giving many PCs power comparable to that of midrange workstations such as Sun Microsystems SPARC systems. Linux is even now ported to the Power PC and Compaq Alpha platforms, among others. Although technically today s Linux is not Unix because it fails to qualify for the brand name, Linux is functionally equivalent to Unix in almost every important way. Linux as an Operating System The term Linux is actually somewhat vague. Linux is used in two ways: specifically to refer to the kernel itself the heart of any version of Linux and more generally to refer to any collection of applications that run on the kernel, usually referred to as a distribution. The kernel s job is to provide the basic environment in which applications can run, including the basic interfaces with hardware and the systems for managing tasks and currently running programs.

2915ch01.qxd 04/19/01 12:57 PM Page 6 6 Chapter 1 What Is Linux? In the specific sense, there is only one current version of Linux at any one time: the current revision of the kernel. Torvalds keeps the kernel as his domain in the world of Linux development, leaving all the applications and services that sit on top of the kernel to any of the thousands of other Linux developers in the world. In the general meaning of the term Linux, referring to cohesive collections of applications that run on top of the Linux kernel, there are numerous versions of Linux. Each distribution has its own unique characteristics, including different installation methods, different collections of features, and different upgrade paths. But since all distributions are fundamentally Linux, in almost every case an application that works with a current version of one distribution will work with a current version of another distribution. NOTE Chapter 2, Choosing a Distribution, contains a complete discussion of Linux distributions. The interesting thing about this dichotomous use of the term Linux is that it exactly parallels the same confused usage of the term operating system. For consumers, an operating system has come to mean a large collection of applications centered around a kernel. This is what Windows 95, 98, Me, NT, and 2000 are. This is what the Macintosh OS is. In a purist, technical sense, an operating system is a much smaller core kernel that provides those basic system functions needed to develop any application. In both ways, Linux is an operating system. One of the features of the Linux kernel that sets it apart from other consumer operating systems designed to run on desktop PCs is that it is both multitasking and multiuser. A Multitasking Operating System You are probably familiar with the term multitasking, even if you are not really sure what it means. When desktop computing graduated from Windows 3.1 to Windows 95, the multitasking capabilities of the then-new Windows 95 were among its biggest claims to fame. To say that a system can multitask is to say that it can appear to be running more than one application, or process, at a time. For example, the system can print a document, copy a file, and dial into the Internet while the user is comfortably typing in

2915ch01.qxd 04/19/01 12:57 PM Page 7 Linux as an Operating System 7 a word processing program. Even with these background tasks happening, the foreground word processor should not freeze up or be unusable. This is the wonder of multitasking: It allows a computer with a single processor to appear to be performing multiple tasks simultaneously. Of course, a single CPU can execute only a single instruction at a time that is, only one action can be taking place at any one time. Multitasking creates the appearance of simultaneous activity by switching rapidly between tasks as the demands of those processes dictate. When multitasking works well, a user running a word processor while several other things happen will not be aware of the extra work the computer is doing. All processes will seem to be running smoothly and the computer will be responsive. Historically, Unix systems have been much better than Windows at multitasking; Unix is able to run large numbers of simultaneous applications in a way that made it an ideal fit for large corporate servers and high-powered workstations. Today, only Windows 2000, and its predecessor Windows NT 4.0, can really claim to offer a similarly robust multitasking implementation. Even Windows 95/98/Me, despite all of its fanfare, has trouble effectively handling large numbers of simultaneous processes. To take things further, Linux, like Windows NT and Windows 2000, offers support for computers with multiple processors, such as dual-pentium III systems. These systems can in fact perform two actions at exactly the same time. Combining multitasking with multiple processors greatly increases the number of simultaneous applications a computer can run smoothly. A Multiuser Operating System Even more important than being a multitasking operating system, Linux like all versions of Unix and Unix clones is a multiuser operating system. All consumer versions of Windows and the Mac OS are single-user systems. In other words, only one user can be logged in and running applications at any one time in these operating systems. By comparison, Linux allows multiple simultaneous users, fully leveraging the multitasking capabilities of the operating system. The great advantage of this is that Linux can be deployed as an applications server. From their desktop computers or terminals, users can log into a Linux server across a LAN and actually run applications on the server instead of on their desktop PCs.

2915ch01.qxd 04/19/01 12:57 PM Page 8 8 Chapter 1 What Is Linux? Linux Applications As an operating system, Linux can be used to develop almost any type of application. Among the applications available for Linux are the following: Text and word processing applications In addition to commercial word processing software such as WordPerfect, StarOffice, and Applixware, Linux offers powerful tools for editing text files and processing text in an automated fashion. Programming languages A wide variety of programming and scripting languages and tools are available for Linux and all Unix operating systems. This abundance of programming tools makes it easy to develop new applications that can run not only on Linux but also on most Unix and Unix-like operating systems. X Windows X Windows is Unix s answer to the graphical user interface (GUI). X Windows is a highly flexible and configurable GUI environment that runs on Linux as well as on most Unix systems. Numerous applications that run in X Windows help to make Linux an easy-to-use operating system. NOTE Chapters 6 through 12 provide complete coverage of X Windows. Internet tools In addition to supporting well-known software such as Netscape and Mosaic, Linux provides a wide range of Internet software, including character-based and graphical mail-reading applications, the full range of software needed to create Internet servers (Web servers, mail servers, and news servers), plus complete network support to connect to the Internet via a local network or modem. Databases Like all Unix platforms, Linux provides a robust platform for running client-server database applications. From its earliest days, powerful, free databases such as msql and Postgre have been available for Linux. As Linux has grown in popularity, especially in corporate information systems, the number of commercial relational database servers for Linux has grown. Today, Oracle, Sybase, and Informix all offer relational database products for Linux. DOS and Windows compatibility software As you will see in Chapter 30, Linux and DOS/Windows, Linux can be made to run DOS software with a high degree of stability and compatibility and offers several approaches to

2915ch01.qxd 04/19/01 12:57 PM Page 9 Linux as Free Software 9 running Windows software. In fact, the entire text of this book was written using Microsoft Word for Windows on a computer running Linux. This provides strong evidence of Linux s ability to work well in a Windows environment. In addition, emulators are available for other popular computer systems, including the Macintosh and Atari ST computer lines. This list touches only the tip of the iceberg. Many more applications exist for Linux. A good source for finding Linux software is the Linux Software Map, which can be found on the World Wide Web at http://www.execpc.com/lsm/. Linux as Free Software Given all the capabilities promised by Linux, you might think that the operating system is expensive. On the contrary, the Linux kernel and most of the applications written for Linux are available for free on the Internet, often with no restriction on the copying and redistribution of the software. To begin with, the Linux kernel is distributed under the GNU General Public License (GPL). This special software license, developed by Stallman s Free Software Foundation, promotes the open distribution and, more importantly, open development of software. Unlike the software licenses common with most commercial software, the GNU license allows anyone to redistribute software, even for a fee, so long as in the redistribution, the terms of the GNU license are still in force. In other words, anyone can take GNU software, alter it if they wish, and redistribute it, but they can t stop someone who buys GNU-licensed software from them from turning around and redistributing it again. Most of Linux is available under the GNU General Public License. This makes it possible for many different vendors to produce both free and commercially available Linux distributions. This approach to free software is not the same as public domain software. With GNU products, the software developers retain the copyright to the software and may choose in the future to stop distributing that software under the GNU license. What is special about the GNU license is that it encourages iterative development of applications by many people, each making changes that they consider important or necessary and then redistributing the software.

2915ch01.qxd 04/19/01 12:57 PM Page 10 10 Chapter 1 What Is Linux? This process is enabled by the fact that all GNU-licensed software must be distributed with its complete source code. Unlike commercial software, where the original code is unavailable and hence unalterable, GNU software not only makes it possible to alter and customize software but actually encourages interested and capable users to do so. In fact, this model has been so successful in the development of Linux and applications for Linux that Netscape has adopted it for its browser products. Using basic GNU principles, Netscape makes its browsers and associated consumer applications freely available and allows anyone to license or to redistribute these products. Commercial Applications for Linux As you will see later in this book, there are commercial applications for Linux as well as commercial distributions of Linux. In these cases, most products are licensed under terms more restrictive than the GNU standards of the Linux world. But even if a distribution of Linux includes commercial components that cannot be redistributed freely, this doesn t change the underlying GNU license that applies to the Linux kernel and those core applications found in all Linux distributions. If the original license of an application is the GNU General Public License, then the license of the redistributed copy of the software is likewise the GNU General Public License. Looking Ahead In this chapter, you have taken the first step into the world of Linux. You now know what the basic components and philosophy of Linux are, and you have become acquainted with the features that make it an excellent choice for many applications. Chapter 2 examines the Linux distribution philosophy and the many distributions, or flavors, of Linux that are available.

2915ch01.qxd 04/19/01 12:57 PM Page 11 Looking Ahead 11 Chapter 3 describes the practical steps of preparing to install Linux on a PC. Chapters 4 and 5 walk you through various installations and associated issues and potential pitfalls. Then you will be ready to look at Linux desktop environments, described in Chapters 6 through 12. Chapters 4 and 5 describe how to install Linux on a stand-alone PC; they also address any special installation issues, such as PCs with no CD-ROM drive. From that point, the book is divided into five sections dealing with using Linux; these sections cover X Windows and GNOME, essential Linux skills, connecting Linux to the Internet, and using Linux in a small or home office (the so-called SOHO environment).