Download Quick History of Open Source

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

OS/2 wikipedia , lookup

CP/M wikipedia , lookup

Unix time wikipedia , lookup

Spring (operating system) wikipedia , lookup

DNIX wikipedia , lookup

Plan 9 from Bell Labs wikipedia , lookup

Linux kernel wikipedia , lookup

Mobile operating system wikipedia , lookup

Unix wikipedia , lookup

Berkeley Software Distribution wikipedia , lookup

Mandriva Linux wikipedia , lookup

Unix security wikipedia , lookup

Linux wikipedia , lookup

Caldera OpenLinux wikipedia , lookup

Linux adoption wikipedia , lookup

Smallfoot wikipedia , lookup

Security-focused operating system wikipedia , lookup

Transcript
Chapter 11 Part I
UNIX/Linux History
• Why Learn UNIX and Linux?
– Qualifying for a job
– Freedom to choose your operating system
– Improving your skills
Unix History
• Early ‘60s computers were expensive, minimal memory, single user.
Activities were designed to make things easy for the computer
• In 1965 MIT, Bell Labs and General Electric Company jointly started
building an OS for a large community of users to allow them to share
information. This Enterprise was called Multics (Multiplexed
Information and Computing Service)
• In March 1969 Bell Labs pulled out of the project
• Dennis Ritchie & Ken Thomson along with few others started fresh on
what their mind’s eye had so illustriously envisioned
• They released the first version of multi-user system UNIX
• Unix originally called UNICS (Uniplexed Information and
Computing Service)
Unix History Continued…
• In March 1969
– Unix struggled along on obsolete, under-powered machines
until first “C” version in 1973 installed on the (DEC PDP-11)
– All its assembly code was machine dependent
– Version was not portable
– Source code made available to Universities – BSD
– Posix (start 1981) defines standard Unix system calls
– AT&T starts licensing!
History of Unix
• Unix can run on almost all computers (mainframes,
supercomputers, PC's, to hand-held computers, a different flavor
for each one).
• The 'real' Unix (System V) from AT&T might cost you $1500 for
one copy and will only run on limited hardware (if they still sell
it!!).
• Current day Unix Ops are basically Unix “System V” clones that
comply with the IEEE POSIX (Portable Operating System
Interface) standard.
• All are written in C, thus are portable given the availability of C
compilers on every known computer hardware since the early ‘70s.
Unix History Continued…
• Ken Thomson created a new language ‘B’and rewrote
the whole Unix code in this high level language
• Dennis Ritchie shifted the inadequacies of B and
modified it to a new language ‘C’
• By mid 80s there were more than a hundred thousand
Unix installations running on anything from micro to
mainframe computers
Unix Philosophy
• Write programs that do one thing and do it well
• Write programs that work together, allowing
the output of one to become the input of another
 Write programs that handle text streams, because that
is a universal interface?
• Don’t hesitate to build new programs to do a job
Why Unix Instead of Other OSs?
• Portability
 Written in C, only a small portion is in assembly
 Runs on micros, minis, main frames, & super computers
• Runs on (relatively) inexpensive hardware ?
• Designed to be adaptable to changing user environments?
• It is inexpensive ?
• Source is available ? $$$
• Permits access to its operating features
 Wonderful programmer’s environment ?
Challenges of Unix
• Powerful system with many tools and capabilities
 Takes considerable effort and time to master
• Most commands are short, terse, and non-descriptive
• Relatively unforgiving of user mistakes
Unix System Organization
TOOLS AND APPLICATIONS
Outer crust which speak our language
SHELL
Command Interpreter is the mediator between the User and the Kernel
KERNEL
Heart of the computer; Interacts with the actual H/W in machine language
HARDWARE
Types of Shell
 Bourne Shell
 Steve Bourne’s creation is the most popular shell.
Bundled with every Unix system
 C Shell
 Created by Bill Joy during his graduation at University of
California at Berkeley
 Allows aliasing of commands
 Command history features
 Korn Shell
 Designed by David Korn from Bell Labs. Not-so-widely
used but very powerful and is a superset of Bourne Shell
UNIX Wars
• Open Systems Foundation (OSF) formed in
1988
• Founded by a group of UNIX licensees
• To lobby for an “open” UNIX after AT&T
formed a partnership with Sun
Microsystems to develop a single UNIX
combining features of many versions
• AT&T and other licensees form UNIX
International to oppose the OSF
Quick History of Open Source
• 1984 – The Free Software Foundation is Formed - Goal: to develop a
free version of a UNIX-like OS, thuis was called the GNU project
• 1989 – FSF releases the GPL v1.0
• 1991 – the first code for Linux is released
• 1994 – Linux 1.0 is released
• 1994 – RedHat and Slackware versions released (C++, TCP/IP, Server)
• 1995 – Work starts on Apache
• 1996 – Work starts on KDE
• 1997 – “The Cathedral and the Bazaar” is published
• 1998 – the term “Open Source” is coined
• 2001 – Linux 2.4 is released
Linux the Open Source Project
Linus Torvalds brought a new approach to large scale open
source development. Instead of using a tightly controlled
development methodology he appealed to the community
for help developing Linux. He began working on Linux as
an OS course project in 1991, when he was a student at
Univ. of Helsinki (Finland).
The project that started as a hobby (a “hackers” OS), became
a full-fledged OS when Linus posted the source code at a
bulletin board asking people for suggestions and
improvements, which received an overwhelming response!
Linux History
Free and open software thrives today, supported by many
organizations that previously opposed it
– IBM, Sun, and others have added Linux to their server lines
– Vendors offer inexpensive web servers running Apache Web Server
on Linux
– Dell sells servers with Red Hat Linux pre-installed
– Red Hat offers Linux classes and certification exams
– CompTIA offers a Linux+ certification
– Internet Data Corporation (IDC) stated that Linux is the fastest
growing operating system in the world
– Novell and IBM offer open-source software as well as
proprietary products
Linux Influence
Microsoft has proposed a system of "shared
code" in which they make the source code
of some of their products available to
customers and partners, but maintain
intellectual property rights
Open Source Licenses
• Releasing source code is tricky business from a legal
standpoint.
• There are currently at least 31 certified open source licenses.
• These are certified by the Open Source Initiative on the basis
of the criteria laid out in the Open Source Definition.
The Open Source Definition
•
•
•
•
•
Free redistribution.
Free source code.
Freedom to create derived works. (e.g.. SmoothWall)
No discrimination against people, groups or fields.
Must not restrict other software.
Important points about Open Source
Licenses
• Open Source Licenses don’t imply that anything touching
open source software must be free. Some licenses are
more restrictive than others.
• All open source licenses require free access to source code
but some licenses also include a concept called
reciprocity. This means that if somebody modifies the
code they must grant the same open source rights to the
new code that applied to the original code. This is
commonly known as “copyleft”, a play on “copyright.”
What’s so good about open source?
• It gives us more choices
• It’s unlikely to be manipulated to serve particular interests.
• It generates a pool of free software that anyone can use.
• It generates a pool of free code that anyone can use.
• The benefits of free software and free source code are
multiplied in a young tech industry.
• Open Source is an invaluable tool for developing technical
talent.
Why is open source good for my
company?
• Reduced total cost of ownership?
• More available talent?
• Excellent support?
Benefits of Linux
Linux is inexpensive
•
•
•
•
•
Numerous versions can be freely downloaded
Sites offer Linux in convenient ISO images
Prepackaged value-added Linux for sale
Linux can be legally shared with others
Great savings for companies needing large volumes
Linux can run on old equipment
• Many versions can run on old i386 computers
• A non-profit could install Linux on donated computers
• Computers too outdated for new versions of Windows
continue to run reliably for years—
as web servers!
Benefits of Linux
Linux is fast
– Runs respectably well on old computers
– Even faster on new computers
– Linux programs are efficient and lean
Linux is stable
– Well-written code?
• Improves the stability
• If an application crashes, you can remove the program
from memory and restart the computer
– Linux is used on web servers where stability is crucial
– Web hosting providers guarantee 99.9 percent (or better)
uptime?
Benefits of Linux
Linux is open source
– Users can read the source code and modify it as needed
– Means little to the average user of the final version of a
Linux kernel
– During development, “beta” releases of the kernel are
available to developers who will download the code and
test it thoroughly?
– When possible, they will find problems and correct them?
– This process helps to ensure that the final release of the
kernel is as well written as possible?
Drawbacks of Linux
• Lack of centralized support
• Vendors offer support for their bundles
• Support for free distributions is spotty?
• Limited Software Selection
• Smaller selection than for Windows OSs
• Examples: Star Office and Open Office
• Limited Hardware Support
• Driver availability is improving
• Complexity
•
•
•
•
•
Limited number of users will invest time to learn shell commands
Assumes knowledge of OS and commands
Intimidating to beginners
Case-sensitivity adds to complexity
Users need to apply what they know about OSs
Linux
• Official Linux Source code managed by Linus Torvalds is
only 107MB today, for the latest kernel v2.4.17(143MB
including documentation)?
• Kernel v2.4.17 has 8214 unique C header/source files and
3.65 million lines of source code?
• About 50% of the source code consists of drivers?
Open Source Projects
• Examples: Apache, MySQL, Open Office, LINUX
What’s in it for you? it makes you smarter
• You can take it home with you and you can do it yourself.
• Documentation and tools are easily available.
• Windows does it’s best to keep you ignorant of what goes
on behind the scenes, just by using Linux you will learn
about computers.
• The communities around Linux and Open Source are
knowledgeable and helpful?
• Participating in, or even following, Open Source projects
will put you right at the cutting edge of technology?
The Cathedral and the Bazaar, concepts:
• Your developers are your users
• Release early and often
• With enough eyes, all bugs are shallow
• Delegate as much as you can
Linux the Operating System: ?
Technically, Linux isn’t an operating system. Linux is a kernel,
a small program that forms the core of an operating system.
To make Linux-the-kernel useful it is combined with packages. Packages
are collections of files, usually associated with a single application. A
collection of packages is a distribution. This framework makes Linux-opsys
very flexible.
XYZ Office Media Player Business Appl.
Prog. Tools
Traditional
OS
Services
UI/Shell
OS Kernel
Hardware Interfaces – ASM + I/O
CPU
I/O Controllers
Practical
OS
Identifying Kernel Versions
Development convention:
Odd numbered minor versions “development”
Even numbered minor versions “stable”
Table 1-1: Latest revisions of common Linux kernels
Linux is progressing
This chart is meaningless, or is it?
Distributions
There are 185 distributions listed on linux.org. Common ones:
• RedHat: probably the most widely used. Good general
purpose distribution, installation is relatively easy.
– Red Hat (www.redhat.com)
• Debian: GNU’s distribution. Maintained entirely by
volunteers. Good package management tools, over 9000
packages included on installation CDs.
– Debian (www.debian.org)
• SuSE: Popular in Europe. Good language support.
– SuSe (www.novell.com/linux/suse/)
• Others
– Mandrake (www.mandrake.com)
– Slackware (ww.slackware.com)
For more information, check out www.linux.org/dist
More meaningful information
• Linux is widely used in server applications – roughly twothirds of web servers are Apache
• Linux is less widely used for Personal Computing but Linux
is more user friendly than ever.
• Something like 8% of web browsers are Mozilla.
• Linux has attracted heavyweight corporate backing – IBM,
Sun, Oracle.
• Recent
– V2.4 - 3 million lines of code
– 7-10 million users
– Growth by 25%/year through 2003
– Growing use in business server market
Linux Copyrights
• Covered by GNU General Public License (GPL)
• People can sell and make a profit from free software, but they cannot
restrict the right of others to use or distribute it.
• This is NOT public domain software
• This is NOT shareware
• Even a modified version of Linux is covered by GPL. (Read Eric
Raymond’s “Cathedral and the Bazaar” to learn more about the OpenSource movement).
• Open Source means anyone can download, modify, and redistribute it.
• Instead of having teams of thousands of programmers (such as at
Microsoft), people thru-out the world work on Linux (and other open
software) as a team
• Linux is sort of notorious with Computer Security experts. Since the
source is all available, hackers are able to break in sometimes. But this
is often due to people running Linux who do not really understand
network security. On the other hand, this also helps people remove
bugs from Linux sooner than for other OSes.
OS History – Windows NT/2000/XP
•
•
•
•
Key designer – David Cutler also designed VAX/VMS
1988, v1 - Win32 API – “microkernel”
1990, v3.1- Server and Workstation versions
1996, v4
– Win95 interface
– Graphics to kernel
– More NT licenses sold than all Unix combined
• Windows 2000 – NT5.0
– Multi-user (with terminal services)
– Professional - desktop
– Server & Advanced server, Client & Application servers
– Datacenter Server - Up to 32 processors, 64 GB RAM
OS History – Windows NT/2000/XP
• Windows XP
– Windows 2000 code base
– Revised UI
– EOL for DOS/Windows line
• Microsoft has 80% to 90% of OS market
• Wintel – Windows + X86 processor
• WinNT 4.x is 12 million lines of code
• Win2000 is 18 million lines of code