Linux principles and philosophy

15
LINUX PRINCIPLES AND PHILOSOPHY Fatma Al Falasi 10BG

Transcript of Linux principles and philosophy

Page 1: Linux principles and philosophy

LINUX PRINCIPLES AND PHILOSOPHY

Fatma Al Falasi10BG

Page 2: Linux principles and philosophy

What are Linux Principles? Everything is a file. ( Including hardware ) Small, single-purpose programs. Ability to chain programs together to

perform complex tasks. Avoid captive user interfaces. Configuration data stored in text.

Page 3: Linux principles and philosophy

Everything is a file UNIX systems have many powerful

utilities designed to create and manipulate files. The UNIX security model is based around the security of files. By treating everything as a file, a consistency emerges. You can secure access to hardware in the same way as you secure access to a document.

Page 4: Linux principles and philosophy

Small, single-purpose programs UNIX provides many small utilities that

perform one task very well. When new functionality is required, the general philosophy is to create a separate program – rather than to extend an existing utility with new features.

Page 5: Linux principles and philosophy

Ability to chain programs together to perform complex tasks

A core design feature of UNIX is that the output of one program can be the input for another. This gives the user the flexibility to combine many small programs together to p.erform a larger, more complex task.

Page 6: Linux principles and philosophy

Avoid captive user interfaces Interactive commands are rare in UNIX.

Most commands expect their options and arguments to be typed on the command line when the command is launched. The command completes normally, possibly producing output, or generates an error message and quits. Interactivity is reserved for programs where it makes sense, for example, text editors (of course, there are non-interactive text editors too.)

Page 7: Linux principles and philosophy

Configuration data stored in text.

Text is a universal interface, and many UNIX utilities exist to manipulate text. Storing configuration in text allows an administrator to move a configuration from one machine to another easily. There are several revision control applications that enable an administrator to track which change was made on a particular day, and provide the ability to roll back a system configuration to a particular date and time.

Page 8: Linux principles and philosophy
Page 9: Linux principles and philosophy

Linux Philosophy.There are nine major tenets to the Linux philosophy: Small is Beautiful Each Program Does One Thing Well Prototype as Soon as Possible Choose Portability Over Efficiency Store Data in Flat Text Files Use Software Leverage Use Shell Scripts to Increase Leverage and

Portability Avoid Captive User Interfaces Make Every Program a Filter

Page 10: Linux principles and philosophy

I The user should know better.....so he must specify how things work

I Provide mechanisms, not policy I Mechanism: long life time I Policy: short life time I Its not friendly, but its efficient I Don’t confuse ease of use with efficiency I Pedestrian OS’es achieve glossiness by

locking users into one interface policy. Its narrow, rigid and works well

for a fixed set of jobs. But, unanticipated tasks are often

impossible of very painful. I Easy things are easy, hard things are possible

Page 11: Linux principles and 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 I Its a plus for us. We’re engineers. We build

stuff.

Page 12: Linux principles and philosophy

I Button pushers are easily replaced, craft your own tools

I We are being groomed to be consumers I Resist and be creators of new things

Page 13: Linux principles and philosophy

The Unix philosophy lies at the core of not only the original UNIX as developed by Ken Thompson at Bell Labs from 1969 but also of its numerous direct descendants and clones, including Solaris, the BSDs and Linux. It has made them, collectively referred to as Unix-like operating systems, into what are widely considered to be the best operating systems to have been developed to date, despite the fact that they are by far the oldest operating systems in widespread use, and it has been a major factor in the rapid growth and increasing success of Linux.

Page 14: Linux principles and philosophy
Page 15: Linux principles and philosophy

The End