(Parte 1 de 4)

Passo 1: Fazer a leitura e anotar os pontos importantes dos capítulos do livro texto ou complementar que trazem informações sobre processos, threads, sincronização e comunicação entre processos/threads e gerencia de processos.

Processo

A gerência de um ambiente multiprogramável e função do sistema operacional que deve controlar a execução dos diversos programas e o uso concorrente do processador e demais recursos. Para isso, um programa ao ser executado deve estar sempre associado a um processo. O conceito de processo e a base para a implementação de um sistema multiprogramável.

A gerência de processos é uma das principais funções de um sistema operacional ,possibilitando aos programas alocar recursos, compartilhar dados, trocar informações e sincronizar suas execuções. Nos sistemas multiprogramáveis, os processos são executados concorrentemente, compartilhando o uso do processador, memória principal e dispositivos de E/S (Entrada e Saída), dentre outros recursos. Nos sistemas com múltiplos processadores não só existe a concorrência de processos pelo uso do processador como também a possibilidade de execução simultânea de processos nos diferentes processadores.

Um processo pode ser entendido inicialmente como um programa em execução, só que seu conceito e mais abrangente. Para que a concorrência entre os programas ocorra sem problemas, e necessário que todas as informações do programa interrompido sejam guardadas para que, quando este voltar a ser executado,não lhe falte nenhuma informação necessária à continuação do processamento. Estas informações são fundamentais para que o sistema operacional possa gerenciar a execução concorrente de programas, e é a base de qualquer ambiente multiprogramável. O conceito de processo pode ser definido como sendo o conjunto necessário de informações para que o sistema operacional implemente a concorrência de programas.Em um sistema multiusuário,cada usuário tem seu programa associado a um processo. Ao executar um programa, o usuário tem a impressão de possuir o processador e todos os demais recursos reservados exclusivamente para seu uso. De fato isso não e verdade, visto que a UCP (Unidade Central de Processamento). Um processo também pode ser definido como o ambiente onde um programa é executado. Este ambiente, alem das informações sobre a execução, possui também a quantidade de recursos do sistema que cada programa pode utilizar, como o espaço de endereçamento da memória principal, tempo de processador e área em disco.

Um processo é formado de três partes, conhecidas como contexto de hardware, conceito de software e espaço de endereçamento, que juntos mantêm todas as informações necessárias a execução de um programa.

O contexto de hardware de um processador armazena o conteúdo dos registradores gerais da UCP, alem de=os registradores de uso especifico, como program counter (PC), stack pointer (SP) e registrador de status. Quando um processo está em execução, o seu contexto de hardware está armazenado nos registradores do processo. No momento em que o processo perde a utilização da UCP, o sistema salva as informações no contexto de hardware do processo. O contexto hardware é fundamental para a implementação dos sistemas multiprogramáveis, onde os processos se alternam na utilização da UCP, podendo ser interrompidos e, posteriormente, restaurados.O sistema operacional gerencia a mudança do contexto, base para implementação da concorrência, que consiste em salvar o conteúdo dos registradores do processo que está deixando a UCP e carregá-lo com os valores referentes ao do novo processo que será executado.

No contexto de software de um processo são especificados limites e características dos recursos que podem ser alocados pelo processo,como o número máximo de arquivos abertos simultaneamente, prioridade de execução e tamanho do buffer (Região de memória temporária utilizada para escrita e leitura de dados) para as operações de E/S. Muitas destas características são determinadas no momento da criação do processo, enquanto outras podem ser alteradas durante sua existência.

O contexto de software é composto por três grupos de informações sobre o processador:

Identificação - Cada processo criado pelo sistema recebe uma identificação única. (PID – process identification) representada por um número. Através do PID, o sistema operacional e outros processos podem fazer referências a qualquer processo existente, consultando seu contexto ou alterando uma serie de características. O processo também possui a identificação do usuário ou processo que o criou (owner). Cada usuário possui identificação única no sistema (UID – user identification), atribuída ao processo no momento de sua criação. A UID permite implementar um modelo de segurança , onde apenas os objetos(processos,arquivos, áreas de

memória etc.) que possuem a mesma UID do usuário (processo) podem ser acessados.

Quotas - As cotas são os limites de cada recurso do sistema que um processo pode alocar. Caso uma cota seja insuficiente, o processo poderá ser executado lentamente, interrompido durante seu processamento ou mesmo não ser executado.

Privilégios – Os privilégios ou direitos definem as ações que um processo pode fazer em relação a ele mesmo, aos demais processos e ao sistema operacional. Privilégios que afetam o próprio processo permitem que suas características possam ser alteradas, como propriedade de execução, limites alocados na memória principal e secundaria etc. Já os privilégios que afetam os demais processos permitem, alem da alteração de suas próprias características, alterar as de outros processos.

Espaço de endereçamento - O espaço de endereçamento é à área de memória pertencente ao processo onde instruções e dados do programa são armazenados para execução. Cada processo possui seu próprio espaço de endereçamento,que deve ser devidamente protegido do acesso dos demais processos.

Características da estrutura de um processo:

- Contexto de software: Nome; PID; Owner (UID); Prioridade de execução; Data/Hora de criação; Quotas; Privilégios;

- Contexto de Hardware: Registradores gerais; Registrador PC; Registrador SP; Registrador de Status;

- Espaço de Endereçamento: Endereços de memória principal alocados.

Bloco de controle do processo – O processo eimplementado pelo sistema operacional através de uma estrutura de dados chamada bloco de controle do processo (Process Control Block – PCB)

3. Fazer a simulação de atividades referentes ao gerenciamento de processos referente ao

Capítulo 5 – Gerência de Processos – Laboratório com o Simulador SOsim. Disponível em:

<http://www.training.com.br/aso/>. Acesso em: 27 out. 2012. Primeiramente faça o

download do simulador SOsim (Simulador para o Ensino de Sistemas Operacionais Versão

2.0) em Simulador baixando o arquivo sosim_v20.zip. Em seguida acessar o item

Laboratório SOsim – Gerência de Processos na mesma página ou em Anexos. Em seguida,

fazer as atividades a) Prática de Simulação e b) Análise Prática das atividades propostas

no Laboratório SOsim – Gerência de Processos: Atividade 1: Criação de Processos,

Atividade 2: Tipos de Processos, Atividade 3: PCB, Atividade 4: Estatísticas, Atividade 5:

Log de Execução dos Processos e Atividade 6: Suspensão e Eliminação de Processos.

Após observar um período em que o poder computacional dos processadores cresceu a uma taxa alta, a atual tecnologia de produção chegou a uma barreira. Durante esse período, a forma básica de se obter esse ganho teve como base o aumento do clock do núcleo dos processadores. O efeito colateral dessa abordagem é a constante necessidade do aumento de energia gasta e a dissipação do calor gerado. A projeção dos altos níveis de consumo e gastos com sistemas de refrigeração necessários tornava proibitiva a evolução deste modelo. Neste momento, assim como no passado, o processamento

com múltiplos processadores forneceu a solução para continuar a evolução do poder computacional disponível. Entretanto, essa abordagem não garante sempre o aumento de desempenho. Caso a tarefa não possa ser paralelizada, não existe ganho algum na utilização de arquiteturas paralelas. Muitas vezes o problema a ser resolvido tem a característica de uma execução essencialmente serial. Outra característica ao se analisar o comportamento de processos é o tipo de recurso que mais utiliza. Dois tipos se destacam: processos CPU-Bound e I/O-Bound. O primeiro tipo de processo demanda um uso mais intenso do processador para finalizar enquanto o segundo é limitado pelo tempo gasto nas operações de I/O (Input/Output – entrada/saída).

Fazer uma pesquisa e conhecer como gerenciar e monitorar processos, threads da versão

dos sistemas operacionais escolhidos da linha Microsoft e da distribuição Linux.

Para auxiliar na pesquisa, ler os materiais disponíveis nos links:

Todos os softwares que podem executar em um computador, inclusive o SO (os mais tradicionais são assim), são organizados para serem executados num processador, como vários processos sequenciais (também chamados processos). Um processo é uma atividade (ou tarefa) de um programa, que contém o código e dados de uma atividade. Essas são: leitura de dados, escrita de dados, cálculos no processador, comunicação com o usuário, comunicação com um BD, comunicação com a rede interna ou externa, entre outras. Um processo define a unidade de processamento concorrente, que é executada num dado instante num processador, utilizando um contador de programa lógico, usando o único contador de programa físico (registro no processador), valores em registradores, variáveis do programa e uma pilha de execução. Processos são escalonados para o processador, que faz uma troca a todo o momento do processo sendo executado, através do mecanismo chamado multiprogramação.

Em SO tradicionais, cada processo tem um único fluxo de execução (o que define uma thread), a unidade de processamento concorrente destinada para ser executada sob as condições de desempenho de um processador da época. Com o surgimento de processadores de mais alto desempenho, uma nova unidade de processamento concorrente pôde ser definida dentro do próprio processo, materializando novas unidades de fluxo de execução e assim podem-se ter múltiplos fluxos de execução (múltiplas threads) num mesmo processo.

O que as threads

acrescentam ao modelo de processo é permitir que múltiplos fluxos de execução ocorram no mesmo ambiente do processo, com um grau de independência uma das outras. Assim, múltiplas threads executam concorrentemente em um processo, e é análogo a múltiplos processos executando concorrentemente em um único computador.

2.1 Política de Gerenciamento de Processador:

Essa política é um das diferenças entre os sistemas operacionais existentes no mercado, pois cada sistema operacional possui a sua política adequada a suas características. Apesar de cada sistema operacional adotar seus critérios, podemos citar alguns dos principais:

* Todos os processos são tratados igualmente, não ficando processo sem tratamento;

* Deve maximizar seu desempenho com maior numero possível de processos por unidade de tempo;

* Atender os usuários em tempos de respostas aceitáveis;

* Previsibilidade e fundamental independentemente do sistema;

* Mitigar recursos perdidos;

* Balancear o uso de recursos;

* Ocupar o máximo o processador;

* Evitar espera indefinida (starvation), e principalmente o deadlock;

* Priorizar os processos de forma a identificar os de maiores prioridades;

O objetivo de escalonamento e maximizar a utilização da CPU via multiprogramação. O escalonamento de processador ocorre quando existe uma politica do sistema para escolher quais processos executar. A politica de escalonamento deve atender algumas premissas ligadas a desempenho e maximização do numero de processos executados, reduzir o

tempo de latência (tempo de espera antes da execução), evitar antecipação indefinida de processos e aperfeiçoar o uso do(s) processador (es).

Escalonamento Preemptivo: E quando o sistema operacional atua de forma sublime, pois deve saber parar um processo em execução e ate mesmo substitui-lo por um novo processo. O mercado denomina “processadores multicore” os circuitos integrados que possuem dois ou mais núcleos de processamento completos no seu interior.

Atualmente com o surgimento desses processadores (dual core, core 2 duo, quad-core) com maior poder de processamento, consolidam nos sistemas operacionais as politicas de escalonamento do tipo Preemptivo. Um forte uso dessa técnica esta desenvolvida em aplicações de sistemas de tempo real, onde caracteriza por se preocupar com o fator tempo: de processador, de espera, de resposta, “turnaround”.

* Tempo de processador: e o tempo que um processo leva no estado de execução durante seu processamento.

* Tempo de espera: e o tempo total que um processo permanece na fila durante seu processamento, aguardando para ser executado.

* Tempo de turnaround: é o tempo que um processo leva desde a sua criação até ao seu término, inclusive o tempo para alocação de memória, espera na fila, processamento na CPU e nas operações de Entrada e Saída.

* Tempo de resposta: é o tempo decorrido entre uma requisição ao sistema ou à aplicação e o instante em que a resposta é exibida.

Escalonamento Não-Preemptivo: Foi o precursor em sistemas multiprogramável, possibilitando

ao sistema operacional atuar somente ao término do processo iniciado. Estando presente em sistemas com processamento em bacth(lote).

2.2 Gerenciamento de processos

Nos sistemas operacionais, um processo é a forma de representar um programa em execução. É o processo que utiliza os recursos da maquina, processador, memória, etc.

Por esse motivo é importante gerencia-los.

2.2.1 Criação de um processo

Com o simulador SOsim criamos um Processos.

Na janela Gerência de Processos, observe algumas informações sobre o contexto de software do processo como PID, prioridade, estado do processo e tempo de processador.

Na janela Gerência de Processador, observe o processo transacionando entre estados.

Na janela Gerência de Processador, movimente a barra de Clock de UCP e observe as variações ocorridas.

2.2.2 Tipos de processo

Criamos um processo do tipo CPU-bound e um processo do tipo I/O-bound

Na janela Gerência de Processos, observe as mudanças de estado dos dois processos.

Na janela Gerência de Processador, observe o comportamento dos processos e as mudanças de contexto em função do tipo I/O-bound e CPU-bound.

Na janela Gerência de Processos, compare a taxa de crescimento do tempo de processador dos dois processos.

2.2.3 PCB

Na janela Gerência de Processos / PCB, observe as informações sobre o contexto de software e hardware dos processos criados.

2.2.4 Estatística

Ativamos a janela de Estatísticas em Console SOsim e criamos dois novos processos.

Na janela Estatísticas, observe as informações: número de processos,

estados dos processos e os processos escalonados.

2.2.5 Log de Execução dos Processos

Ativamos a janela de Log em Console SOsim criamos dois novos processos do tipo CPU-bound.

Na janela Log, observe as informações sobre as mudanças de estado dos processos observando o tempo que cada processo permanece nos estados de Execução e Pronto.

Reinicialize o simulador parametrizado com um valor de fatia de tempo diferente observe as diferenças na janela Log.

No Sistema Operacional com fatia de tempo igual a 1s, em 20 segundos cada processo entrou em estado de execução cinco vezes totalizando 10s de UCP, no entanto houve 10 s em gastos em troca de contexto.

No Sistema Operacional com fatia de tempo igual a 4s, em 20 segundos o processo A entrou em execução três vezes totalizando 9s UCP e o B dois vezes e 6s de UCP, totalizando 15s de UCP e apenas 5s de troca de contexto.

Observamos assim que quanto menor a fatia de tempo, maiores serão os tempos gastos em trocas de contextos.

2.2.6 Suspensão e Eliminação de Processos

Suspendemos temporariamente um dos processos na janela Gerência de Processos.

Observamos os estados dos processos, a concorrência no uso do processador e comparamos percentualmente os tempos de uso do processador entre os dois processos.

Liberamos o processo do estado de espera e eliminamos um dos processos na janela Gerência de Processos.

2.3 Softwares Instalados

Vamos acompanhar a instalação do sistema operacional, nesse caso instalamos o Windows XP Professional 64 bits.

O primeiro passo

é dar o boot pelo CD ou DVD de instalação, na primeira tela receberemos uma mensagem de boas vindas e informaremos ao sistema o que ele deve fazer:

* Para instalar o Windows agora, pressione ENTER;

* Para reparar a instalação do Windows utilizando o console de Recuperação, pressione R.

* Para sair do sistema de Instalação do Windows, pressione F3.

Licença de uso do Windows pressione “F8” para aceitar, “ESC” para recusar ou “PAGE DOWN” para ir à próxima página da licença.

Vamos criar uma partição na HD para instalar o Windows. Pressione “ENTER” para selecionar a partição marcada, “C” para criar uma nova partição, “D” para excluir a partição selecionada ou “F3” para sair. Como ainda não existe uma partição criada vamos com a segunda opção “C”, para criarmos.

Depois de criada clique em “ENTER” para iniciar a instalação.

Depois de criada e selecionada a partição tem que ser formata. Temos quatro opções,

* Formatar a partição usando o sistema de arquivos NTFS (Rápida);

* Formatar a partição usando o sistema de arquivos FAT (Rápida);

* Formatar a partição usando o sistema de arquivos NTFS;

* Formatar a partição usando o sistema de arquivos FAT;

A última opção verifica se já existe outro sistema operacional e o mantem intacto, continuando a instalação sem formatar a partição.

Confirme a formatação com “F” ou “ESC” para voltar ao menu anterior e escolher uma partição diferente para instalação.

Inicio da formatação da partição selecionada.

Depois de formatar a partição, automaticamente

inicia a cópia dos arquivos de instalação para mesma.

Concluído a cópia o sistema avisa que vai reiniciar em 20 segundos ou pressionado “ENTER” o sistema adianta a reinicialização.

Agora com os arquivos na partição selecionada o sistema inicia sua instalação, mostrando no quadro a direita alguma informações sobre sua arquitetura e funcionalidades.

Durante a instalação o sistema solicitará algumas informações como região e língua.

Opções para personalizar sua instalação, informe o nome e sua organização caso faça parte de uma.

Informe a chave do produto.

Informe o nome do computador e a senha do usuário padrão “Administrator”.

Configure data e hora e informe qual a zona de tempo pertence. Marque se o sistema deve atualizar o horário automaticamente ou não. Por exemplo, quando é escolhido GMT – 3 Brazil, o sistema altera a ora conforme o horários de Verão.

Escolha a opção de configuração da rede. Escolhemos as configurações típicas.

Finalizado a instalação o Sistema vai aplicar suas configurações e iniciar.

Primeiro fizemos download do aplicativo, Avast Free, e iniciamos a instalação. Informe à língua que preferi, lembrando que existe a opção português do Brasil.

O Avast está em parceria com a Google, por esse motivo a instalação vai oferecer uma atalho para instalação do Chrome, porém fica a escolha de quem estiver instalando.

Concluindo a instalação o aplicativo informará clique em “terminar” e pronto.

Agora vamos instalar o WINRAR 3.93, um software de compactação, como

Winzip, porém ele abrange vários tipos de arquivo, como o próprio Winzip, ICO, EXE, etc. Ele já informa uma pasta de instalação padrão, porém é possível alterar clicando no botão “Procurar”.

Escolha os tipos de arquivos que o WinRar será associado.

Aqui temos opções de saber mais sobre o WinRar, clicando nos botões. No botão “Concluído” o sistema de instalação fecha e solicita reinicialização do Sistema Operacional.

Por ultimo vamos instalar o Microsoft Office Professional 2003. De cara ele já solicita a chave do produto.

Como na instalação do Windows ele solicita o nome do usuário e a organização, porém se já tiver informado na instalação do Windows ele vai assumir o que já foi cadastrado.

É obrigado aceitar o contrato da licença ou não instalar.

Tem quatro tipo de instalação:

* Instalação Típica: Instalam os programas mais utilizados, Word, Excel, Power Point, Outlook, Publisher, Access, InfoPath;

* Instalação Completa: Instala todos os produtos do Officer 2003;

* Instalação Mínima: Instala apenas o Word, Excel e Power Point;

* Instalação Personalizada: Instala apenas o que você selecionar.

No nosso caso utilizamos a instalação típica.

Confira os produtos que serão instalados.

Acompanhe o processo de instalação.

Mensagem de instalação concluída.

2.4 Sistemas de Gerenciamento de Processos

Clicando com o botão direito do mouse a barra de tarefa, selecione a opção Iniciar Gerenciamento de Tarefas do Windows 7 Profissional. Versão 6.1.

Relação das tarefas que estão

(Parte 1 de 4)

Comentários