Semaphores | PPL

SEMAPHORES

A semaphore is an integer variable that apart from initialisation is accessed only through two standard atomic operators.

In two processes, critical section solution can be possible using Peterson's Solution.

But an operating system is a n process system (many process system) so Semaphore solution is used here. Because Semaphore gives n process solution.

Semaphores are simple integer variables, as many people gets confusion as it is a separate data type or data structure so no, it's an integer variable only.

We use “int S”  to show semaphore.
But don't be confuse we can use any thing like int a, int b etc to show semaphore.
Its seems easy to show Semaphore using “S” so we use “int S”.

int S = 1; (this is known as initialisation as well as declaration)
Here initialisation of Semaphore shows that which problem you wants to solve by Semaphore.
We use “int S=1” so problem 1 will get solved in critical section.

And it's important to know that when we solve critical section problem using Semaphore we initialise S with 1.

If once we initialised it than we cant access it again. It can be accessed only by-
1) Wait (S) //Read as  wait of S
2) Signal (S) // Read as signal of S


1) Wait(): this is a simple atomic operation, which reduces the value of S by 1. It means whatever the value of S, wait () will do a single decrement.
For example:
If S = 3,
Than wait() will just reduces it to S=2.

Wait (S)
{
While (S ≤ 0);
S = S-1;
}


See in above code while loop is a type of trap only which makes program to check again and again whether value of S is greater than zero.
If value of S is greater than zero, so wait(S) can make a single decrements in it.


2) Signal(): this is a simple atomic operation, which increases the value of S by 1. It means whatever the value of S, Signal () will do a single increment.
For example:
If S = 3,
Than Signal() will just increases it to S=4.

Signal (S)
{
S = S+1;

}

Principles of Programming Languages

EasyExamNotes.com covered following topics in PPL.

Practicals:
Previous years solved papers:
A list of Video lectures
References:
  1. Sebesta,”Concept of programming Language”, Pearson Edu 
  2. Louden, “Programming Languages: Principles & Practices” , Cengage Learning 
  3. Tucker, “Programming Languages: Principles and paradigms “, Tata McGraw –Hill. 
  4. E Horowitz, "Programming Languages", 2nd Edition, Addison Wesley

Python Programming ↓ 👆
Java Programming ↓ 👆
JAVA EasyExamNotes.com covered following topics in these notes.
JAVA Programs
Principles of Programming Languages ↓ 👆
Principles of Programming Languages
EasyExamNotes.com covered following topics in these notes.

Practicals:
Previous years solved papers:
A list of Video lectures References:
  1. Sebesta,”Concept of programming Language”, Pearson Edu 
  2. Louden, “Programming Languages: Principles & Practices” , Cengage Learning 
  3. Tucker, “Programming Languages: Principles and paradigms “, Tata McGraw –Hill. 
  4. E Horowitz, "Programming Languages", 2nd Edition, Addison Wesley

    Computer Organization and Architecture ↓ 👆

    Computer Organization and Architecture 

    EasyExamNotes.com covered following topics in these notes.

    1. Structure of desktop computers
    2. Logic gates
    3. Register organization
    4. Bus structure
    5. Addressing modes
    6. Register transfer language
    7. Direct mapping numericals
    8. Register in Assembly Language Programming
    9. Arrays in Assembly Language Programming

    References:

    1. William stalling ,“Computer Architecture and Organization” PHI
    2. Morris Mano , “Computer System Organization ”PHI

    Computer Network ↓ 👆
    Computer Network

    EasyExamNotes.com covered following topics in these notes.
    1. Data Link Layer
    2. Framing
    3. Byte count framing method
    4. Flag bytes with byte stuffing framing method
    5. Flag bits with bit stuffing framing method
    6. Physical layer coding violations framing method
    7. Error control in data link layer
    8. Stop and Wait scheme
    9. Sliding Window Protocol
    10. One bit sliding window protocol
    11. A protocol Using Go-Back-N
    12. Selective repeat protocol
    13. Application layer
    References:
    1. Andrew S. Tanenbaum, David J. Wetherall, “Computer Networks” Pearson Education.
    2. Douglas E Comer, “Internetworking with TCP/IP Principles, Protocols, And Architecture",Pearson Education
    3. KavehPahlavan, Prashant Krishnamurthy, “Networking Fundamentals”, Wiley Publication.
    4. Ying-Dar Lin, Ren-Hung Hwang, Fred Baker, “Computer Networks: An Open Source Approach”, McGraw Hill.