Data de postagem: 08/06/2020 14:06:48
Veremos agora, uma parte do nosso estudo é que essencial para uma compreensão geral de todo este conteúdo. Estudaremos termos como Processos, Núcleo (Kernel), Interpretador de Comandos (Sheell), Chamadas de Sistemas (system calls), Endereçamento de Memória, Memória Virtual e Entrada e Saída.
Fique atento e preocupe-se que nenhum destes conceitos passe sem sua compreensão.
Durante todo tempo que o Sistema Operacional estiver em funcionamento, vários programas podem estar funcionando. Só em você clicar duas vezes em um ícone para fazer funcionar um programa que irá reproduzir as músicas favoritas de sua lista, fará que este programa seja carregado até ficar pronto para seu uso.
Programa é o fruto de uma série de instruções elaboradas por um programador (você já começou o estudo desta ação) que depois de compilada (traduzida para linguagem de máquina) ficará pronto para ser utilizado pelo usuário final.
Frente a este cenário, processo é resumidamente o programa em execução pelo Sistema Operacional. Mais, não é simplesmente um programa em execução, no caso de dois usuários executando o mesmo programa (usando um servidor, por exemplo) pode gerar dois processos distintos, ou em um único programa em execução, vários processos podem ser originados. Então, para facilitar seu entendimento, imagine a seguinte situação real:
Você resolve ouvir suas músicas favoritas (como no exemplo acima), enquanto o som toca você carrega seu navegador de Internet e começa a acessar seus e-mails. Antes de ler o primeiro e-mail novo você recorda que prometeu gravar um CD com os arquivos de suas aulas (Apresentações, vídeos, músicas, textos e atividades) para seu aluno e começa a fazer isto. Você carrega o programa bate-papo e volta a ler seus e-mails.
Em todas as ações descritas acima, você executou basicamente quatro processos (tocador de música, navegador WEB, gravador de CD/DVD e bate-papo) e o Sistema Operacional estar organizando o acesso à memória principal e o uso do processador decidindo parar a execução de um dos processos (gravando as orientações na memória principal para continuar depois) e iniciar a de outro até quando o usuário decida fechar algum. Todos estes processos em execução ou suspensos são gravados em tabelas de processos que ficam geralmente armazenados nos registradores.
Todas estas mudanças no processo em quanto em execução são divididas em três estados: Pronto (ready), Execução (running) e Espera (wait).
Sobre o texto retirado de sua apostila de Sistemas operacionais responda a questão a seguir:
1. Defina:
a) Programa - _____________________________________________________________________________________________________
b) Processo - _____________________________________________________________________________________________________
c) Estado -________________________________________________________________________________________________________
d) Sistema Operacional- ________________________________________________________________________________________
· EXECUÇÃO (RUNNING): É quando um processo está sendo processado pela CPU. Suas orientações são mandadas para o processador pelo Sistema Operacional para que haja a leitura das linhas de programação e suas instruções sejam armazenadas na memória principal para ficar pronto para o uso.
· PRONTO (READY): Depois de executado todas as instruções de um programa e armazenadas na memória principal, o processo fica pronto. Este é o momento que o processo tem todas as condições lógicas de executar e fica aguardando ser executado pelo Sistema Operacional que decidirá qual processo pronto irá ser executado no momento. Este sistema de espera e envio de processos para execução é conhecido como escalonamento.
· ESPERA (WAIT): É quando um processo fica aguardando alguma orientação externa para funcionar. Uma resposta da placa de vídeo, ou uma liberação de memória, uma impressora ocupada com outras impressões, são exemplos de situações que deixam um processo em espera.
Durante toda execução de um processo ele pode mudar constantemente de estado de acordo com as circunstâncias, mas as mudanças não são aleatórias e muito menos acontecem a qualquer momento. Vejamos as quatro possíveis mudanças dos estados de processo:
Note no gráfico acima que o processo quando em espera nunca volta para o estado de Execução e quando o processo está em estado de Pronto ele não retorna para estado de Espera logo, deduzimos que existem basicamente quatro mudanças de estado de um processo:
EXECUÇÃO -> PRONTO | PRONTO -> EXECUÇÃO | EXECUÇÃO -> ESPERA | ESPERA -> PRONTO
Conforme o texto:
2. Descreva com suas palavras quando ocorre cada estado do processo:
a) Estado de processo em execução:
b) Estado de processo pronto:
c) Estado de processo em espera:
3. Quais as mudanças de estado do processo e quando ocorrem?
Quem nunca sofreu com algum programa que parou de responder e que tampouco quer ser encerrado, que atire a primeira pedra. É muito comum encontrar programas com problemas de execução que, depois de um tempo, simplesmente param de funcionar e obrigam os usuários a apelar para o Gerenciador de Tarefas a fim de forçar o encerramento do aplicativo.
Em alguns casos, no entanto, o computador está com tantos processos em andamento que até mesmo o Gerenciador de Tarefas para de responder, e aí começa o maior causador de danos nos sistemas operacionais. Causa de danos? Mas por quê?
A reação mais comum quando o computador demora muito para responder é reiniciar a máquina. Claro que em alguns casos não há outra solução senão bater no botão e começar tudo de novo.
Mas, quando ainda há processos sendo executados na máquina e você reinicia o computador “na força”, isso pode fazer com que os arquivos de sistema que estavam sendo utilizados sejam corrompidos, fazendo com que o sistema operacional não inicie corretamente.
O que poucos usuários sabem é que existe outra maneira de “matar” os processos que estão causando lentidão na máquina. Apesar de ser um pouco mais trabalhosa, se comparado ao Gerenciador de Tarefas, é muito eficiente e com a vantagem de consumir menos recursos gráficos do computador.
Qual a outra maneira?
A alternativa citada acima diz respeito a um comando que pode ser executado no prompt do Windows e que acaba de vez com o processo. Quer aprender como faz? Então vamos lá!
1- Clique no menu Iniciar e escolha a opção “Executar”. Na janela de execução que aparecer, digite “cmd” e aguarde até que a linha de comando do Windows seja aberta (a famosa tela preta).
2- Agora, na linha de comando, escreva “tasklist.exe”, pressionando a tecla “Enter” logo em seguida.
3- Uma lista com todos os processos que estão sendo executados, bem como seus números de identificação, será mostrada na tela. Procure pelo processo que deseja encerrar e anote seu número de identificação.
4- Números anotados, é hora de cortar o mal pela raiz. Ainda na linha de comando do sistema, digite “taskkill /PID NUMERO_PROCESSO /F”, onde NUMERO_PROCESSO corresponde ao número anotado anteriormente. O /PID é necessário para avisar o sistema que o processo será encerrado com base em seu número de identificação, enquanto que o /F é para forçar o encerramento do programa.
5- Após escrever o comando, tecle “Enter” e aguarde até que a mensagem de sucesso seja exibida. Pronto, processos encerrados! Rápido não?!
Vale a pena ficar sabendo:
Para que você não precise digitar várias vezes o mesmo comando, utilize as setas direcionais para cima e para baixo para navegar através dos comandos que já foram usados. Assim, é só você alterar o número de identificação do processo e pressionar a tecla “Enter”.
Sobre o artigo acima responda as questões a seguir:
4. Se um programa travar o que posso fazer para resolver o problema?
5. Qual o comando para listar os processos em execução no MS Windows?
6. Qual o comando para encerrar processos em execução no MS Windows?
7. O que é PID e para que serve?