Multiprogramação Deixar uma máquina Linux rodando.

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

Processos e Threads Processos.
Profa. Priscila Facciolli
Prof. João Paulo de Brito Gonçalves
Gerência de Processos no Linux Prof. Antônio Rogério Ramos Pelo menos esse, fui eu que fiz!!!
Arquitetura de Sistemas Operacionais
Processos Conceitos Básicos.
Prof. André Luis Meneses Silva
Sistemas Operacionais
Processo Entidade dinâmica e efêmera
Tornar mais eficiente o aproveitamento dos recursos do computador
Disciplina: Sistemas Operacionais Professor: Cristiano Mariotti
Sistemas Operacionais c
Computação L1: Infra-Estrutura Básica
Prof. Alexandre Monteiro Recife
Administração de Sistemas Operacionais Não Proprietários 2ºSemestre Aula 05 Prof. Carlos Vinícius SERVIÇO NACIONAL DE APRENDIZAGEM.
Sistemas Operacionais
Introdução O que se espera de um sistema de computação?
Prof. Werley T. Reinaldo 26/05/  Sistemas Operacionais:  Visão geral  As diferentes imagens do SO:  Visão Usuários;  Visão Projeto.  Multiprogramação;
S ISTEMAS OPERACIONAIS PROCESSOS Horácio Ribeiro.
Infra-Estrutura de Software
Sistemas Operacionais
Capítulo 2 Processos e Threads 2.1 Processos 2.2 Threads
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais Prof.: Gustavo Wagner FATEC-PB.
Sistema Multiutilizador
Curso: Tecnólogo em Redes de Computadores Disciplina: Sistemas Operacionais Profª: Cristiane Machado de Vargas G ERÊNCIA DE R ECURSOS : GERÊNCIA DO PROCESSADOR.
Administração de Sistemas Operacionais 1 -Windows Processos Curso Técnico em Redes de Computadores Prof. Emerson Felipe.
Professor: Felipe Lopes M. Faria Disciplina: Sistemas Operacionais 1.
Sistemas Operacionais
Gerência de Arquivos.
A sigla TIC significa Tecnologias de Informação e Comunicação.
ab SISTEMAS OPERACIONAIS ab
Fundamentos de Sistemas Operacionais
Administração de Sistemas Operacionais Não Proprietários 2º Semestre Aula 09 Prof. Carlos Vinícius SERVIÇO NACIONAL DE APRENDIZAGEM.
Arquitetura de Computadores-S.O.
Diagrama de estado Higo Vale Kleber Baingo
Criação: Caroline Brasileiro Atualização: Laura Matos
SISTEMAS OPERACIONAIS
INSTITUTO FEDERAL DO CEARÁ Mauro Oliveira
SISTEMAS OPERACIONAIS AULA 01 - Introdução aos Sistemas Operacionais
Criação de Usuários/Grupos
A sigla TIC significa Tecnologias de Informação e Comunicação.
Administração de Gerência de servidores
Especificação de Caso de Uso
Sistemas Operativos Multiprogramação; Multiplexação; Memória Física; Memória virtual; Trabalho/Job - Processo/Process/Task - Thread.
TRABALHO REALIZADO POR Fábio Rodrigues, Sandro Garcia, Rafael Lourenço
Diagrama de Atividade Prof. Thales Castro.
Administração de Sistemas Operacionais I
ADMINISTRAÇÃO DE REDES DE COMPUTADORES
INTRODUÇÃO A COMPUTAÇÃO
SISTEMAS OPERACIONAIS
INTRODUÇÃO A COMPUTAÇÃO
Sistemas Operacionais
INSTITUTO FEDERAL DE SERGIPE
Projeto Integração Atualização de Sistema Apresentação CTRA14
MEMORIAS.
Sistemas operacionais
Programação Estruturada Aula 1 Prof. Jorge Barreto Julho 2018.
Envio de marketing Programa e-marketing Envio de marketing.
Sistemas Operacionais Aula 3
Estrutura do Sistema Operacional
Sistemas Operacionais
Nova CMB.
Instalação e Manutenção de Computadores Técnico em Informática MAI1
Curso básico de PHP. 1 Vantagens: Gratuito Multiplataforma Estável Rapidez Comunicação.
Conceito de Hardware e Software. Hardware Hardware – São os dispositivos físicos de um Computador (placas mãe, memorias auxiliar e principal, periféricos.
BANCO DE DADOS.
Excel 2013 Prof. André Aparecido da Silva
Instrutor: Joel Raitz Antunes Projeto: Comunidade Digital Curso: Informática Básica/Noturno/UAB CETAM 2019/MAUÉS/AM.
Transcrição da apresentação:

Multiprogramação Deixar uma máquina Linux rodando

Multiprogramação Técnica que possibilita a melhor utilização do hardware e nos dá a visão de simultaneidade na execução dos processos da máquina

Torna eficiente o aproveitamento dos recursos do computador MULTIPROGRAMAÇÃO Torna eficiente o aproveitamento dos recursos do computador Execução "simultânea" de processos Diversos programas são mantidos na memória

TERMINAL - TOP Utilitário que apresenta dados sobre os processos em execução

GUI – Gerenciador de Tarefas (Windows) Utilitário que apresenta dados sobre os processos em execução

CONCEITOS NECESSÁRIOS

Proteção entre processos MULTIPROGRAMAÇÃO Processo Interrupção Proteção entre processos

1. PROCESSO

Entidade dinâmica que altera seu estado a medida que sua execução avança

Processo e Programa Processo != Programa

Programa é uma entidade estática que trata-se apenas de um conjunto de instruções

PROCESSO - CONCEITO (1/2) Abstração que representa um programa em execução Diferentes instâncias Um programa pode ter várias instâncias (processos) em execução 1 Programa pode ter várias execuções (processos) com valores de execução diferentes

PROCESSO - CONCEITO (2/2) Forma pela qual o Sistema Operacional "enxerga" um programa e possibilita sua execução Processos executam: Programas de usuários Programas do S.O. (deamons)

Experimente no TiaoMacale3 ou outro Linux # Lista processos ps aux # Parâmetro -e apresenta processos sem vínculo com o terminal - Deamons ps -e

Experimente no TiaoMacale3 ou outro Linux O utilitário top também pode ser utilizado para visualizar os processos em execução # Lista processos em execução top # Filtrando as colunas a serem apresentadas no Linux basta pressionar a tecla “F”, para setar o filtro de exibição. Teste!

PROCESSOS Linux Em execução

Atividade no TiaoMacale3 Analise o manual, faça testes, e identifique a diferença entre o PR e NI do top. # Inicializando o processo com valor de prioridade # O valor do nice deve estar entre -20 e 19 nice -n <prioridade> <nome do processo>

Atividade no TiaoMacale3 Eventualmente tem-se alguns processos com prioridade rt. Investigue e identifique o que significa.

PROCESSO - CICLO DE VIDA

Ciclo de vida Criação Momento da execução ("click") Execução Todo o ciclo de execução do processo Término Finalização do processo

Experimente no TiaoMacale3 Procure no manual do utilitário top os parâmetros corretos e liste apenas o nome do processo, seu id e seu estado. # Listar manual man top

Chamada de sistema - fork CRIAÇÃO Momento da execução Chamada de sistema - fork Pode estar associada a uma sessão de trabalho Ex: login:usuario+senha→shell (processo) Identificado por um número único (PID)

Experimente no TiaoMacale3 Procure no manual do utilitário top os parâmetros corretos e liste apenas o nome do processo, seu id, seu estado e quem é seu processo pai. # Listar manual man top

Experimente no TiaoMacale3 Execute o top e procure as informações de quem são os pais dos processos em execução. Caso não encontre, procure no 'F' por alternativas.

TERMINAL - TOP Linux PPID representa o Parent Process ID Note que o PID 1 é o processo init, o processo "pai de todos"

Vamos testar mais uns parâmetros para o utilitário top

Experimente no TiaoMacale3 e identifique as funcionalidades top -d 1 top -d 5 top -n 2 top -n 7 top -u root

Experimente no TiaoMacale3 # Define o tempo de atualização top -d 1 top -d 5 # Limite o número de atualizações top -n 2 top -n 7 # Lista os processos de um usuário top -u root

Ciclo de E/S (entrada e saída) Espera por conclusão de algum evento EXECUÇÃO (1/3) 2 ciclos básicos Ciclo de processador Espera por CPU Ciclo de E/S (entrada e saída) Espera por conclusão de algum evento

CPU → E/S: Chamada de sistema E/S → Ocorrência de evento (interrupção) EXECUÇÃO (2/3) O primeiro ciclo é sempre de processador (CPU) Trocas de ciclos CPU → E/S: Chamada de sistema E/S → Ocorrência de evento (interrupção)

Ciclo de CPU > ciclo de E/S I/O bound EXECUÇÃO (3/3) Classificação de processos CPU bound Ciclo de CPU > ciclo de E/S I/O bound Ciclo de E/S > ciclo de CPU

Final de instruções (normal) Por erro TÉRMINO Final de instruções (normal) Por erro Proteção, aritmético, E/S, tentativa de execução de instrução inválida, falta de memória, exceder tempo limite Intervenção de outros processos (kill - taskkill) Log off de usuário

RELACIONAMENTO ENTRE PROCESSOS

RELACIONAMENTO ENTRE PROCESSOS (1/2) Processos independentes Não se relacionam Grupo de processos Apresentam algum tipo de relacionamento Ex.: Afiliação (Hierarquia) Podem compartilhar recursos

RELACIONAMENTO ENTRE PROCESSOS (2/2) Hierarquia de processos Criador é "pai", criado é "filho" Representação através de uma árvore Evolução dinâmica

Discussão! E quando um processo que tem um filho é morto? O que acontece com os filhos?

ESTADOS DE UM PROCESSO RC-M

Após criado, o processo necessita entrar em ciclo de processador Estados de um processo Após criado, o processo necessita entrar em ciclo de processador Hipóteses: Processador não está disponível Vários processos sendo criados O que fazer? Criação de uma fila de APTOS

Modelo simplificado de dois estados Fila de processos aptos Processos aguardando processador Escalonador Atribui o processador ao processo da fila Pode prevenir a monopolização do processador

TERMINAL - TOP Note a coluna 'S' "S" representa State, e tem como principais estados: R - Executando S - Dormindo Z - Zumbi

MODELO DE 5 ESTADOS

Executando (Running) Apto (Ready) Bloqueado (Blocked) Criação (New) Estados de um processo Executando (Running) Apto (Ready) Bloqueado (Blocked) Criação (New) Destruição (Exit)

Necessidade de trabalhar com FILAS

Suspensão de processos (1/2) Processador é mais rápido do que operações de E/S Possibilidade de todos os processos estarem bloqueados esperando por E/S Liberar memória ocupada por processos Swap (descarga em disco)

Suspensão de processos (2/2) Pode estar em duas situações Bloqueado com processo em memória Bloqueado com processo em disco Necessidade de novos estados Bloqueado suspenso Apto suspenso

Por que suspender um processo?

Solicitação do usuário (CTRL + Z) Temporização Razões para suspender Swapping Solicitação do usuário (CTRL + Z) Temporização

MODELO DE 7 ESTADOS

Vamos conhecer mais alguns utilitários que manipulam processos...

Experimentos # ? top& jobs fg 1

Experimentos # Executa o top em segundo plano top& # Verifica processos em segundo plano jobs # Traz para primeiro plano o processo pelo ID # identificado no "jobs" fg 1

Experimentos Execute o editor de texto nano, e experimente sair dele com CTRL+C. Refaça o experimento e saia com CTRL+Z. top # ? CTRL+Z CTRL+C

Experimentos Execute o editor de texto nano, e experimente sair dele com CTRL+C. Refaça o experimento e saia com CTRL+Z. top # Joga a execução para segundo plano e libera o terminal. Com jobs o processo pode ser resgatado CTRL+Z # Interrompe a execução do processo CTRL+C

Experimentos Analise o manual, teste, e identifique a diferença entre o utilitário kill e killall # ? kill ? killall ?

Experimentos Analise o manual, teste, e identifique a diferença entre o utilitário kill e killall # Envia um sinal para o processo com o especificado PID Kill -<SIGNAL> <PID> # Envia um sinal para os processos com o nome especificado Killall -<SIGNAL> <PID>

Utilize kill -l para visualizar todos os sinais que podem ser enviados para o processo

Vamos experimentar alguns sinais Experimentos Vamos experimentar alguns sinais

Experimento Execute o nano em segundo plano e depois envie um sinal de término. Execute o utilitário jobs e verifique se o processo ainda consta. nano& killall -<SIGNAL> <NAME> jobs

Qual o motivo do processo ainda estar vivo? Experimento Execute o nano em segundo plano e depois envie um sinal de término nano& Killall -15 nano ou killall -SIGTERM nano jobs Qual o motivo do processo ainda estar vivo?

Tragam o processo para primeiro plano e observem o que acontece Experimentos Tragam o processo para primeiro plano e observem o que acontece

Qual foi a diferença? Quando devo utilizar o -9? Experimento Repita o experimento, mas agora enviando um sinal de kill (-9) nano& Killall -9 nano ou killall -SIGKILL nano jobs Qual foi a diferença? Quando devo utilizar o -9?

Experimento # ? pgrep -u <usuario> Pkill <signal> -u <usuario>

Experimento # Lista o PID de todos os processos do usuário especificado pgrep -u <usuario> # Envia um sinal para todos os processos do usuário especificado. Experimente o -9 no user root pkill <signal> -u <usuario>

Atividade! Investigar utilitários básicos e utilitários para gerenciamento de arquivos

Preencher