FUNDAMENTOS DE SISTEMAS OPERACIONAIS MÓDULO 10 Índice 1. Gerenciamento de Processos ...................................... 3 1.1 Conceituação de Processos ............................................ 3 1.2. Condições de Corrida e Regiões Críticas ......................... 3 2 Fundamentos de Sistemas Operacionais - Módulo 10 1. GERENCIAMENTO DE PROCESSOS 1.1 CONCEITUAÇÃO DE PROCESSOS O gerenciamento de processos ocorre porque o sistema, quando intercala a execução de um determinado processo, deve conseguir administrá-lo cuidadosamente para que possa reiniciá-lo quando ele for retomado. Os processos devem possuir a capacidade de poder comunicar-se com o sistema operacional, de forma que possam informar, por exemplo, o fim da execução do processo. 1.2. CONDIÇÕES DE CORRIDA E REGIÕES CRÍTICAS Alguns sistemas operacionais permitem que processos que trabalham de forma simultânea frequentemente compartilhem o mesmo armazenamento. Esse armazenamento pode ocorrer na memória principal ou pode ser um arquivo compartilhado. A natureza do armazenamento não elimina a região crítica quando ocorre o risco de problema (ver figura 14). Segundo Tanenbaum (1987), onde dois ou mais processos estão lendo ou gravando um dado compartilhado localizado no mesmo endereço de memória principal ou secundária, pode ocorrer uma “condição da corrida” (race condition) ou “condição de disputa” (DEITEL, H. M.; DEITEL, P. J.; CHOFFNES, D. R., 2005). Essa situação deve ser evitada porque pode causar erros em aplicações que serão difíceis de identificar. 3 Fundamentos de Sistemas Operacionais - Módulo 10 Para prever o aparecimento das regiões críticas, deve-se encontrar um meio de proibir que mais de um processo leia ou grave os dados compartilhados no mesmo momento e no mesmo endereço. Assim, é necessário garantir que, se um processo estiver utilizando uma variável ou arquivo compartilhado, o outro processo será impedido de realizar a mesma tarefa. 4 Fundamentos de Sistemas Operacionais - Módulo 10