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

32
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

Upload: georgia-carson

Post on 16-Jan-2016

235 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

Chapter 11 Part IUNIX/Linux History

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

Page 2: 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

• 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

Page 3: 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 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!

Page 4: 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

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.

Page 5: 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 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

Page 6: 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 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

Page 7: 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

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 ?

Page 8: 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 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

Page 9: 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

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

Page 10: 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 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

Page 11: 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

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

Page 12: 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

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!

Page 13: 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

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

Page 14: 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

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

Page 15: 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

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.

Page 16: 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

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.”

Page 17: 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

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.

Page 18: 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

Why is open source good for my company?

• Reduced total cost of ownership?• More available talent?• Excellent support?

Page 19: 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

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!

Page 20: 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

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

Page 21: 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

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

Page 22: 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

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

Page 23: 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

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

Page 24: 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

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

Page 25: 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

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

Page 26: 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

Identifying Kernel Versions

Table 1-1: Latest revisions of common Linux kernels

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

Page 27: 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

Linux is progressing

This chart is meaningless, or is it?

Page 28: 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

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

Page 29: 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

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

Page 30: 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

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.

Page 31: 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

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

Page 32: 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

• 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