280 likes | 432 Views
Sistemas Operacionais. Processos. Processos. Conceito: Processos é todo programa carregado na memória do computador para execução + o ambiente onde ele é executado.
E N D
Sistemas Operacionais Processos
Processos Conceito: Processos é todo programa carregado na memória do computador para execução + o ambiente onde ele é executado. Ele é uma entidade abstrata, formada pelos recursos de hardware e pela execução das instruções referentes a um algoritmo sendo executado pelo processador.
Processos Todos os computadores são capazes de fazer várias coisas ao mesmo tempo. • Executar um programa, ler dados do disco exibir mensagens na tela • Tudo sendo executado “ao mesmo tempo” • Esse mecanismo de trocas rápidas é chamado de multiprogramação
Processos Em um ambiente multiprogramado a CPU salta de programa em programa. Cada programa tem uma porção de tempo para ser executado. • Em um segundo a CPU pode trabalhar em vários programas • Falsa ilusão de paralelismo
Processos Algoritmo: Um algoritmo é uma sequência finita de instruções bem definidas e não ambíguas, cada uma das quais pode ser executada num período de tempo finito. Um algoritmo não representa necessariamente um programa de computador, mas sim os passos necessários para realizar uma tarefa.
Processos Algoritmo:
Processos Função "SomaDeValores" variável: SOMA,A,B: inteiro inicio Escreva("Digite um numero") Leia(A) escreva("digite outro numero") leia(B) Soma <- A + B escreva(SOMA) fim Algoritmo:
Processos Processador Unidade de Controle Unidade Lógica Aritmética Dispositivos de entrada e saída Registra-dores Memória Principal Vídeo Disco Teclado Barramento Um processo em execução utiliza os dispositivos abaixo, como disco, memória, processador
Processos Programa x Processo O programa é o algoritmo que expressa uma notação adequada, expressa em um conjunto organizado de instruções em linguagem natural ou codificada O processo é uma atividade desempenhada pela CPU de ler o algoritmo, buscar os dados e executá-los segundo o algoritmo ordena.
Processos Componentes: • Código executável • Registradores • Pilha • Dispositivos alocados • Etc.
Processos Características: • Tempo de execução não constante • Escalonamento • BCP (Bloco de Controle de Processo) • Estrutura de dados que contém importantes informações sobre os processos • Estado • Situação característica na execução de processos
Processos Estados do Processo: • Novo • Criação do contexto do processo • Pronto • Processo apto a ser escalonado e receber o contexto de um processador • Em execução • Processo com controle de um processador • Em espera • Processo quando um evento externo ocorrer • Encerrado • Desalocados os recursos e eliminado o contexto
Processos Cada programa a ser executado é trazido do disco para a memória principal, de onde os dados serão passados para os registradores no processador.
Processos BCPé uma estrutura de dados que contém importantes informações sobre os processos.
Processos Chaveamento (troca) de contexto Quando a posse da CPU é atribuida a outro processo (escalonamento), o sistema salva o estado do processo antigo e carrega o estado do processo novo. O tempo de troca de contexto chama-se sobrecarga • O sistema não realiza trabalho útil enquanto realiza chaveamento • Operação cara (+ ou – 10% do tempo da CPU)
Processos O S.O. gerencia os processos através das system calls que realizam operações como criação, eliminação, sincronização, suspensão de processos, dentre outros.
Processos Criação de Processos: É necessário algum modo de criar e finalizar processos durante a operação e quando for preciso. Os eventos de criação são: • Início do sistema. • Execução de uma chamada ao sistema de criação deprocesso por um processo já em execução. • Requisição do usuário para criar um novo processo • Início de um job programado
Processos Criação de Processos: Muitas vezes um processo em execução cria um outro processo para auxiliar na tarefa desempenhada. • Exemplo –Recebe dados e processar
Processos Criação de Processos: Em sistemas interativos os usuários podem iniciar a criação de um processo • Digitando uma linha de comando • Clicando em um ícone.
Processos Criação de Processos: Tecnicamente, um novo processo é criado por um processo existente executando uma chamada ao sistema de criação de processo. system calls: • Unix: fork • Win32: CreateProcess
Processos Criação de Processos: Quando um SO é carregado, em geral criam-se vários processos. • Processos em primeiro plano • Processos em segundo plano Comandos para vizualização de processos: • No windows Ctrl+Alt+Del • linux/unix o comando ps
Processos Finalização de Processos: Todo processo, depois de iniciado, terá que ser finalizado. A finalização pode ser: • Saída normal (voluntária) • Unix: exit • Windows: ExitProcess • Saída por erro (voluntária) • divisão por zero
Processos Finalização de Processos: A finalização pode ser: • Erro fatal (involuntário) • Compilar um programa que não existe javac teste.java • Cancelamento por outro processo • No Unix: kill • No Windows: TerminateProcess
Processos Próxima Aula: Escalonamento de Processos Obrigado