Linux – an introduction

27
Linux – An Introduction Workshop India Wilson Wingston Sharon [email protected]

Transcript of Linux – an introduction

Page 1: Linux – an introduction

Linux – An IntroductionWorkshop IndiaWilson Wingston [email protected]

Page 2: Linux – an introduction

The Beginning of Linux• Finnish UG student : Linus Torvalds

• Decided to write an OS and release his code free for anybody to use.

• Used the UNIX and BSD systems for the base of the functionality of his OS.

• Received Cooperation through many programmers worldwide and spread through the internet.

Page 3: Linux – an introduction

UNIX•Researchers needed a standard computing

framework to help them run their processors.

•Developed in Bell Labs – It was spread through universities and schools to educate people on how to use it.

•UNIX was very complicated and this enabled the students to be comfortable when working with UNIX in industries.

Page 4: Linux – an introduction

Linux as a group effort• Unix was commercial – It worked only on a few

machines that were expensive for most users.

• The Linux project incorporated code▫GNU project (Free software foundation)▫BSD (Berkeley UNIX)▫X11 (MIT)

• Developers all over the globe contribute▫Improvements▫Bug Fixes▫Support for devices & platforms

Page 5: Linux – an introduction

Why Linux?• Rich selection of free application for any and every

purpose available. Most of them comparable/superior to their proprietary counterparts.

• Peripheral support is extensive and support in linux sometimes comes before anywhere else.

• Ported to various Platforms ▫ PowerPC (IBM)▫ Apple Machines (MkLinux)▫ MIPS▫ Motorola mobile processors (1st Gen)

Page 6: Linux – an introduction

The Source code• Linux follows a philosophy of open and free code.

• Documentation projects and support groups help new users share the experience of developing for linux.

• This approach made for easy experimentation and playing around with a framework.

• All Productive changes would be incorporated in the main linux repostitory so as to make it available to anyone.

Page 7: Linux – an introduction

GNU

•Stands for GNUs Not Unix.

•A Free Software Foundation project to write a set of free compilers / debuggers / editors for various platforms.

•This enabled similar code to run on a variety of platforms with minimal effort. Since it was free, it was incorporated into Linux.

Page 8: Linux – an introduction

Why the popularity of Linux?

•Hardware▫Cost of hardware always decreases.▫Usage of a hardware required the device

drivers to be available.▫Writing new drivers for Linux is the easiest

solution. (For unavailable devices)▫Once the drivers were ready, they were

incorporated into the main source so as to give everybody access to it!

Page 9: Linux – an introduction

Why the popularity of Linux?

•Cost of developing tools▫Hardware developers rather than

developing a complete OS for a processor, could simply port linux to that platform.

▫Then everything that works in linux will work seamlessly reducing cost to a fraction.

▫Driver Maintenance / Bug Fixes and improvements contributions from the FOSS community.

Page 10: Linux – an introduction

Why the popularity of Linux?

•Software Developers▫A consistent software environments that is

completely machine independent.▫Every system will have a GNU toolchain to

compile code for the resident platform!▫If source distribution is given, the software

can be distributed in C without worrying about hardware support.

Page 11: Linux – an introduction

GNU – GPL - Copyleft

•GNU General Public License.•Terms for using Linux

▫You can modify / copy / redistribute the src code at no cost provided you do so under the GPL

▫If you get source under the GPL, any changes / improvements / spin offs you make to it are also under GPL

▫You must always distribute source code + GPL of programs that you develop with the help of GPL software online.

Page 12: Linux – an introduction

Language of Linux• Linux was written completely in C and ASM.

• UNIX (1969) was written in PDP-7 Assembly. ▫This version of UNIX was unportable to new

hardware.• Thomson developed B as a machine independent

language to make UNIX portable.

• Dennis Ritchie rewrote UNIX in C, a language he developed from B and concepts from other languages.

Page 13: Linux – an introduction

Why C?• C was designed as a language for a machine

independent OS.

• It was a high structured but not High-level language.

• It supported both easy portability, allowed concepts like bit manupilation and at the same time had a neat – modular framework.

• Linux uses gcc and g++ compilers from GNU to compile itself as well as all application within it.

Page 14: Linux – an introduction

Linux : More than an OS

•Like as OS linux supports▫Memory Management▫Device management▫Task Scheduling ▫User Management▫And more…

•But it also comes with a set of tools and utilities that make life easier for the user/developers.

Page 15: Linux – an introduction

Overview of Linux

•Kernel Interface•MultiTasking•Hierarchical Filesystem•A Shell Interpreter for the OS•Device independent I/O•Inter Process Communication•GUI•Software Development

Page 16: Linux – an introduction

Kernel Interface• Kernel is the Heart of the linux OS.

• Handles all the background OS tasks.▫ Divides system resources▫ Manages memory▫ Gives access to devices

• Kernel abstracts the hardware from the rest of the processes.

• Different Hardware need different setup and compiled kernels, and all other functionality will be unchanged.

Page 17: Linux – an introduction
Page 18: Linux – an introduction

MultiTasking

•Linux was *always* a fully protected multitasking OS. (windows 95 was not!)

•Jobs can be run in background, and owned by different users – on the same processor.

•Linux manages resource between active processes / background processors and keeps in sync seamlessly.

Page 19: Linux – an introduction

Hierarchical filesystem• Files are kept in directories• Directories can hold other directories.

• FHS – File system Hierarchy standard defines the rules for where certain files will always be kept.

• The “root” of the linux fs is always ‘/’

• Files & directories can be owned by users to enforce security privilieges.

Page 20: Linux – an introduction
Page 21: Linux – an introduction

BASH – the linux Shell system

•Bourne Again Shell• It acts as an interface between the user

and the operating system

•Commands / applications can be given to this interpreter which can then make the operating system do various tasks.

•Commands can be stored in shell scripts for ease of access..

Page 22: Linux – an introduction

Device independent I/O•All physical devices – monitor, mouse,

keyboard printer appear as files in the Linux file system that are manipulated by the kernel.

•This means that if a program is written to manipulate this file, then the kernel will take it to mean an action on the physical I/O device.

•This allows for a standard API for I/O in all linux systems.

Page 23: Linux – an introduction

Inter Process Communication• Different processes have their own memory space in

RAM.

• Linux provides pipes and filters for IPC.

• A pipe connects two different processes – the input of one program to the other program’s output.

• Filter do some changes on a stream on date between two processes. The filters O/P is the I/P to another program.

Page 24: Linux – an introduction

Software Development

•Linux makes it very easy to compile a program of any language. (C / C++ / Java / Python / Lisp / mono (.net))

•The build tools sometimes have to be installed separately.

•A wide range of IDE’s such a Eclipse, Netbeans etc exist for programming purposes.

Page 25: Linux – an introduction

GUI

•The X window system was developed by MIT labs.

•Given a system that an run X, Linux can provide a graphical window based management system.

•“Window Management system” Runs under X and can be changed easily as per the users preferences.

Page 26: Linux – an introduction

Ubuntu• Linux is divided into distributions.• All distributions run on top of the linux kernel.

• Different Distro’s are exist for taste and performance.

• Ubuntu is a Debian based distro designed for both laptops and Desktops.

• It focuses a lot on UX while maintaining speed & quality of the distro.

Page 27: Linux – an introduction

Installing Linux• Linux can be set up on dual boot between any

version of windows.

• From windows >> computer management >> disk management, you’ll need to un-allocate some HDD memory for ubuntu. (10 – 30GB)

• Then make an ubuntu DVD and boot into that DVD.

• Ubuntu automatically detects the free space and Windows and puts itself cleanly inside.