sistemas operacionais prof. fabiano sabha

17
Sistemas Operacionais Prof. Fabiano Sabha www.fabianosabha.com.br

Upload: internet

Post on 21-Apr-2015

108 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Sistemas Operacionais Prof. Fabiano Sabha

SistemasOperacionais

Prof. Fabiano Sabha

www.fabianosabha.com.br

Page 2: Sistemas Operacionais Prof. Fabiano Sabha

PLANEJAMENTO

1- Conceitos Básicos: Visão geral de um S.O1- Conceitos Básicos: Visão geral de um S.O.Funções BásicasMáquina de CamadasTipos de Sistemas Operacionais

2- Conceitos Básicos: Hardware e Software2- Conceitos Básicos: Hardware e SoftwareHardware

ProcessadorMemóriasDispositivos de I/OBarramentoPipeliningArquiteturas RISC e CISC

Matéria Matéria

Estudada

Estudada

FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais

www.fabianosabha.com.br

Page 3: Sistemas Operacionais Prof. Fabiano Sabha

PLANEJAMENTO

2- Conceitos Básicos: Hardware e Software (continuação)2- Conceitos Básicos: Hardware e Software (continuação)Software

TradutorInterpretadorLinkerLoaderDepurador

3- Conceitos Básicos: Concorrência3- Conceitos Básicos: ConcorrênciaSistemas Monoprogramáveis x MultiprogramáveisInterrupções e ExceçõesOperações de I/OBufferingSpoolingReentrância

Matéria Matéria

Estudada

Estudada

FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais

www.fabianosabha.com.br

Page 4: Sistemas Operacionais Prof. Fabiano Sabha

PLANEJAMENTO

4- Conceitos Básicos: Estrutura do S.O.4- Conceitos Básicos: Estrutura do S.O.Funções do NúcleoModo de AcessoRotinas do S.O. e system CallsChamada de rotinas do S.OLinguagem de ComandosAtivação / desativação do SistemaArquiteturas do Núcleo

5- Processos5- ProcessosEstrutura do ProcessoEstados do ProcessoMudança de EstadosCriação e Eliminação de ProcessosFormas de Criação de Processos

Matéria Matéria

Estudada

Estudada

FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais

www.fabianosabha.com.br

Page 5: Sistemas Operacionais Prof. Fabiano Sabha

PLANEJAMENTO

6- Thread6- ThreadAmbiente MonothreadAmbiente Multithread

7- Sincronização e Comunicação entre Processos7- Sincronização e Comunicação entre ProcessosAplicações ConcorrentesEspecificação de Concorrência em ProgramasProblemas de Compartilhamento de Recursos

Atividades de Revisão Atividades de Revisão

Próximas

Próximas

AulasAulas

FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais

www.fabianosabha.com.br

Page 6: Sistemas Operacionais Prof. Fabiano Sabha

SistemasOperacionais

thReads

www.fabianosabha.com.br

FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais

Page 7: Sistemas Operacionais Prof. Fabiano Sabha

ESTRUTURA DO PROCESSO

Contexto de Software

Espaço de Endereçamento

Contexto de Hardware

Programa

RevisãoRevisão

Contexto de Hardware: Contexto de Hardware: Armazena o conteúdo dos registradores gerais da UCP, além dos registradores de uso específicos.

Quando o processo é interrompido, o sistema salva as informações no contexto de

hardware do processo.

Contexto de Software: Contexto de Software: Especificados os limites e características dos recursos que

podem ser alocados pelo processo.

Ex.: Número máx. de arquivos abertos, prioridade de execução, tamanho de buffer.

Três grupos de informação: Identificação / Quotas / Privilégios

Espaço de Endereçamento: Espaço de Endereçamento: É a área de É a área de memória que pertence ao processo.memória que pertence ao processo.

Cada processo possui seu próprio espaço de Cada processo possui seu próprio espaço de endereçamento protegido do acesso dos endereçamento protegido do acesso dos

demais processos.demais processos.

Instruções e dados são armazenados para Instruções e dados são armazenados para execuçãoexecução

www.fabianosabha.com.br

FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais

Page 8: Sistemas Operacionais Prof. Fabiano Sabha

• THREAD – O que é? (Linha de execução)

– É a forma de um processo se dividir em duas ou mais tarefas que podem ser executados simultaneamente.

– O suporte é fornecido pelo Sistema Operacional.

www.fabianosabha.com.br

FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais

Page 9: Sistemas Operacionais Prof. Fabiano Sabha

THREAD – ESTRUTURA

– É implementado em dois modos:

– Modo usuário

– Modo Kernel

– É classificado em:

– MonothreadMonothread

Suportam apenas uma linha de execução

– MultithreadMultithread

Suportam múltiplas linhas de execução

www.fabianosabha.com.br

FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais

Page 10: Sistemas Operacionais Prof. Fabiano Sabha

EXEMPLO

Um jogo onde temos diferentes linhas de execução, uma para o áudio e outra para vídeo.

O jogador percebe que som e imagem são processados simultaneamente.

Em sistemas com 01 CPU : ParalelismoEm sistemas com 02+ CPU: Simultâneo

www.fabianosabha.com.br

FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais

Page 11: Sistemas Operacionais Prof. Fabiano Sabha

AMBIENTE MONOTHREAD

• Um processo suporta apenas um programa no seu espaço de endereçamento

• Aplicações concorrentes são implementadas com o uso de vários processos independentes ou subprocessos.

•A utilização de processos independentes ou subprocessos, permiti dividir uma aplicação em partes que podem traalhar de forma concorrente:

Ex. Gerenciador de e-mail.

www.fabianosabha.com.br

FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais

Page 12: Sistemas Operacionais Prof. Fabiano Sabha

AMBIENTE MONOTHREAD

• Esse tipo de implementação, demanda maior consumo de recursos do sistema.

• Novo processo = nova reserva de recursos

• Novo processo = novo espaço de endereçamento, o que dificulta a comunicação entre processos.

• Cada processo tem seu próprio contexto.Cada processo tem seu próprio contexto.

Fig. 6.2Fig. 6.2

www.fabianosabha.com.br

FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais

Page 13: Sistemas Operacionais Prof. Fabiano Sabha

AMBIENTE MULTITHREAD

• NÃO existe programas associados a processos e sim a THREADS.

• O processo tem ao menos um thread de execução, assim compartilha seu espaço de endereçamento.

•Definição:

•Uma sub-rotina de um programa que pode ser executada Uma sub-rotina de um programa que pode ser executada concorrentemente ao programa chamador.concorrentemente ao programa chamador.

Fig. 6.3Fig. 6.3

Fig. 6.4Fig. 6.4

www.fabianosabha.com.br

FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais

Page 14: Sistemas Operacionais Prof. Fabiano Sabha

MODOS DE THREADS

MODO USUÁRIO (TMU):MODO USUÁRIO (TMU): São implementados pelas aplicações e não pelo sistema operacional.

Deve existir uma biblioteca de rotinas, que possibilite a realização de tarefas como criar/eliminar threads, troca de mensagens entre threads.

É possível implementar aplicações THREADS em sistemas operacionais que não suportam THREADS.

São Rápidos e dispensam acessos ao kernel.

Fig. 6.8Fig. 6.8

www.fabianosabha.com.br

FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais

Page 15: Sistemas Operacionais Prof. Fabiano Sabha

MODOS DE THREADS

MODO KERNEL (TMK):MODO KERNEL (TMK): São implementados diretamente pelo sistema operacional.

O SO, sabe da existência de cada thread e pode escaloná-los individualmente.

No caso de multiplos processadores podem ser executados simultaneamente.

Possuem baixo desempenho, devido a mudança no modo de acesso.

Fig. 6.9Fig. 6.9

www.fabianosabha.com.br

FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais

Page 16: Sistemas Operacionais Prof. Fabiano Sabha

MODOS DE THREADS

MODO HÍBRIDO:MODO HÍBRIDO: Essa arquitetura combina as vantagens e desvantagens dos modos TMU e TMK.

Consegue trabalhar com THREADS diretamente no kernel ou Consegue trabalhar com THREADS diretamente no kernel ou gerenciados por aplicações desenvolvidas pelo programador.gerenciados por aplicações desenvolvidas pelo programador.

Fig. 6.9Fig. 6.9

www.fabianosabha.com.br

FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais

Page 17: Sistemas Operacionais Prof. Fabiano Sabha

ATIVIDADES DE FIXAÇÃO

Exercícios:Exercícios:

Questionário da Página 100

www.fabianosabha.com.br

FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais