[so] [Tema4][Linux] Testul 8
Mihail Costea
mihail.costea2005 at gmail.com
Thu Apr 26 23:16:52 EEST 2012
Am inteles.
Deci chiar daca un proces X ii expira cuanta, el intra in READY inainte ca
scheduler-ul sa fie rulat. Astfel daca el are prioritatea cea mai mare tot
el va rula.
Am crezut ca daca e preemptat fiindca i-a expirat cuanta atunci el nu va
mai fi considerat pentru alegerea din READY.
2012/4/26 Irina Preșa <irina.presa at gmail.com>
> On Thu, Apr 26, 2012 at 10:15 PM, Mihail Costea
> <mihail.costea2005 at gmail.com> wrote:
> > Deci ar trebui ca P4 sa ruleze inainte de P2.
> >
> > Toata problema provine din faptul ca P1 da signal pe DEV0 (unde sunt
> blocate
> > P3 si P4) inainte ca P2 sa dea wait pe DEV1 (pe care va da P4 signal ceva
> > mai incolo, moment in care imi pica testul).
>
> Cum ziceam mai sus, P1 nu ajunge să ruleze _deloc_, până nu dă P2 wait
> pe DEV1. E și un comentariu acolo în test "no one should have ran
> until now" (În fine, aproape nimeni, pentru că P3 și P4 apucă să
> ruleze wait-urile prin care se blochează). Atâta timp cât și P1 și P2
> sunt available pentru rulat (adică READY), P1 nu va putea să ruleze în
> locul lui P2 (deoarece P1 are prioritate mai mică). Chiar dacă P2 este
> deplanificat când îi expiră cuanta, tot el este replanificat apoi, nu
> P1.
>
> > Totul se intampla asa:
> > 1. P2 executa ultimul exec, ii expira cuanta si trece in READY
> Îi expiră cuanta, trece în READY, deci poate fi replanificat.
> > 2. P1 executa signal pe DEV0, deblocheaza pe P3 si P4 care trec din
> WAITING
> > in READY (acum avem P2, P3 si P4 in READY)
> NU. Dintre P1 și P2 va fi ales tot P2, că are prioritate mai mare.
> Deci P1 nu apucă să ruleze în punctul ăsta.
>
> --
> Irina
> _______________________________________________
> http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so/attachments/20120426/712c8a9b/attachment.htm>
More information about the so
mailing list