Como o Linux lida com vários processos?

3

Sou novo em tecnologias Linux e scripts bash.

Por enquanto, eu tenho um script simples que extrai uma trilha de legenda de um determinado MKV usando mkvextract .

Eu queria saber: se vários usuários estivessem usando esse script (por meio do comando bash, por exemplo) ao mesmo tempo, no mesmo ou em um arquivo mkv diferente, como o Linux reagiria a isso?

Ele cria um "sistema de sequenciamento" sozinho ou processa todos os comandos em paralelo?

    
por Crescendolls 06.04.2016 / 12:32

1 resposta

6

Este é um trabalho para o agendador de processos (veja também this ).

Geralmente, quando você usa qualquer comando, pode-se dizer (sem entrar em muitos detalhes) que você pede ao kernel Linux (think OS) para criar um processo separado que manipule seu trabalho. / p>

Agora, o processo é colocado na fila e, em seguida, todos os processos recebem acesso aos recursos do PC. Isso é tratado por algum algoritmo de agendamento. O mais simples que posso imaginar é FIFO - First in, First out - o primeiro a perguntar é o primeiro que recebe recursos. Você dá recursos por um curto período de tempo, depois coloca de volta na fila.

Quanto ao processamento em paralelo: depende. Geralmente o Linux faz uso de múltiplos núcleos, e você pode dizer que algumas tarefas são feitas paralelamente, mas muitas das tarefas são feitas criando uma ilusão de execução paralela - elas são trocadas tão rápido que você acha que elas são paralelas.

Para responder à sua pergunta completamente: quando você extrai dados, provavelmente é apenas lido, não excluído - portanto, vários comandos no mesmo, ou mkv diferente, que apenas realizam a leitura não devem ser um problema.

Para mais informações você pode procurar no Google "Scheduler", "Linux Scheduler".

    
por 06.04.2016 / 12:43