bom pessoal então vamos lá na aula passada fizemos aquela aula teórica né sobre processos é um conteúdo denso então agora a gente vai fazer aqui vou demonstrar aqui na prática né Eu fiz um vídeo e eu vou narrar que o que que tá acontecendo mas você pode replicar aí tá então vamos lá bom Lembrando aqui que como você se você fez né a instalação do wsl na penúltima aula né Você pode clicar no menu iniciar vai aparecer um íconezinho do Ubuntu é só clicar lá que ele vai abrir um terminal Linux e você pode fazer
junto comigo aqui tá bom então vamos lá é desconsidere os nomes tá não se importe em querer saber porque que tá em azul e sei lá o que tá isso aqui é tudo questão de estilo e é uma máquina minha então vai ter algumas características do meu usuário tá e no seu vai claramente estar diferente mas tudo bem bom então ó aqui eu tô instalando uma um software vou fazer a instalação no software mas antes eu vou atualizar Deixa eu voltar aqui o vídeo eu vou atualizar o APT para instalar um aplicativo aqui que eu
quero utilizar tá vou demonstrar aqui para vocês então tudo app update ele vai pedir a senha aqui eu não acabei executando porque eu já tinha atualizado Então você percebe que é você percebe que eu parei aqui mas Dá um enter ali ele vai pedir seu usuário vai pedir sua senha Então você digita a senha ele vai fazer atualização do update do APT ele vai atualizar os pacotes E aí depois ó sudo aptim install tá Dá um enter ele vai perguntar se você quer de fato instalar você aperta YZ e vai tá aqui eu tô cancelando
Porque eu já tenho instalado não queria demonstrar então H top tá digita lá o comando H top e ele vai abrir aqui para você uma telinha parecida com essa que eu tô demonstrando aqui agora tá o h top ele é muito parecido com o top do sistema tá do Linux só que esse aqui eu achei que era mais didático para mostrar para vocês porque ele tem cor etc Tá o que que tá acontecendo aqui pessoal aqui são todos os meus processos do sistema tá Então como que tá o consumo de memória o Swap né de
memória o que não tá sendo utilizado na memória vai para o disco ou quando a minha memória fica cheia né coisas menos utilizadas né dados informações né processos menos utilizados vão para o disco para uma área que aqui no Linux a gente chama de área de Swap tá no Windows isso aqui é o tal da paginação então dados que estão na memória e que não estão sendo utilizados vão para o disco E aí se você requisitar né imagina que você tá lá com Word aberto a 30 dias que não usa e tá fazendo outras coisas
ali Muito provavelmente ele vai para a área de Swap se a sua memória tiver cheia tá E aí se você dá um Alt Tab nele e continuar editando ele vai lá no disco tira do disco volta para memória é aquele processo Continua em execução tá e aqui ó tá demonstrando aqui três quatro processadores tá então é uma máquina que tem quatro processadores aqui tá uma máquina virtual com quatro processadores que eu tô demonstrando para vocês tá beleza outra aba aqui eu vou criar um arquivo vou criar aqui com o editor vir vou criar um arquivo
de texto aqui que eu vou chamar de meu documento tá bom então vim meu documento ponto TXT e tá tudo bem Não importa a extensão aqui mas só coloquei para ficar de idade tá aperto e para dar o incerto de editar tô editei aqui o meu arquivo e agora eu vou dar uma olhada nos processos tá lembra que eu falei então que aqui no Linux ou no sistemas baseados em Onix né O que a gente usa para ver os processos Claro na interface gráfica tem alguma forma de ver os processos assim como gerenciador de processo
do Windows Claro que sim mas você vai perceber que na grande maioria das vezes a gente vai usar o terminal tá a linha de comando ela muito mais eficiente tá então aqui ó tô executando o PS tá com a parâmetro ao X essa linhazinha reta né que é um tracinho reto ou que a gente chama de Pipe tá se ele deve lembrar que eu falei um pouco de Pipe lá nas aulas passadas né até demonstrei alguma coisa acho que tinha uma imagem né com uma demonstração sobre o Pipe fica aqui a demonstração real então o
que que esse Pipe tá fazendo ele tá canalizando tá eu peguei o resultado do PS canalizei para um outro comando tá eu falei isso de Pipe lá nas primeiras nas primeiras aulas após a história de so Tá e canalizou isso para quem né então o Pipe como um cano real né canalizou isso para o grap que vai executar que um filtro tá então eu tô pegando o conteúdo do PS vou filtrar e vou procurar só o que interessa E no caso o que me interessa é o vinho tá E aqui olha a resposta que eu
tive Então pessoal o grape né então tem aqui duas dois resultados tá então grape menos menos color vim o que que isso aqui significa tá significa que quando eu fiz esse Pipe GAP né ele setor aqui né a uma opção de color né então o grape aqui é um malhas a gente não vai falar sobre isso tá Não vamos entrar fundo nisso aqui você vai descobrir isso mais para frente mas esse comando grape né que tá lá no barrabinha assim né como ele é um executável ele tá lá né eu falei isso na aula passada
mas aqui ele é um Aliens tá então quando eu tô digitando grape na verdade eu tô digitando grap menos menos color tal tal como eu pesquisei vim e aqui eu fiz um grep com vinho Então veio o meu o meu próprio GAP né apareceu aqui como processo ó então ele tava com esse processo 96045 Então tava aqui o meu usuário tá meu usuário número do processo e demais informações que não interessam muito agora tá mas o que me o que importa mesmo que eu gostaria de de ver e o que eu vou manipular nesse vídeo
é o processo 95 928 tá que é o processo do vinho Olha que o vinho o mesmo comando que eu fiz na tela anterior ali né então eu digitei vim meu documento XT para abrir um documento novo para eu começar a editar e ele está aqui tá então vou dar play aqui vamos seguir o vídeo tá então aqui eu tô mostrando esses dois processos tá do mesmo usuário mas com números de processo diferente tá então o grape é um quando de ter o grep o foi gerado um processo que foi lá para o BCP né
foi para memória o conteúdo né o software do GAP né o programa graph foi para memória né e as instruções foram executadas por isso que ele tá aqui beleza Então agora eu vou fazer aqui um PS3 né para listar listar os processos filho tá deste processo desse processo vim Então olha aqui o que que vai aparecer esse processo vim tem um processo filho então Ó o vinho processo 95 928 que é esse processo aqui em cima tem um processo filho que é o 95 929 ah sempre vai estar em sequência não não necessariamente tá não
necessariamente aqui calhou de estar na sequência porque eu não tinha nada executando não tinha não tava com uma demanda muito alta do sistema beleza bom Então vamos lá tá vamos seguir aqui então aqui eu tava selecionando né para deixar claro aqui para vocês mas a gente vai passar aqui para outra tela então aqui eu voltei para a tela do meu editor eu tô dentro do meu arquivo tá como ó aqui o que eu tentei fazer e eu até deixei esse Ctrl Z tá esse circunflexo Z foi um ctrl+z por que que eu fiz esse control
Z eu fiz o control Z Porque aqui no em Sistemas baseados em Unix né aqui no Linux quando eu faço um ctrl+z mas isso serve para o macross também tá então todos temos baseados em Onix tá quando eu faço control Z o que ele faz é colocar esse meu esse meu processo esse meu software ele suspende ele tá ele fica parado e vai para um segundo plano só que ele fica parado ele não está sendo executado tá então eu dei o control Z E aí eu corrijo aqui porque ele estava em modo de incerto eu
tive que tirar do modo de incerto então para tirar do modo incerto eu dou um esc ele sai do modo de incerto aí eu dou um Ctrl dei um control Z pronto ó processo foi suspendido a suspender então ele foi bem literal ó o z sh que é o meu Shell que eu tô usando aqui tá suspendeu o meu processo do vim que estava executando Nesse contexto vinho o documento ponte se eu fizer aqui ó o comando Jobs você vai ver que ele vai mostrar um suspender tal tal tá então se eu tivesse mais processos
suspendidos ia ser o dois o três né até infinito né então Jobs vai me mostrar aqui os processos que eu tenho ali em segundo plano né em suspenso em segundo plano beleza bom eu vou voltar ele para o primeiro plano então segundo plano gente em inglês é background primeiro plano é o Ford Ground tá então FG para o primeiro plano IBGE para o segundo plano então FG como eu só tinha um eu não tive que informar tá então FG ele já sabia que era um Se eu tivesse mais de um eu ia colocar lá eu
quero dar um FG no três no quatro né então estava suspenso ele não estava sendo executado não tava recebendo processamento da Minha CPU mas quando eu dei um FG ele voltou para o meu primeiro plano e eu continue editando meu texto né outro texto continue editando tá cara isso aqui é muito legal né você consegue colocar em segundo plano suspender processos ainda na memória tá isso aqui é muito legal com Windows não dá para fazer exatamente assim mas dá para mandar algo para segundo plano só que você não vai ver interface e trabalhar em texto
né terminar no Windows é bem difícil né Então por isso que esses exemplos são mais fáceis e mais didáticos em Sistemas baseados bom Beleza então agora vou deixar o meu processo aberto tá Vou pesquisar aqui de novo para você ver ó que é o mesmo processo tá nada mudou ele ficou suspenso mas o que tava lá no BCP continua só que ele fica suspenso quando eu volto né o sistema operacional pega ele que tá lá no armazenado no disco tá ele saiu da memória ele tá lá no meu disco no meu SSD que seja e
carrega de novo na memória e segue da vida executando da onde eu parei tá bom agora eu quero demonstrar aqui Deixa Eu Voltar para o h top eu quero demonstrar aqui no H top esse processo aqui no meio de outros processos e eu vou mostrar aquela questão de privilegiar de escalonar um processo tá de você dar prioridade para um processo Se não ficar muito claro pensa assim ó tem uma o professor tanbau né que é o autor do livro os temas operacionais moderno né O que é o que a gente utiliza com base para sistemas
operacionais ele deixa um exemplo que é mais ou menos assim bom o pai tá fazendo um bolo tá E aí ele tá lá com a receita do bolo tá pegando os ingredientes de repente chega a criança e fala pai eu caí machuquei o joelho que que o pai vai fazer o pai vai parar naquele momento vai analisar onde ele parou registrar mentalmente que ele parou na etapa x do bolo né E vai escalonar vai escalar privacidade vai escalar o processo da criança né vai dar mais prioridade para o processo da criança porque ele vai atender
a criança ele vai né cuidar da criança então o processo da criança sobe na frente do bolo pai vai lá cuidar da criança quando resolver o problema da força o processo da criança diminui de prioridade porque problema foi resolvido agora sua monitorar e ele volta para prioridade do processo do bolo tá o processo do bolo a receita do bolo o passo a passo é o algoritmo tá os ingredientes né o fazer o bolo é o programa tá e o que o pai tá fazendo ali é basicamente um processo tá então mais ou menos essa analogia
olha aqui o que que vai acontecer eu vou pesquisar aqui estão todos os processos tá não vou mostrar todos os processos porque você também não vai não vai entender mas eu vou pegar aqui ó e vou filtrar Então pessoal ó aqui na H top então eu vou procurar o vinho tá vai ficar essa linha aqui do player aqui porque eu tô mexendo o mouse eu tô pausando tá então vai acabar ficando por cima mas está translúcido dá para ver não vai ser tão ruim assim ó então vou dar um play aqui eu vou dar um
serchi tava apertar ali o F3 e vou procurar o vinho ó tá vendo vim e ele achou o meu processo tá tá aqui na linha em laranja Eu dei um pausa aqui agora então Player ficou na frente mas você pode ver ali que tá a linha laranja tá então nota que a prioridade se tá 20 Então você vai falar assim nossa prioridade é 20 né então é muita prioridade não o 20 Positivo né é uma prioridade mais baixa o 20 negativo é uma prioridade mais alta tá então a prioridade ele é muito baixa é a
menor que tem aqui beleza e aí eu vou dar play aqui de novo e o que que eu vou fazer eu vou alterar a prioridade desse cara aqui tá é como se fosse o filho que o joelho machucado da história anterior tá então vou dar um rinais só renaise é um comando que eu vou utilizar não vou explicar isso aqui tá só se atenha que é o momento mas se quiser procura aí para dar uma procura na internet tá que tá valendo então vou dar um rinance vou apontar aqui a prioridade que eu quero nesse
processo 95 928 Então vou colocar menos 20 porque o cara prioridade mais alta menos 20 vou colocar o número do processo aqui acabou aparecendo na telinha Então não é o processo ele vai pedir o surdo né eu preciso executar com surdo então ele vai pedir a senha do meu usuário porque algo que o sistema entende que para fazer isso precisa ser administrador né então vou editar minha senha aqui e aí ó ou de maior né então ele pegou mudou a prioridade tá para menos 20 vou voltar lá na tela do H top deixa ele voltar
lá na tela do H top aí olha lá já tá aqui ó como eu fiz o renaise tá ele mudou aqui né deu zero na prioridade e o Nice eu não vou explicar o que são esses conceitos mas ele aumentou a prioridade aqui do meu do meu processo tá esses conceitos pessoal são conceitos do Linux tá então eu tô deixando eles mais aberto aqui não vou explicar eles aqui agora para vocês beleza aqui tá organizado por prioridade tá então vou dar aqui o play nota que outros processos ó tem um processo aqui embaixo né embaixo
do vinho que é um processo que tem menos 11 e é um processo de áudio tá que é um Demon ó tá vendo não sei o que menos menos Dimon por esse áudio lá lá menos menos dimam né então ele é um Demon relacionado a áudio e para o meu sistema né ele entende que isso tem uma prioridade Acima da Média né então se vai até 20 até 11 tá acima da média porque é áudio áudio é interessante mas também não é extremamente Vital Mas é uma prioridade muito interessante tá Então tá aqui aí agora
vou voltar naquela telinha e mudar novamente a prioridade tá então aqui ó mostrando aqui né as prioridades né fiz aqui uma ordenação mas eu vou voltar lá e vou alterar tá Então vou dar um rimar esse novamente volta ele é para zero para zero não desculpa para 20 né que a menor prioridade olha aqui aqui eu tava com uma ordenação eu fiz um sorte aqui embaixo fiz o f6 aqui o sorte para ordenar por prioridade tá então estava ordenado por prioridade nota aqui já sumiu daqui porque a prioridade é voltou para zero tá o Nice
foi para 20 então ele colocou lá embaixo tá diminuiu a prioridade desse meu vinho que é o correto né na verdade ó Então tá aqui ó prioridade dele né tá lá embaixo né e aqui eu vou matar o processo tá então um processo pode ser finalizado né que eu tô demonstrando que ele pode ser finalizado você clicando lá no xizinho ou arquivo sair quite Close né enfim o comando que tiver lá na interface gráfica ou você pode matar o processo tem várias formas de finalizar um processo essa que eu fiz aqui uma forma bem abrupta
né ele não finaliza o processo da forma como deveria ele simplesmente corta o processo joga fora tá então fiz aqui só para encerrar o processo e agora pesquisar novamente o processo não existe tá só existe o processo do grape porque eu acabei de pesquisar ele aqui só para contextualizar eu vou procurar aqui agora o processo só para mostrar os Jobs não tem nada mas eu vou mostrar aqui um processo do Firefox ó eu tenho um Firefox aberto tá só uma única aba padrão é um Firefox em modo de privacidade que é esse processo 65 105
olha Quantos processos filho ele tem aqui ó e só tem uma aba aberta agora vou fazer um PS3 aqui para você ver Quantos processos ele tem aqui aberto tá não PS3 procurando né fazendo um crepe no meu Firefox Olha a quantidade de processos que ele tem aberto o único Firefox aí você tem lá o teu navegador cheio de água aberta e não quer computador fique lento né ele fica né não tem jeito né então quando a gente fala assim ah tal navegador consome muita memória pesado é por conta disso tá cada aba aberta e essa
é uma única aba aberta tá tem um monte de processo aberto aqui se eu abrir outras Abas eu vou aumentar exponencialmente o número de processos tá então cada aba vai abrir um número de processo isso é um código reintrante tá quer dizer usa funções né se um outro usuário abre um Firefox Claro que vai subir um Firefox para memória mas o reentrância aqui ó está no fato de que para eu abrir uma nova aba eu não preciso subir um novo Firefox né ele vai subir novas processos ainda ligados ao processo pai mas eu posso executar
as funções do Firefox numa outra aba e uma aba não implica na outra e são um exemplo de reentrância tá e para fechar aqui eu vou fazer um outro exemplo abrir um htop só para demonstrar né mostrei aqui a prioridade aqui do Firefox também uma prioridade baixa mas para fechar aqui só para fechar aqui eu tô mostrando os processos do root do administrador do sistema para vocês verem né que tem vários Demons aqui né de nomes esquisitos porque o usuário não precisa saber bom e para fechar essa essa prática pessoal eu vou fazer aqui mais
uma demonstração deixar só sincronizar com o vídeo então abrir o h top aqui e eu coloquei uma comercial Olha o que que aconteceu ele colocou um na frente aqui colocou um número esse número é o número do processo desse H top e suspendeu tá então eu coloquei uma H top em segundo plano e agora eu vou abrir aqui o Jobs ó Então tá suspenso em segundo plano mas olha só o que que tá suspenso tty altitude tá o output desse cara está suspenso mas só ele eu já vou explicar de novo isso aqui tá e
eu dei acabei executando um top para mostrar a diferença tá do htop para o top perceba que o top é bem mais simples tá então vou abrir aqui de novo um htop para ficar mais didático e aqui no htop eu consigo procurar pelo top Então você vai ver aqui que tem aquele meu piait que tá suspenso Olha aqui que tem um tezinho vermelho e não se importa muito com essas letras agora e tem um outro um outro top aqui ó então eu executei duas vezes o mesmo binário então subiu duas vezes para memória ele não
é implante tá e agora eu vou voltar esse H top que eu coloquei em segundo plano eu vou voltar ele para Primeiro Plano Então vou voltar a dar um FG nele ele voltou mudou aqui para S Mas qual a diferença desse para o ctrl+z quando eu coloquei o e Comercial ele foi para segundo plano mas ele suspendeu o output na minha saída padrão o funcionamento do software tava em plena execução então ele não estava suspenso e não o software se não foi suspenso né ele não foi jogado para o disco ele continua em memória e
continua em execução só que o output dele estava suspenso ou seja o resultado na saída padrão Mas o que ele faz as funções que ele executa estava em plena em execução tá E aí quando eu voltei ele para primeiro plano Voltou ao altitude né por isso que aqui as flags são diferentes mas o software Continua em execução normal tá então a diferença do control Z tá quando eu dei o ctrl Z ele realmente suspendeu parou né ele bloqueou ali e ficou esperando um evento externo para voltar lembra lá dos Estados de processo quando eu coloco
um e Comercial ele foi para o segundo plano né que aquela história que eu falei assim será que dá para colocar em segundo plano um processo foi o que eu fiz então daria para colocar qualquer processo em segundo plano e manter ele em execução tá então foi essa demonstração tá tem mais coisas sobre processo tem mais coisas para se fazer mas aqui a ideia não é exaurir esse assunto tá é só de fato fazer uma contextualização mais didática com aquele assunto que é um pouco mais denso beleza bom pessoal por hoje é isso tá nas
próximas aulas a gente vai falar continuar falando de processo mas a gente vai entrar em trads que é outro assunto denso mas a gente vai quebrar mais ou menos assim beleza então valeu muito obrigado e até a próxima aula