Buscar

Aula05-Gerenciamento de Processos (1)

Prévia do material em texto

Escola de Arquitetura de Engenharia e TI
Ciência da Computação
Sistemas Operacionais
Sistemas Operacionais
Processo(cont.)
Funcionalidades e 
Gerenciamento
Roteiro
Bloco de Controle
Threads
Scheduling de Processos
Multitarefas.
Funcionalidades e Gerenciamento do SO
Introdução
Máquina Estentida
Gerenciador de Recursos
Necessidade de Gerenciar o SO
Gerenciamento de Memória
Gerenciamento de Arquivos
Gerenciamento de Periféricos
Sistemas de Redes Distribuídos
Segurança
Bloco de Controle do Processo
Cada processo é representado no sistema operacional por um bloco de controle de processo. 
PCB - Process Control Block - também conhecido como bloco de controle de tarefa.
Bloco de Controle do Processo
Um PCB contém muitas informações associadas a um processo específico, a saber:
Estado do processo.
Contador de programa (Program Counter).
Registradores da CPU.
lnformação de escalonamento de CPU.
Bloco de Controle do Processo
Bloco de Controle de Processo
	Estado do Processo
	Número do Processo
	Contador do Programa
	Registradores
	Limites de Memória
	Lista de arquivos abertos
	...
PCB
Threads
O modelo de processo discutido até agora sugere que um processo é um programa que executa apenas um thread.
Como exemplo:
Quando um processo está executando um programa de processamento de texto, um único thread de instruções está sendo executado
Threads
Esse thread de controle único permite que o processo execute apenas uma tarefa de cada vez.
Assim não é possível digitar caracteres e executar o corretor ortográfico dentro do mesmo processo.
Threads
Boa parte dos SO’s modernos permite que um processo tenha múltiplos threads de execução e, assim, desempenhe mais de uma tarefa de cada vez.
Threads
Em um sistema que suporte threads, o PCB é expandido de modo a incluir informações para cada thread.
Scheduling de Processos (Fila)
O objetivo da multiprogramação é ter processos em execução o tempo todo, para maximizar a utilização de CPU.
O objetivo do tempo compartilhado é alternar a CPU entre processos.
De forma tão frequente que os usuários possam interagir com cada programa durante sua execução. 
Scheduling de Processos
Para um sistema uniprocessador, nunca haverá mais de um processo cm execução.
Se houver mais processos, os demais terão de esperar até que a CPU esteja liberada e possa ser reescalonada.
Scheduling de Processos
À medida que os processos entram no sistema, são colocados em uma fila de jobs.
Essa fila consiste em todos os processos do sistema.
Os processos que estão residindo na memória principal e estão prontos e esperando para executar são mantidos em uma lista chamada fila de processos prontos .
13
Scheduling de Processos
Essa fila geralmente é armazenada como uma lista encadeada.
Um cabeçalho de fila de processos prontos contém ponteiros ao primeiro e Último PCBs na lista.
Filas de Scheduling
Estende-se cada PCB para incluir um campo de ponteiro apontando para o próximo PCB na fila de processos prontos. 	
Schedulers
A fila de prontos e várias filas de dispositivo de I/O
Filas de Scheduling
 Diagrama mostrando a alternância da CPU de um processo para outro
Schedulers
Um processo passa por várias filas de scheduling durante o seu tempo de vida.
Para fins de scheduling, o sistema operacional deve selecionar processos nessas filas. 
Multitarefas (tempo compartilhado)
CPU é compartilhada entre os diversos processos.
Uma pequena fatia de tempo é dado a cada processo < 1ms.
Interativo.
Multitarefas (tempo compartilhado)
Capacidade do sistema operacional de manter vários processos ativos ao mesmo tempo.
Timesharing: ilusão de que os processos executam ao mesmo tempo
Multitarefas (tempo compartilhado)
Multitarefas (tempo compartilhado)
Multitarefas (tempo compartilhado)
Multitarefas (tempo compartilhado)
Funcionalidades e
gerenciamentos do so
Conceitos Fundamentais
Introdução
 Definição: “Um programa que age como intermediário entre o usuário de um computador e o hardware” 
Introdução
Hardware
Sistema Operacional
Aplicação
Aplicação
Aplicação
Introdução
Um computador possui softwares de diferentes finalidades:
Alguns são capazes de interagir com o hardware:
Outros são para auxiliar o usuário nas suas tarefas
Software Básico
Software Aplicativo
Introdução
 Atua de duas maneiras distintas:
Máquina Estendida
Gerenciador de Recursos
 Máquina Estendida (Top-Down)
Esconde do usuário a complexidade do hardware.
Interface simples com o usuário, possibilitando rapidez e confiabilidade no acesso aos recurso
Tornar uma tarefa de baixo nível mais fácil de ser realizada pelo usuário;
Esconde detalhes do hardware
Funciona como uma máquina virtual, facilitando a utilização.
 Máquina Estendida (Top-Down)
Ex.: como é feita a entrada/saída de um disco – tarefa: Leitura e Escrita
SO: baixo nível de detalhes
Número de parâmetros;
Endereço de bloco a ser lido;
Número de setores por trilha;
Modo de gravação;
 Máquina Estendida (Top-Down)
Ex.:como é feita a entrada/saída de um disco – tarefa: Leitura e Escrita
Usuário: alto nível – abstração simples
Visualização do arquivo a ser lido e escrito;
Arquivo é lido e escrito;
Arquivo é fechado.
 Gerenciador de Recursos (Bottom-up)
Controla o acesso dos programas aos componentes do sistema.
Processadores, memória, discos, interfaces de rede, etc.
Gerencia os dispositivos que compõem o computador;
Cada programa tem um tempo definido para utilizar o recurso.
Cada programa tem um espaço definido no recurso.
 Necessidade de usar SO
Gerenciamento de processos
Gerenciamento da memória
Gerenciamento de arquivos
Gerenciamento de periféricos e dispositivos E/S.
Ambiente de rede e distribuído
Segurança
 Necessidade de usar SO
Gerenciamento de processos
 Necessidade de usar SO
O sistema operacional é responsável pelo ciclo de execução dos processos: carga, execução e finalização.
Dividir o tempo de processamento entre os processos ativos (escalonamento) – Algoritmos!!!
Prover a comunicação entre processos – Estrutura de dados !!!
Prover a sincronização entre processos – Algoritmos e métodos!!!
 Gerenciamento de Memória
 Gerenciamento de Memória
 
O sistema operacional deve gerenciar a memória disponível no computador
Alocação da memória entre os diferentes processos
Proteção da memória entre diferentes processos
 Gerenciamento de Arquivos
Como armazenar os arquivos de maneira eficiente – Métodos e algoritmos.
Como acessar os arquivos de maneira eficiente – Métodos e algoritmos.
Como prover confiabilidade de armazenamento – Métodos e algoritmos.
Como prover um modelo comum para diferentes tipos de armazenamento – Discos rígidos, cartões de memória.
 Gerenciamento de Periféricos 
Diferentes tipos de periféricos
Dispositivos de entrada
Dispositivos de saída
Dispositivos
Monitor
Teclado
Métodos de acesso
 Sistemas de Redes Distribuídos
Evolução dos Servidores Web.
	Date	Computador	Web Servers	Percentual
	1979, July	188	0	0
	1993, July	1,776,000	130	0,008
	1995, July	6,642,000	23,500	0,4
	1997, July	19,540,000	1,203,096	6
	1999, July	56,218,000	6,598,697	12
 Sistemas de Redes Distribuídos
Evolução dos Servidores Web.
Crescente aumento no número de serviços remotos.
Servidores de arquivos.
Servidores de impressão.
Servidores de autenticação.
 Segurança.
Autenticação de usuários
Proteção e níveis de acesso
Diferentes usuários com diferentes níveis de acesso.
Vírus e proteção do sistema operacional.
APS
Programa SOsim.
5 integrantes.
SISTEMA OPERACIONAL
ATIVIDADE
Atividade
SISTEMA OPERACIONAIS
	ATIVIDADE – SISTEMAS OPERACIONAIS				
	-	Sistemas Operacionais	Hardware	Programas	Usuários
	O QUE É?				
	O QUE NÃO É!				
*
*
*
*
*
*
*
*

Continue navegando