Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Linux principles and philosophy

329 views

Published on

The presentation talks about Linux principles and philosophy. The Unix philosophy, originated by Ken Thompson, is a set of cultural norms and philosophical approaches to developing small yet capable software based on the experience of leading developers of the Unix operating system.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Linux principles and philosophy

  1. 1. Linux Principles and Philosophy Fatma Rajab
  2. 2. Linux/Unix Philosophy • I Linux provides a large set of simple tools... • which can be connected with well specified interfaces... • which are usually textual data streams. • I No one big tool is smart enough to handle all cases or optimized for • everything or can anticipate all the uses to which it may be put. • I Its a big tool box, and a lumberyard full of lumber • I We get a big say in what gets built and how its structured
  3. 3. Unix Philosophy • The Unix philosophy, originated by Ken Thompson, is a set of cultural norms and philosophical approaches to developing small yet capable software based on the experience of leading developers of the Unix operating system. • Early Unix developers were important in bringing the concepts of modularity and reusability into software engineering practice, spawning a "software tools" movement.
  4. 4. The UNIX Programming Environment • In their preface to the 1984 book, The UNIX Programming Environment, Brian Kernighan and Rob Pike, both from Bell Labs, give a brief description of the Unix design and the Unix philosophy. • Even though the UNIX system introduces a number of innovative programs and techniques, no single program or idea makes it work well. Instead, what makes it effective is the approach to programming, a philosophy of using the computer. Although that philosophy can't be written down in a single sentence, at its heart is the idea that the power of a system comes more from the relationships among programs than from the programs themselves.
  5. 5. Historical Context • The Unix philosophy grew out of the original design goal of UNIX, which was to create an operating system that was as simple and efficient as possible. This goal was a reaction to what Thompson correctly viewed as the unnecessary complexity of the operating systems that were in use at that time. Such complexity was related to the fact that there was no standard operating system that could be used on a wide variety of computers; rather, each computer manufacturer developed a separate operating system for its own hardware. •
  6. 6. Origin • Doug McIlroy attributes the philosophy of combining "small, sharp tools" to accomplish larger tasks to Ken Thompson, one of the creators of Unix. The development of pipes formalized the existing principle of stdin-stdout into a philosophy in Version 3 Unix, with older software rewritten to comply.
  7. 7. Complete control • Linux does not handhold. It assumes you know what you are doing when you type a command and it proceeds to execute that command without asking if you really want to. It gives you complete control.
  8. 8. Enlightenment • Over the years a number of people have attempted to enlighten the rest of us when they codified various aspects of the Linux philosophy. • Mike Gancarz first wrote The Unix Philosophy and then followed it up with Linux and the Unix Philosophy. These books list 9 major tenets and 10 lesser tenets. • Eric Raymond has 17 Unix rules in his book, The Art of Unix programming. • And, Oregon State University has it's own Linux philosophy which I think nicely depicts an engineer's view of Linux.
  9. 9. LINUX Computer Language
  10. 10. The End

×