--> About DBMS
--> ER Diagram , Entity Set , Relationship , Cardinality Constraint , Attributes , Constraints
--> Keys
--> Functional Dependency
--> Decomposition of a Relation
--> Types of Decomposition
#DBMS 2 --> Normalization
--> Transaction
--> Acid properties
--> Schedules
--> Relational Algebra
#DBMS 3 --> SQL
--> DDL , DML , DCL
--> SQL queries
--> TCL { Commit , rollbacks }
--> SELECT STATEMENT
A situation where a set of processes are blocked because each process is holding a resource and waiting for another resource acquired by some other process. Deadlock can arise if following four conditions hold simultaneously (Necessary Conditions):
- Mutual Exclusion – One or more than one resource is non-sharable (Only one process can use at a time).
- Hold and Wait – A process is holding at least one resource and waiting for resources.
- No Preemption – A resource cannot be taken from a process unless the process releases the resource.
- Circular Wait – A set of processes are waiting for each other in circular form.
● Methods for handling deadlock: There are three ways to handle deadlock
- Deadlock prevention or avoidance : The idea is to not let the system into a deadlock state.
- Deadlock detection and recovery : Let deadlock occur, then do preemption to handle it once occurred.
- Ignore the problem all together : If deadlock is very rare, then let it happen and reboot the system. This is the approach that both Windows and UNIX take.