22
A PAPER PRESENTATION ON SOFTWARE ARCHITECTURE OF LINUX

linux software architecture

Embed Size (px)

DESCRIPTION

complete software concrete architecture of linux

Citation preview

Page 1: linux software architecture

A PAPER PRESENTATION ON

SOFTWARE ARCHITECTURE OF LINUX

Page 2: linux software architecture

WHAT IS INSIDE

1 Introduction

2 Need of the study of Software Architecture

3 System Structure4 Subsystem Inspection5 Future Work6 References

Page 3: linux software architecture

INTRODUCTION

Linus B. Trovalds wrote the Linux Kernel in 1991.

Free and Open SourceA Unix compatible systemOriginally developed to run on the Intel

80386

Page 4: linux software architecture

Need for the Software Architecture StudyEnhance communication among stakeholders

of the systemSupport for earlier design decisions.Understand transferable abstraction of a

systemSoftware maintenanceExploit the FOSS utilities. To extend, remove,

change,modify functionality of an existing system.

Page 5: linux software architecture

Linux System Structure

Criticism-“Linux kernel is useless by itself,it participates as one layer in the overall system.”

Within the kernel layer Linux has 5 major subsystems.

Process SchedulerMemory ManagerVirtual File SystemNetwork interfaceInter process communication

Page 6: linux software architecture

Sub System InspectionProcess Scheduler

Page 7: linux software architecture

Sub System Inspection - Process SchedulerIt is the heart of Linux Operating SystemFunctions: Allows processes to make new copies.SchedulingInterrupt HandlingLoading, Executing and Terminating of

processes.Timer ManagementSupport for Dynamically loaded modules.

Page 8: linux software architecture

Process Scheduler Dependencies

Page 9: linux software architecture

Sub System Inspection –Memory ManagerProvides:Large address spaceProtectionMemory mappingFair access to Physical memoryShared MemoryMemory Manager abstracts details of all hardware

platforms into one common interface. It maps virtual addresses to physical memory addresses.

It also swaps out processes to allow system to execute processes that use more physical memory than available on the system.

Daemon threads

Page 10: linux software architecture

Memory Manager Dependencies

Page 11: linux software architecture

Subsystem Inspection: Virtual File SystemLinux supports:Multiple hardware devicesMultiple logical File SystemMultiple Executable FormatsHomogenity PerformanceSafetySecurity

Page 12: linux software architecture

The FS of Linux has 2 conceptual layers 1. Device Driver Layer

2. Virtual File systemAdd new Device Driver by simply implementing the

abstract interface,Use of Buffer Cache for optimized Performance.Data Transfer can takes place by1.Polling 2.DMA 3.InterruptsTo support Virtual FS Linux has inodes.It makes all

files appear the same to other Linux subsystems

Subsystem Inspection: Virtual File System

Page 13: linux software architecture

VFS Dependencies

Page 14: linux software architecture

Subsystem Inspection:Inter Process Communication

Concurrent Execution of processes for

*Resource Sharing

*Synchronization

*Exchange of dataLinux provides following forms of IPC

-Signals

-Wait Queues

-File Locks

-Pipes and Named PipesSystem VIPC:

->Semaphore ->Message Queues ->Shared Memory

Page 15: linux software architecture

Interprocess Communication Dependencies

Page 16: linux software architecture

Linux supports network connections between machines and socket communication model.2 types of sockets are identified

-BSD sockets -INET sockets BSD abstracts the communication details to a

common interface. This provides greater portability Linux provides two transfer layer protocols

UDP TCP

INET sits on top of both IP and Transport Protocol.

Subsystem Inspection-Network Interface

Page 17: linux software architecture

Subsystem Inspection-Network InterfaceThree types of connections-Serial Line connections-Parallel Line connections-Ethernet connectionsAn address Resolver (ARP)is responsible for

converting the IP addresses into physical ones. This is necessary as sockets deal with IP addresses which cannot be directly used by hardware devices.

Page 18: linux software architecture

Subsystem Inspection-Network Interface

Page 19: linux software architecture

ConclusionLinux has since been ported to more computer hardware

platforms than any other operating system. It is a leading operating system on servers and other big iron

systems such as mainframe computers and supercomputers more than 90% of today's 500 fastest supercomputers run some variant of Linux .

Linux also runs on embedded systems such as mobile phones, tablet computers, network routers, televisions and video game consoles the Android system in wide use on mobile devices is built on the Linux kernel.

Typically Linux is packaged in a format known as a Linux distribution for desktop and server use. Some popular mainstream Linux distributions include Debian , Fedora and openSUSE.

Page 20: linux software architecture

Future WorkConceptual Architecture shows few dependencies among the components than concrete architectureThe PBS tools should be adjusted to handle the Linux source structure. The conceptual and concrete architectures we have presented should be refined through discussions with the Linux developer community. After refinement, the two models can be compared using the Reflexion model [Murphy 1995].

Page 21: linux software architecture

References[Balasubramanian 1993]

Balasubramanian, K. and Johnson D.: "Linux Memory Management Overview," The Linux Kernel Hacker’s Guide,

http://www.redhat.com:8080/hypernews/get/memory/memory.html

[Tanuan 1998]

Tanuan,M.: "An Introduction to the Linux Operating System Architecture", http://www.grad.math.uwaterloo.ca/~mcta

Sahun Siddiqi,Meyer Tanaun,Ivan Bowman:

“Concrete Architecture of Linux”

Page 22: linux software architecture

LINUX- powerful. open source. secure