A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções.

Apresentações semelhantes


Apresentação em tema: "Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções."— Transcrição da apresentação:

1 Processos 1 Processos

2 Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções que são executadas, em geral sem compartilhar o seu próprio espaço de endereçamento virtual; ; Um programa/job pode necessitar de vários processos até seu término.

3 Processos 3 Processos ; Um comando simples (ls por exemplo) será executado por apenas um processo; ; O administrador tem a incumbência de monitorar o status dos processos, controlar quanto do tempo da CPU um processo gasta, enviar sinais para um processo e suspender sua execução quando necessário.

4 Processos 4 Componentes de um Processo ; Espaço de endereçamento Código do programa e variáveis usadas Código do programa e variáveis usadas Pilha do processo Pilha do processo Outras informações necessárias Outras informações necessárias ; Estruturas de dados internas ao kernel Localização do espaço de endereçamento Localização do espaço de endereçamento Status corrente Status corrente Prioridade de execução Prioridade de execução Informações acerca dos recursos usados Informações acerca dos recursos usados A máscara de sinal do processo A máscara de sinal do processo Identificação do proprietário Identificação do proprietário

5 Processos 5 Tipos de Processos ; Processos interativos S o inicializados e controlados por uma sessão de terminal S o inicializados e controlados por uma sessão de terminal Executados em foreground Executados em foreground A Estão ligados a um terminal para entrada e saída de dados Executados em background Executados em background A Não estão ligados a nenhum terminal ; Daemons São processos servidores, geralmente inicializados no boot da máquina (background) São processos servidores, geralmente inicializados no boot da máquina (background)

6 Processos 6 Atributos dos Processos ; Process ID (PID) Associado pelo kernel Associado pelo kernel Único no sistema Único no sistema ; Parent Process ID (PPID) ; Prioridade (Nice Number) Número atribuído ao processo e que influencia o cálculo da sua prioridade interna Número atribuído ao processo e que influencia o cálculo da sua prioridade interna ; TTY Normalmente é o terminal onde o seu processo foi iniciado Normalmente é o terminal onde o seu processo foi iniciado

7 Processos 7 Atributos dos Processos ; Real and Effective User ID (UID, EUID) A UID: Aquele que criou o processo A EUID: Usado para determinar o direito de acesso do processo aos recursos do sistema (setuid) ; Real and Effective Group ID (GID, EGID) A Mapeados no /etc/group Quando um processo é inicializado, o GID é configurado para o mesmo do processo pai Quando um processo é inicializado, o GID é configurado para o mesmo do processo pai A EGID: Análogo ao EUID em relação ao UID

8 Processos 8 P1 fork PID 10PID 356 Ciclo de Vida de um Processo ; fork Cria uma cópia idêntica ao processo pai, mas com outro PID, PPID do pai, cópias próprias dos descritores de arquivo e contabilidade própria. Cria uma cópia idêntica ao processo pai, mas com outro PID, PPID do pai, cópias próprias dos descritores de arquivo e contabilidade própria.

9 Processos 9 P1 P2 exec PID 34 Ciclo de Vida de um Processo ; exec Muda o contexto do processo que está sendo executado Muda o contexto do processo que está sendo executado Inicializa os segmentos de dados e pilha para Inicializa os segmentos de dados e pilha para um estado inicial pré-definido um estado inicial pré-definido

10 Processos 10 Ciclo de Vida de um Processo ; Exemplo: PID 563 fork PID 424 PID 1 PID 424 PID 563 init getty login sh grep exec

11 Processos 11 Estados possíveis dos processos ; O: running - o processo está sendo executado; ; R: runnable - esperando apenas por tempo de CPU; ; S: sleeping - esperando o término de um evento específico; ; Z: zombie - o processo terminou e o pai não está esperando (está tentando morrer); ; T: stopped - está proibido de executar.

12 Processos 12 Comando Exit ; Notifica o kernel que o processo vai morrer ; Libera espaço de endereçamento ; Não fornece mais tempo de CPU ; O PID ainda não é liberado ; Chamada de sistema wait

13 Processos 13 Iniciando vários processos com & ; lp report & [1] 1746 ; netscape & [2] 1750 ; Os processos são iniciados e rodam em segundo plano

14 Processos 14 Entrada e Saída Padrões ; Em unix um processo é automaticamente aberto com três arquivos abertos: stdin Entrada padrão stdin Entrada padrão stdout Saída padrão stdout Saída padrão stderrSaída de erro padrão stderrSaída de erro padrão

15 Processos 15 Iniciando vários processos com | O símbolo | é chamado de pipe (canal) O símbolo | é chamado de pipe (canal) ; Estabelece um canal entre dois processos ; Por exemplo: ls | wc -l ls | wc -l ; A saída padrão do comando ls é transferida para a entrada padrão do comando wc (conta palavras) ; Forma geral comando | comando | comando... comando | comando | comando... ; Todos os processos são iniciados ao mesmo tempo e são filhos do shell atual

16 Processos 16 Redirecionando entradas/saídas ; < símbolo usado para redirecionar a entrada de um comando da entrada padrão para um arquivo mail sarah < info mail sarah < info ; > símbolo usado para redirecionar a saída de um comando da saída padrão para um arquivo ls -la > lista.txt ls -la > lista.txt cat > dados.txt cat > dados.txt

17 Processos 17 Redirecionando cont ; >> usado para acrescentar ou adicionar informações em um arquivo já existente date > diretorio date > diretorio ls | sort >> diretorio ls | sort >> diretorio mail -s meus arquivos admin < diretorio mail -s meus arquivos admin < diretorio

18 Processos 18 Monitorando Processos ; O comando ps informa: PID, UID, prioridade e terminal de controle PID, UID, prioridade e terminal de controle Tempo de CPU, memória utilizada, etc. Tempo de CPU, memória utilizada, etc. ; Exemplo: % ps -aux /* System V: ps -ef */ USER PID %CPU %MEM SZ RSS TT STAT START TIME COMMAND root co O 8:38PM 5:38.12 ps - marcio p0 S 8:38PM 0:00.00 /usr/bin/csh root ?? T 8:35PM 0:00.06 sche...

19 Processos 19 CampoSignificado USERNome do usuário dono do processo PIDProcess ID %CPUPorcentagem da CPU que o processo está usando %MEM Porcentagem da memória real sendo utilizada SZ Tamanho virtual do processo (kb) RSSNúmero de páginas (1K) na memória TT ID do terminal de controle STAT Status corrente do processo: STARTHora que o processo foi inicializado TIMETempo de CPU que o processo consumiu COMMAND Nome do comando e argumentos R - Runnable I - Sleeping (<20 sec) T - Stopped D - In disk wait S - Sleeping (>20) Z - Zombie Monitorando Processos

20 Processos 20 ps - opções comuns a seleciona todos, com a tty exceto líderes a seleciona todos, com a tty exceto líderes amostra processos de outros usuários e seleciona todos os processos e seleciona todos os processos emostra ambiente após comando h mostra sem cabeçalho l mostra em formato longo l mostra em formato longo rsomente processos rodando xprocessos sem controle de terminal ufornece informações sobre usuário fmostra formato de árvore

21 Processos 21 Exemplos ps ; ps -ef ; ps -aux ; ps -auxl

22 Processos 22 Monitorando Processos ; O programa top (integra alguns UNIX): Provê um resumo dos processos ativos e do uso dos recursos; Provê um resumo dos processos ativos e do uso dos recursos; Amostragem a cada dez segundos (default); Amostragem a cada dez segundos (default); Permite enviar sinais (k); Permite enviar sinais (k); Permite visualizar processos de um usuário (u); Permite visualizar processos de um usuário (u); Permite modificar a prioridade dos sinais (r); Permite modificar a prioridade dos sinais (r); top é de autoria de William LeFebvre, EECS Department, Northwestern University. top é de autoria de William LeFebvre, EECS Department, Northwestern University.

23 Processos 23 Monitorando Processos ; Exemplo: % top last pid: 26330; load averages: 0.01, 0.01, :29:51 80 processes: 1 running, 79 sleeping CPU states: 0.4% user, 0.0% nice, 0.4% system, 1.6% interrupt, 97.7% idle Mem: 29M Active, 6204K Inact, 14M Wired, 8904K Cache, 6386K Buf, 3660K Free Swap: 128M Total, 34M Used, 94M Free, 27% Inuse PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND 227 root K 80K select 0: % 0.00% httpd marcio K 832K RUN 0: % 0.00% top marcio K 1020K pause 0: % 0.00% csh root K 516K pause 0: % 0.00% office root K 268K pause 0: % 0.00% cron 6061 marcio K 144K wait 0: % 0.00% make 6067 marcio K 140K wait 0: % 0.00% sh 6038 marcio K 140K wait 0: % 0.00% sh

24 Processos 24 Sinais para Processos ; Interrompem a execução do processo ; Enviados através do comando kill # kill -HUP 1823 # kill -HUP 1823 ; O processo Quando recebe, trata o sinal ou então o kernel toma alguma ação default Quando recebe, trata o sinal ou então o kernel toma alguma ação default É reiniciado do ponto onde parou É reiniciado do ponto onde parou

25 Processos 25 Alguns sinais ; SIGKILL (9): Destrói o processo Destrói o processo $ kill $ kill ; SIGSTOP: Suspende até receber SIGCONT Suspende até receber SIGCONT $ kill -s STOP 2102 ; SIGHUP (1): Faz o programa reler o seu arquivo de configuração Faz o programa reler o seu arquivo de configuração É interessante enviá-lo antes de um kill -9 É interessante enviá-lo antes de um kill -9 $ kill

26 Processos 26 Alguns sinais ; SIGTERM (15): Terminação de processo por programa Terminação de processo por programa # kill ; SIGCONT: Continua após receber SIGSTOP Continua após receber SIGSTOP $ kill -s CONT 2102 ; SIGHUP (1): Faz o programa reler o seu arquivo de configuração. É interessante enviá-lo antes de um kill -9 Faz o programa reler o seu arquivo de configuração. É interessante enviá-lo antes de um kill -9 $ kill (#man -s5 signal)

27 Processos 27 Agendando tarefas no Unix - at ; Permite agendar tarefas em tempos determinados ; Pode ser usado por qualquer usuário, se não houver restrições (arquivo /etc/at.deny) at 1:23 at 1:23 lp /usr/vendas/relats/* lp /usr/vendas/relats/* echo Arquivos sendo impressos | mail -s Tudo ok gerente echo Arquivos sendo impressos | mail -s Tudo ok gerente

28 Processos 28 Agendando tarefas - at cont ; at now + 1 DAY ; rm -f -r *.txt echo Removi arquivos texto | mail adriano echo Removi arquivos texto | mail adriano ; D ; at 17:00 DECEMBER 24 ; mail all < feliz_natal.txt ; D

29 Processos 29 Agendando tarefas - at cont ; Resumo do comando At hh:mm At hh:mm A Agenda tarefas para a hora marcada at hh:mm mes dia ano at hh:mm mes dia ano A Agenda tarefas para hora:min mes dia ano at -l at -l A Lista os servios agendados at now + inteiro unidades at now + inteiro unidades A Agenda para daqui a inteiro unidades (MONTH, DAY, etc) at -d id_seviço at -d id_seviço

30 Processos 30 Agendando tarefas - cron ; at é usado para agendar tarefas uma vez ; cron usado para agendar tarefas em bases regulares ; cron começa quando o sistema é inicializado ; Se não há nada para fazer cron fica inativo e verifica a cada minuto se há tarefas para serem executadas nos arquivos crontab

31 Processos 31 Agendando tarefas - crontab crontab [-u user] file ; crontab: Comando usado para incluir tarefas na agenda ; crontab -u adriano file Deve ser usado no primeiro agendamento para criar o arquivo crontab do usuário adriano a partir de file Deve ser usado no primeiro agendamento para criar o arquivo crontab do usuário adriano a partir de file Este arquivo será armazenado em /var/spool/cron Este arquivo será armazenado em /var/spool/cron

32 Processos 32 Agendando tarefas - crontab crontab [-u user] {-l | -r | -e} ; crontab: opções usadas depois que o crontab é criado l lista o crontab atual l lista o crontab atual r remove o crontab atual r remove o crontab atual e edita o arquivo atual usando o editor especificado na variável EDITOR ou VISUAL e edita o arquivo atual usando o editor especificado na variável EDITOR ou VISUAL

33 Processos 33 Agendando tarefas - crontab cont ; Sintaxe dos comandos a serem inseridos no crontab min hora dia-do-mês mês-do-ano dia-semana comando ; Todos os 5 campos de data precisam aparecer ; Campos com * são ignorados ; Formatos Min 00 até 59 Min 00 até 59 Hora 00 até 23 Hora 00 até 23 Dia do mês01 até 31 Dia do mês01 até 31 Mês do ano01 até 12 Mês do ano01 até 12 Dia da semana01 até 07 (segunda 01) Dia da semana01 até 07 (segunda 01)

34 Processos 34 Agendando tarefas - exemplos ; * * 01 sort./vendas/semanal | mail gerente 07:30 h, todo dia do mês, todo mês as segundas envia relatório de vendas ordenado para gerente 07:30 h, todo dia do mês, todo mês as segundas envia relatório de vendas ordenado para gerente ; * * 1-5 mail -s Hoje é um dia útil adriano 10:45 h, todo dia do mês de segunda a sexta avisa que é dia útil 10:45 h, todo dia do mês de segunda a sexta avisa que é dia útil ; 0,30 * 13 * 5 ls -l Toda meia hora às sextas e todas meias horas do 13 dia do mês executa um ls -l e envia o resultado como mail para o usuário Toda meia hora às sextas e todas meias horas do 13 dia do mês executa um ls -l e envia o resultado como mail para o usuário ; 20 1 * * * find /tmp -atime + 3 -exec rm -f {} \; 1:20 remove todos os arquivos de /tmp que não foram acessados nas últimas 72 horas. 1:20 remove todos os arquivos de /tmp que não foram acessados nas últimas 72 horas.

35 Processos 35 Nice Value ; Quanto menor seu valor, maior a prioridade BSD: -19 a 19 BSD: -19 a 19 System V: 0 a 39 System V: 0 a 39 ; Processos recém-criados herdam o valor do pai; ; O comando nice estabelece o valor na criação do processo;

36 Processos 36 Nice Value ; O dono do processo pode alterar este valor via comando renice (BSD) ; Quando necessário, usá-lo para iniciar um shell com alta prioridade ; Exemplo: % ps -l UID PID PPID CPU PRI.... STAT TT TIME COMMAND UID PID PPID CPU PRI.... STAT TT TIME COMMAND R+ p2 0:00.01 ps -l % nice -20 ps -l RN p2 0:00.01 ps -l


Carregar ppt "Processos 1 Processos. Processos 2 Processos ; Abstração do UNIX para gerência de memória, CPU e recursos de I/O; ; É um conjunto de dados e instruções."

Apresentações semelhantes


Anúncios Google