What are the Causes of Thrashing and how to overcome Thrashing in Operating System

This tutorial covers the concepts of thrashing in os. In this thrashing tutorial I am going to discuss about what is thrashing and causes of thrashing and how to overcome thrashing in os.

Thrashing in os

(1) What is thrashing?(2) What are causes of thrashing ?(3) How to overcome thrashing ?(4) Working set model(5) Working set model example.(6) Conclusion.

 This tutorial covers the concepts of thrashing in os. In this thrashing tutorial  I am going to discuss about what is thrashing and causes of thrashing and how to overcome thrashing in os.

So lets start with introduction of thrashing.

(A) What is thrashing ?
 So what is thrashing in os ? Thrashing is nothing but a situation which occurs when a process is spending more time in paging or swapping activities rather than its execution. In thrashing state CPU is so much busy in swapping that it can not respond to user program as much as it required.

(B) Causes of Thrashing
Thrashing is not good from performance point of view. Now in this thrashing tutorial I will tell about the causes of thrashing , actually Initially when the CPU utilization is low, then process scheduling mechanism, loads many processes into the memory at the same time so that degree of multi programming can be increased.
So now in this situation we have more number of processes in memory as compare to the available number of frames in memory. So allocating a limited amount of frames to each process.
When any higher priority process arrive in memory and if frame is not freely available at that time then the other process that occupied the frame which is resides in frame will move to secondary storage and this free frame is now allocated to higher priority process 

causes of thrashing and how to overcome thrashing

In other words we can say that as the memory fills up, process starts to spend a lot of time for the required pages to be swapped in, again  CPU utilization becomes low because most of the processes are waiting for pages.

(C) How to overcome thrashing?

In previous section we found the causes of thrashing. Now in this section of this thrashing tutorial we will see how to eliminate thrashing. Here we will study about the technique or methodology used to reduce the thrashing. In order to prevent thrashing in operating system at first we need to know that how many frames as they really is needed by a process at any time. There is a technique known as working-set model which is used to reduce the causes of thrashing in operating system.

Thrashing technique starts by looking at how frames a process is actually using. This techniques specify a locality model for process execution. According to locality model when a process executes, it moves from locality to locality. Here the term locality represents a set of pages that are actively used together.

(D) Working set model in thrashing

In this part of this thrashing tutorial,  I will discuss about working set model explanation which is a technique to reduce the thrashing in os. Working set model  is based on assumption of Locality. This model used a parameter Δ defines the working-set window. 

The concept is to checking the most recent Δ page references. Working set is a set of pages available in the most recent Δ  or sometime also known as  an approximation of the program's locality.

If the page is in active use it will be in the working set. If it is no longer being used it will dropped from the working set Δ time units after its last reference. So working set is an approximation of program’s locality.

(E) Working set model example

In this section of thrashing tutorial we will understand the concept of  working set model with the help of an example consider the sequence of memory references shown in following Figure.

how to eliminate thrashing
If 6 = 10 memory references, then the working set at time t1 is {1, 2, 5,6, 7}. At time t2, the working set has changed to {3, 4}.

The accuracy of the working set depends on the selection of 6. Because assume that 6 is too small,then it will not encompass the whole locality; but if 6 is too large, then it may overlap several localities.

Main property of working set is its size. If we compute the working-set size, WSS for each process in the system, we can then consider that where D is the total demand for frames that each process is  using the pages in it's working set. Thus process i needs WSS frames.

If the total demand is greater than the total number of available frames (D > m), then it will cause thrashing to occur, because in this case some processes will not have enough frames. Once  has been selected we can use this model easily.

Here the role of operating system is that the operating system monitors the working set of each process and after that it allocates to that working set enough frames to provide it with its working-set size.

If  we have sufficient extra frames, then another process can be initiated. Here it is important to remember that If the sum of the working-set sizes increases and it is exceeding the total number of available frames then operating system selects a process to suspend.

The process's pages are swapped out, and its frames are reallocated to other processes and the suspended process can be restarted later.

(F) Conclusion

So as a conclusion we can say that  working-set model prevents thrashing in os while keeping the degree of multi programming as high as possible. In this way it optimizes CPU utilization.

Main problem with the working-set model in os is keeping track of the working set. Because working-set window is a moving window and at each memory reference, a new reference appears at one end and the oldest reference drops off the other end.A page is in the working set if it is referenced anywhere in the working-set window.

Friends I hope that this thrashing tutorial is helpful to you in understanding the thrashing concept.your suggestions, comments are really valuable for us, to improve the tutorial quality. So give your feedback. 



addressing modes types,1,advance-java,2,aktu entrance exam,1,aktu exam schedule,1,ASP,1,bare machine,1,base register and limit register,1,C Programming,18,C Plus Plus,1,c programming notes for gate,18,C programming Tutorials,8,Cache Memory,1,Childcare,1,CJ,1,Cloud Computing,1,CN,4,Computer Architecture,2,Computer architecture based questions for gate exam,11,Computer architecture Tutorials,1,Computer Network,3,Computer Network Study Material,2,Computer network study material for gate,1,Computer Networks,10,Computer networks gate questions with answer,3,computer networks notes,1,computer networks tutorial,1,Computer Science Study Material for Gate,13,computer science study material for gate exam,17,contiguous memory allocation,2,Core Java,3,cyber crime report,1,Cyber crime status,1,cybercrime and security,1,cybercrime examples,1,data communications and networking,1,Data Structure,2,Data Structure Questions,1,Data Transmission Architecture,1,Data Transmission in wsn,1,database normalization,1,dbmas study material,1,DBMS,8,dbms gate questions with answer,1,dbms multiple choice questions with answers for gate,1,dbms question paper,1,DE,1,Digital Electronics,1,DS,4,Electroencephalogram,1,ER diagram Tutorial,1,Gate 2017,3,Gate 2017 Admit card,1,GATE 2020,1,gate cse c programming questions,10,gate cse study material,2,gate cse syllabus,2,gate practice set,7,gate questions on c programming,10,gate study material for computer science,14,Gate study material for computer science 2017,1,gate study material for cse,46,General,3,HCL Aptitude Test,1,HR Interview Questions,1,HTML,4,Important Date of Gate 2017 Exam,1,Information Security Policy,1,internal and external fragmentation,1,Java Tutorials,3,JDBC,2,JDBC Tutorial,1,JS,1,memory fragmentation,1,memory management,1,memory management questions and answer in os,1,Motivational,4,NCER,1,Numerical Techniques Lab,1,OOT,1,Operating System,6,Operating System Gate Questions,2,Operating System Objective Questions,4,Operating System Questions Bank,1,operating system study material for gate exam,11,operating system tutorial notes,8,Operating System tutorials resident monitor,1,page swapping,1,paged memory allocation,1,paged memory allocation in operating system,1,Regression testing,1,relocation register,1,routing table,1,Software Engineering,10,Software Engineering baes study material for gate,1,Software Quality Assurance,3,software verification methods,1,Stack,1,Study Material for gate Computer Science,5,swapping in memory management,1,swapping in operating system,1,TCS Code Vita,1,TCS Interview Questions,1,Technical Interview,1,Technical Questions from DBMS,1,Tips to Learn Coding,1,UML,1,Virtualization,1,What is process control block ?,1,what is software testing?,1,Wireless Sensor Network,3,worst fit algorithm for memory allocation,1,XML,2,
Computer Science Junction: What are the Causes of Thrashing and how to overcome Thrashing in Operating System
What are the Causes of Thrashing and how to overcome Thrashing in Operating System
This tutorial covers the concepts of thrashing in os. In this thrashing tutorial I am going to discuss about what is thrashing and causes of thrashing and how to overcome thrashing in os.
Computer Science Junction
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share. STEP 2: Click the link you shared to unlock Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy