170 likes | 318 Views
Sistemas. Operacionais. Prof. Fabiano Sabha. FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais. PLANEJAMENTO 1- Conceitos Básicos: Visão geral de um S.O . Funções Básicas Máquina de Camadas Tipos de Sistemas Operacionais 2- Conceitos Básicos: Hardware e Software Hardware
E N D
Sistemas Operacionais Prof. Fabiano Sabha www.fabianosabha.com.br
FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais PLANEJAMENTO 1- Conceitos Básicos: Visão geral de um S.O. Funções Básicas Máquina de Camadas Tipos de Sistemas Operacionais 2- Conceitos Básicos: Hardware e Software Hardware Processador Memórias Dispositivos de I/O Barramento Pipelining Arquiteturas RISC e CISC Matéria Estudada www.fabianosabha.com.br
FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais Matéria Estudada PLANEJAMENTO 2- Conceitos Básicos: Hardware e Software (continuação) Software Tradutor Interpretador Linker Loader Depurador 3- Conceitos Básicos: Concorrência Sistemas Monoprogramáveis x Multiprogramáveis Interrupções e Exceções Operações de I/O Buffering Spooling Reentrância www.fabianosabha.com.br
FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais Matéria Estudada PLANEJAMENTO 4- Conceitos Básicos: Estrutura do S.O. Funções do Núcleo Modo de Acesso Rotinas do S.O. e system Calls Chamada de rotinas do S.O Linguagem de Comandos Ativação / desativação do Sistema Arquiteturas do Núcleo 5- Processos Estrutura do Processo Estados do Processo Mudança de Estados Criação e Eliminação de Processos Formas de Criação de Processos www.fabianosabha.com.br
FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais PLANEJAMENTO 6- Thread Ambiente Monothread Ambiente Multithread 7- Sincronização e Comunicação entre Processos Aplicações Concorrentes Especificação de Concorrência em Programas Problemas de Compartilhamento de Recursos Atividades de Revisão Próximas Aulas www.fabianosabha.com.br
FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais Sistemas Operacionais thReads www.fabianosabha.com.br
FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais Revisão ESTRUTURA DO PROCESSO 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: 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: É a área de memória que pertence ao processo. Cada processo possui seu próprio espaço de endereçamento protegido do acesso dos demais processos. Instruções e dados são armazenados para execução Contexto de Hardware Contexto de Software Programa Espaço de Endereçamento 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: • Monothread • Suportam apenas uma linha de execução • Multithread • 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 : Paralelismo Em 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. Fig. 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 concorrentemente ao programa chamador. Fig. 6.3 Fig. 6.4 www.fabianosabha.com.br
FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais MODOS DE THREADS 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.8 www.fabianosabha.com.br
FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais MODOS DE THREADS 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.9 www.fabianosabha.com.br
FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais MODOS DE THREADS MODO HÍBRIDO: Essa arquitetura combina as vantagens e desvantagens dos modos TMU e TMK. Consegue trabalhar com THREADS diretamente no kernel ou gerenciados por aplicações desenvolvidas pelo programador. Fig. 6.9 www.fabianosabha.com.br
FAPI - Faculdade de Pindamonhangaba – Sistemas Operacionais • ATIVIDADES DE FIXAÇÃO • Exercícios: • Questionário da Página 100 www.fabianosabha.com.br