0% acharam este documento útil (0 voto)
17 visualizações15 páginas

Soam - Aula 05

O documento aborda o conceito de tarefas em sistemas operacionais, destacando sua execução sequencial e a importância do sistema operacional na organização e ordem das tarefas. Também discute a diferença entre programas e tarefas, a evolução de sistemas de monotarefa para multitarefa e tempo compartilhado, além de explicar o ciclo de vida das tarefas e o gerenciamento de contextos e trocas de contexto. O papel do monitor de sistema e dos componentes como dispatcher e scheduler é enfatizado na gestão eficiente das tarefas.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato ODP, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
17 visualizações15 páginas

Soam - Aula 05

O documento aborda o conceito de tarefas em sistemas operacionais, destacando sua execução sequencial e a importância do sistema operacional na organização e ordem das tarefas. Também discute a diferença entre programas e tarefas, a evolução de sistemas de monotarefa para multitarefa e tempo compartilhado, além de explicar o ciclo de vida das tarefas e o gerenciamento de contextos e trocas de contexto. O papel do monitor de sistema e dos componentes como dispatcher e scheduler é enfatizado na gestão eficiente das tarefas.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato ODP, PDF, TXT ou leia on-line no Scribd

TAREFAS

TAREFAS
• É a execução de um fluxo sequencial de instruções, construída para atender uma finalidade
específica.

• O processador tem de executar todas as tarefas submetidas pelos usuários.

• Cabe ao sistema operacional:


o Organizar as tarefas para execução.
o Decidir qual ordem.

Uma tarefa é a unidade básica de atividade dentro de um sistema operacional.


Tarefas podem ser implementadas de várias formas, como processos, threads,
transações e jobs.
TAREFAS
TAREFAS
• É a execução sequencial de uma sequência de instruções definidas em um
programa.

• Representa um conceito dinâmico.

• Possui um estado interno bem definido a cada instante (os valores das variáveis
internas e a posição atual da execução evoluem com o tempo) e interage com
outras entidades (com o usuário, dispositivos periféricos e/ou outras tarefas).
PROGRAMA
• É um conjunto de uma ou mais sequências de instruções, constituindo
assim uma aplicação ou utilitário.

• Representa um conceito estático.

• Sem um estado interno definido (que represente uma situação específica da


execução) e sem interações com outras entidades (com o usuário ou outros
programas).
SISTEMAS MONOTAREFA
• Cada programa era carregado do disco para a memória e executado até sua
conclusão.
• Todas as operações de transferência de código e dados entre o disco e a memória
eram coordenados por um operador humano.
MONITOR DE SISTEMA

• O monitor foi criado com a função de gerenciar a execução dos demais programas.

• Carregado na memória no início da operação do sistema.

• O monitor executava continuamente os seguintes passos sobre uma fila de


programas a executar, armazenada no disco:
o 1. carregar um programa do disco para a memória.
o 2. carregar os dados de entrada do disco para a memória.
o 3. transferir a execução para o programa recém carregado.
o 4. aguardar o término da execução do programa.
o 5. escrever os resultados gerados pelo programa no disco.
SISTEMAS MULTITAREFA
• O monitor pode suspender a execução da tarefa que espera dados externos e passar a
executar outra tarefa.

• Quando os dados de que a tarefa suspensa necessita estiverem disponíveis, ela pode ser
retomada no ponto onde parou.
SISTEMAS DE TEMPO COMPARTILHADO
• Para cada tarefa que o processador recebe é definido um prazo de
processamento, denominado fatia de tempo (quantum).

• Esgotado seu quantum, a tarefa em execução perde o processador e volta para uma fila de
tarefas “prontas” que estão em memória, e outra tarefa é ativada.

• O atode retirar um recurso “à força” de uma tarefa (neste caso, o


processador) é denominado preempção.

• Sistemas que implementam esse conceito são chamados sistemas preemptivos.


SISTEMAS DE TEMPO COMPARTILHADO
CICLO DE VIDA

O estado “suspenso” pode ser dividido em dois subestados separados:


• “bloqueado”, quando a tarefa aguarda a ocorrência de algum evento.
• “suspenso”, para tarefas bloqueadas que foram movidas da memória principal para a área de troca
pelo mecanismo de paginação em disco.
CONTEXTOS
• É o estado de uma tarefa em um determinado instante e modifica conforme a execução da
tarefa evolui.

• O contexto inclui:
o Estado interno do processador durante sua execução.
o Informações sobre os recursos utilizados, como arquivos abertos, conexões de rede e
semáforos.

• Para cada tarefa presente no sistema é associado um descritor, uma estrutura de dados no
núcleo que representa essa tarefa.
CONTEXTOS
• Essa estrutura de dados é geralmente chamada de TCB (Task Control Block) ou PCB (Process
Control Block).
TROCAS DE CONTEXTO
• Ato de suspender uma tarefa e reativar outra.

• Pode ser provocada pelo fim do quantum atual (através de uma interrupção de tempo), por
um evento ocorrido em um periférico (uma interrupção do respectivo controlador), por
uma chamada de sistema emitida pela tarefa corrente (uma interrupção de software) ou por
algum erro de execução que possa provocar uma exceção no processador.

• O despachante (dispatcher) é responsável por recuperar o contexto e


atualizaras informações contidas no TCB de cada tarefa.

• O escalonador (scheduler) é responsável por escolher a próxima tarefa


a receber o processador a cada troca de contexto.
TROCAS DE CONTEXTO

Você também pode gostar