Вы находитесь на странице: 1из 5

Programa uma entidade esttica e permanente, composto apenas por uma sequncia de

instrues.

Tabela de smbolos uma tabela que enderea as variveis de um programa na memria.

Dados inicializados constantes, nomes de rotinas e elementos estticos em geral.

Texto o algoritmo do programa.

Cabealho informaes que identificam o programa, facilitando o SO e os usurios.

Nmero mgico o nome interno do programa, atribudo pelo SO uma nica vez e este vale
enquanto o arquivo existir.

Processo uma entidade dinmica, que altera seu estado medida que avana sua execuo.
Um processo contm um nico fluxo de controle e composto por programa, dados e
contexto. Um processo um programa em execuo, somado ao seu contexto.

Pilha do processo no Kernel uma estrutura de dados pilha que armazena informaes sobre
as sub-rotinas ativas num processo. Seu principal uso registrar o ponto em que cada sub-
rotina ativa deve retornar o controle de execuo quando termina de executar.

Argv Argumento da linha de invocao

Envp Variveis de ambiente.

Pilha do usurio formada por variveis locais, parmetros de funes, endereos de retorno
das sub-rotinas, etc.

Heap memria que alocada pelos servios. O heap usa os mesmos endereos de memria
usados pela pilha de usurio e utilizado principalmente para armazenas as variveis
dinmicas alocadas pelo processo.

Dados globais no inicializados preenchidos com zeros (o tamanho est no cabealho).

Dados globais inicializados lidos diretamente do arquivo.

Segmento de texto linhas de cdigo.

Contexto do processo os valores assumidos pelos elementos de um processo em


determinado ponto de sua execuo.

PID o mesmo que nmero mgico.

Estado do processo a posio do processo em relao a CPU.

Contador de instrues valor que determina qual instruo o processo deve executar em
seguida, ou seja, guarda a indicao da prxima linha de cdigo que ser executada pelo
processo. Essa informao armazenada no registrador PC.

Apontador para pilha de execuo guarda a indicao de onde est localizado o topo da pilha
de execuo do processo no kernel. Essa informao armazenada no registrador SP.
Alocao de memria guarda os endereos de memrias reais e virtuais alocados para o
processo.

Arquivos guarda a indicao de todos os arquivos abertos pelo processo e a indicao da


localizao do cursor em cada um desses arquivos.

Dispositivos guarda a indicao de todos os perifricos em uso pelo processo e a indicao da


localizao do cursor em cada um desses perifricos.

Contabilidade guarda as tarefas executadas pelo processo no sistema, ou seja, guarda o


histrico de sua execuo.

Escalonador guarda a posio do processo na fila formada para entrar na CPU e os


parmetros do escalonamento.

Credenciais guarda as permisses que o processo tem dentro do sistema.

Processo-pai guarda a indicao de quem criou o processo.

Processo-filho guarda a indicao de todos processos criados pelo processo e sua ordem de
execuo.

Demais registradores guardam os valores dos demais registradores utilizados pelo processo
(esta informao depende da arquitetura do computador).

Processos de sistema so criados pelo SO e somente o SO poder destru-los.

Processo de usurio so criados pelo usurio e podem ser destrudos tanto pelo usurio
como pelo SO.

Processo filho so criados por outros processos (definidos com pai), e podem ser destrudos
tanto pelo processo que os criou, pelo usurio ou pelo SO.

Ciclo de processador tempo que ocupa a CPU executando algum programa.

Ciclo de entrada e sada tempo em espera pela concluso de um evento (E/S);

CPU bound ciclo de processador para ciclo de E/S.

I/O bound ciclo de E/S para ciclo de processador.

Threads um processo com mltiplos fluxos de controle. Vrios fluxos de controle (threads)
no mesmo espao de endereamento simulando uma execuo em paralelo, como se cada
fluxo fosse visto realmente como um processo distinto (exceto pelo fato de compartilharem um
nico espao de endereamento).

Quantum o intervalo de tempo entre a entrada do processo na CPU e seu retorno a fila de
processos que querem entrar na CPU.

Tempo de vida o intervalo de tempo entre o incio e o trmino de toda sua execuo.
Interrupo de hardware uma interrupo completamente imprevisvel, ocorrendo em
pontos que no podem ser pr-determinados.

Interrupo de software(trap) uma interrupo programada e ocorre no momento


desejado pelo programador.

Trap o sinal que o processo envia para o SO solicitando um servio protegido do mesmo.

Chaveamento de processos a troca de processos na CPU.

Excees erro de hardware ou software.

Estado do processo a posio do processo em relao a CPU.

Pronto quando processo est preparado para entrar na CPU.

Em execuo quando o processo est efetivamente na CPU.

Bloqueado quando o processo est aguardando algo que no a CPU, como por exemplo,
dispositivos perifricos.

Suspenso O processo suspenso retirado indefinidamente da disputa por tempo em um


processador, sem destru-lo.

Suspenso pronto quando encontrava-se no estado em execuo (auto-suspenso) ou estado


de pronto quando foi suspenso.

Suspenso-bloqueado quando o processo encontrava-se no estado bloqueado quando foi


suspenso.

Criao estado onde o processo se encontra no momento em que ele inicializado, at o


momento em que entra na fila de processos prontos.

Destruio estado onde o processo se encontra do momento em que ele finalizado, at o


momento em que o contexto do processo excludo da tabela de processos.

Submisso estado onde o processo se encontra quando aguarda uma data especfica para ser
executado

Zumbi estado onde o processo se encontra quando filho de outro processo e finalizado.
Neste caso, fica apenas aguardando uma instruo do pai para ser destrudo.

Regio crtica a parte do sistema que permite acesso concorrente entre os processos.

Excluso mtua uma tcnica usada em programao concorrente para evitar que dois ou
mais processos ou threads tenham acesso simultaneamente a um recurso compartilhado do
sistema.

Sinais so interrupes de software que notificam ao processo que um evento ocorreu.

Condio de corrida acontece quando dois ou mais processos entram simultaneamente na


regio crtica.
Starvation Quando processos/threads esto em execuo, mas nada acontece, isso ocorre
quando dois ou mais processos/threads esto trabalhando com intenes contrrias, o que
feito por um desfeito pelo outro. Tambm ocorre quando um processo/thread tenta o acesso
a um recurso que est sendo utilizado por outro processo/thread, o SO pede para que o
mesmo aguarde sua liberao, porm o processo/thread no est preparado para o aguardo,
ou seja, ele vai continuar solicitando o recurso indefinidamente, mesmo que o recurso seja
liberado, pois o processo/thread no foi programado para uma rejeio.

Deadlock um conjunto de N processos est em deadlock quando cada um dos N processos


est bloqueado espera de um recurso que somente pode ser liberado por um processo desse
conjunto.

Condio de excluso mtua em um determinado instante, cada recurso est em uma de


duas situaes: ou associado a um nico processo ou disponvel.

Condio de posse e espera processos que, em um determinado instante, retm recursos


concedidos anteriormente podem requisitar novos recursos.

Condio de no preempo recursos concedidos previamente a um processo no podem ser


tomados fora desse processo, eles devem ser explicitamente liberados pelo processo que os
retm.

Condio de espera circular deve existir um encadeamento circular de dois ou mais


processos; cada um deles encontra-se espera de um recurso que est sendo usado pelo
membro seguinte dessa cadeia.

Algoritmo de avestruz no fazer nada, ignorar a situao e reinicializar o sistema.

Preveno um protocolo para garantir que o sistema nunca entre em estado de deadlock,
onde o sistema operacional vai garantir que um das condies bsicas para a entrada em um
estado de deadlock no ocorra.

Deteco e recuperao onde ser permitido que o sistema entre em deadlock e se recupere.

Problema dos filsofos glutes cindo filsofos que esto ao redor de uma mesa redonda
(circular) e querem comer o macarro. Cada filosofo possui um prato de macarro a sua frente,
porm, para cada filsofo comer, so necessrios dois garfos (um em cada mo) e a mesa
dispem apenas de cinco garfos, cada um entre dois pratos de macarro.

A Condio de Corrida vista no momento em que dois filsofos seguram o mesmo garfo e o
tentam puxam para si, onde nenhum deles consegue vencer a fora do outro. O
Starvation visto na situao onde cada filsofo segura um garfo, verifica a disponibilidade do
outro e caso no esteja ele devolve o garfo mesa. O deadlock por sua vez, visto quando
cada filsofo segura um garfo e espera que o filsofo seguinte o devolva a mesa.

Inibio das interrupes cada processo deve inibir as interrupes logo aps entrar em uma
regio critica, habilitando-as imediatamente antes de sair dela.

Variveis de travamento ou impedimentos bit compartilhado cujo valor inicial zero.


Estrita alternada uma varivel que codifica o processo na entrada.
Algoritmo de Dekker soluo via software. Trs variveis.
Qualproc (inteira) que indica qual o processo que tem a permisso de entrar na regio
critica.
Ocupado1 (booleana) que indica a inteno do processo 1 de entrar na regio crtica.
Ocupado2 (booleana) que indica a inteno do processo 2 de entrar na regio critica.

Algoritmo de Dijkstra o algoritmo de Dekker para mltiplos processos. Vetor de variveis


chamado de estado, onde o ndice do vetor explicita o processo.

Primitiva uma instruo que no pode ser interrompida pelo fim do quantum.

Soluo de Peterson - implementar o algoritmo de Variveis de Travamento em uma primitiva,


ou seja, o problema do processo ser interrompido entre a checagem do flag e sua alterao
para 1 deixa de existir, quando esses dois passos so colocados dentro de uma nica
primitiva. As primitivas propostas por Peterson so: enter_region (que indica um interesse na
regio crtica) e leave_region (que indica a sada da regio crtica);

Uso das primitivas Sleep/Wakeup Sleep uma chamada ao sistema que bloqueia o processo
que solicitou a regio crtica. Suspende a execuo do processo at que outro processo o
acorde. Wakeup uma chamada ao sistema que acorda um processo no estado de bloqueado.
Utiliza como parmetro, o Id do processo a ser acordado.

Semforos Varivel inteira, no-negativa, que s pode ser manipulada por duas primitivas
(instrues): UP e DOWN.
Down - verifica se o valor do semforo maior que 0, se for decrementa o valor
do semforo e prossegue. Caso semforo = 0 o processo ir dormir sem terminar
de executar o DOWN (por enquanto).
UP - esta operao incrementa o valor do semforo em uma unidade e acorda um
dos processos que esto dormindo associado ao semforo em questo. Assim, um
processo escolhido pelo sistema e dado a permisso de terminar a execuo da
operao DOWN que ele havia comeado anteriormente. Para terminar, o
processo acordado agora ir decrementar o valor do semforo, fazendo com que
ele permanea em 0 (zero). No entanto, existir um processo a menos dormindo
no semforo.

Contadores de eventos - Um contador de eventos uma varivel especial


sobre a qual trs tipos de operaes primitivas so definidas:
Read (E): retorna o valor corrente de E.
Advance (E): incrementa E, atomicamente.
Await (E, v): espera at que E tenha um valor de v ou mais.

Monitores - uma coleo de procedimentos, variveis, e estruturas de dados que so


todos agrupados em um tipo especial de mdulo ou pacote.

Os processos cooperativos podem fazer uso de um buffer para trocar


mensagens atravs de duas rotinas primitivas:
SEND (receptor, mensagem);
RECEIVE (transmissor, mensagem);

Вам также может понравиться