Sistemas Operacionais
• Um sistema computacional consiste num conjunto de dispositivos eletrônicos (hardware) capazes de processar informações de acordo com um programa (software). Composto por Hardware, Programas de aplicação, Usuário e Programas do sistema.
• SO: É um programa que controla a execução de programas aplicativos.
• Principais funções de um sistema operacional são: prover a abstração de uma máquina estendida e gerenciar recursos.
• Funções de um sistema operacional: Máquina estendida e Gerenciador de recursos.
• Processos: É um programa em execução.
• Impasse: (deadlock) é uma situação de onde não se consegue sair.
• Gerência de memória: É gerenciamento e proteção da memória principal, memória usada para guardar os programas em execução.
• Arquivos: São abstrações do SO para lidar com discos e outros dispositivos de E/S.
Sistemas Monolíticos: MS-Dos
Sistemas em camadas: 6 camadas. Ex.: The, Multics
Máquinas Virtuais: Windows
Exonuclos: Sistema que entrega a cada usuário um clone do computador real, mas com um subconjunto dos recursos.
_____________________________________________________
• Processos: É uma abstração do SO para executar programas, ou seja, constitui uma atividade
• Ciclo de vida de um processo:
Criação:
Início do sistema
Chamada ao sistema por um processo em execução
Chamada ao sistema por um usuário
Início de um job em lote
Execução:
Ciclo de processador
Ciclo de Entrada/Saída
Término:
Saída normal
Saída por erro
Erro fatal
Cancelamento por um outro processo
• Hierarquia de processos
• Estados de processos: Em execução, Pronto e Bloqueado
• O modelo de thread: Thread são as entidades que executam na CPU
• O uso de threads: Aumenta vazão e tempo de resposta das aplicações
Exemplo: Processador de textos, Servidor web
• Implementações de threads
Threads Pop-up: São utilizadas em sistemas distribuídos.