linux software architecture


Published on

complete software concrete architecture of linux

Published in: Education
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

linux software architecture

  2. 2. WHAT IS INSIDE 1 Introduction 2 Need of the study of Software Architecture 3 System Structure 4 Subsystem Inspection 5 Future Work 6 References
  3. 3. INTRODUCTIONLinus B. Trovalds wrote the Linux Kernel in 1991.Free and Open SourceA Unix compatible systemOriginally developed to run on the Intel 80386
  4. 4. Need for the SoftwareArchitecture StudyEnhance communication among stakeholders of the systemSupport for earlier design decisions.Understand transferable abstraction of a systemSoftware maintenanceExploit the FOSS utilities. To extend, remove, change,modify functionality of an existing system.
  5. 5. 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 Scheduler Memory Manager Virtual File System Network interface Inter process communication
  6. 6. Sub System InspectionProcess Scheduler
  7. 7. Sub System Inspection - ProcessSchedulerIt is the heart of Linux Operating SystemFunctions: Allows processes to make new copies. Scheduling Interrupt Handling Loading, Executing and Terminating of processes. Timer Management Support for Dynamically loaded modules.
  8. 8. Process Scheduler Dependencies
  9. 9. Sub System Inspection –MemoryManagerProvides:Large address spaceProtectionMemory mappingFair access to Physical memoryShared MemoryMemory 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
  10. 10. Memory ManagerDependencies
  11. 11. Subsystem Inspection: VirtualFile SystemLinux supports:Multiple hardware devicesMultiple logical File SystemMultiple Executable FormatsHomogenityPerformanceSafetySecurity
  12. 12. Subsystem Inspection:Virtual File SystemThe FS of Linux has 2 conceptual layers 1. Device Driver Layer 2. Virtual File systemAdd 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.InterruptsTo support Virtual FS Linux has inodes.It makes all files appear the same to other Linux subsystems
  13. 13. VFS Dependencies
  14. 14. Subsystem Inspection:Inter ProcessCommunicationConcurrent Execution of processes for *Resource Sharing *Synchronization *Exchange of dataLinux provides following forms of IPC-Signals-Wait Queues-File Locks-Pipes and Named PipesSystem VIPC:
  15. 15. Interprocess CommunicationDependencies
  16. 16. Subsystem Inspection- Network Interface Linux supports network connections between machines andsocket 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.
  17. 17. Subsystem Inspection-NetworkInterfaceThree types of connections-Serial Line connections-Parallel Line connections-Ethernet connectionsAn 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.
  18. 18. Subsystem Inspection-NetworkInterface
  19. 19. 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 todays 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.
  20. 20. Future WorkConceptual Architecture shows few dependencies among thecomponents than concrete architectureThe PBS tools should be adjusted to handle the Linux sourcestructure. The conceptual and concrete architectures wehave presented should be refined through discussions withthe Linux developer community. After refinement, the twomodels can be compared using the Reflexion model [Murphy1995].
  21. 21. References[Balasubramanian 1993]Balasubramanian, K. and Johnson D.: "Linux Memory Management Overview," The Linux Kernel Hacker’s Guide,[Tanuan 1998]Tanuan,M.: "An Introduction to the Linux Operating System Architecture",Sahun Siddiqi,Meyer Tanaun,Ivan Bowman:“Concrete Architecture of Linux”
  22. 22. LINUX- powerful. open source. secure