Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistema Operacional - Apostila 5 Jardel Lourenço Lial GTI - 2021 -1 1. Explique o que é, para que serve e o que contém um TCB - Task Control Block. Presente na estrutura de dados do núcleo do processador ao executar uma tarefa. TCB identifica a tarefa, analisa o estado da tarefa, coleta informações de contexto do processador, lista de áreas de memória usadas pela tarefa, conexões de rede e outros recursos usados pela tarefa exclusivos ou compartilhados com outras tarefas. Após isso são passadas as informações de gerência e contabilização que são prioridade de processamento, usuário proprietário, data de início, tempo de processamento já decorrido, volume de dados lidos/escritos, etc. 4. O que são threads e para que servem? Threads são o fluxo de tarefas executadas durante o processo de um ou mais contextos de um sistema operacional, esse evento é chamado de TLS (Thread Local Storage). As threads além de serem gerenciadas pelo núcleo do sistema operacional para execução das tarefas de usuário (User Threads), auxiliam o núcleo no fluxo de atividades internas como alocação de memória de tarefas conjuntas e execução de drivers. 5. Quais as principais vantagens e desvantagens de threads em relação a processos? As threads compartilham o mesmo espaço de endereçamento e os mesmos recursos (arquivos abertos, conexões de rede, etc), tornando mais simples implementar a interação entre as tarefas. Além disso, a execução é mais ágil, pois é mais rápido criar uma thread que um processo. Todavia, um erro em uma thread pode se alastrar às demais, pondo em risco a robustez da aplicação inteira. Já os processos isolados sem o uso de threads qualquer erro ocorrido em um processo fica restrito ao seu espaço de memória pelos mecanismos de isolamento do hardware, não comprometendo o funcionamento de toda a cadeia de processos em execução dos contextos. 7. Associe as afirmações a seguir aos seguintes modelos de threads: a) many-to-one (N:1); b) one-to-one (1:1); c) many-to-many (N:M): (a) Tem a implementação mais simples, leve e eficiente. → a (b) Multiplexa os threads de usuário em um pool de threads de núcleo.--> c (c) Pode impor uma carga muito pesada ao núcleo.--> a (d) Não permite explorar a presença de várias CPUs pelo mesmo processo.--> a (e) Permite uma maior concorrência sem impor muita carga ao núcleo.--> c (f) Geralmente implementado por bibliotecas.--> a (g) É o modelo implementado no Windows NT e seus sucessores.--> b (h) Se um thread bloquear, todos os demais têm de esperar por ele.--> a (i) Cada thread no nível do usuário tem sua correspondente dentro do núcleo.--> b (j) É o modelo com implementação mais complexa.--> c
Compartilhar