O POSIX define o comutador de contexto?

5

Um POSIX switch de contexto está bem definido? É a mesma coisa que trocar threads em C? O compilador C pode gerar tudo para um comutador de contexto ou a programação de montagem ainda é necessária para uma rotina que alterna os threads ou alterna o "contexto"? Existe mesmo definido o que se entende por "contexto" - não é o mesmo que um segmento?

    
por Niklas Rosencrantz 06.05.2016 / 20:02

1 resposta

3

O POSIX usa o termo alternância de contexto para pelo menos dois propósitos diferentes, sem tentar defini-lo rigorosamente (ou mesmo fornecendo uma definição):

  • alternando entre threads e
  • alternando entre processos

Em vez disso, POSIX assume que você já sabe o que o termo significa. Por exemplo,

3.118 CPU Time (Execution Time)

The time spent executing a process or thread, including the time spent executing system services on behalf of that process or thread. If the Threads option is supported, then the value of the CPU-time clock for a process is implementation-defined. With this definition the sum of all the execution times of all the threads in a process might not equal the process execution time, even in a single-threaded process, because implementations may differ in how they account for time during context switches or for other reasons.

Leitura adicional:

por 07.05.2016 / 00:43

Tags