Boa tarde, pessoal.
Não sei se é aqui o lugar adequado para fazer esta pergunta, mas como se trata de softwares de um modo geral, acho que você não se importarão em me ajudar.
Gostaria de saber qual a diferença entre softwares e processos. Dizem que processo é um programa em execução mas nos lugares que li sobre isso(internet) parece que há uma diferença entre eles só que não ficou claro para mim. Se alguém puder me ajudar a entender isso, agradeço muito.
[RESOLVIDO]Pergunta sobre processos e softwares
7 Respostas
Um pacote de programas pode precisar de vários processos para executar corretamente, ou então, o que é mais bizarro, pode simplesmente rodar dentro de algum outro processo (pense em um vírus, por exemplo).
Tá mas…
E?
Me desculpe mas não entendi onde você quis chegar.
Então há uma diferença entre software e processo, mas qual é?
Um processo é uma cópia do programa, viva, dentro do processador, sendo gerenciada pelo sistema operacional, ocupando a memória do computador, além de escrever e ler dados nela.
Um programa (software que você menciona), no contexto que você está dizendo, é a cópia estática do artefato gerado depois do processo de compilação. O programa não faz nada, ele só faz alguma coisa quando vira um processo, ou seja, quando entra em execução.
Como o bezier curve disse, um pacote de programas pode precisar de vários processos para funcionar. Um sistema operacional terá diversos processos para funcionar, onde vários programas terão vários processos. Uma suite de automação de escriotórios (Office) tbm. Uma suite gráfica (Adobe) também. Outros programas podem ter apenas um processo, mas podem ter diversos “subprocessos” (threads e fibers) rodando “ao mesmo tempo”. Um vírus, como mencionado, pode estar dentro de um processo “comum” e você não o verá no gerenciador de processos do SO, visto que os vírus normalmente se copiam dentro de programas e quando estes entram em execução (virando um processo) o vírus vai executar junto.
[]'s
Cara é bem simples: o software é simplesmente o e executável da aplicação e as suas dependências. Já um processo é o software em execução na sua máquina,que no caso do java é executado dentro da JVM,que é responsável por intermediar qualquer chamada que o seu software em execução (processo) faz para o sistema operacional,e nisso também existem as threads,que são sub-processos ou tarefas internas executadas dentro da aplicação. Recomendo que estude sobre sistemas operacionais,se quiser uma referência procure por Sistemas Operacionais Modernos do Andrews Tanembaum,que aprofunda bastante o assunto.
Um processo é uma cópia do programa, viva, dentro do processador, sendo gerenciada pelo sistema operacional, ocupando a memória do computador, além de escrever e ler dados nela.
Um programa (software que você menciona), no contexto que você está dizendo, é a cópia estática do artefato gerado depois do processo de compilação. O programa não faz nada, ele só faz alguma coisa quando vira um processo, ou seja, quando entra em execução.
Como o bezier curve disse, um pacote de programas pode precisar de vários processos para funcionar. Um sistema operacional terá diversos processos para funcionar, onde vários programas terão vários processos. Uma suite de automação de escriotórios (Office) tbm. Uma suite gráfica (Adobe) também. Outros programas podem ter apenas um processo, mas podem ter diversos “subprocessos” (threads e fibers) rodando “ao mesmo tempo”. Um vírus, como mencionado, pode estar dentro de um processo “comum” e você não o verá no gerenciador de processos do SO, visto que os vírus normalmente se copiam dentro de programas e quando estes entram em execução (virando um processo) o vírus vai executar junto.[]'s
Agora sim entendi, muito obrigado.
