Sistemas Operacionais

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais Aula II
Advertisements

Profa. Priscila Facciolli
Alessandro D. R. Fazenda
Prof. Paulo Barreto O hardware são as partes concretas de uma máquina, como o gabinete, o teclado, o mouse, a impressora, o disco.
HARDWARE (Parte II). 2 Hardware – Memória  Componente de um sistema de computação cuja função é armazenar informações que são (ou serão) manipuladas.
Administração de Sistemas Operacionais 1 -Windows Processos Curso Técnico em Redes de Computadores Prof. Emerson Felipe.
Linguagem de Programação – Aula 03 Prof. Me. Ronnison Reges Vidal.
Redes de Computadores 5º Semestre Aula 13 Prof. Carlos Vinícius SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA.
Princípios de Desenvolvimento de Algoritmos MAC122 Prof. Dr. Paulo Miranda IME-USP Variáveis e Atribuições.
“Modelo de Camadas OSI e TCP/IP ” Nataniel Vieira
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA
Fundamentos de Sistemas Operacionais
Sistemas Operacionais de Rede
Aula 7 - Endereçamento IP
Diagrama de Sequencia Prof. Thales Castro.
Introdução ao OpenMP Open MultiProcessing.
Márcio Soussa Estrutura de Dados Márcio Soussa
Escalonamento Circular com propriedades
Comandos da Linguagem C
Estruturas de Repetição
Administração de Gerência de servidores
Linguagem C Para programadores Python
Módulo I Capítulo 3: Fluxo de Código e Operador Condicional
Prof. Wellington Franco
Administração de Sistemas Operacionais I
CPU.
Tema 5 – Arquitetura de Banco de Dados
Arquitetura e organização de computadores
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
Sistemas Operacionais
Prof. Wellington Franco Manipulação de Arquivos em C
Classes e Objetos Aula 11/08/2014.
SISTEMAS OPERACIONAIS
Funções de um computador
Arquitetura de Computadores
PIT – PROGRAMA INTERNO DE TREINAMENTO 2015
FUNDAMENTO DE PROGRAMAÇÃO
Endereçamento IP.
Arquitetura de Computadores
INTRODUÇÃO À COMPUTAÇÃO PARALELA
BANCO DE DADOS II.
Diagramas de Sequência
Algoritmos e Programação MC102
Organização de Computadores
Programação.
Boot Post CMOS,BIOS Setup Virtualização Sistema Operacional
ESCOLA ESTADUAL TÉCNICO INDUSTRIAL PROFESSOR FONTES
Organização básica de arquivos
Curso Técnico em Informática
Organização de Computadores
Sistemas operacionais
FUNDAMENTOS DA GESTÃO DE PROCESSOS Business Process Modeling Notation
Informática Básica Introdução a informática básica FUNCIONAMENTO
Introdução à Programação INF Programação I
Arquitetura de Sistemas Operacionais
MEMORIAS RAUL DIAZ ROSAS.
Introdução à Lógica Programável
Algoritmos Prof.: Carlos Alberto
Introdução à lógica de programação utilizando Scratch Aula 3
ALGORITMOS.
Estágio supervisionado na CECAE
ALGORITMOS.
RISC vs. CISC Introdução
Informações do preenchimento de cada lacuna do termo de referência
Rafael Duarte Alexandre Mota [rmd,
Introdução a progrmação Comandos condicionais: if e switch
SISTEMAS DISTRIBUIDOS
RESULUÇÃO DOS EXERCÍCIOS E
SISTEMAS DISTRIBUIDOS
Transcrição da apresentação:

Sistemas Operacionais Processos

Pergunta Como vários "programas" podem rodar simultaneamente em um computador se ele possui um único processador? (ou menos processadores ou núcleos – "cores" – do que o número de programas em execução)

Resposta Multiprogramação O processador é chaveado entre diversos programas dando a cada um algumas dezenas de milissegundos de processamento produzindo a ilusão de paralelismo ("pseudoparalelismo"). Árdua tarefa do sistema operacional: tratamento das múltiplas atividades realizadas em pseudoparalelismo.

Multiprogramação e a ilusão de paralelismo

O Modelo de Processos Todos os programas que rodam em um computador (o sistema operacional, inclusive) são compostos de um conjunto de processos.

O Modelo de Processos PROCESSO = instância de um programa em execução + seu contexto (formado por: valores das variáveis + valores dos registradores do hardware(Program Counter - PC, Stack Pointer - SP) + recursos (lista de arquivos abertos, alarmes pendentes, listas de processos relacionados, etc.) Um processo é essencialmente um contêiner de informações necessárias para executar um programa.

O Modelo de Processos PROGRAMA = arquivo contendo um conjunto de informações que descrevem como construir um processo.  Estas informações incluem: Identificação do formato binário: o formato do arquivo executável que permite ao kernel interpretar as demais informações contidas no arquivo; Instruções em linguagem de máquina: representam o algortimo do programa;

O Modelo de Processos (Cont.) Endereço de entrada do programa: identifica a localização da instrução na qual a execução do programa deverá começar; Dados: valores usados para inicializar as variáveis e constantes; Tabelas de símbolos e de relocação: localização e nomes das funções e variáveis de um programa; Informações de bibliotecas compartilhadas e linkagem dinâmica: lista de bibliotecas dinâmicas necessárias ao programa. Outras informações que descrevem como o processo deverá ser construído.

O Modelo de Processos Processo Conceito fundamental para todos os SOs. Ambiente onde se executa um programa. Um processo é basicamente um programa em execução.

Tabela de Processos O SO materializa o processo através de uma tabela, chamada tabela de processos Cada entrada da tabela é chamada de bloco de controle do processo (Process Control Block - PCB). Um PCB é responsável por manter todas as informações referentes a um determinado processo.

Tabela de Processos Essas informações são: Ponteiros. Estado do processo. Prioridade do processo. Limites de memória. Registradores Estado de seus arquivos abertos. Lista de arquivos abertos. Contabilidade do processo no uso de recursos. Outras informações relevantes ao processo.

O que é um Processo Um processo é uma atividade (ou tarefa) de um programa, que contém o código e dados de uma atividade. Essas são: leitura de dados, escrita de dados, cálculos no processador, comunicação com o usuário, comunicação com um BD, comunicação com a rede interna ou externa, entre outras.

O que é um Processo Um trecho de código em execução em uma máquina. É a unidade de processamento concorrente que um processador sob um SO pode processar. Pode-se determinar como processo o programa e todos os recursos englobados por ele, assim como tudo que estiver ligado a esse software para encontrar o resultado esperado.

O que é um Processo Um processo é uma entidade a nível de kernel, que possui um espaço de endereçamento. O único modo para seu programa acessar dados na estrutura (contexto) de um processo, consultar ou mudar seu estado, é via uma chamada de sistema.

O que é um Processo Identificado pelo seu PID (Process Identifier). Unix (anos 70) foi construído para executar processos.

Contexto de Processo Um identificador do processo (PID). Um segmento de código. Um segmento de dados. Os valores dos registradores da CPU. Um contador de programa lógico. Uma pilha de execução. O estado do processo. Informações para escalonamento (prioridade, tempo) Dados para contabilização de uso. Recursos alocados: arquivos, portas, eventos, outros.

Dois processos partilhando a CPU conceito realidade context switch

Estados do Processo Em um sistema multiprogramável, um processo passa por uma série de estados, durante a sua existência.

Estados do Processo Existem três estados em que um processo pode se encontrar no sistema: Pronto: um processo já se encontra pronto para executar, entretanto o processador está sendo ocupado por outro processo. Execução: um processo está efetivamente ocupando o processador para seu processamento. Bloqueado/Espera: um processo está no estado de bloqueio/espera quando aguarda a ocorrência de determinado evento para continuar sua execução.

Estados do Processo Um processo pode estar bloqueado por dois motivos: O processo está pronto para executar, porém não há ainda alguma entrada disponível para permitir essa execução. Exemplo: Um comando está pronto para ser executado, mas precisa de parâmetros de entrada para sua execução. O processo estava processando, necessitou realizar alguma operação de E/S, desocupou o processador, e está aguardando a retomada do processador.

Estados do Processo Mudanças de Estados Um processo muda de estado diversas vezes, durante o seu processamento, em função de eventos gerados por ele próprio (eventos voluntários) ou pelo sistema operacional (eventos involuntários). Basicamente, existem quatro mudanças de estado que podem ocorrer a um processo:

Estados do Processo Mudanças de Estados Pronto Execução 2 1 3 4 Bloqueado Pronto 1 2 3 4

Estados do Processo 1. Execução  Bloqueado/Espera: Um processo em execução passa para o estado bloqueado ou de espera por eventos gerados pelo próprio processo. Exemplo: Espera por uma operação de E/S. 2. Execução  Pronto: Um processo em execução passa para o estado de pronto por eventos gerados pelo sistema. Exemplo: Fim da fatia de tempo (time-slice) que o processo possui para sua execução.

Estados do Processo 3. Pronto  Execução: Processo que estava na lista de processos pronto passa a ser executado pelo processador. Quando um processo é criado, o sistema o coloca em uma lista de processos no estado pronto, onde aguarda uma oportunidade para ser executado, a partir do momento que “ganha” a CPU passa para o estado de execução.

Estados do Processo 4.Bloqueado/Espera  Pronto: Um processo no estado de espera passa para o estado de pronto quando a operação solicitada ou o recurso é atendido. Um processo no estado de espera sempre terá que passar pelo estado de pronto antes de ser executado novamente. Não existe a mudança do estado bloqueado para o estado de execução diretamente.