Conceitos base de Sistemas Operacionais
Por mais de quatro décadas, sistemas operacionais têm sido estudados, melhorados e desenvolvidos com o foco de tornar a usabilidade do computador mais eficaz e conveniente, integrando interfaces cada vez mais intuitivas, o que atinge um nível de sinergia natural com o usuário. Para que estes estudos, melhorias e desenvolvimentos fossem possíveis, houve uma explosão de ideias que culminaram em muitos conceitos, abstrações, mecanismos e algoritmos. Para que estes objetivos propostos fossem atingidos, o sistema operacional fornece uma infinidade de serviços. Todos os sistemas operacionais oferecem meios para que um programa seja carregado na memória principal, e por fim, executado. Os programas precisam de serviços do sistema operacional e estes serviços são chamados através das chamadas de sistema. As chamadas de sistema se assemelham às chamadas de subrotinas,
porém,
enquanto
sub-rotinas
são
chamadas
que
transferem
procedimentos comuns ao programa. As chamadas de sistema transferem a execução para o sistema operacional.
Este artigo tem por objetivo apresentar os conceitos teóricos e exemplificar situações e modelos em situações correntes de um sistema operacional. O trabalho está organizado em quatro partes: a primeira parte:
Tarefas - conceitos, gerência, implementação e escalonamento. A segunda parte: Semáforos - conceitos e gerência. A terceira parte: Thread e
Gerenciamento de Processos. A quarta parte: Deadlocks - conceitos e exemplos. DESENVOLVIMENTO
Tarefas
Uma tarefa é definida como sendo a execução de um fluxo sequencial de instruções, construída para atender uma finalidade específica: realizar um cálculo complexo, a edição de um gráfico, a formatação de um disco, etc.
Assim, a execução de uma sequência de instruções em linguagem de máquina, normalmente gerada pela compilação de um programa escrito em uma linguagem qualquer, é denominada tarefa ou atividade.
PROGRAMA X TAREFA
Um programa