!--a11y-->
This section deals with the token concept, which the CSL uses.
Critical Sections
Since processes can run in parallel – in different systems or in the same system – certain parts of a program must run without affecting another program. These parts are called critical sections. In a critical section, the program accesses data that can be changed by other programs, too. This can cause problems if a certain process (a calculation, for example) has not finished. Another example is if multiple systems need to access one system resource (a printer, for example).
Mutual Exclusion with Tokens
The token concept is a distributed solution that guarantees that during a critical section, only one program has access to an object in the memory, a database table, or a system resource, for example. The idea is simple. For the object (or objects) that can be accessed exclusively only, there is a token. Before a program can access the object, the object has to be owned by the token. If another program (in another system, for example) owns this token, that program must wait until the token has been released again.