Pular para o conteúdo principal

Resumo Sistemas Operacionais (part2)


Definições sobre Sistemas Operacionais.


Há alguns anos um sistema operacional era definido como o software que controla o hardware, o panorama dos sistemas de computador evoluiu significativamente, exigindo uma definição mais rica. Hoje, as aplicações são desenvolvidas para serem executadas simultaneamente. O sistema operacional separa as aplicações do hardware por elas acessado e é primordialmente, um gerenciador de recursos.

Baixe AQUI o Material Completo.

Espaço de Endereço do Processo

Um processo tem seu próprio espaço de endereço, que consiste em:
Região de texto
→ Armazena o código que o processador executa.
Região de dados
→ Armazena variáveis e memória alocada dinamicamente.
Região de pilha
→ Armazena instruções e variáveis locais para chamadas ativas ao procedimento.


Estados de processo: ciclo de vida de um processo

Um processo passa por uma série de estados de processo distinto:
Estado de execução
   ● O processo está sendo executado em um processador.
Estado “de pronto”
   ● O processo poderia ser executado em um processador se houvesse algum disponível.
Estado bloqueado
   ● O processo está aguardando a ocorrência de algum evento para prosseguir.

O sistema operacional mantém uma lista de prontos e uma lista de bloqueados para armazenar referências a processos que não estão sendo executados.


Gerenciamento de processo

Os sistemas operacionais prestam certos serviços fundamentais aos processos. Por exemplo:
■ Criam processos.
■ Destroem processos.
■ Suspendem processos.
■ Retomam processos.
■ Mudam a prioridade de um processo.
■ Bloqueiam processos.
■ Acordam (ativam) processos.
■ Despacham processos.
■ Capacitam os processos à comunicação inter-processos (IPC).


Estados de processo e estados de transição
Estados de processo
■ O ato de designar um processador ao primeiro processo da lista de prontos é denominado despacho.
■ O sistema operacional usam um temporizador de intervalo para permitir que um processo seja executado durante um intervalo de tempo específico ou quantum.
■ A multitarefa cooperativa permite que todo processo seja executado até o fim.

Estados de transição
■ Até agora, existem quatro estados de transição possíveis:
   ● Quando um processo é despachado, ele transita de pronto para em execução.
   ● Quando o quantum de um processo expira, ele transita de em execução para pronto.
   ● Quando um processo é bloqueado, ele transita de em execução para bloqueado.
   ● Quando um evento ocorre, ele transita de bloqueado para pronto.


Blocos de controle de processo (PCBs) /Descritores de processo

Os PCBs mantêm as informações que o sistema operacional precisa para gerenciar o processo.

■ Normalmente, eles incluem as seguintes informações:
   ● Número de identificação de processo (PID).
   ● Estado do processo.
   ● Contador de programa.
   ● Prioridade de escalonamento.
   ● Credenciais.
   ● Um ponteiro para o processo-pai.
   ● Ponteiros para os processos-filho.
   ● Ponteiros para localizar os dados e instruções do processo na memória.
   ● Ponteiros para recursos alocados.


Modelos de thread

Três são os modelos de thread mais conhecidos:
  ■ Threads de usuário
  ■ Threads de núcleo
  ■ Uma combinação de ambos



Os threads de usuário executam operações de suporte a threads no espaço do usuário.
   ■ Isso significa que os threads são criados por bibliotecas em tempo de execução que não podem executar instruções privilegiadas nem acessar as primitivas do núcleo diretamente.


Os threads de núcleo tentam resolver as limitações dos threads de usuário mapeando cada Thread para o seu próprio contexto de execução.
   ■ O thread de núcleo oferece mapeamento de thread um-para um.
      ● Vantagens: maior escalabilidade, interatividade e rendimento.
      ● Desvantagens: sobrecarga decorrente do chaveamento de contexto e menor portabilidade em virtude de as APIs serem específicas ao sistema operacional.

Os threads de núcleo nem sempre são a solução ideal para as aplicações.











Comentários

+ Vistas

Exercícios Estrutura de Dados - Resolvidos

Lista de Exercícios Dê o conceito de: Algoritmo R: É uma sequencia de ações executáveis para obtenção de uma solução para um determinado problema. Tipo de dados R: Conjunto de valores a que uma constante pertence, ou podem ser assumidos por uma variável ou expressão a que podem ser gerados por uma função. Tipo abstrato de dados R: Pode ser visto como um modelo matemático, acompanhado das operações definidas sobre um modelo. Qual a descrição de algoritmos segundo Dijkstra? R: descreve como uma descrição de um padrão de comportamento, expresso em termos de um conjunto finito de ações. Descreva o conceito de programar para estrutura de dados. R: consiste em estruturar dados e construir algoritmos, sendo formulações concretas de algoritmos abstratos, baseados em representações e estruturas específicas de dados, representando uma classe especial de algoritmos capazes de serem seguidos por computadores Cite os tipos de ope...

Precificação, desafio ou simplicidade?

Nesse artigo, estaremos abordando alguns pontos importantes a serem considerados na rotina de precificar um produto ou serviço.  Vou descrever cada um deles a seguir: Passo 1: Calcular o Custo do Produto . O primeiro passo é calcular o custo do produto, que inclui todos os custos envolvidos na sua produção, como matéria-prima, mão de obra, energia elétrica, aluguel, etc. Esse cálculo deve resultar em um valor que represente o custo total por unidade do produto. Passo 2: Adicionar as Despesas. Além do custo de produção, é preciso adicionar as despesas fixas e variáveis da empresa, como impostos, comissões de vendas, transporte, marketing, entre outros. Esse cálculo resulta em um valor que representa o custo total por unidade do produto, incluindo as despesas. Passo 3: Definir a Margem de Lucro A margem de lucro é o valor que a empresa espera obter como lucro sobre cada unidade vendida. Ela pode variar de acordo com o mercado e a estratégia da empresa, mas geralmente é de...

Windows 8 tem um milhão de downloads

O  Windows 8  ainda não está disponível oficialmente, mas já tem mais de um milhão de usuários. Este é o número de indivíduos que baixou a versão Consumer Preview, disponível desde o dia 29 de fevereiro.  Uma versão final do sistema operacional deve chegar até o final deste ano. Construindo com o vislumbre de um ambiente touch e recheado de aplicativos, a plataforma é essencial para os esforços da Microsof de fazer frente a Apple e Google. Para rodar a Windows 8 Consumer Preview, é preciso ter um PC ou laptop com ao menos processador Intel ou AMD de 1GHz , 1 GB de memória RAM em um sistema de 32-bit ou de 2 GB de RAM em uma máquina com 64-bits. Além disso, são necessários 16 GB ou 20 GB de espaço em disco, respectivamente, e cartão de gráficos compatível com Directx9 ou uma versão acima. Usuários também precisarão de um dispositivo touch para tirar as vantagens das funcionalidades do Windows 8. Uma versão do sistema desenhada em chips ARM e que, portanto, fora...