Buscar

so revisao - (falta alta 7 a 10)

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

so definicao
controle do processamento, gerenciamento de memoria, dispositivos de entrada e saida...
	
efetua o gerenciamento dos componentes fisicos do computador, também como uma base para os programas aplicativos.
exemplo salvar um pequeno texto
monoprogramáveis / monotarefa --- um programa executado por vez
somente um usuario
multiprogramáveis / multitarefa --- vários programas em execucao ao mesmo tempo, eles dividem cpu, memoria, entrada
eles podem utilizar um usuário ou mais
 
aula 2
sistemas multiprogramáveis / multitarefa
sistemas batch --- nao tem interação do usuario, vc agenda e ele executa. ex. backup
sistemas de tempo compartilhado --- mainframe, varios terminais que efetuam o acesso... o processamento é realizado no computador central, ele possui um tempo de processamento e é dividido p os terminais...
sistemas de tempo real --- os recursos tem suas prioridades, se chega um processo com prioridade maior, ele para a execução atual e inicia o novo... ele é mto rigido na execução das prioridades. ex: monitor cardíaco, sistemas aéreos.
sistemas com múltiplos processadores:
sistemas fortemente acoplados -- unico computador, 2 ou mais cpu's compatilhando a memoria principal + E/S
	sistemas simétricos -	unico computador, 2 ou mais cpu's compatilhando a memoria principal + E/S
	sistemas assimétricos - unico computador, 1 cpu's master(gerenciamento dos recursos com os demais processadores) e a slave 
sistemas fracamente acoplados -- computadores em rede, exemplo... cada um tem seu proprio cpu, memoria, e/s
	sistemas operacionais de rede - visao real de onde estao os recursos (varios recursos)
	sistemas operacionais distribuidos - arquivos na nuvem (voce nao sabe realmente onde o arquivo se encontra na internet)
interrupções:
sistema operacional funciona basicamente com interrupções
exemplo: conectar smartphone no computador
acontece o tempo todo
executando um programa de planilha,
conecta pendrive, 
placa e/s envia uma interrupçaõ para o processador
processador para execucao do programa e desvia para tratamento de interrupcao
rotina de tratamento é executada, atualizando estruturas do sistema operacional e exibindo uma mensagem ao usuário informando da conexao do pen-drive
finalizando a rotina de tratamento da interrupção do processador retorna a execução do programa interrompido anteriormente
é tao rapido que nao percebe a interrupção...
conceitos de concorrência...
sistema monoprogramável
executa - espera - executa - espera
se executar o segundo programa, vc para o primeiro...
sistema multiprogramável
programa A - executa - espera - executa - espera
programa B - espera - executa - espera - executa
compartilhamento de cpu, memoria entre os programa que estão sendo executados no processador.
sistema operacional é feito de rotinas
modo usuario e modo kernel
kernel é um conjunto de rotinas do so que acessa o processador
modo de acesso usuario e modo kernel
modo kernel
tratamento de interrupções
criar e eliminar processsos
escalonamento
gerencimaneto de memoria
e/s
system calls
é um intermediario entre as aplicações do usuario e o sistema operacional
ex: api do windows, acessar recursos do so (windows) dispositivo de entrada e saída
exemplo
programa de usuario
acessa os registradores
altera modo do processador p kernel
rotina do sistema
altera modo do processador p usuario
restaura contexto dos registradores
procesos
processo é uma instancia de um programa em execução. é a unidade de carga e alocação de uma tarefa.
programa - estático
processo - dinâmico
pseudoparalelismo - o compartilhamento da cpu é feito através de uma rápida alternância entre de um processo e outro, executando cada um num rápido intervalo de tempo.
paralelismo real - hardware dos sistemas multiprocessadorees, ou seja, possuem duas ou mais cpus que compartilham a mesma memória física.
vantagens dos processos -
simplicidade: um processo pode ser decomposto em vários outros processos permitindo que se realizem várias operações independentes em um sistema.
ex: game --- som --- fundo imagem --- personagem (3 processos)
velocidade: se um processo esta em espera, por exemplo, aguardando alguma solicitação a um dispositivo de entrada e saída, este processo é substituído por outro.
segurança: cada processo pode estar associado a um determinado direito.
processos podem ser : classificações
interativo (foreground) : sao processos que necessitam de uma interação com o usuário. ex: excel, word, internet explorer
batch (background): sao processo que realizam processamento de dados de entrada produzindo um conjunto de dados de saída sem que haja a internveção do usuário. ex: backup
daemons: sao processos carregados pelo sistema operacional durante sua execucao e permanece em execucao até que o sistema seja finalizado. ex: servicos do windows
blocos de controle de processos (pcbs)
ponteiros
nome do processo
estado do processo
prioridade do processo
registradores
limites de memória
lista de arquivos abertos.
processos
contexto: estado de um processo em um determinado instante...
	contexto de hardware
	contexto de software
	espaço de endereçamento
contexto de hardware: processo sendo executado...
guarda as as informacoes nos registradores do processador no processo, para quando voltar ele saber aonde voltar...
pega os registradores gerais e guarda no contexto de hardware (PC, SP)
contexto de software
nome, pid, uid, quotas e privilégio
espaço de endereçamento
quando o processo é carregado na memoria, é registrado em qual espaço ele está armazenado
estados de um processo
pronto
em execucao
em espera
novo - pronto
pronto - em execucao
em execucao - pronto
em execucao - em espera
em espera - pronto 
em execucao - terminado
processos cpu-bound - processos que utilizam muito processador
orientados a cpu
processos i/o-bound - processos que realizam muita e/s (pen-drive, disco)
Thread
fluxo de execucao de um processo
monothread --- único fluxo de execução
multithreading
1 processo ---- internamente várias threads
cada thread tem seu contexto de hardware, 1 de software e espaco de endereçamento (compartilham)
sincronizacao entre processos --- vários processos compartilhando o mesmo recurso de e/s
condições de corrida:
ocorre quando dois ou mais processos querem utilizar um recurso compartilhado ao mesmo tempo...
impressao
os dois processos consultam a variavel de entrada do spooler para obter o proximo slot livre e para postarem os arquivos para a impressao.
regiao critica ou secao critica: é a parte do programa que gera uma disputa de um recurso compartilhado
solução...
a solucao deve satisfazer os seguintes aspectos
exlusao mutua ... apenas um processo pode estar ocupando a regiao critica por vez
progresso ... se eu tenho uma regiao critica e n esta ocupada, nenhum processo pode bloquear ele por um motivo qualquer
espera limitada ... se um processo está utilizando uma regiao critica, ficar ocupando ela indefinidamente...
deve liberar para outro processo utilizar...
sincronismo por software
vantagem: exclusao mutua
desvantagem: espera ocupada
consome processador
degrada desempenho
sincronismo por hardware
desabilitar interrupções
problemas... no sistema compartilhado, multitarefa, td é controlado por interrupções... entao, isto pode gerar problemas de funcionamento no SO.
se a interrupção nao for habilitada novamente? sistema pode travar... cuidado!!!
semáforo:
variável manipulada pelas instrucoes DOWN E UP.
para entrar 
DOWN()
ao sair
UP()
quando o processo A estiver sendo executado e for solicitada a troca de contexto, o semaforo avalia se o processo A está finalizado para o B ser executado. se A estiver em execucao, o B irá para a fila de espera.
monitores
é um modulo especial composto por estruturas de dados, variaveis e procedimentos.
se
o processo entrou no monitor, ele automaticamente cuidar para que o segundo processo aguarde o primeiro finalizar...
troca de mensagens
computadores diferentes
canal de comunicacao
buffer ou link de rede
passar informacoes de um processo para outro
exemplo 1 processo leitura, 1 processo ordenacao
1 efetua a leitura
1 efetua a ordenacao ao receber a mensagem com os dados lidos do processo 1
funcoes: send ..
receive...
troca de mensagens
comunicacao direta
conhecer o nome do processo receptor ou transmissor da mensagem
comunicacao indireta
caixas postais para o recebimento e envio de mensagens
gerencia de processador
politica de escalonamento
critérios para determinar qual processo será escolhido para fazer uso do processador
estado: pronto
escalonador de processo (scheduler)... envia processos p processador baseado na politica de escalonamento
maior tempo de ocupacao do processador
balanceamento no uso do processador
aplicacoes criticas devem ser executadas prioritariamente
maximizar o troughput (numero de processos finalizados em um dado intervalo de tempo) no sistema
processos interativos devem ter tempos de resposta razoáveis
a troca de processo por outro pode acontecer pela mudança de estado
preempção: tarefa de troca de processo pelo sistema operacional
utilização de processador: 30% e 90%
troughput: maximizar (executar o maximo de processos possiveis)
tempo de processador: tempo em que um processo fica em execucao no processador
tempo de espera: tempo total de espera, para ser executado, de um processo na fila de pronto
tempo de turnaround: indica o tempo total de vida de um processo. alocacao de memória, espera na fila de pronto, interrupções de entrada e saída.
tempo de resposta: 
escalonamento
escalonamento fifo
processo na memoria e entra na fila de pronto...
primeiro que entra, vai para processador... primeiro que entra, primeiro que sai...
se for para espera, vai para o final da fila
problema: tempo medio de espera
se os primeiros processos o tempo de execucao for alto e os proximos menores, o tempo medio será alto
escalonamento circular
o SO determina um periodo de tempo que o processo pode ser executado pelo processador, este periodo de tempo é conhecido como fatia de tempo(quantum) e normalmente pode variar entre 10-100 milisegundos.
esta politica de escalonamento evita que um processo nao monopolize o processador.
quando o processo está utilizando o processador é dito que é um surto do processador. o surto pode ser com relação aos dispositivos de entrada e saída quando o processo está usando estes dispositivos.
carrega processo na memoria com estado de pronto
o escalonador escolhe o processo a ser executado
o processo selecionado recebe uma fatia de tempo (quantum) e passa a usar o processador
ao termino do quantum o processo é interrompido e volta ao fim da fila de pronto
acontece em processos do tipo cpu-bound.
surto de processador, pode ser menor que o quantum
escalonamento sjf 
job mais curto primeiro
escalonamento circular virtual
Com o objetivo de balancear o processador, surgiu uma versão aprimorada
do escalonador circular chamado escalonamento circular virtual. O escalona
mento circular virtual criou uma segunda fila auxiliar de pronto que recebe os
processos que saem do estado de “Em Espera”. O escalonador sempre verifica
esta fila quando há necessidade de troca de contexto. Caso haja processo na
fila auxiliar, este terá prioridade em relação a um processo da fila de pronto. Se
a fila auxiliar estiver vazia, o escalonador utilizará processos da fila de pronto.
Este mecanismo de troca dinâmica da ordem em que os processos são executa
dos é conhecido como mecanismo adaptativo.
escalonamento por prioridade
Em geral, as prioridades podem ser definidas com base em critérios internos ou externos. No caso de critérios internos, as prioridades dos processos são
dimensionadas com base em algum valor de grandeza, tempo de médio de utilização do processador, tempo médio de utilização de dispositivos de entrada e
saída, ordem de chegada, requisitos de memória etc. Já as prioridades externas
são definidas por critérios que não têm interferência do sistema operacional,
como por exemplo, tipo de processo, departamento responsável, custo, etc.
O escalonamento por prioridade associa um valor, chamado prioridade de
execução, a um processo que entra na fila de pronto, o processo com a maior
prioridade será o primeiro a ser escalonado para execução. Caso haja dois ou
mais processos com o mesmo nível de permissão, será escalonado o primeiro
entre eles (escalonamento FIFO). Isto faz com que o escalonamento por prioridade seja o ideal para sistemas de tempo real, aplicações de controle de processo e quando a necessidade de definir a prioridade de determinados processos
em sistemas de tempo compartilhado.
escalonamento por prioridade circular
O processador, no escalonamento por prioridade, fica desbalanceado em rela-
ção dos processos CPU-Bound e I/O-Bound. Processos do tipo I/O bound tende
a utilizar mais recursos de entrada e saída, o que faz com que o mesmo passe a
maior parte do tempo em estado de “Em Espera” aguardando que uma solicitação de entrada e saída termine. Um melhor balanceamento do processador
foi alcançado com a implementação do escalonador circular com prioridades. O
escalonador circular com prioridades adicionou, à já existente prioridade de
processo, o conceito de fatia de tempo. Desta maneira um processo pode perder o uso do processador quando houver um processo com maior prioridade ou
o seu quantum finalizar ou quando entrar em estado de “Em Espera”
A vantagem do escalonamento por múltiplas filas e permitir um escalonamento de baixo custo, mas por outro lado, tem a desvantagem de ser inflexível em
relação a mudança de processo entre as filas.
Vimos que o sistema operacional analisa as propriedades de um processo
no momento de sua criação e associa-o permanentemente a uma das filas de
prioridade. Uma vez atribuído a uma fila, o processo não tem como se mover
para outra. De maneira geral, isso é coerente se levarmos em conta a natureza
dos processos (foreground e background). Se um processo é do tipo foreground,
será associado a uma fila com prioridades de foreground, se for background será
associado a uma fila com prioridades de background.
O problema dessa abordagem é que processos do tipo CPU-Bound, em geral tem maior prioridade do que processos do tipo I/O-Bound. Se houver muitos
processos CPU-Bound entrando numa fila de maior prioridade, um processo do
tipo I/O-Bound pode ter que aguardar um tempo excessivo para ser escalonado. A
solução deste problema veio com o escalonamento Escalonamento por Múltiplas
flas com Realimentação. Este escalonador permite que um processo possa trocar
de fila durante seu processamento. São implementadas diversas filas com níveis
de prioridades distintas. O comportamento do processo é analisado dinamicamente pelo sistema que então ajusta sua prioridade de execução e mecanismo
de escalonamento. Esta análise de comportamento é feita, pelo sistema, ao longo do ciclo de vida do processo, permitindo que o mesmo possa ser direcionado
para uma determinada fila de acordo com sua mudança de comportamento. As
filas apresentam dois tipos de escalonamento. A fila de menor prioridade utiliza
o escalonamento circular. As demais filas, de maior prioridade, apresentam um
escalonamento FIFO adaptado com fatia de tempo. Um processo que estiver em
uma fila de menor prioridade somente será escalonado quando as filas de maior
prioridade estiverem vazias. A fatia de tempo, atribuída a uma fila, é dimensionada de acordo com a prioridade da fila. Uma fila com prioridade maior terá menos
tempo de processamento e fila com prioridade menor, mais tempo de processamento
gerência de memória
funcoes básicas da gerencia de memória 
alocar o maior número de processos na memória
maximizar de forma eficiente
o compartilhamento de memória
garantir que um programa nao acesse áreas destinadas a outro programa
administrar a execucao de programas que ultrapassam a capacidade física da memória principal

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais