Pode um único núcleo de um processo de cpu mais de um processo?

2

Este é o raciocínio da minha pergunta: eu li isso em um livro de texto “Cada CPU (ou núcleo) pode estar trabalhando em um processo de cada vez.”

Suponho que isso costumava ser preciso, mas não é mais verdade. Como o multi threading funciona nisso? Ou isso ainda é verdade, pode um núcleo de cpu no linux ainda só funciona em um processo de cada vez?

    
por Oscalation 03.02.2016 / 03:10

2 respostas

3

Uma única CPU lida com um processo de cada vez. Mas um "processo" é uma construção de um sistema operacional; o sistema operacional chama a reprodução de um vídeo no VLC como um único processo, mas na verdade é composto de várias instruções individuais. Portanto, não é como se uma CPU tivesse a tarefa de reproduzir um vídeo e tivesse que descartar tudo o que estava fazendo. Uma CPU pode executar a tarefa de reproduzir um vídeo → passar para a verificação de entrada de teclado ou mouse → desenhar algumas coisas na tela → verificar se os dispositivos foram conectados em qualquer porta conhecida → e assim por diante. Tudo em um piscar de olhos.

Os computadores modernos são excelentes em multitarefa. É por isso que você pode iniciar um vídeo no VLC e reproduzi-lo continuamente, mesmo que o seu computador esteja fazendo 100 outros trabalhos "ao mesmo tempo".

    
por 03.02.2016 / 03:25
-1

Acredito que um processo thread único (programa) será restrito à execução em um único núcleo da CPU, mesmo se estiver sendo executado em um sistema com uma CPU multi-core.
Se um processo é multithreaded e está sendo executado em um sistema com uma CPU multi-core, a execução de threads individuais pode ser transferida para diferentes núcleos da CPU e, portanto, o programa pode se beneficiar do processamento paralelo. Eu acho que quando o CPU muliti-core apareceu pela primeira vez no início dos anos 2000, muitos programas ainda tinham uma única arquitetura de thread e, portanto, não viam nenhum benefício de desempenho do CPU do muliti-core. Embora o sistema em geral possa se beneficiar, ele pode executar outros processos nos outros núcleos de CPU.

    
por 03.02.2016 / 04:58