* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Quick History of Open Source
Spring (operating system) wikipedia , lookup
Plan 9 from Bell Labs wikipedia , lookup
Linux kernel wikipedia , lookup
Mobile operating system wikipedia , lookup
Berkeley Software Distribution wikipedia , lookup
Mandriva Linux wikipedia , lookup
Unix security wikipedia , lookup
Caldera OpenLinux wikipedia , lookup
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