SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
Linux For Embedded Systems
ForArabs
Ahmed ElArabawy
Course 101:
Introduction to Embedded Linux
Lecture 5:
Linux/GNU
HISTORICAL BACKGROUND
UNIX
• It started in Bell Labs with a terminated project for the Multics
Multi-user operating system
• Dennis Ritchie and Ken Thomson started to work on Unix
• 1969: First Implementation of Unix, done on PDP-7 using assembly
• 1971: Ported Unix to PDP-11 using assembly
• 1972: Creation of “C” programming language to facilitate the porting
• 1973: Complete rewrite of UNIX into “C” (which led to high
portability)
• First Public version, Unix System V6
• 1977: Unix System III
• 1982 Unix System V (by AT&T)
UC Berkeley
• BSD (Berkeley Software Distribution)
• 1979: 3BSD
• The Series 4BSD (4.0, 4.1, 4.2, 4.3 BSD)
• 1993: 4.4 BSD
• Dragonfly BSD, Free BSD, Net BSD, Open BSD
Commercial Unix
• Other companies built their variants
• Digital  Tru64
• HP  HP-UX
• IBM  AIX
• Sequent  DYNIX/ptx
• SGI IRIX
• Sun Microsystems  Solaris
The Unix Fever….
• Unix has widely spread in universities and industry
because,
• Written in C (portable to different architectures)
• Simplicity and elegant design:
• Less number of System calls (compared to other OSs)
• Almost everything is treated as a file
• Fast Process creation using fork-exec concepts
• Strong Inter-Process Communication (IPC) support
• Powerful, Robust, and Stable
GNU
GNU Not Unix
• Richard Stallman is a software freedom activist and a computer
programmer
• Believing in free software, he formed the Free Software Foundation
and started the GNU project in 1983
• The target with the GNU project was to create a Unix-like operating
system along with all the eco-system based on free software
• He is still active in advocating for free software and campaigning
against software patents and digital right management (DRM)
• Created the GPL license (GNU Public License)
• Stallman pioneered the concept of copyleft,
• If you modify a free software (GPL) then your modifications will
have to be also GPL
• He started by building the eco-system but lacked the kernel
Then Comes Linux
• Developed by Linus Torvalds (University of Helsinki) on an i-
386 platform
• First public introduction in 1991
• Unix-like operating system kernel together with GNU Software
and tools
• Open Source, received contribution by many
• Under the GNU GPL 2.0 License
“Hello everybody out there using minix -
I'm doing a (free) operating system (just a
hobby, won't be big and professional like gnu) for
386(486) AT clones. This has been brewing since
april, and is starting to get ready. I'd like any
feedback on things people like/dislike in minix.
it probably never will support anything other
than AT-harddisks, as that's all I have :-(.”
Examples for Linux Platforms
• AMD x86-64
• ARM
• Compaq ALPHA
• CRIS
• DEC VAX
• H8/300
• Hitachi SuperH
• HP PA-RISC
• IBM 3/390
• Intel IA-64
• MIPS
• Motorola 68000
• FreeScale PowerPC
• Sparc, Ultra-Sparc
• V850
And the list keeps growing
System Requirement
• Linux was initially built on x86 architecture, but now it and
tools and libraries associated with it support a large range of
architectures
• The mainstream Linux requires at least 32 bit processors with
support of MMU (Memory Management Unit), some special
configurations can support MMU-less architectures
• Linux is highly configurable, developer can adjust its
configuration based on the need and available hardware
• Required RAM depends on the configuration, but 8MB is a
typical minimum requirement, and 32MB is a typical average
requirement
• Required Storage also relies on configurations, but 4MB is a
typical minimum for small systems.
Kernel Version
2.6.35
Major Version Number
Minor Version Number
Odd = Development
Even = Stable
Release Number
Maintenance Number
.1
3.4
Version Number
Release Number
Stable Patch Release
.1
LINUX DISTRIBUTION
Linux Kernel
http://WWW.kernel.org
Tool
Chain
Support Libraries
C lib, Text Parsers, Security Libs, …
Terminal X Server
Utilities Applications Support Packages
Linux Distribution
Linux Distributions
• You can build your own distribution (not an easy job, but
sometimes it is worth it)
• If interested check the Linux From Scratch Project
(http://www.linuxfromscratch.org/ )
• A dedicated course will target building a customized Linux
Distribution
Linux Distributions
• Otherwise, you can use readily available distributions
• There are a lot of distributions available, most popular now is
the Ubuntu
• We will use Ubuntu in our course and other courses in this
track (unless we are building our own)
KDE & GNOME
• The Unix/Linux environment and graphical desktop went
through these phases,
• Initially it was developed by a consortium of companies (Sun
Microsystems, HP, IBM, Unix Systems Labs). This resulted in CDE
(Common Desktop Environment)
• CDE was out in 1993, but it looked very lame compared to
Windows
• 1996, the KDE project started to improve the Linux Desktop. It
started as open source, but deviated from this by using some
non-GPL tools and apps
• 1997, the GNOME project was started to stick to GPL only
software
• Today we have both KDE and GNOME desktops
Linux Model
User Applications
HW Platform
UserSpaceKernelSpace
C Library
Device Drivers
Linux Kernel
System Call Interface
User Space Apps
• These are the typical applications
• Uses the “C” library in a lot of functionality
• Linux uses the MMU capability to protect apps from
corrupting each other memory
• User apps can not access the hardware (screen, I/O, files, …)
directly
• Must use “System Calls” into the kernel which perform the
task on behalf of the user application
Kernel Space
• Have direct access on all system resources
• Perform tasks on behalf of the user app in System Calls
• Dangerous … can easily crash the system
• No access to “C” library
• Handles Interrupts and mission critical jobs
• Connects with hardware via device drivers
http://Linux4EmbeddedSystems.com

Weitere ähnliche Inhalte

Was ist angesagt?

Disk management server
Disk management serverDisk management server
Disk management server
anilinvns
 

Was ist angesagt? (20)

Course 102: Lecture 7: Simple Utilities
Course 102: Lecture 7: Simple Utilities Course 102: Lecture 7: Simple Utilities
Course 102: Lecture 7: Simple Utilities
 
Course 102: Lecture 27: FileSystems in Linux (Part 2)
Course 102: Lecture 27: FileSystems in Linux (Part 2)Course 102: Lecture 27: FileSystems in Linux (Part 2)
Course 102: Lecture 27: FileSystems in Linux (Part 2)
 
Course 101: Lecture 1: Introduction to Embedded Systems
Course 101: Lecture 1: Introduction to Embedded SystemsCourse 101: Lecture 1: Introduction to Embedded Systems
Course 101: Lecture 1: Introduction to Embedded Systems
 
Course 102: Lecture 5: File Handling Internals
Course 102: Lecture 5: File Handling Internals Course 102: Lecture 5: File Handling Internals
Course 102: Lecture 5: File Handling Internals
 
Course 102: Lecture 28: Virtual FileSystems
Course 102: Lecture 28: Virtual FileSystems Course 102: Lecture 28: Virtual FileSystems
Course 102: Lecture 28: Virtual FileSystems
 
Disk management / hard drive partition management / create drive or partition...
Disk management / hard drive partition management / create drive or partition...Disk management / hard drive partition management / create drive or partition...
Disk management / hard drive partition management / create drive or partition...
 
Course 102: Lecture 14: Users and Permissions
Course 102: Lecture 14: Users and PermissionsCourse 102: Lecture 14: Users and Permissions
Course 102: Lecture 14: Users and Permissions
 
Linux power management: are you doing it right?
Linux power management: are you doing it right?Linux power management: are you doing it right?
Linux power management: are you doing it right?
 
Course 102: Lecture 6: Seeking Help
Course 102: Lecture 6: Seeking HelpCourse 102: Lecture 6: Seeking Help
Course 102: Lecture 6: Seeking Help
 
Linux ppt
Linux pptLinux ppt
Linux ppt
 
Logical Volume Manager. An Introduction
Logical Volume Manager. An IntroductionLogical Volume Manager. An Introduction
Logical Volume Manager. An Introduction
 
Input output redirection linux
Input output redirection linuxInput output redirection linux
Input output redirection linux
 
Course 102: Lecture 17: Process Monitoring
Course 102: Lecture 17: Process Monitoring Course 102: Lecture 17: Process Monitoring
Course 102: Lecture 17: Process Monitoring
 
Course 102: Lecture 4: Using Wild Cards
Course 102: Lecture 4: Using Wild CardsCourse 102: Lecture 4: Using Wild Cards
Course 102: Lecture 4: Using Wild Cards
 
Course 102: Lecture 16: Process Management (Part 2)
Course 102: Lecture 16: Process Management (Part 2) Course 102: Lecture 16: Process Management (Part 2)
Course 102: Lecture 16: Process Management (Part 2)
 
Linux commands
Linux commands Linux commands
Linux commands
 
Windows server
Windows serverWindows server
Windows server
 
Disk management server
Disk management serverDisk management server
Disk management server
 
Embedded Systems: Lecture 1: Course Overview
Embedded Systems: Lecture 1: Course OverviewEmbedded Systems: Lecture 1: Course Overview
Embedded Systems: Lecture 1: Course Overview
 
Course 102: Lecture 19: Using Signals
Course 102: Lecture 19: Using Signals Course 102: Lecture 19: Using Signals
Course 102: Lecture 19: Using Signals
 

Andere mochten auch

Andere mochten auch (15)

Course 101: Lecture 6: Installing Ubuntu
Course 101: Lecture 6: Installing Ubuntu Course 101: Lecture 6: Installing Ubuntu
Course 101: Lecture 6: Installing Ubuntu
 
Course 101: Lecture 4: A Tour in RTOS Land
Course 101: Lecture 4: A Tour in RTOS Land Course 101: Lecture 4: A Tour in RTOS Land
Course 101: Lecture 4: A Tour in RTOS Land
 
Course 101: Lecture 2: Introduction to Operating Systems
Course 101: Lecture 2: Introduction to Operating Systems Course 101: Lecture 2: Introduction to Operating Systems
Course 101: Lecture 2: Introduction to Operating Systems
 
Course 102: Lecture 8: Composite Commands
Course 102: Lecture 8: Composite Commands Course 102: Lecture 8: Composite Commands
Course 102: Lecture 8: Composite Commands
 
Course 102: Lecture 12: Basic Text Handling
Course 102: Lecture 12: Basic Text Handling Course 102: Lecture 12: Basic Text Handling
Course 102: Lecture 12: Basic Text Handling
 
Part 01 Linux Kernel Compilation (Ubuntu)
Part 01 Linux Kernel Compilation (Ubuntu)Part 01 Linux Kernel Compilation (Ubuntu)
Part 01 Linux Kernel Compilation (Ubuntu)
 
Course 102: Lecture 11: Environment Variables
Course 102: Lecture 11: Environment VariablesCourse 102: Lecture 11: Environment Variables
Course 102: Lecture 11: Environment Variables
 
Embedded Systems: Lecture 6: Linux & GNU
Embedded Systems: Lecture 6: Linux & GNUEmbedded Systems: Lecture 6: Linux & GNU
Embedded Systems: Lecture 6: Linux & GNU
 
Embedded Systems: Lecture 8: The Raspberry Pi as a Linux Box
Embedded Systems: Lecture 8: The Raspberry Pi as a Linux BoxEmbedded Systems: Lecture 8: The Raspberry Pi as a Linux Box
Embedded Systems: Lecture 8: The Raspberry Pi as a Linux Box
 
Embedded Systems: Lecture 5: A Tour in RTOS Land
Embedded Systems: Lecture 5: A Tour in RTOS LandEmbedded Systems: Lecture 5: A Tour in RTOS Land
Embedded Systems: Lecture 5: A Tour in RTOS Land
 
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
 
Embedded Systems: Lecture 7: Lab 1: Preparing the Raspberry Pi
Embedded Systems: Lecture 7: Lab 1: Preparing the Raspberry PiEmbedded Systems: Lecture 7: Lab 1: Preparing the Raspberry Pi
Embedded Systems: Lecture 7: Lab 1: Preparing the Raspberry Pi
 
Embedded Systems: Lecture 4: Selecting the Proper RTOS
Embedded Systems: Lecture 4: Selecting the Proper RTOSEmbedded Systems: Lecture 4: Selecting the Proper RTOS
Embedded Systems: Lecture 4: Selecting the Proper RTOS
 
Embedded Systems: Lecture 8: Lab 1: Building a Raspberry Pi Based WiFi AP
Embedded Systems: Lecture 8: Lab 1: Building a Raspberry Pi Based WiFi APEmbedded Systems: Lecture 8: Lab 1: Building a Raspberry Pi Based WiFi AP
Embedded Systems: Lecture 8: Lab 1: Building a Raspberry Pi Based WiFi AP
 
Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3)
Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3)Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3)
Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3)
 

Ähnlich wie Course 101: Lecture 5: Linux & GNU

Linux – an introduction
Linux – an introductionLinux – an introduction
Linux – an introduction
Wingston
 
01 linux history overview
01 linux history overview01 linux history overview
01 linux history overview
Shay Cohen
 
1 Intro, Linux system Architecture, Features, File system Structure and appli...
1 Intro, Linux system Architecture, Features, File system Structure and appli...1 Intro, Linux system Architecture, Features, File system Structure and appli...
1 Intro, Linux system Architecture, Features, File system Structure and appli...
PAVAN KUMAR ILLA
 
Linux [2005]
Linux [2005]Linux [2005]
Linux [2005]
Raul Soto
 
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdf
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdfintroductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdf
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdf
EidTahir
 
Introduction to linux
Introduction to linuxIntroduction to linux
Introduction to linux
Medhat Dawoud
 

Ähnlich wie Course 101: Lecture 5: Linux & GNU (20)

Opensource technologies
Opensource technologiesOpensource technologies
Opensource technologies
 
Linux Operating System. UOG MARGHAZAR Campus
 Linux Operating System. UOG MARGHAZAR Campus Linux Operating System. UOG MARGHAZAR Campus
Linux Operating System. UOG MARGHAZAR Campus
 
Introduction to Linux basic
Introduction to Linux basicIntroduction to Linux basic
Introduction to Linux basic
 
Linux forensics
Linux forensicsLinux forensics
Linux forensics
 
Linux basics
Linux basicsLinux basics
Linux basics
 
Linux – an introduction
Linux – an introductionLinux – an introduction
Linux – an introduction
 
01 linux history overview
01 linux history overview01 linux history overview
01 linux history overview
 
1 Intro, Linux system Architecture, Features, File system Structure and appli...
1 Intro, Linux system Architecture, Features, File system Structure and appli...1 Intro, Linux system Architecture, Features, File system Structure and appli...
1 Intro, Linux system Architecture, Features, File system Structure and appli...
 
Linux [2005]
Linux [2005]Linux [2005]
Linux [2005]
 
How I Learned to Stop Worrying and Love the Linux
How I Learned to Stop Worrying and Love the LinuxHow I Learned to Stop Worrying and Love the Linux
How I Learned to Stop Worrying and Love the Linux
 
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdf
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdfintroductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdf
introductiontolinuxpptbatch2-141025005514-conversion-gate01 (1).pdf
 
Introduction to linux
Introduction to linuxIntroduction to linux
Introduction to linux
 
Linux command ppt
Linux command pptLinux command ppt
Linux command ppt
 
Windows V/S Linux OS - Comparison
Windows V/S Linux OS - ComparisonWindows V/S Linux OS - Comparison
Windows V/S Linux OS - Comparison
 
Introduction to linux ppt
Introduction to linux pptIntroduction to linux ppt
Introduction to linux ppt
 
Linux
LinuxLinux
Linux
 
Introduction and history of linux
Introduction and history of linuxIntroduction and history of linux
Introduction and history of linux
 
Licão 01 introduction
Licão 01 introductionLicão 01 introduction
Licão 01 introduction
 
Ibm system programming training module 2 - linux basics
Ibm system programming training   module 2 - linux basicsIbm system programming training   module 2 - linux basics
Ibm system programming training module 2 - linux basics
 
A History of Linux
A History of LinuxA History of Linux
A History of Linux
 

Kürzlich hochgeladen

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 

Course 101: Lecture 5: Linux & GNU

  • 1. Linux For Embedded Systems ForArabs Ahmed ElArabawy Course 101: Introduction to Embedded Linux
  • 4. UNIX • It started in Bell Labs with a terminated project for the Multics Multi-user operating system • Dennis Ritchie and Ken Thomson started to work on Unix • 1969: First Implementation of Unix, done on PDP-7 using assembly • 1971: Ported Unix to PDP-11 using assembly • 1972: Creation of “C” programming language to facilitate the porting • 1973: Complete rewrite of UNIX into “C” (which led to high portability) • First Public version, Unix System V6 • 1977: Unix System III • 1982 Unix System V (by AT&T)
  • 5. UC Berkeley • BSD (Berkeley Software Distribution) • 1979: 3BSD • The Series 4BSD (4.0, 4.1, 4.2, 4.3 BSD) • 1993: 4.4 BSD • Dragonfly BSD, Free BSD, Net BSD, Open BSD
  • 6. Commercial Unix • Other companies built their variants • Digital  Tru64 • HP  HP-UX • IBM  AIX • Sequent  DYNIX/ptx • SGI IRIX • Sun Microsystems  Solaris
  • 7. The Unix Fever…. • Unix has widely spread in universities and industry because, • Written in C (portable to different architectures) • Simplicity and elegant design: • Less number of System calls (compared to other OSs) • Almost everything is treated as a file • Fast Process creation using fork-exec concepts • Strong Inter-Process Communication (IPC) support • Powerful, Robust, and Stable
  • 9. • Richard Stallman is a software freedom activist and a computer programmer • Believing in free software, he formed the Free Software Foundation and started the GNU project in 1983 • The target with the GNU project was to create a Unix-like operating system along with all the eco-system based on free software • He is still active in advocating for free software and campaigning against software patents and digital right management (DRM)
  • 10. • Created the GPL license (GNU Public License) • Stallman pioneered the concept of copyleft, • If you modify a free software (GPL) then your modifications will have to be also GPL • He started by building the eco-system but lacked the kernel
  • 11. Then Comes Linux • Developed by Linus Torvalds (University of Helsinki) on an i- 386 platform • First public introduction in 1991 • Unix-like operating system kernel together with GNU Software and tools • Open Source, received contribution by many • Under the GNU GPL 2.0 License “Hello everybody out there using minix - I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix. it probably never will support anything other than AT-harddisks, as that's all I have :-(.”
  • 12. Examples for Linux Platforms • AMD x86-64 • ARM • Compaq ALPHA • CRIS • DEC VAX • H8/300 • Hitachi SuperH • HP PA-RISC • IBM 3/390 • Intel IA-64 • MIPS • Motorola 68000 • FreeScale PowerPC • Sparc, Ultra-Sparc • V850 And the list keeps growing
  • 13. System Requirement • Linux was initially built on x86 architecture, but now it and tools and libraries associated with it support a large range of architectures • The mainstream Linux requires at least 32 bit processors with support of MMU (Memory Management Unit), some special configurations can support MMU-less architectures • Linux is highly configurable, developer can adjust its configuration based on the need and available hardware • Required RAM depends on the configuration, but 8MB is a typical minimum requirement, and 32MB is a typical average requirement • Required Storage also relies on configurations, but 4MB is a typical minimum for small systems.
  • 14. Kernel Version 2.6.35 Major Version Number Minor Version Number Odd = Development Even = Stable Release Number Maintenance Number .1
  • 16.
  • 18. Linux Kernel http://WWW.kernel.org Tool Chain Support Libraries C lib, Text Parsers, Security Libs, … Terminal X Server Utilities Applications Support Packages Linux Distribution
  • 19. Linux Distributions • You can build your own distribution (not an easy job, but sometimes it is worth it) • If interested check the Linux From Scratch Project (http://www.linuxfromscratch.org/ ) • A dedicated course will target building a customized Linux Distribution
  • 20. Linux Distributions • Otherwise, you can use readily available distributions • There are a lot of distributions available, most popular now is the Ubuntu • We will use Ubuntu in our course and other courses in this track (unless we are building our own)
  • 21. KDE & GNOME • The Unix/Linux environment and graphical desktop went through these phases, • Initially it was developed by a consortium of companies (Sun Microsystems, HP, IBM, Unix Systems Labs). This resulted in CDE (Common Desktop Environment) • CDE was out in 1993, but it looked very lame compared to Windows • 1996, the KDE project started to improve the Linux Desktop. It started as open source, but deviated from this by using some non-GPL tools and apps • 1997, the GNOME project was started to stick to GPL only software • Today we have both KDE and GNOME desktops
  • 22. Linux Model User Applications HW Platform UserSpaceKernelSpace C Library Device Drivers Linux Kernel System Call Interface
  • 23. User Space Apps • These are the typical applications • Uses the “C” library in a lot of functionality • Linux uses the MMU capability to protect apps from corrupting each other memory • User apps can not access the hardware (screen, I/O, files, …) directly • Must use “System Calls” into the kernel which perform the task on behalf of the user application
  • 24. Kernel Space • Have direct access on all system resources • Perform tasks on behalf of the user app in System Calls • Dangerous … can easily crash the system • No access to “C” library • Handles Interrupts and mission critical jobs • Connects with hardware via device drivers