1/38
Platform Tech
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
mutual exclusion
which pertains to the ability to execute all other processes from a course of action while one (1) process is granted that ability
Concurrency
is an application performance technique that encompasses the ability to load and execute multiple runnable programs.
Atomic operation
It is a function or an action implemented as a sequence of one (1) or more instructions that appear to be indivisible, wherein no other process can see an intermediate state or interrupt the operation
Critical section
It is a section of code within a process that requires access to shared resources and must not be executed while other process is in a corresponding section of code.
Race condition
It is a situation in which multiple threads or processes read and write a shared data item, and the final result depends on the relative timing of their execution.
single-processor multiprogramming system
processes are interleaved in time to yield the appearance of simultaneous execution
Competition: Processes unaware of each other
This comprises independent processes that are not intended to work together
Cooperation by sharing: Processes indirectly aware of each othe
This involves processes that are not necessarily aware of each other by their respective process identifications but shares access to some objects
Cooperation by communication: Processes directly aware of each other
This encompasses processes that are able to communicate with each other by process identification and that are designed to work jointly on some activity.
Dijkstra's work
his work focuses on operating system (OS) design as a collection of cooperating sequential processes, with the development of an efficient and reliable mechanism for supporting cooperation.
Counting Semaphore
This involves an integer value that is used for signaling processes
Binary Semaphore
This is a semaphore that only takes the values zero (0) and one (1).
Mutual Exclusion (Mutex) Lock
This mechanism is similar to a binary semaphore. The key difference between the two is that the process that locks the mutex must be the one to unlock it, and only the holder of the lock can operate
Condition Variable
This is a data type that is used to block a process or a thread until a specific condition is true.
Monitor
This is a programming construct that encapsulates variables, access procedures, and initialization code within an abstract data type.
Event Flag
It is a memory word used as a synchronization mechanism. A specific application code is associated with each bit in a flag
Mailbox or Message Passing
This mechanism is considered as a means for two (2) processes to exchange information,
Spinlock
This is a mechanism in which a process executes in an infinite loop waiting for the value of a lock variable to indicate availability.
Deadlocks
can be defined as permanent blocking of a set of processes that either compete for system resources or communicate with each other
Reusable resources
These resources can be used by only one process at a time and are not depleted by usage
Consumable resources
These are resources that can be created (produced) and destroyed (consumed).
resource allocation graph
which was introduced by Richard Holt, is a useful tool in characterizing the allocation of resources to processes.
Hold and wait
: A thread must be holding at least one (1) resource and waiting to acquire additional resources that are currently being held by other threads.
No preemption
Resources cannot be preempted. This means that a resource can only be released voluntarily by the thread holding it after that thread has completed its task
Circular wait
A closed chain of threads exists, such that each thread holds at least one resource needed by the next thread in the chain.
Deadlock Prevention: Disallows one of the four conditions for deadlock occurrence –
This strategy of involves the designing of a system in such a way that the possibility of deadlock is excluded
Deadlock Avoidance:
This strategy allows the three necessary conditions but makes judicious choices to assure that the deadlock point is never reached
Process initiation denial
Do not start a process if its demands might lead to a deadlock;
Resource allocation denial
Do not grant an incremental resource request to a process if this allocation might lead to a deadlock.
Deadlock Detection: Grant resource requests when possible, but periodically check for deadlock and act to recover
This strategy does not limit resource access or restricts process executions.
Multiprogramming
It is the management of multiple processes within a uniprocessor system
Multiprocessing
It is the management of multiple processes within a multiprocessor.
Distributed processing
It is the management of multiple processes executing on multiple distributed computer systems.
Starvation
situation in which a runnable processes is overlooked indefinitely by the scheduler
Spawn
typically transpires whenever a new process is created
Block
this happenss when a thread needs to wait for a particular event
Unblocked
moves a blocked thread into the ready queue for the continuation
Finish
happens whenever a thread complete its entire execution