chapter 11 part i unix/linux history why learn unix and linux? –qualifying for a job –freedom to...

Post on 16-Jan-2016

235 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Chapter 11 Part IUNIX/Linux History

• Why Learn UNIX and Linux?– Qualifying for a job– Freedom to choose your operating system– Improving your skills

• 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

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 assemblyRuns 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 featuresWonderful programmer’s environment ?

Unix System OrganizationTOOLS AND APPLICATIONS

Outer crust which speak our language

SHELLCommand Interpreter is the mediator between the User and the Kernel

KERNELHeart of the computer; Interacts with the actual H/W in machine language

HARDWARE

• Powerful system with many tools and capabilitiesTakes considerable effort and time to master

• Most commands are short, terse, and non-descriptive• Relatively unforgiving of user mistakes

Challenges of Unix

Types of Shell Bourne Shell

Steve Bourne’s creation is the most popular shell. Bundled with every Unix system

C ShellCreated by Bill Joy during his graduation at University of

California at BerkeleyAllows aliasing of commandsCommand history features

Korn ShellDesigned 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 HistoryFree 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!

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?

Benefits of Linux

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.

Hardware Interfaces – ASM + I/O

OS KernelProg. Tools Services UI/Shell

XYZ Office Media Player Business Appl.

CPU

I/O Controllers

Traditional

OS

Practical

OS

Identifying Kernel Versions

Table 1-1: Latest revisions of common Linux kernels

Development convention:Odd numbered minor versions “development”Even numbered minor versions “stable”

Linux is progressing

This chart is meaningless, or is it?

DistributionsThere 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 two-

thirds 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”“Cathedral and the Bazaar” to learn more about the Open-Source 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

• 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

OS History – Windows NT/2000/XP

top related