Por que um programa mal comportado pode pendurar todo o sistema? [fechadas]

0

Muitas vezes meu computador fica sem memória ou tem um script muito pesado (digamos, um treinamento de aprendizado de máquina ou uma simples importação de banco de dados) que trava todo o sistema. Não consigo mover o mouse ou interagir com o sistema operacional (exceto por meio de teclas mágicas).

O sistema não deve ser sempre bom, mesmo que algum programa esteja fazendo coisas malucas? Um pouco como ter um site com comportamentos inadequados em um navegador.

Eu sei que isso é um pouco genérico demais, eu só quero saber se isso deveria acontecer / isso foi uma decisão consciente / um problema teórico difícil.

    
por damio 29.09.2016 / 23:02

2 respostas

1

Dependendo dos recursos consumidos pelo seu script, isso pode muito bem ser um comportamento "normal". Você pode tentar renice do (s) processo (s) para uma prioridade mais baixa e, se o IO estiver com falha, consulte ionice .

    
por sebastienvg 29.09.2016 / 23:34
1

A partir de um ponto de vista de design (ou seja, decisão consciente), há quatro razões pelas quais um programa mal-comportado poderia ter permissão para suspender todo o sistema.

  1. Os requisitos de hardware do sistema operacional seriam muito grandes, forçando o usuário a comprar hardware adicional que ele não precisa.

  2. O sistema operacional em si seria muito grande de outra forma.

  3. O sistema operacional seria um recurso diferente.

  4. O sistema operacional seria ineficiente sobre o uso de energia de outra forma.

Corolários:

  1. O Ubuntu não trava com frequência quando é executado em hardware com um processador mais rápido, mais RAM, um SSD em vez de um HDD, etc.

  2. Em geral, os sistemas operacionais mais recentes, projetados para funcionar bem em hardware novo, são suspensos menos do que os sistemas operacionais mais antigos, projetados para serem compatíveis com as limitações do hardware antigo.

por karel 30.09.2016 / 10:21