Uniprocessador vs multiprocessador

"Como os sistemas uniprocessador e multiprocessador funcionam em um sistema de tempo de execução?"

Isso depende do sistema de tempo de execução, do sistema operacional e do aplicativo.

Os sistemas multiprocessadores funcionam da mesma maneira que um uniprocessador funciona quando esse uniprocessador possui um sistema operacional projetado para múltiplas tarefas.

A multitarefa permite que um único processador pareça ser vários processadores PARA OS APLICATIVOS.

A adição de mais processadores altera o sistema operacional - o sistema operacional agora precisa alterar o agendador para gerenciar vários processadores e poder alocar memória e suporte de E / S a vários processadores. Mas para o aplicativo não há nenhuma alteração.

A única vez que o tempo de execução do aplicativo é envolvido é se o aplicativo tiver duas ou mais partes ativas simultaneamente. Agora "ativo" pode significar uma de duas coisas - dois ou mais processadores estão executando o aplicativo ao mesmo tempo E usando a mesma memória. OU o aplicativo possui duas ou mais tarefas simultâneas em processo em um processador E usando a mesma memória.

Nos dois casos, há uma sincronização para acessar a memória necessária; e isso ocorre apenas se as duas ou mais tarefas simultâneas acessarem os mesmos dados. Portanto, é necessário que cada tarefa tenha alguns dados próprios e alguns que sejam compartilhados entre todas as tarefas. Como gravar em um único arquivo, ler em um único arquivo ou enviar / receber dados entre as tarefas ...

Nesse momento, o aplicativo começa a seguir os padrões - e a biblioteca “pthread” está disponível:

Tópicos POSIX - Wikipedia

Depois disso, depende inteiramente do sistema operacional.