SlideShare a Scribd company logo
1 of 7
Symmetric multiprocessing
Symmetric multiprocessing (SMP) involves a multiprocessor computer hardware and software
architecture where two or more identical processors are connected to a single shared main
memory, have full access to all I/O devices, and are controlled by a single OS instance, and in
which all processors are treated equally, with none being reserved for special purposes. Most
common multiprocessor systems today use an SMP architecture. In the case of multi-core
processors, the SMP architecture applies to the cores, treating them as separate processors.
In a symmetric multiprocessor (SMP), the kernel can execute on any processor, and typically
each processor does self-scheduling from the pool of available processes or threads. The kernel
can be constructed as multiple processes or multiple threads, allowing portions of the kernel to
execute in parallel. The SMP approach complicates the OS. It must ensure that two processors do
not choose the same process and that processes are not somehow lost from the queue.
Techniques must be employed to resolve and synchronize claims to resources.
An SMP operating system manages processor and other computer resources so that the user may
view the system in the same fashion as a multiprogramming uniprocessor system. A user may
construct applications that use multiple processes or multiple threads within processes without
regard to whether a single processor or multiple processors will be available. Thus a
multiprocessor OS must provide all the functionality of a multiprogramming system plus
additional features to accommodate multiple processors. The key design issues include the
following:
• Simultaneous concurrent processes or threads: Kernel routines need to be re-entrant to allow
several processors to execute the same kernel code simultaneously. With multiple processors
executing the same or different parts of the kernel, kernel tables and management structures must
be managed properly to avoid deadlock or invalid operations.
• Scheduling: Scheduling may be performed by any processor, so conflicts must be avoided. If
kernel-level multithreading is used, then the opportunity exists to schedule multiple threads from
the same process simultaneously on multiple processors.
• Synchronization: With multiple active processes having potential access to shared address
spaces or shared I/O resources, care must be taken to provide effective synchronization.
• Memory management: Memory management on a multiprocessor must deal with all of the
issues found on uniprocessor computers. In addition, the OS needs to exploit the available
hardware parallelism, such as multiport memories, to achieve the best performance. The paging
mechanisms on different processors must be coordinated to enforce consistency when several
processors share a page or segment and to decide on page replacement.
• Reliability and fault tolerance: The OS should provide graceful degradation in the face of
processor failure. The scheduler and other portions of the OS must recognize the loss of a
processor and restructure management tables accordingly.
The advantages of SMP include a large global memory and better performance per Watt,
important for SWaP (size, weight and power) sensitive applications thanks to the use of fewer
memory controllers. Instead of splitting memory between multiple CPUs, SMP’s large global
memory is accessible to all of the processor cores. Data intensive applications, such as image
processing and data acquisition systems, often prefer large global memories that can be accessed
at data rates up to 100s of Mbytes/sec. These large memory applications benefit from the single
large memory common in most multi-core designs.
SMP also provides simpler node-to-node communication, and SMP applications can be
programmed to be independent of node count. SMP especially lends itself to the use of new
multi-core processor designs. Lastly, operating systems is that they perform load-balancing for
the tasks between all available cores. In Performance, where more than one program executes at
the same time, an SMP system will have considerably better performance than a uni-processor
because different programs can run on different CPUs simultaneously.In cases where an SMP
environment processes many jobs, administrators often experience a loss of hardware efficiency.
Software programs have been developed to schedule jobs so that the processor utilization reaches
its maximum potential. Good software packages can achieve this maximum potential by
scheduling each CPU separately, as well as being able to integrate multiple SMP machines and
clusters. Access to RAM is serialized; this and cache coherency issues causes performance to lag
slightly behind the number of additional processors in the system.
The disadvantages of SMP the fact that the memory latency and bandwidth of a given node can
be affected by other nodes, and cache “thrashing” may occur in some applications.
Microkernel
A Microkernel OS architecture
A microkernel is a small OS core that provides the foundation for modular extensions. The term
is somewhat fuzzy, however, and there are a number of questions about microkernels that are
answered differently by different OS design teams.
The microkernel approach was popularized by its use in the Mach OS, which is now the core of
the Macintosh Mac OS X operating system. In theory, this approach provides a high degree of
flexibility and modularity. A number of products now boast microkernel implementations, and
this general design approach is likely to be seen in most of the personal computer, workstation,
and server operating systems developed in the near future.
Less essential services and applications are built on the microkernel and execute in user mode.
Although the dividing line between what is in and what is outside the microkernel varies from
one design to the, next the common characteristic is that many services that traditionally have
been part of the OS are now external subsystems that interact Swith the kernel and with each
other; these include device drivers, file systems, virtual memory manager, windowing system,
and security services. OS components external to the microkernel are implemented as server
processes; these interact with each other on a peer basis, typically by means of messages passed
through the microkernel. Thus, the microkernel functions as a message exchange: It validates
messages, passes them between components, and grants access to hardware. The microkernel
also performs a protection function; it prevents message passing unless exchange is allowed. For
example, if an application wishes to open a file, it sends a message to the file system server. If it
wishes to create a process or thread, it sends a message to the process server. Each of the servers
can send messages to other servers and can invoke the primitive functions in the microkernel.
This is a client/server architecture within a single computer.
A number of advantages for the use of microkernels have been reported in the literature. These
include:
• Uniform interfaces – all services are provided by means of message passing.
• Extensibility - allowing the addition of new services.
• Flexibility – not only can new features be added to the OS, but also existing features can
be subtracted to produce a smaller, more efficient implementation
• Portability - Intel’s near monopoly of many segments of the computer platform market
is unlikely to be sustained indefinitely. Thus, portability becomes an attractive feature of
an OS. Changes needed to port the system to a new processor are changed in the
microkernel and not in other services.
• Adding a new service does not require modifying the kernel.
• It is more secure as more operations are done in user mode than in kernel mode.
• A simpler kernel design and functionality typically results in a more reliable operating
system.
Reference:
[1] Stallings, W. (2011), Operating Systems: Internals and Design Principles 7
th
Ed.,
Prentice Hall International, Inc.
[2] http://en.wikipedia.org/wiki/Symmetric_multiprocessing
[3] Lecture Slides in ULearn
[4]http://sawaal.ibibo.com/computers-and-technology/what-advantages-disadvantages-symmetric-
multiprocessing-649411.html
Reference:
[1] Stallings, W. (2011), Operating Systems: Internals and Design Principles 7
th
Ed.,
Prentice Hall International, Inc.
[2] http://en.wikipedia.org/wiki/Symmetric_multiprocessing
[3] Lecture Slides in ULearn
[4]http://sawaal.ibibo.com/computers-and-technology/what-advantages-disadvantages-symmetric-
multiprocessing-649411.html

More Related Content

What's hot

Distributed operating system
Distributed operating systemDistributed operating system
Distributed operating systemPrankit Mishra
 
Digital signature schemes
Digital signature schemesDigital signature schemes
Digital signature schemesravik09783
 
Real-Time Scheduling
Real-Time SchedulingReal-Time Scheduling
Real-Time Schedulingsathish sak
 
Secure shell ppt
Secure shell pptSecure shell ppt
Secure shell pptsravya raju
 
Terminologies Used In Big data Environments,G.Sumithra,II-M.sc(computer scien...
Terminologies Used In Big data Environments,G.Sumithra,II-M.sc(computer scien...Terminologies Used In Big data Environments,G.Sumithra,II-M.sc(computer scien...
Terminologies Used In Big data Environments,G.Sumithra,II-M.sc(computer scien...sumithragunasekaran
 
Network Layer design Issues.pptx
Network Layer design Issues.pptxNetwork Layer design Issues.pptx
Network Layer design Issues.pptxAcad
 
Integrated Development Environments (IDE)
Integrated Development Environments (IDE) Integrated Development Environments (IDE)
Integrated Development Environments (IDE) SeanPereira2
 
Lecture 2
Lecture 2Lecture 2
Lecture 2Mr SMAK
 
Signals and Antennas in mobile computing
Signals and Antennas in mobile computingSignals and Antennas in mobile computing
Signals and Antennas in mobile computingMadhuri Badgujar
 
Cryptography and network security
Cryptography and network securityCryptography and network security
Cryptography and network securitypatisa
 
Rotor machine,subsitution technique
Rotor machine,subsitution techniqueRotor machine,subsitution technique
Rotor machine,subsitution techniquekirupasuchi1996
 
Routing algorithm
Routing algorithmRouting algorithm
Routing algorithmSiva Priya
 
SSH Tunneling
SSH TunnelingSSH Tunneling
SSH TunnelingThanh Tai
 
Pipes in Windows and Linux.
Pipes in Windows and Linux.Pipes in Windows and Linux.
Pipes in Windows and Linux.Junaid Lodhi
 

What's hot (20)

Distributed operating system
Distributed operating systemDistributed operating system
Distributed operating system
 
CPU Scheduling Algorithms
CPU Scheduling AlgorithmsCPU Scheduling Algorithms
CPU Scheduling Algorithms
 
Digital signature schemes
Digital signature schemesDigital signature schemes
Digital signature schemes
 
Real-Time Scheduling
Real-Time SchedulingReal-Time Scheduling
Real-Time Scheduling
 
Memory management
Memory managementMemory management
Memory management
 
cloud computing: Vm migration
cloud computing: Vm migrationcloud computing: Vm migration
cloud computing: Vm migration
 
Secure shell ppt
Secure shell pptSecure shell ppt
Secure shell ppt
 
Terminologies Used In Big data Environments,G.Sumithra,II-M.sc(computer scien...
Terminologies Used In Big data Environments,G.Sumithra,II-M.sc(computer scien...Terminologies Used In Big data Environments,G.Sumithra,II-M.sc(computer scien...
Terminologies Used In Big data Environments,G.Sumithra,II-M.sc(computer scien...
 
Network Layer design Issues.pptx
Network Layer design Issues.pptxNetwork Layer design Issues.pptx
Network Layer design Issues.pptx
 
Integrated Development Environments (IDE)
Integrated Development Environments (IDE) Integrated Development Environments (IDE)
Integrated Development Environments (IDE)
 
Cs8601 3
Cs8601 3Cs8601 3
Cs8601 3
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Signals and Antennas in mobile computing
Signals and Antennas in mobile computingSignals and Antennas in mobile computing
Signals and Antennas in mobile computing
 
Cryptography and network security
Cryptography and network securityCryptography and network security
Cryptography and network security
 
Rotor machine,subsitution technique
Rotor machine,subsitution techniqueRotor machine,subsitution technique
Rotor machine,subsitution technique
 
Link state protocols.ppt
Link state protocols.pptLink state protocols.ppt
Link state protocols.ppt
 
Routing algorithm
Routing algorithmRouting algorithm
Routing algorithm
 
SSH Tunneling
SSH TunnelingSSH Tunneling
SSH Tunneling
 
message passing
 message passing message passing
message passing
 
Pipes in Windows and Linux.
Pipes in Windows and Linux.Pipes in Windows and Linux.
Pipes in Windows and Linux.
 

Viewers also liked

Smp and asmp architecture.
Smp and asmp architecture.Smp and asmp architecture.
Smp and asmp architecture.Gaurav Dalvi
 
Symmetric Multi Processor Multiprocessors
Symmetric Multi Processor MultiprocessorsSymmetric Multi Processor Multiprocessors
Symmetric Multi Processor MultiprocessorsSaad Tanvir
 
Computer system architecture
Computer system architectureComputer system architecture
Computer system architectureKumar
 
Security & protection in operating system
Security & protection in operating systemSecurity & protection in operating system
Security & protection in operating systemAbou Bakr Ashraf
 
Unit 1 architecture of distributed systems
Unit 1 architecture of distributed systemsUnit 1 architecture of distributed systems
Unit 1 architecture of distributed systemskaran2190
 
Multi core processors
Multi core processorsMulti core processors
Multi core processorsAdithya Bhat
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed SystemsRupsee
 
Multicore processors and its advantages
Multicore processors and its advantagesMulticore processors and its advantages
Multicore processors and its advantagesNitesh Tudu
 

Viewers also liked (9)

Smp and asmp architecture.
Smp and asmp architecture.Smp and asmp architecture.
Smp and asmp architecture.
 
Symmetric multiprocessing
Symmetric multiprocessingSymmetric multiprocessing
Symmetric multiprocessing
 
Symmetric Multi Processor Multiprocessors
Symmetric Multi Processor MultiprocessorsSymmetric Multi Processor Multiprocessors
Symmetric Multi Processor Multiprocessors
 
Computer system architecture
Computer system architectureComputer system architecture
Computer system architecture
 
Security & protection in operating system
Security & protection in operating systemSecurity & protection in operating system
Security & protection in operating system
 
Unit 1 architecture of distributed systems
Unit 1 architecture of distributed systemsUnit 1 architecture of distributed systems
Unit 1 architecture of distributed systems
 
Multi core processors
Multi core processorsMulti core processors
Multi core processors
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed Systems
 
Multicore processors and its advantages
Multicore processors and its advantagesMulticore processors and its advantages
Multicore processors and its advantages
 

Similar to Symmetric multiprocessing and Microkernel

Operating Systems
Operating SystemsOperating Systems
Operating Systemsachal02
 
Distributed system notes unit I
Distributed system notes unit IDistributed system notes unit I
Distributed system notes unit INANDINI SHARMA
 
An operating system for multicore and clouds: mechanism and implementation
An operating system for multicore and clouds: mechanism and implementationAn operating system for multicore and clouds: mechanism and implementation
An operating system for multicore and clouds: mechanism and implementationMohanadarshan Vivekanandalingam
 
EMBEDDED OS
EMBEDDED OSEMBEDDED OS
EMBEDDED OSAJAL A J
 
CS8603_Notes_003-1_edubuzz360.pdf
CS8603_Notes_003-1_edubuzz360.pdfCS8603_Notes_003-1_edubuzz360.pdf
CS8603_Notes_003-1_edubuzz360.pdfKishaKiddo
 
ITT Project Information Technology Basic
ITT Project Information Technology BasicITT Project Information Technology Basic
ITT Project Information Technology BasicMayank Garg
 
Overview of Distributed Systems
Overview of Distributed SystemsOverview of Distributed Systems
Overview of Distributed Systemsvampugani
 
Session1 intro to_os
Session1 intro to_osSession1 intro to_os
Session1 intro to_osKalyani Patil
 
MYSQL DATABASE Operating System Part2 (1).pptx
MYSQL DATABASE Operating System Part2 (1).pptxMYSQL DATABASE Operating System Part2 (1).pptx
MYSQL DATABASE Operating System Part2 (1).pptxArjayBalberan1
 
Parallel Processing Presentation2
Parallel Processing Presentation2Parallel Processing Presentation2
Parallel Processing Presentation2daniyalqureshi712
 
Operating system by aman kr kushwaha
Operating system by aman kr kushwahaOperating system by aman kr kushwaha
Operating system by aman kr kushwahaAMAN KUMAR KUSHWAHA
 

Similar to Symmetric multiprocessing and Microkernel (20)

Chapter 10
Chapter 10Chapter 10
Chapter 10
 
Operating Systems
Operating SystemsOperating Systems
Operating Systems
 
OS UNIT1.pptx
OS UNIT1.pptxOS UNIT1.pptx
OS UNIT1.pptx
 
Distributed system notes unit I
Distributed system notes unit IDistributed system notes unit I
Distributed system notes unit I
 
Wiki 2
Wiki 2Wiki 2
Wiki 2
 
Cluster Computing
Cluster ComputingCluster Computing
Cluster Computing
 
An operating system for multicore and clouds: mechanism and implementation
An operating system for multicore and clouds: mechanism and implementationAn operating system for multicore and clouds: mechanism and implementation
An operating system for multicore and clouds: mechanism and implementation
 
Epc 3.ppt
Epc 3.pptEpc 3.ppt
Epc 3.ppt
 
EMBEDDED OS
EMBEDDED OSEMBEDDED OS
EMBEDDED OS
 
Operating system
Operating systemOperating system
Operating system
 
CS8603_Notes_003-1_edubuzz360.pdf
CS8603_Notes_003-1_edubuzz360.pdfCS8603_Notes_003-1_edubuzz360.pdf
CS8603_Notes_003-1_edubuzz360.pdf
 
ITT Project Information Technology Basic
ITT Project Information Technology BasicITT Project Information Technology Basic
ITT Project Information Technology Basic
 
Overview of Distributed Systems
Overview of Distributed SystemsOverview of Distributed Systems
Overview of Distributed Systems
 
Session1 intro to_os
Session1 intro to_osSession1 intro to_os
Session1 intro to_os
 
ITM(2).ppt
ITM(2).pptITM(2).ppt
ITM(2).ppt
 
MYSQL DATABASE Operating System Part2 (1).pptx
MYSQL DATABASE Operating System Part2 (1).pptxMYSQL DATABASE Operating System Part2 (1).pptx
MYSQL DATABASE Operating System Part2 (1).pptx
 
Parallel Processing Presentation2
Parallel Processing Presentation2Parallel Processing Presentation2
Parallel Processing Presentation2
 
Operating system by aman kr kushwaha
Operating system by aman kr kushwahaOperating system by aman kr kushwaha
Operating system by aman kr kushwaha
 
Os Ds Arch
Os Ds ArchOs Ds Arch
Os Ds Arch
 
Types of os
Types of osTypes of os
Types of os
 

Recently uploaded

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 

Recently uploaded (20)

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 

Symmetric multiprocessing and Microkernel

  • 1. Symmetric multiprocessing Symmetric multiprocessing (SMP) involves a multiprocessor computer hardware and software architecture where two or more identical processors are connected to a single shared main memory, have full access to all I/O devices, and are controlled by a single OS instance, and in which all processors are treated equally, with none being reserved for special purposes. Most common multiprocessor systems today use an SMP architecture. In the case of multi-core processors, the SMP architecture applies to the cores, treating them as separate processors. In a symmetric multiprocessor (SMP), the kernel can execute on any processor, and typically each processor does self-scheduling from the pool of available processes or threads. The kernel can be constructed as multiple processes or multiple threads, allowing portions of the kernel to execute in parallel. The SMP approach complicates the OS. It must ensure that two processors do not choose the same process and that processes are not somehow lost from the queue. Techniques must be employed to resolve and synchronize claims to resources. An SMP operating system manages processor and other computer resources so that the user may view the system in the same fashion as a multiprogramming uniprocessor system. A user may construct applications that use multiple processes or multiple threads within processes without regard to whether a single processor or multiple processors will be available. Thus a multiprocessor OS must provide all the functionality of a multiprogramming system plus additional features to accommodate multiple processors. The key design issues include the following:
  • 2. • Simultaneous concurrent processes or threads: Kernel routines need to be re-entrant to allow several processors to execute the same kernel code simultaneously. With multiple processors executing the same or different parts of the kernel, kernel tables and management structures must be managed properly to avoid deadlock or invalid operations. • Scheduling: Scheduling may be performed by any processor, so conflicts must be avoided. If kernel-level multithreading is used, then the opportunity exists to schedule multiple threads from the same process simultaneously on multiple processors. • Synchronization: With multiple active processes having potential access to shared address spaces or shared I/O resources, care must be taken to provide effective synchronization. • Memory management: Memory management on a multiprocessor must deal with all of the issues found on uniprocessor computers. In addition, the OS needs to exploit the available hardware parallelism, such as multiport memories, to achieve the best performance. The paging mechanisms on different processors must be coordinated to enforce consistency when several processors share a page or segment and to decide on page replacement. • Reliability and fault tolerance: The OS should provide graceful degradation in the face of processor failure. The scheduler and other portions of the OS must recognize the loss of a processor and restructure management tables accordingly. The advantages of SMP include a large global memory and better performance per Watt, important for SWaP (size, weight and power) sensitive applications thanks to the use of fewer memory controllers. Instead of splitting memory between multiple CPUs, SMP’s large global memory is accessible to all of the processor cores. Data intensive applications, such as image processing and data acquisition systems, often prefer large global memories that can be accessed at data rates up to 100s of Mbytes/sec. These large memory applications benefit from the single large memory common in most multi-core designs.
  • 3. SMP also provides simpler node-to-node communication, and SMP applications can be programmed to be independent of node count. SMP especially lends itself to the use of new multi-core processor designs. Lastly, operating systems is that they perform load-balancing for the tasks between all available cores. In Performance, where more than one program executes at the same time, an SMP system will have considerably better performance than a uni-processor because different programs can run on different CPUs simultaneously.In cases where an SMP environment processes many jobs, administrators often experience a loss of hardware efficiency. Software programs have been developed to schedule jobs so that the processor utilization reaches its maximum potential. Good software packages can achieve this maximum potential by scheduling each CPU separately, as well as being able to integrate multiple SMP machines and clusters. Access to RAM is serialized; this and cache coherency issues causes performance to lag slightly behind the number of additional processors in the system. The disadvantages of SMP the fact that the memory latency and bandwidth of a given node can be affected by other nodes, and cache “thrashing” may occur in some applications.
  • 4. Microkernel A Microkernel OS architecture A microkernel is a small OS core that provides the foundation for modular extensions. The term is somewhat fuzzy, however, and there are a number of questions about microkernels that are answered differently by different OS design teams. The microkernel approach was popularized by its use in the Mach OS, which is now the core of the Macintosh Mac OS X operating system. In theory, this approach provides a high degree of flexibility and modularity. A number of products now boast microkernel implementations, and this general design approach is likely to be seen in most of the personal computer, workstation, and server operating systems developed in the near future.
  • 5. Less essential services and applications are built on the microkernel and execute in user mode. Although the dividing line between what is in and what is outside the microkernel varies from one design to the, next the common characteristic is that many services that traditionally have been part of the OS are now external subsystems that interact Swith the kernel and with each other; these include device drivers, file systems, virtual memory manager, windowing system, and security services. OS components external to the microkernel are implemented as server processes; these interact with each other on a peer basis, typically by means of messages passed through the microkernel. Thus, the microkernel functions as a message exchange: It validates messages, passes them between components, and grants access to hardware. The microkernel also performs a protection function; it prevents message passing unless exchange is allowed. For example, if an application wishes to open a file, it sends a message to the file system server. If it wishes to create a process or thread, it sends a message to the process server. Each of the servers can send messages to other servers and can invoke the primitive functions in the microkernel. This is a client/server architecture within a single computer. A number of advantages for the use of microkernels have been reported in the literature. These include: • Uniform interfaces – all services are provided by means of message passing. • Extensibility - allowing the addition of new services. • Flexibility – not only can new features be added to the OS, but also existing features can be subtracted to produce a smaller, more efficient implementation • Portability - Intel’s near monopoly of many segments of the computer platform market is unlikely to be sustained indefinitely. Thus, portability becomes an attractive feature of an OS. Changes needed to port the system to a new processor are changed in the microkernel and not in other services. • Adding a new service does not require modifying the kernel. • It is more secure as more operations are done in user mode than in kernel mode. • A simpler kernel design and functionality typically results in a more reliable operating system.
  • 6. Reference: [1] Stallings, W. (2011), Operating Systems: Internals and Design Principles 7 th Ed., Prentice Hall International, Inc. [2] http://en.wikipedia.org/wiki/Symmetric_multiprocessing [3] Lecture Slides in ULearn [4]http://sawaal.ibibo.com/computers-and-technology/what-advantages-disadvantages-symmetric- multiprocessing-649411.html
  • 7. Reference: [1] Stallings, W. (2011), Operating Systems: Internals and Design Principles 7 th Ed., Prentice Hall International, Inc. [2] http://en.wikipedia.org/wiki/Symmetric_multiprocessing [3] Lecture Slides in ULearn [4]http://sawaal.ibibo.com/computers-and-technology/what-advantages-disadvantages-symmetric- multiprocessing-649411.html