b.reincarcarea proces
--Algoritmul swapper:
^algoritm swapper /*оncarcг procesele executate, evacueazг alte procese pentru a face loc*/
^intrare: nici una;
^ie?ire: nici una;
{
buclг:
^for (toate procesele evacuate care sunt "ready to run")
^alege procesul care a stat cel mai mult evacuat;
^if (nu existг asemenea proces)
{
^sleep(eveniment: trebuie sг оncarce);
^salt la buclг;
}
^if (este loc suficient pentru proces оn memoria principalг)
{
^оncarcг procesul;
^salt la buclг;
}
/*bucla2 */
^for (toate procesele оncгrcate оn memoria principalг, care nu sunt zombie ?i nu sunt
blocate оn memorie)
{
^if (existг un proces оn a?teptare )
alege procesul pentru care valoarea prioritate+timp de rezidenюг este cea mai
mare;
^else (nu sunt procese care a?teaptг )
^alege procesul pentru care valoarea timp de rezidenюг+nice este cea mai mare:
}
^if (procesul ales nu este оn a?teptare sau cerinюele de rezidenюг nu sunt satisfгcute )
^sleep(eveniment : trebuie sг incarce un proces);
^else
^evacueazг procesul;
^salt la buclг; /*goto buclг 2 */