Cursos / Jogos Digitais / Sistemas Operacionais / Aula
O conceito mais importante em sistemas operacionais é o de processos, e entendê-los é fundamental para quem estiver interessado em conhecer como os sistemas operacionais funcionam realmente.
Todas as ações que ocorrem no seu computador acontecem dentro de algum processo. Você deve estar lembrado quando, na aula 1, definimos processos como sendo programas em execução, ou seja, todos os aplicativos que usamos são, na verdade, processos. Mas, como os processos são criados a partir do código de seus respectivos programas? E como preparar os diversos componentes do computador (memória, HD, processador) para que os processos possam ser executados normalmente?
Para que você possa entender melhor esses conceitos, vamos fazer outra analogia do que ocorre no computador com a organização de uma mesa de estudos. Você deve ter muitas atividades escolares que precisam de sua dedicação e esforço para serem realizadas. Provavelmente, você tem um lugar preferido para estudar, mas vamos considerar que você tenha uma mesa de estudos própria, com gavetas onde é guardado todo seu material escolar e nela são feitos todos os seus trabalhos das mais diversas disciplinas (matemática, português, física, química etc.).
Vamos pensar que exista para cada disciplina uma lista de exercícios a ser resolvida. Então, para começar, qual o primeiro passo a ser realizado? Poderíamos considerar a ação de pegar das gavetas e colocar sobre a mesa as listas de exercícios que serão resolvidas, assim você teria acesso direto às questões para resolvê-las, uma de cada vez (Figura 3).
Se considerarmos que nossa mesa de estudos é a memória do computador, e que nós somos o processador, então, os programas são as listas de exercícios e quando a colocamos sobre a mesa, estamos deixando-as prontas para serem resolvidas, ou seja, nesse momento, cada lista deixa de ser apenas uma folha guardada na gaveta (ou HD, se considerarmos os programas) para se tornar parte de uma atividade, ou seja, de um processo. Associado a cada processo criado, existe uma quantidade de memória reservada, conhecida como espaço de endereçamento do processo onde o processo pode ler e gravar dados. Nessa área de memória, encontramos:
Neste momento, você deve associar o conceito de espaço de endereçamento aos conceitos de variáveis globais e locais que você utiliza nas disciplinas de programação. Enquanto as variáveis globais são armazenadas em áreas de memória que podem ser acessadas durante todo o tempo de vida de um processo, as variáveis locais (definidas dentro de funções e procedimentos) são armazenadas em um espaço de memória provisória, (também chamada de pilha) que só permanecerá acessível enquanto a função ou procedimento estiver em execução.
Versão 5.3 - Todos os Direitos reservados