Blog do Lud

Definindo prioridade de processos no Linux

leave a comment »

Olá, esse post será curtinho mas tenho certeza que será útil para algumas pessoas que estão iniciando agora com o Linux e querem saber como definir a prioridade de um processo/aplicativo. Isso pode ser interessante quando desejamos melhorar a performance de um determinado processo.

Para isso devemos utilizar o comando renice, ele serve para você alterar a prioridade do processo enquanto ele é executado pelo sistema, é necessário conhecer o nome correto do processo e seu PID, você pode obter essas informações da seguinte forma. Supomos que você queira melhorar a performance do seu Firefox, digite:

ps -A |grep firefox

Você receberá como saída do comando as seguintes linhas, caso tenha o firefox instalado no seu sistema e ele esteja em execução.

3613 ? 00:00:00 firefox
3622 ? 00:09:20 firefox-bin

Temos duas opções para o processo firefox? Qual devemos alterar? Isso é muito simples, observe que firefox-bin está 00:09:20 minutos em execução ficou claro devemos alterar a sua prioridade. O comando fica assim:

renice -5 3622

Mas que raios são esses números?

Simples -5 é o valor atribuído para a prioridade do processo firefox-bin, a lógica é quanto menor o valor maior a prioridade, os valores podem ser alterados em um intervalo de -20 a 20, caso execute o comando em um terminal logado como root, caso contrário o intervalo é de 0 a 20. O 3622 é o PID do firefox-bin obtido no primeiro comando.

Caso tenha dúvida sobre qual o nome do processo que deseja alterar digite apenas o comando

ps -A

o Linux listará todos os processos em execução no seu sistema, aí basta procurar.

Fiz um script para execução dessa tarefa. Basta clicar aqui para obte-lo.

Você deve tornar o script executável com o seguinte comando:

chmod +x priori.sh

depois basta digitar ./priori.sh para executá-lo.

Mais informações sobre esse assunto nesse artigo do Dicas-l.

Abraços a todos! E viva o TUX!!

Advertisements

Written by Ricardo Ludwig

June 9, 2007 at 2:41 am

Posted in Debian, GNU, Linux

Orientação a Objetos — Classes

leave a comment »

Classes são elementos fundamentais na composição de softwares orientados a objetos, podemos entende-lás como descrições genéricas ou coletivas de entidades do mundo real. Mantém-se aqui a intenção de aproximar entidades mundanas da representação computacional. Desta forma, a definição das classes de um sistema deverá procurar inspiração nas entidades do mundo real.

Ao contrário dos objetos, que representam entidades individualizadas, as classes são representações genéricas, elas são abstrações de um coletivo de entidades semelhantes.

Uma classe para Orientação à Objetos (O.O) é como uma receita de bolo, você não come uma receita de bolo, mas a usa como referência para preparar o bolo. A função da classe é semelhante a receita do bolo a utilizamos para criar um objeto bolo a partir de suas especificações, o ato da criação do objeto pela classe é conhecido como “instanciar o objeto”. Podemos criar centenas de bolos a partir da mesma receita (classe), eles podem ser bem semelhantes, alguns idênticos, mas são objetos diferentes.

Umas das principais dificuldades para um iniciante é entender a diferença entre Classe e Objeto.

Agora você é capaz de perceber que não criamos vários objetos e sim a classe encarregada de criá-los, definimos nela as características dos objetos (atributos e métodos) necessários para a instanciar os objetos.

As classes possuem em sua estrutura:

Construtores – definem o comportamento no momento da criação de um objeto de uma classe.

Destrutor – define o comportamento no momento da destruição do objeto de uma classe. Normalmente, como em C++, é utilizado para liberar recursos do sistema (como memória). Em Java essa função é substituída pelo Garbage Collector

Propriedades – define o acesso a um estado do objeto.

Eventos – define um ponto em que o objeto pode chamar outros procedimentos de acordo com seu comportamento e estado interno.

Uma classe possuí ainda encapsulamento, herança e pode fazer uso de polimorfismo, conceitos que serão explicados em outros post.

O importante agora é assimilar claramente a função da Classe não confundindo com Objetos.

Referências:

Caelum Curso FJ-11 Java e OO

O exemplo da receita de bolo é usado por vários autores, mas eu utilizei explicitamente ao dessa excelente apostila de Java fornecida gratuitamente pela Caelum.

Wiki Classes

Written by Ricardo Ludwig

June 2, 2007 at 6:58 pm

Posted in Java, O.O, UML

Introdução à Programação Orientada a Objetos

leave a comment »

Olá a todos, nesse post darei uma breve introdução à OPP, tentarei evitar os formalismos de livros e dos milhares de tutorias que podemos encontrar pela Internet.
O paradigma da programação OPP consiste em tornar a forma como programamos mais próxima da maneira com interagimos com o mundo real, diferentemente da forma que ocorre com a programação estruturada onde trabalhamos com funções que realizam ações na programação OPP trabalhamos com objetos que possuem atributos e métodos tais como os objetos reais.
Mas o que são atributos e métodos de um objeto?
Atributos de objetos são suas características que os distingui de outros objetos como tamanho, cor, forma, peso, etc. Já os métodos são as ações ou utilidades desses. Exemplos: seca, rola, incha, esvazia, armazena, etc.
É através da observação do comportamento dos objetos no mundo real que aprendemos sobre eles.
Com esse conhecimento é possível modelarmos um objeto em nosso programa, definindo suas características e suas ações (o conceito de modelar aqui não é idêntico ao aplicado em computação gráfica).
Ainda pensando em objetos percebemos que muitos deles possuem características comuns entre si. Um objeto carro possui características comum a um caminhão, a uma caminhonete ou a ainda uma bicicleta.
Quais são os atributos em comum entre esses 4 objetos?
Simples todos possuem rodas.
E quais são os métodos comum entre todos?
Obviamente o transporte.
Imediatamente após esse raciocínio percebemos que o ideal seria que pudéssemos ao invés de criar atributos e métodos repetidos entre os diversos objetos de nosso programa criássemos uma instância superior desses objetos no qual importaríamos as características comuns a todos, a isso damos o nome de Classe.
A classe é um descritor de conjunto de objetos, ela é a entidade que reúne os objetos semelhantes, ou seja, os objetos que compartilham os mesmo atributos, métodos e relacionamentos entre outros objetos.
No próximo post sobre esse tema continuarei falando sobre Classe, objetos e seus relacionamentos.
Abraços a todos!

Written by Ricardo Ludwig

February 19, 2007 at 2:43 pm

Posted in Java, O.O, UML