Engineers Garage

  • Projects and Tutorials
    • Electronic Projects
      • 8051
      • Arduino
      • ARM
      • AVR
      • PIC
      • Raspberry pi
      • STM32
    • Tutorials
    • Circuit Design
    • Project Videos
    • Components
  • Articles
    • Tech Articles
    • Insight
    • Invention Stories
    • How to
    • What Is
  • News
    • Electronic Products News
    • DIY Reviews
    • Guest Post
  • Forums
    • EDABoard.com
    • Electro-Tech-Online
    • EG Forum Archive
  • Digi-Key Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools
  • EE Resources
    • DesignFast
    • LEAP Awards
    • Oscilloscope Product Finder
    • White Papers
    • Webinars
  • EE Learning Center
  • Women in Engineering

Introduction of Linux

By Ashish Vara

Linux Operating System

History

Before understanding the popularity of Linux, we need to go back in past few years. When computer started to develop, no any fixed OS for computer. Computer size was very large and every computer had different OS. Software of one computer could not work on another computer and difficult to working with one computer to another computer. Over all computers was became more expensive and hard to work with computer.

In 1969, some developers in the Bell Lab laboratories started to work on software solution of compatible OS which is run any computer. They developed advanced OS with highly feature written in C language named UNIX operating system. UNIX was very simple and able to recycle the code. C language was newly developed for creating UNIX. UNIX is run on any computer and needed only small pieces of code called kernel.

UNIX is compatible with different systems and initially developed for mainframes and minicomputers especially for university. When started to develop small computer for individual user like home computer called microcomputer. That time Many UNIX version supported PC architecture but not fully compatible and slow. So users started to run MS-DOS or window on their home computer.

In 1990, PC were fully powered by UNIX and well featured but not fully open source means not available free software. In 1991, Linus Torvalds began developed an operating system called Linux which is member of large family UNIX-like OS. Linux is developed for IBM- compatible personal computer based on Intel 80386 micro processor. All feature of UNIX were added in Linux in few years, which make the mature operating system Linux. Today Linux is supported to any workstations, home user PC and both server and client.

What is Linux?

Linux is fully customizable free operating system. It is supported any hardware components. Due to advent open source feature of Linux, everyone can download the source code of Linux and modify it. On the server side Linux is well known stable and reliable OS. Day by day Linux became more popular and user friendly. Modern Linux is not only supported high end server, workstations and home PC but also run on various gadgets.

Linux is totally UNIX kernel but not fully UNIX OS because it does not include whole UNIX application like file system, Window system, text editor, Compiler and so on. Linux is just a kernel. Whole Linux distribution is collection of Linux Kernel, GUI, GNU C/C++ compiler, text editors and various applications under GPL. Linux is used only POSIX (Portable Operating System Interface Standards) of UNIX. POSIX is standards specified by IEEE computer society for maintaining compability between OS.

linux-operating-system

Figure 1: Linux Operating System

Linux is needed standard GNU C compiler and GPL (General Purpose License). GNU is collection of computer software that can be used in build an OS like UNIX or Linux.GNU is organization which implements whole OS freely usable by everyone. Various GNU components used to develop Linux like GNU compiler, debugger and hardware. Linux was licensed under the GPL. Without paying any charge, you can download source code of Linux to use, share and modify it. GPL (General Public License) is used free license software which provides freedom to run, share, modify and study it.

Before we discuss Linux in brief, I mentioned advantages of Linux:

  • Open Source
  • Run on both low and high end hardware
  • Compatible with others OS
  • More powerful
  • Low failure time
  • Well supported
  • Well Secure
  • Fully customizable in all its components

Feature of Linux

Linux is fully featured OS. Linux adopted the various feature from different UNIX version.

Multithreading:

Linux is supported multithreading environment. More than one thread can run at a same time in Linux. Thread is small code within process. I will explain in brief about thread in another tutorial.

Monolithic kernel:

Linux kernel is Monolithic kernel. Monolithic kernel is operating system architecture where entire OS run in kernel mode instead of user mode. When program or applications want to use hardware, send request to kernel mode by system call. Kernel evaluate request from system call and interact with proper hardware. All operating services like memory management, file management, process management are working in kernel.

File System:

Whole Linux kernel consists of based on file system architecture. Linux supported many file types such as a directory file, link, pipe, named pipe, special file and block device file. Each file types have its own characteristic and feature. File system is not only holding the data of file but also contain the structure of file and all information about file.

Multiuser Capability:

Linux OS share the same resource like memory, hard disk etc. for multi users. Multi users can access same resource using individual terminal (i.e. client PC).

Architecture of LInux OS

linux-os-structure

Figure 2: Architecture of LInux OS

Linux OS architecture is consists of following layers:

Hardware Layer:

Hardware consists of all peripheral devices like RAM, HDD, CPU etc.  User can not interact direct with hardware from user space (where application or program is run).

Kernel:

Kernel is small special code which is core component of OS. Kernel is directly interacts with hardware. Kernel is provides low level service to user mode’s components. Kernel is fully developed in C language and file system architecture.

Shell:

Shell is interface medium between user mode and kernel mode. Any program or application can interface with kernel through shell. Shell is hiding the complexity of kernel’s function from user. It is takes the command from user mode (i.e. command terminal) and executes function of kernel. For example if you entered any command from terminal (which is run in user mode), behind the terminal shell is take command from terminal and interact with kernel and execute the corresponding function related with command.

User or Utilities:

This is upper layer of OS also called user mode where application or program is run. In User layer, various users, applications, software and program can run at a same time.

Difference between User mode and Kernel mode

Kernel Mode:

All kernel programs executes in kernel mode. Kernel mode directly accesses the memory and hardware. It can execute any CPU instruction and access any memory address. It is provide the low level service which is fully trusted. Whole PC is halt and OS is corrupted if crashes occurred in Kernel mode. It is prevent the user mode application from damaging the system.  This mode is reserved for device driver which operate on low level and run upon requesting by API.

User mode:

All user programs and applications are executes in user mode. User mode cannot directly access the memory and hardware. Program which is running in user mode can access the memory and hardware by calling API. Due to full protection, crashes in user mode are recoverable.

Linux Distributions

Linux Distribution is fully operating system which is collection of Linux kernel and package management system. User can download any distribution and run on PC or hardware. Various distributions are supported different platform like desktop environment, embedded platform etc. Linux distribution includes Linux, GNU tool, Software and collection of libraries. Some distribution is specially developed for specific hardware.

Here some popular distributions of Linux are following:

Debian:

Debian is Linux operating system composed only of free and open source software. It is introduced in 1993 and till now it is stable and used in system. Debian is much slowly than ubuntu and Linux mint. Debian is user friendly preferred for server.

Ubuntu:

Ubuntu is well known Linux distribution for desktop environment. It is based on debian but it has its own repository (central location in which data is stored and manage). It is well user friendly.

Linux Mint:

Linux mint also Linux distribution for desktop environment similar to Ubuntu. It is used ubuntu’s repository. Same packages are available for ubuntu and Linux mint. Linux mint included media codec which is not included in ubuntu by default.

Some more Linux distributions are mentioned here:

  • Fedora
  • Cent OS
  • Kali Linux
  • OpenSUSE
  • Arch Linux
  • Slackware Linux
  • Mageia

Project Source Code

 

Project Source Code

###

//Program to 

###

 



Filed Under: Electronic Projects, Featured Contributions
Tagged With: linux
 

Questions related to this article?
👉Ask and discuss on EDAboard.com and Electro-Tech-Online.com forums.



Tell Us What You Think!! Cancel reply

You must be logged in to post a comment.

HAVE A QUESTION?

Have a technical question about an article or other engineering questions? Check out our engineering forums EDABoard.com and Electro-Tech-Online.com where you can get those questions asked and answered by your peers!


Featured Tutorials

  • Designing Gate Driver Circuit and Switching Mechanism for Modified Sine Wave Inverter – (Part 9/17)
  • Completing Modified Sine Wave Inverter Design with Full Bridge Circuit and Step Up Transformer – (Part 10/17)
  • Designing an Offline UPS – Part (12 /17)
  • How to reduce Switching Time of a Relay – (Part 15/17)
  • Testing MOSFET – (Part 16/17)
  • Driving High Side MOSFET using Bootstrap Circuitry – (Part 17/17)

Stay Up To Date

Newsletter Signup

Sign up and receive our weekly newsletter for latest Tech articles, Electronics Projects, Tutorial series and other insightful tech content.

EE Training Center Classrooms

EE Classrooms

Recent Articles

  • New automotive radar sensor enables reliable in-cabin monitoring system
  • TI breaks ground on 300-mm semiconductor wafer-fabrication plants in Texas
  • New wireless AR Smart Viewer reference design
  • Infineon launches scalable and wireless charging platform with configurable controllers
  • First single-core MPU with MIPI CSI-2 camera interface and audio

Most Popular

5G 555 timer circuit 8051 ai Arduino atmega16 automotive avr dc motor display Electronic Part Electronic Parts Fujitsu ic infineontechnologies integratedcircuit Intel IoT ir lcd ldr led maximintegratedproducts microchip microchiptechnology Microchip Technology microcontroller microcontrollers mosfet motor powermanagement Raspberry Pi remote renesaselectronics renesaselectronicscorporation Research samsung semiconductor sensor software STMicroelectronics switch Technology vishayintertechnology wireless

RSS EDABOARD.com Discussions

  • A circuit that can adjust a resistance and probing a voltage node
  • DC to DC buck converter
  • A circuit that can probe 2 currents and adjust the resistor
  • Microsoft Project 2019 dependencies
  • MOSFET ORing circuit simulation (LTspice)

RSS Electro-Tech-Online.com Discussions

  • Enclosure sought
  • Need help using a common power supply for two devices
  • Fletcher's Law
  • Setting the 18F24K20 to digital.
  • Multistage BJT amplifier
Engineers Garage
  • Analog IC TIps
  • Connector Tips
  • DesignFast
  • EDABoard Forums
  • EE World Online
  • Electro-Tech-Online Forums
  • Microcontroller Tips
  • Power Electronic Tips
  • Sensor Tips
  • Test and Measurement Tips
  • 5G Technology World
  • About Us
  • Contact Us
  • Advertise

Copyright © 2022 WTWH Media LLC. All Rights Reserved. The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media
Privacy Policy | Advertising | About Us

Search Engineers Garage

  • Projects and Tutorials
    • Electronic Projects
      • 8051
      • Arduino
      • ARM
      • AVR
      • PIC
      • Raspberry pi
      • STM32
    • Tutorials
    • Circuit Design
    • Project Videos
    • Components
  • Articles
    • Tech Articles
    • Insight
    • Invention Stories
    • How to
    • What Is
  • News
    • Electronic Products News
    • DIY Reviews
    • Guest Post
  • Forums
    • EDABoard.com
    • Electro-Tech-Online
    • EG Forum Archive
  • Digi-Key Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools
  • EE Resources
    • DesignFast
    • LEAP Awards
    • Oscilloscope Product Finder
    • White Papers
    • Webinars
  • EE Learning Center
  • Women in Engineering