<< Chapter < Page Chapter >> Page >

Basic concepts

Concurrency is the execution of two or more independent, interacting programsover the same period of time; their execution can be interleaved or even simultaneous.Concurrency is used in many kinds of systems, both small and large.

The typical home computer is full of examples. In separate windows, a user runs a web browser, a text editor, and a music playerall at once. The operating system interacts with each of them.

Almost unnoticed, the clock and virus scanner are also running. The operating system waits for the user to ask more programs tostart, while also handling underlying tasks such as resolving what information from the Internet goes to which program.

Using a web-based airline reservation system, Joe and Sue each want to buy a ticket.Each has a separate computer, and thus a separate web browser. Their two web browsers plus the airline's web server togethercomprise the concurrent program.

As this example illustrates, the term concurrent system might be more appropriate. However, for verification purposes, we willview them as a single, distributed entity to be modeled.

A concurrent system may be implemented via process es and/or thread s. Although details can vary upon platform, the fundamentaldifference is that processes have separate address spaces, whereas threads share address spaces.We will follow the common theoretical practice and ignore this distinction, using shared variables when desired, and using the twoterms interchangeably.

We view these threads as executing relatively independently. However, since they are acting together towards some goal,they must need to communicate and coordinate. The two most common communication techniques in processes and threadsare through, respectively, message passing and shared variables . In order to communicate at the right times,they must synchronize , together arriving at agreed-upon control points. Often, one or morethreads block , or stop and wait for some external event. In this module, we will use only shared variables,although the tools we use also allow message passing.

Even though we have multiple flows of control, that doesn't imply we need multiple processors. Concurrent programs may beexecuted on a single processor by interleaving their control flows. In order to understand what happens in a concurrent program over time,we must understand how the individual operations of the threads can interleave. This is independent of how many processesorswe use, although it is convenient to think of only having one processor.To consider the possible interleavings, we need to know which actions are atomic , or indivisible. If an atomic operation begins,we know that it won't be interrupted by a context switch until it is done.We generally assume that each hardware machine instruction is atomic, but a programming language might guarantee that even more complicatedoperations are atomic as well.

State
A state captures all the current information in a program. This includes all local and global variables' values andeach thread's current program counter. More generally, this includes all the memory and register contents.

Questions & Answers

where we get a research paper on Nano chemistry....?
Maira Reply
what are the products of Nano chemistry?
Maira Reply
There are lots of products of nano chemistry... Like nano coatings.....carbon fiber.. And lots of others..
learn
Even nanotechnology is pretty much all about chemistry... Its the chemistry on quantum or atomic level
learn
Google
da
no nanotechnology is also a part of physics and maths it requires angle formulas and some pressure regarding concepts
Bhagvanji
Preparation and Applications of Nanomaterial for Drug Delivery
Hafiz Reply
revolt
da
Application of nanotechnology in medicine
what is variations in raman spectra for nanomaterials
Jyoti Reply
I only see partial conversation and what's the question here!
Crow Reply
what about nanotechnology for water purification
RAW Reply
please someone correct me if I'm wrong but I think one can use nanoparticles, specially silver nanoparticles for water treatment.
Damian
yes that's correct
Professor
I think
Professor
Nasa has use it in the 60's, copper as water purification in the moon travel.
Alexandre
nanocopper obvius
Alexandre
what is the stm
Brian Reply
is there industrial application of fullrenes. What is the method to prepare fullrene on large scale.?
Rafiq
industrial application...? mmm I think on the medical side as drug carrier, but you should go deeper on your research, I may be wrong
Damian
How we are making nano material?
LITNING Reply
what is a peer
LITNING Reply
What is meant by 'nano scale'?
LITNING Reply
What is STMs full form?
LITNING
scanning tunneling microscope
Sahil
how nano science is used for hydrophobicity
Santosh
Do u think that Graphene and Fullrene fiber can be used to make Air Plane body structure the lightest and strongest. Rafiq
Rafiq
what is differents between GO and RGO?
Mahi
what is simplest way to understand the applications of nano robots used to detect the cancer affected cell of human body.? How this robot is carried to required site of body cell.? what will be the carrier material and how can be detected that correct delivery of drug is done Rafiq
Rafiq
if virus is killing to make ARTIFICIAL DNA OF GRAPHENE FOR KILLED THE VIRUS .THIS IS OUR ASSUMPTION
Anam
analytical skills graphene is prepared to kill any type viruses .
Anam
Any one who tell me about Preparation and application of Nanomaterial for drug Delivery
Hafiz
what is Nano technology ?
Bob Reply
write examples of Nano molecule?
Bob
The nanotechnology is as new science, to scale nanometric
brayan
nanotechnology is the study, desing, synthesis, manipulation and application of materials and functional systems through control of matter at nanoscale
Damian
Is there any normative that regulates the use of silver nanoparticles?
Damian Reply
what king of growth are you checking .?
Renato
What fields keep nano created devices from performing or assimulating ? Magnetic fields ? Are do they assimilate ?
Stoney Reply
why we need to study biomolecules, molecular biology in nanotechnology?
Adin Reply
?
Kyle
yes I'm doing my masters in nanotechnology, we are being studying all these domains as well..
Adin
why?
Adin
what school?
Kyle
biomolecules are e building blocks of every organics and inorganic materials.
Joe
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get the best Algebra and trigonometry course in your pocket!





Source:  OpenStax, Model checking concurrent programs. OpenStax CNX. Oct 27, 2005 Download for free at http://cnx.org/content/col10294/1.3
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Model checking concurrent programs' conversation and receive update notifications?

Ask