Upload
internet
View
108
Download
3
Embed Size (px)
Citation preview
SistemasOperacionais
Prof. Fabiano Sabha
www.fabianosabha.com.br
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
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
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
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
SistemasOperacionais
thReads
www.fabianosabha.com.br
FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais
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
• 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
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
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
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
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
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
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
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
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
ATIVIDADES DE FIXAÇÃO
Exercícios:Exercícios:
Questionário da Página 100
www.fabianosabha.com.br
FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais