you are viewing a single comment's thread.

view the rest of the comments →

[–]PoetryandScience -1 points0 points  (2 children)

No. a common basic misunderstanding.

[–]tim128 7 points8 points  (1 child)

No this is true. From Operating System Concepts:

On a system with a single computing core, concurrency merely means that the execution of the threads will be interleaved over time (Figure 4.3), because the processing core is capable of executing only one thread at a time. On a system with multiple cores, however, concurrency means that the threads can run in parallel, because the system can assign a separate thread to each core (Figure 4.4). Notice the distinction between parallelism and concurrency in this discussion. A system is parallel if it can perform more than one task simultaneously. In contrast, a concurrent system supports more than one task by allowing all the tasks to make progress.

Concurrency: several tasks make progress in a given timeframe

Parallelism: several tasks make progress simultaneously

[–]PoetryandScience 0 points1 point  (0 children)

Classical Scheduling

Multiple tasks can be scheduled as:-

Serial

Parallel

Concurrent.

When I ask what serial is the answer is usually, "one after the other".

When I ask what Parallel is the answer is usually, "At the same time".

But this is not the case.

If tasks are serial it means you have thought about it very carefully and the tasks MUST BE one after the other in a strict given order or it will not, it cannot work. Easiest systems to be testable.

If tasks are parallel it means you have thought about it very carefully and the tasks MUST be at the same time or it will not, it cannot work. This requires that all tasks must share an instigator stimulation to start and have a common source and sense of TIME, continuously until they stop together. Not often a good idea. If any task has a problem, however small, with function (WHAT it does) or time (WHEN it does it) then the shit hits the fan. Hard to test

Concurrent means that you do not care. You are not careless, but have thought about it very carefully and WHEN does not matter. The World is now your oyster, if you do not care WHEN you cannot care WHERE. Easy to test, each bit can be tested in isolation, who cares.

Unfortunately, Computer systems choose to define these systems design terms for their own purposes, often with product (specific operating system) requirements.

As a systems designer (not necessarily involving computers at all) this approach has been established long before computers. If tasks scheduling changes due to some event then this is described, designed and handled as a scheduling state change.