Cooperative Scheduling vs Preemptive Scheduling? : <p>In the book <em>Core Java : Volume 1 Fundamentals -> chapter MultiThreading</em> . </p>

<p>The Author wrote as follows :</p>

<blockquote>
  <p>"All modern desktop and server operating systems use preemptive
  scheduling. However, smaller devices such as cell phones may use
  cooperative scheduling...."</p>
</blockquote>

<p>I am aware of the definitions/workings of both types of scheduling , but want to understand  reasons why cooperative scheduling is preferred over preemptive in smaller devices.</p>

<p>Can anyone explain the reasons why ? </p>
