RX0346

Domínio: Execução

Mensagem de erro

um processo recusou a faixa %s: uma faixa é 25, 50 ou 100 (porcento do quantum), e nada arredonda para o ponto mais próximo

Na mensagem, %s marca um valor que o motor preenche quando levanta o erro.

A história

Você criou um processo com o campo strip, e o motor recusou o valor, dizendo que a faixa só pode ser vinte e cinco, cinquenta ou cem. Vamos entender. A faixa, ou strip, é a prioridade do processo: a porcentagem do quantum, a fatia de tempo, que ele recebe. Com cem, ele recebe a fatia inteira de vinte e cinco milissegundos. Com cinquenta, doze e meio. Com vinte e cinco, seis e um quarto. Só esses três pontos existem. Se você escrever vinte, zero, setenta e cinco ou cento e um, o motor recusa, e faz isso antes de o processo nascer, então nenhum gtr e nenhum heap ficam para trás. Ele também não arredonda para o ponto mais próximo, e a antiga faixa de um a cem acabou. Os três pontos só tornam mais provável que as fatias de processos diferentes coincidam, sem garantir. Um exemplo: você escreve strip setenta e cinco. A correção é escolher cinquenta ou cem. Lembre também que um filho nunca nasce acima da faixa do pai, e que o spawn com argv não aceita faixa. A mensagem mostra o valor que você escreveu.

Texto do catálogo de erros do motor do Rush.