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).
Totul se intampla asa: 1. P2 executa ultimul exec, ii expira cuanta si trece in READY 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) 3. P1 executa scheduler. Intrucat P4 are prioritatea cea mai mare e ales sa fie planificat. 4. P4 executa signal pe DEV1, dar cum P2 nu s-a blocat pe DEV1 => ERROR Daca P2 ar da wait inainte ca P1 sa dea signal atunci nu as avea nici o problema. P.S. Sorry dar asa face gmail automat. La un moment dat trecusem pe bottom posting si au inceput sa zica altii sa trec inapoi pe top posting ca le da peste cap outlook-ul.
_______________________________________________ http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii
