SlideShare una empresa de Scribd logo
1 de 20
Microx
What is it?

 Microx is a new Operating System Kernel written from ground
  up.

 Designed for Embedded Systems and Devices.

 Small, Streamlined and Hyper Efficient.

 Designed to enable rapid development and Deployment of
  Embedded products.
Kernel Organization

 Microx is designed as a POSIX compliant UNIX like kernel.

 Kernel is monolithic. All kernel components run in a single
  address space in privileged mode.

 Application Binary Interface (ABI) is kept the same as Linux.

 Meaning it can run Programs compiled for Linux unmodified.

 Over 150 POSIX System Calls supported.
Customization Benefits

 Microx provides a capable and working UNIX like kernel
  implemented in a modest amount of code.

 Easy to understand, customize, modify and add features to.

 All code written in-house. Contains no GPL or BSD licensed
  code.

 The kernel can be customized and used as a foundation to add
  application specific features and create high-performance
  embedded products and devices
Kernel Architecture : Processes
 Processes are run in their own protected address spaces.

 Microx provides 3GB of virtual address space to processes on the x86 Architecture.

 Threads are implemented as processes that share their address spaces and other resources.

 The scheduler is organized such that it:

      Allows fast response time for interactive processes.
      Provides good throughput to batch processes.

 Processes can be prioritized. High priority processes are favored by the scheduler.

 Supports soft real-time processes. Scheduler does not preempt these. They can run until they
  voluntarily give up the CPU.

 Very fast context-switching times.

 Supports Signals, Pipes and UNIX Domain Sockets as Inter Process Communication mechanisms.
Kernel Architecture: Memory
Management
 Applications map physical memory into their address spaces as needed.

 Kernel provides interfaces for applications to map and un-map physical memory.

 Kernel implements the CoW (Copy on Write) approach when allocating memory for newly created
  applications.

 Kernel manages the physical page frames in the system using the well-known Buddy Algorithm.

 The Slab Allocator is used by the kernel to allocate arbitrary chunks of memory for its internal use.

 When memory becomes short, the least recently used pages are reclaimed by the kernel and
  reused.
Kernel Architecture: File Systems

•   Microx implements a Virtual File System (VFS) to handle different types of physical and
    pseudo File Systems.

•   Employs a Page Cache to cache recently used File System data to increase performance.

•   Writes are not immediately synced to disk. They are deferred and periodically flushed
    to increase write throughput.

•   The Microx File System (MicroFS) is a simple UNIX like File System best suited for Flash
    Storage Devices.

•   Does not consider the locality of the block when allocating. It allocates a block where
    ever it can quickly find.

•   Shows good performance on rotating disks too if the File System is not very
    fragmented.
Kernel Architecture: Networking

 Microx implements a set of protocols to allow applications to communicate with the
  outside world. This set of protocols is collectively called the "Network Stack".

 Lowest layer is the Interface Layer. Deals with network hardware and physical media.

 The Network layer implements the "Internet Protocol" or IP. Also handles Static
  Routing, Fragmentation, Reassembly and ICMP error processing.

 The transport layer implements the TCP and UDP protocols. TCP implemented as a
  Finite State Machine and supports connection creation/termination, retransmissions
  and flow control.

 Applications interact with the Network Stack via the POSIX compliant Sockets Layer.
Kernel Performance
 Various Benchmarking tools have been run to evaluate the performance of Microx.

 Results compared against Linux.

 Benchmarks run include:

        Unixbench: Provides basic indicator of the performance of UNIX like systems.
        LMBench: Series of micro-benchmarks intended to measure basic operating System metrics.
        IOZone: A Filesystem benchmarking tool. Generates and measures a variety of file operations.
        Netperf: Benchmark used to measure various aspects of networking performance.
        WebBench: Evaluates performance of a Web Server running under Microx.
        Scalability Benchmarks: Series of tests to evaluate the performance of Microx under an increasing
         amount of work load.


 See the accompanying "Features and Performance Overview" document for results for the
  above benchmarks.
Firewall and QoS

 Firewall and Quality of Service (QoS) functionality has been built into the kernel.

 The Firewall and QoS module processes packets before being handed over to the
  regular Network Stack.

 Purpose is to demonstrate the usefulness of the system in a real-world application.

 The software can be used to deploy a featureful and configurable Firewall Device.

 Services to implement other add-on functionality such as IDS/IPS, DPI, Dynamic Routing
  etc are provided.
Firewall and QoS
 Firewall processes packets according to Rules specified by the user.

 Every rule specifies an action (block or pass) and direction (in or out) of the packet. It can also
  specify:

            Source and Destination Address of the packet.
            Source and Destination Port of the packet.
            Source and Destination Interface of the packet.

 A rule can be Stateful or Stateless. For Stateful rules, the Firewall Software maintains a state of the
  connection and does not consult the rule list for every packet in that connection

 Network Address Translation (NAT) is done on a per rule basis. A NAT address (source or
  destination) can be specified for a rule.

 The source or destination address of the packet that matches a rule will be replaced by the NAT
  address specified in that rule.

 All blocked packets can be logged for later viewing by the user.
Firewall and QoS
 Bandwidth of Stateful connections can be controlled using
  Quality of Service (QoS) queues.

 A QoS queue specifies the network five tuple of the connection whose
  bandwidth is to be limited.

 Queues are hierarchical. Bandwidth of the parent queue can be divided
  by its child queues.

 Queues can be assigned priority. Higher priority Queue will be serviced
  first.

 Real-time bandwidth of a particular queue can be viewed and
  monitored.
Web Interface Screenshots
Web Interface Screenshots
Web Interface Screenshots
Web Interface Screenshots
Web Interface Screenshots
Web Interface Screenshots
Web Interface Screenshots
Web Interface Screenshots

Más contenido relacionado

La actualidad más candente

Linux architecture
Linux architectureLinux architecture
Linux architecture
mcganesh
 

La actualidad más candente (18)

Case study operating systems
Case study operating systemsCase study operating systems
Case study operating systems
 
Linux architecture
Linux architectureLinux architecture
Linux architecture
 
Windows Architecture Explained by Stacksol
Windows Architecture Explained by StacksolWindows Architecture Explained by Stacksol
Windows Architecture Explained by Stacksol
 
Linux kernel
Linux kernelLinux kernel
Linux kernel
 
LINUX Device Drivers
LINUX Device DriversLINUX Device Drivers
LINUX Device Drivers
 
OSCh19
OSCh19OSCh19
OSCh19
 
Ch16 system administration
Ch16 system administration Ch16 system administration
Ch16 system administration
 
Ch14 system administration
Ch14 system administration Ch14 system administration
Ch14 system administration
 
Introduction to char device driver
Introduction to char device driverIntroduction to char device driver
Introduction to char device driver
 
Case study
Case studyCase study
Case study
 
Ch12
Ch12Ch12
Ch12
 
Linux@assignment ppt
Linux@assignment pptLinux@assignment ppt
Linux@assignment ppt
 
Os concepts
Os conceptsOs concepts
Os concepts
 
Linux io
Linux ioLinux io
Linux io
 
Linux kernel Architecture and Properties
Linux kernel Architecture and PropertiesLinux kernel Architecture and Properties
Linux kernel Architecture and Properties
 
Unix operating system
Unix operating systemUnix operating system
Unix operating system
 
Ch2
Ch2Ch2
Ch2
 
OSCh21
OSCh21OSCh21
OSCh21
 

Similar a Microx - A Unix like kernel for Embedded Systems written from scratch.

Oracle rac 10g best practices
Oracle rac 10g best practicesOracle rac 10g best practices
Oracle rac 10g best practices
Haseeb Alam
 
Linux architecture
Linux architectureLinux architecture
Linux architecture
mcganesh
 
Linux internal
Linux internalLinux internal
Linux internal
mcganesh
 

Similar a Microx - A Unix like kernel for Embedded Systems written from scratch. (20)

BASIC OF ROUTERS,ROUTER IOS AND ROUTING PROTOCOLS
BASIC OF ROUTERS,ROUTER IOS AND ROUTING PROTOCOLSBASIC OF ROUTERS,ROUTER IOS AND ROUTING PROTOCOLS
BASIC OF ROUTERS,ROUTER IOS AND ROUTING PROTOCOLS
 
Oracle rac 10g best practices
Oracle rac 10g best practicesOracle rac 10g best practices
Oracle rac 10g best practices
 
Linux architecture
Linux architectureLinux architecture
Linux architecture
 
HPC and cloud distributed computing, as a journey
HPC and cloud distributed computing, as a journeyHPC and cloud distributed computing, as a journey
HPC and cloud distributed computing, as a journey
 
Linux internal
Linux internalLinux internal
Linux internal
 
linux kernel overview 2013
linux kernel overview 2013linux kernel overview 2013
linux kernel overview 2013
 
The Why and How of HPC-Cloud Hybrids with OpenStack - Lev Lafayette, Universi...
The Why and How of HPC-Cloud Hybrids with OpenStack - Lev Lafayette, Universi...The Why and How of HPC-Cloud Hybrids with OpenStack - Lev Lafayette, Universi...
The Why and How of HPC-Cloud Hybrids with OpenStack - Lev Lafayette, Universi...
 
Distributed Clouds and Software Defined Networking
Distributed Clouds and Software Defined NetworkingDistributed Clouds and Software Defined Networking
Distributed Clouds and Software Defined Networking
 
Linux Based Advanced Routing with Firewall and Traffic Control
Linux Based Advanced Routing with Firewall and Traffic ControlLinux Based Advanced Routing with Firewall and Traffic Control
Linux Based Advanced Routing with Firewall and Traffic Control
 
A Survey of Performance Comparison between Virtual Machines and Containers
A Survey of Performance Comparison between Virtual Machines and ContainersA Survey of Performance Comparison between Virtual Machines and Containers
A Survey of Performance Comparison between Virtual Machines and Containers
 
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
 
Juniper Networks Router Architecture
Juniper Networks Router ArchitectureJuniper Networks Router Architecture
Juniper Networks Router Architecture
 
Wp simoneau osi_model
Wp simoneau osi_modelWp simoneau osi_model
Wp simoneau osi_model
 
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageWebinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
 
F9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
F9: A Secure and Efficient Microkernel Built for Deeply Embedded SystemsF9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
F9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
 
SDN, OpenFlow, NFV, and Virtual Network
SDN, OpenFlow, NFV, and Virtual NetworkSDN, OpenFlow, NFV, and Virtual Network
SDN, OpenFlow, NFV, and Virtual Network
 
As34269277
As34269277As34269277
As34269277
 
Windows 2000
Windows 2000Windows 2000
Windows 2000
 
[Draft] Fast Prototyping with DPDK and eBPF in Containernet
[Draft] Fast Prototyping with DPDK and eBPF in Containernet[Draft] Fast Prototyping with DPDK and eBPF in Containernet
[Draft] Fast Prototyping with DPDK and eBPF in Containernet
 
Systems Support for Many Task Computing
Systems Support for Many Task ComputingSystems Support for Many Task Computing
Systems Support for Many Task Computing
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Último (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

Microx - A Unix like kernel for Embedded Systems written from scratch.

  • 2. What is it?  Microx is a new Operating System Kernel written from ground up.  Designed for Embedded Systems and Devices.  Small, Streamlined and Hyper Efficient.  Designed to enable rapid development and Deployment of Embedded products.
  • 3. Kernel Organization  Microx is designed as a POSIX compliant UNIX like kernel.  Kernel is monolithic. All kernel components run in a single address space in privileged mode.  Application Binary Interface (ABI) is kept the same as Linux.  Meaning it can run Programs compiled for Linux unmodified.  Over 150 POSIX System Calls supported.
  • 4. Customization Benefits  Microx provides a capable and working UNIX like kernel implemented in a modest amount of code.  Easy to understand, customize, modify and add features to.  All code written in-house. Contains no GPL or BSD licensed code.  The kernel can be customized and used as a foundation to add application specific features and create high-performance embedded products and devices
  • 5. Kernel Architecture : Processes  Processes are run in their own protected address spaces.  Microx provides 3GB of virtual address space to processes on the x86 Architecture.  Threads are implemented as processes that share their address spaces and other resources.  The scheduler is organized such that it:  Allows fast response time for interactive processes.  Provides good throughput to batch processes.  Processes can be prioritized. High priority processes are favored by the scheduler.  Supports soft real-time processes. Scheduler does not preempt these. They can run until they voluntarily give up the CPU.  Very fast context-switching times.  Supports Signals, Pipes and UNIX Domain Sockets as Inter Process Communication mechanisms.
  • 6. Kernel Architecture: Memory Management  Applications map physical memory into their address spaces as needed.  Kernel provides interfaces for applications to map and un-map physical memory.  Kernel implements the CoW (Copy on Write) approach when allocating memory for newly created applications.  Kernel manages the physical page frames in the system using the well-known Buddy Algorithm.  The Slab Allocator is used by the kernel to allocate arbitrary chunks of memory for its internal use.  When memory becomes short, the least recently used pages are reclaimed by the kernel and reused.
  • 7. Kernel Architecture: File Systems • Microx implements a Virtual File System (VFS) to handle different types of physical and pseudo File Systems. • Employs a Page Cache to cache recently used File System data to increase performance. • Writes are not immediately synced to disk. They are deferred and periodically flushed to increase write throughput. • The Microx File System (MicroFS) is a simple UNIX like File System best suited for Flash Storage Devices. • Does not consider the locality of the block when allocating. It allocates a block where ever it can quickly find. • Shows good performance on rotating disks too if the File System is not very fragmented.
  • 8. Kernel Architecture: Networking  Microx implements a set of protocols to allow applications to communicate with the outside world. This set of protocols is collectively called the "Network Stack".  Lowest layer is the Interface Layer. Deals with network hardware and physical media.  The Network layer implements the "Internet Protocol" or IP. Also handles Static Routing, Fragmentation, Reassembly and ICMP error processing.  The transport layer implements the TCP and UDP protocols. TCP implemented as a Finite State Machine and supports connection creation/termination, retransmissions and flow control.  Applications interact with the Network Stack via the POSIX compliant Sockets Layer.
  • 9. Kernel Performance  Various Benchmarking tools have been run to evaluate the performance of Microx.  Results compared against Linux.  Benchmarks run include:  Unixbench: Provides basic indicator of the performance of UNIX like systems.  LMBench: Series of micro-benchmarks intended to measure basic operating System metrics.  IOZone: A Filesystem benchmarking tool. Generates and measures a variety of file operations.  Netperf: Benchmark used to measure various aspects of networking performance.  WebBench: Evaluates performance of a Web Server running under Microx.  Scalability Benchmarks: Series of tests to evaluate the performance of Microx under an increasing amount of work load.  See the accompanying "Features and Performance Overview" document for results for the above benchmarks.
  • 10. Firewall and QoS  Firewall and Quality of Service (QoS) functionality has been built into the kernel.  The Firewall and QoS module processes packets before being handed over to the regular Network Stack.  Purpose is to demonstrate the usefulness of the system in a real-world application.  The software can be used to deploy a featureful and configurable Firewall Device.  Services to implement other add-on functionality such as IDS/IPS, DPI, Dynamic Routing etc are provided.
  • 11. Firewall and QoS  Firewall processes packets according to Rules specified by the user.  Every rule specifies an action (block or pass) and direction (in or out) of the packet. It can also specify:  Source and Destination Address of the packet.  Source and Destination Port of the packet.  Source and Destination Interface of the packet.  A rule can be Stateful or Stateless. For Stateful rules, the Firewall Software maintains a state of the connection and does not consult the rule list for every packet in that connection  Network Address Translation (NAT) is done on a per rule basis. A NAT address (source or destination) can be specified for a rule.  The source or destination address of the packet that matches a rule will be replaced by the NAT address specified in that rule.  All blocked packets can be logged for later viewing by the user.
  • 12. Firewall and QoS  Bandwidth of Stateful connections can be controlled using Quality of Service (QoS) queues.  A QoS queue specifies the network five tuple of the connection whose bandwidth is to be limited.  Queues are hierarchical. Bandwidth of the parent queue can be divided by its child queues.  Queues can be assigned priority. Higher priority Queue will be serviced first.  Real-time bandwidth of a particular queue can be viewed and monitored.