terça-feira, 26 de novembro de 2013

Vocabulário


Multi-tarefa - executa mais de uma aplicação ao mesmo tempo;

Multi-Plataforma - consiste em ter vários usuários no mesmo computador;

Multi-Usuário - existe uma rede de computadores e um servidor, ou seja, os usuários podem ter acesso em simultâneo ao sistema;

Multi-Processamento - é um computador com mais de um processador;

#Super Utilizador - controle total do computador;

$ Utilizador Comum - Não tem qualquer poder para o controlo total do computador, só de alguns;

Sistema Monolítico - todos os processos num só núcleo;

Partilha de Bibliotecas - é a partilha de recursos com os softwares instalados no computador;

Números mágicos - é um termo que na informática serve para designar constantes especiais usadas para definir um certo propósito, usualmente escolhidas de forma arbitrária, eles tem esse nome pois a sua presença é inexplicável e sem nenhum conhecimento prévio de seu uso;

Multi Boot ou Dual Boot - é um sistema que permite a escolha de um entre vários sistemas operativos instalados no mesmo microcomputador quando o este é ligado;

Boot -  processo de iniciação do computador que carrega o Sistema Operativo quando o computador é ligado;

Distro - pode-mos nos referir a distribuição linux (pacote do sistema operativo GNU/linux de um fornecedor específico), distro de software (conjunto de componentes de software reunidos em um todo de trabalho e distribuído para a comunidade de usuários)ou a um serviço de distribuição zine.

Swap- são operações em que há troca de posições quanto ao risco e rentabilidade;

Layout- é o processo de calcular objetos no espaço sujeito a várias restrições, esta funcionalidade pode ser parte de uma aplicação ou empacotado como um componente ou biblioteca reutilizável;

sh - Shell Scrpit: linguagem de programação interpretada; Bourne Shell ou outra Shell Unix;

Modo Batch ou lote - arquivo de computador utilizado para automizar tarefas;

Usenet - espécie de sistemas de listas de discussão existente desde os primórdios da Internet;

Assembly - notação legível por humanos para o código de máquina que uma arquitetura de computador específica usa, utilizada para programar  dispositivos computacionais, esta que é um mero padrão de bits, torna-se legível pela substituição dos valores em bruto por símbolos chamados mnemónicos;

Mnemónico - auxiliar de memória, tipicamente, verbos e utilizados para memorizar listas ou fórmulas, e baseiam-se em formas simples de memorizar maiores construções;

Homogénea - da mesma categoria ;

Bursts - consiste em uma única fase de endereçamento seguido por duas ou mais fases de dados ;

Redundância- é o meio mais simples de obter um sistema de alta disponibilidade, sendo que podemos dividir isto em redundância de base de dados ou redundância de interfaces de rede; 





segunda-feira, 18 de novembro de 2013

Unix

É um sistema operativo portátil, multi-tarefa e multi-utilizador, originalmente criado por Ken Thompson, Dennis Ritchie, Douglas Mcllroy e Peter Weiner, que trabalhavam nos Laboratórios Bell, da AT&T, que inicialmente tinham como objetivo o desenvolvimento do sistema operativo - Multics. ( Com a colaboração da General Eletric(GE) e do Massachussets Institute of Techonology (MIT)).

Unix é uma propriedade do The Open Group (consórcio formado por empresas de informática).


Multics  inicia-se então em 1965, este deveria ser um sistema de tempo compartilhado para uma grande comunidade de usuário. No entanto, na altura os recursos computacionais disponíveis, particularmente os computadores utilizados, um GE 645, revelam-se insuficientes para as pretensões do projeto.
1969 - Bell retira-se do projeto, com duas razões principais, citadas para explicar o motivo da sua saída, sendo a 1ª- As três instituições continham objetivos diferentes e dificilmente, alcançariam assim o objetivo; 2ª- os participantes sofriam da síndrome do segundo projeto e, por isso queriam incluir no Multics tudo o que se tinha excluído de projetos anteriores.

 GE- 645

Ainda, neste mesmo ano, Thompson, usando inutil computador , PDP-7, começou a reescrever o Multics num conceito menos ambicioso, batizado de Unics, usando assembly. 

PDP-7




Mais tarde, Brian Kernighan rebatizou o novo sistema de UNIX.

1973 - Ritchie e Thompson reescreveram o Unix, usando a Linguagem C, para um computador PDP-11. 

PDP-11



*

A Linguagem C havia sido desenvolvida por Ritchie para substituir as limitações da Linguagem B, desenvolvida por Thompson.

*

Ao longo dos anos 70 e 80, foram desenvolvidas as primeiras distribuições de grande dimensão, como os Sistemas BSD, Sysem III e System V.

1977 - AT&T começou a fornecer o Unix para instituições comerciais, a abertura deste mercado deve muito a um cientista de Yale e fundador da Interactive System Corporation -Peter Weiner.
Weiner conseguiu licença para transportar e comercializar o Unix par o computador Interdata 8/32 para ambiente de automação de escritório.

 Interdata 8/32

De 1977 a 1981 - AT&T integrou muitas variantes no primeiro sistema Unix Comercial chamado de System III.

1983 - Depois de vários melhoramentos, a AT&T apresentava um novo Unix comercial, agora chamado de System V.

Hoje, o System V é o padrão internacional de fato no mercado Unix, constando nas licitações de compra de equipamentos de grandes clientes. 

Unix é o nome dado a uma grande família de Sistemas Operativos que partilham muitos dos conceitos dos Sistemas Unix Originais, sendo todos eles desenvolvidos em torno de padrões (por exemplo : POSIX (Portable Operating System Interface)).

Alguns Sistemas Operativos derivados do Unix : 
  • BSD (FreeBSD, OpenBSD e NetBSD);
  • Solaris (ou SunOS);
  • IRIXG;
  • AIX;
  • HP-UX;
  • Tru64;
  • SCO;
  • Linux (e as suas centenas de distribuições);
  • Mac OS ;
  • Entre outros.

O Unix é um Sistema Operativo com as seguintes características :
  • Arquivos de dispositivo;
  • Sistema Operacional Multi-Tarefa ;
  • Sistema Operacional Multi-Utilizador. 


Estrutura do Unix

Consiste basicamente em duas partes:

  • Núcleo  - parte que relaciona.se diretamente com o hardware, e que executa num espaço de memória privilegiado. Agenda processos, gere a memória, controla o acesso a arquivos e a dispositivos de hardware. O acesso ao núcleo é feito por chamadas de sistemas, que são funções fornecidas pelo núcleo, sendo disponibilizadas para as aplicações por bibliotecas de sistema C;

  • Programas de Sistema -  aplicações, executadas em espaços de memória não privilegiados, e que fazem a interface entre o usuário e o núcleo, consistem, principalmente, de :  
-Conjunto de Bibliotecas C,
-Shell,
-Programas utilitários diversos,
-Ambiente Gráfico ;

O espaço de memória utilizado pelo núcleo é denominado espaço do núcleo, a area para os outros programas é denominada espaço do usuário, esta separação é um mecanismo de proteção que impede que programas comuns interfiram com o sistema operativo.




quarta-feira, 23 de outubro de 2013

Shell


O primeiro Shell Unix, o sh criado por Ken Thompson, foi modelado depois do shell Multics, em si modelado com base no programa RUNCOM de Louis Pouzin.
O sufixo 'rx' presente em alguns arquivos de configuração do unix (".vimrc"), é um remanescente do ancestral RUNCOM dos shells Unix.

Quase todos os Shells dos sistemas operativos modernos podem ser usados de duas formas - Interativo e modo Batch ou lote.

Batch ou lote - envolve estruturas, condicionais, variáveis e outros elementos de linguagem de programação. Porém, apenas alguns tem apenas o necessário para um propósito específico, outras atendem propósitos mais diversos e sofisticados.

Podemos traduzir a palavra Shell,para Português nesse caso pode significar "concha" ou "casca". Na informática o Shell, de uma maneira genérica, é um programa que intermedeia o contato entre o utilizador e o computador.
É a interface entre o utilizador e o sistema operativo - Kernel, sendo que aqui apontei o termo mais usado no quotidiano, que se refere aos interpretadores de comandos do sistema Unix e seus similares.
 Existem várias implementações de Shell, posso então mencionar alguns:
  • csh;
  • tcsh;
  • bash;
  • ksh;
  • zsh.
  • etc
Cada um destes pode executar comandos gerais do sistema de uma maneira muito semelhante, no entanto cada um tem a sua estrutura e comandos próprios, diferenciando-o, tendo ainda em conta outra grande diferença entre eles são as facilidades que nos oferecem para reaproveitamento de comandos e manipulação da linha de comandos.
Todo o utilizador em sistemas Unix ou similares tem um Shell associado a si em cadastro. Então, podemos dizer que o Shell do utilizador ''abc" é o csh, por exemplo, se este for o Shell cadastrado para o usuário.
Porém o cadastro só permite associar um shell a cada utilizador, é muito simples passar de um Shell para o desejado, passando a usar outro interpretador de comando, bastando chama-lo.

 Se um utilizador, por exemplo, está no shell "sh" e executa o comando "csh", passa neste momento a usar o shell "csh" como interpretador de comandos até que saia dele com o comando "exit" ou outro comando para sair do shell.
Existem diversos comandos da Shell, uma dica é reparar antes dos comandos geralmente tem simbolo como o dolar($) ou tralha(#), isso indica que o texto a frente deve ser usado num interpretador de comandos (Shell).
Muitos de nós podem se confundir na hora de seguir os passos que estão postados na internet (fóruns, blog's , ...), pois não conhecem esse pequeno detalhe.

sábado, 5 de outubro de 2013

Como instalar o Ubuntu


Inicialmente, é importante decidir-mos se queremos instalar o Ubuntu com o Linux e escolher qual bootar ao ligar o computador ou se iremos ''zerar'' o disco rígido e deixar simplesmente só o Ubuntu instalado.
Na primeira opção, é necessário reservar um espaço no disco para o outro Sistema Operativo ou porém instalar em um segundo disco rígido, nas ambas opções é recomendado reservar pelo menos 20GB para não haver problemas no futuro.
Devemos também ter em consideração antes de ''colocar-mos mãos a obra'' , é se possível anotarmos em um papel qual é modelo da placa de vídeo, antena wireless e entre outros componentes, pois devemos conhecer devidamente o nosso computador.

Após baixarmos o Ubuntu, basta gravá-lo num DVD, usando um programa da nossa preferência. E após isto é só ''colocar-mos mãos a obra''!

  • Reinicie o computador e escolhemos a opção a realizar o boot pelo Ubuntu. Após iniciar-mos, teremos duas opções:


Try Ubuntu :  esta opção serve para o utilizador experimentar o sistema sem realizar nenhuma. 
Install Ubuntu : esta opção realiza logo a a intalação.

P.S.: Mesmo que o utilizador escolha "Try Ubunto", ´3 possível iniciar a instalação por meio de um atalho no desktop.


  •  "Preparing to install Ubuntu", pede que três itens sejam cumpridos para melhor aproveitamento da instalação 


Os três itens que devem ser cumpridos são : 
- Ter 4,4 GB (5,5GB nas versões novas) de espaço disponível no disco;
- Estar conetado a uma fonte de energia;
- Estar conetado a Internet.
  • Particionamento de disco, temos três opções a considerar: instalar o Ubuntu com o Windows; substituir o Windows ou ''Something else". A primeira opção talvez seja mais vantajosa .



Das três opções, todas elas funcionam na maioria das vezes, no entanto o mais importante é sabermos o que estamos a fazer e conhecer um pouco de como funciona o linux.

  • Supondo que seleccionamos a opção "Something else", a janela que vai abrir não é "simpática", mas com algumas dicas simpatizaremos com ela

- Os discos são identificados como "sda" ou "hdb", que na verdade são partições do disco. "sd" significa SATA Disk e "hd" é hard drive, seguido da abreviatura tem uma terceira letra, essa é o número da partição, por exemplo "sda" o 'a' é a partição 1, "hdb" o 'b' é  a partição 2 e assim por diante. 
- No Windows estamos habituados a formatar partições como NTFS, no entanto no Ubunto e outras distros linux em geral utilizam o sistema de arquivos Ext4. Necessitamos pelo menos de criar uma partição com esse formato para instalar o sistema, tendo de reservar pelo menos 1GB para criar outra partição swap, que basicamente funciona como memória virtual do Windows.

Com as informações acima podemos então particionar o nosso disco. Em exemplo, no site aonde fui buscar muitas informações , num disco de 20GB podemos criar uma partição de 19GB formatada como Ext4 com ponto de montagem de "/" (que equivale ao C: do Windows) e assim continuar com a instalação.
Assim, podemos instalar o Ubuntu de forma básica - uma partição e outra para swap.
Na parte seguinte temos de escolher aonde o Bootloader  deve ser instalado, que por padrão será instalado no mesmo disco que o Ubuntu. Isso é importantíssimo para quem pretende ter o computador com Dual-Boot entre os dois sistemas operativos (Windows e Linux)  através de uma ferramenta chamada GRUB, não necessitamos de evitar o prosseguimento principalmente em computadores que só possuem um disco rígido.
Mas esta não é a única forma de particionar-mos o disco, o utilizador pode optar com layouts de partição sofisticados (separa a partição/home em um partição Ext4 isolada, equivalente a ter uma partição especifica de dados no Windows) e sistema de arquivos diferente (como por exemplo ReiserFS ou mesmo NTFS), no entanto essa etapa requer um conhecimento adicional do Linux e pode comprometer a integridade do sistema se executada de forma errada.


Ao clicar em "Continuar", a instalação já é iniciada, mas são necessárias algumas informações do utilizador, como por exemplo a localização, a senha e o nome do computador. 
No final destas operações, basta esperar o final da instalação, clicar em reiniciar, remover a "publicidade" de instalação e começar a utilizar o Ubuntu.




Conseguiu instalar o Ubuntu sem qualquer problema?  

quarta-feira, 2 de outubro de 2013

Grub


Foi desenvolvido a partir de um pacote chamado GRand Unified Bootloader, de onde surge o acrónimo GRUB.

O GRUB é um multi-carregador de um sistema operativo criado pelo projeto GNU.
 É utilizado, normalmente, quando se deseja que um computador tenha dual booting,ou seja, que o usuário possa escolher ao iniciar a máquina, um sistema operativo dentre dois ou mais sistemas instalados.
 No entanto, se formos observar em termos técnicos ele é um programa que pode carregar qualquer arquivo executável com cabeçalho multi boot nos seus primeiros 8kB. Este cabeçalho consiste numa sequência de bits, de 32 bits de um "número mágico" e 32 bits de flags mais 32 bits de um outro número mágico, seguidos da imagem do arquivo executável.

Atualmente encontra-se em desenvolvimento, o GRUB2 substituiu o GRUB que se passou a chamar GRUB Legacy.  Este suporta a adição de quatorze cores em substituição ao fundo da tela negra.





segunda-feira, 30 de setembro de 2013

Linux


O Linux é um Sistema Operativo desenvolvido pelo programador Linus Torvalds, inspirado no sistema Minix, este teve a ajuda de vários programadores voluntários através da Usenet.
O seu código está disponível sob a licença Gnu General Public License (GPL), em particular versão 2, ou seja, qualquer pessoa pode utilizar, modificar, estudar e distribuir o código, de acordo com os termos da licença.



O desenvolvimento do núcleo como um projeto particular, inspirado no seu interesse no Minix, um pequeno  sistema Unix. Segundo, Linus pelas suas próprias palavras "a better Minix than Minix"  ("um Minix mellhor que o Minix"). 
Passado algum tempo, enviou uma mensagem para comp.os.minix 


Curiosamente, o nome Linux, foi dado pelo administrador do site ftp.funet..fi - Ari Leemke , que deu o nome ao diretório FTP, aonde o núcleo Linux estava disponível.
Linus inicialmente tinha dado Batizado o sistema operativo como "Freax".

5 Outubro de 1991 -   foi anunciado a primeira versão "oficial"  do núcleo - versão 0.0.2, desde então, muitos programadores de todo o mundo, têm ajudado a tornar o Linux naquilo que ele é hoje.

Inicialmente o Linux, era só utilizado por programadores ou só por quem tinha conhecimentos , usavam-se linhas de comandos. Hoje isso mudou, existem diversas empresas que criam ambientes gráficos, e distribuições cada vez mais amigáveis de forma a qualquer pessoa conseguir trabalhar com o Linux.

O linux, hoje em dia é um sistema estável e consegue reconhecer muitos periféricos sem a necessidade se instalar drives de som, video, modem, entre outros.

É um Sistema Operativo : 
Livre, 
Gratuito,
e contém todas as características presentes nos sistemas operativos modernos :
Multi-Tarefa ,
 Multi-Usuário, 
Multi-Processamento,
 Multi-Plataforma, 
Preemptivo, 
Sistema Monolítico,
Partilha de Bibliotecas,
Capacidade de processamento 64 bits e 32 bits;
# Super Usuário;
$ Usuário Comum;
Interface Gráfica e Prompt de Comando.

No entanto, como o Linux é um software livre, foram surgindo as chamadas "Distribuições Linux", muitas pessoas e por vezes até empresas se dedicam a organizar o Kernel e mais uma série de aplicativos e manuais, para que o sistema fique mais amigável. 
Vou aqui citar algumas distribuições, para que vocês possam "investigar" este assunto mais a fundo : 
-Ubuntu
-Mandriva
-Fedore
-openSUSE
-Ubuntu Studio
-Mint
-Debian
-Sebayon
-MEPIS
-Puppy

Porém não sei se estas distribuições ainda continuam, mas pelos dados que fui reunindo, suponho que sim.

Free Software Foundation (FSF)


O Software livre como movimento organizado teve início em 1983, quando Richard Stallman deu início ao Projeto GNU, e posteriormente, à Free Software Foundation.







Free Software conforme a definição criada  pela Free Software Foundation, é um software que pode ser usado, copiado, estudado, modificado e redistribuído sem restrição. 

Este é distribuído livremente sendo acompanhado por uma licença de software livre, e com a disponibilização do seu código-fonte. 



Este Software refere-se à existência de quatro tipos de liberdade, para os usuários :

0º - A liberdade de executar o programa, para qualquer propósito 
1º - A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades (*)
2º - A Liberdade de redistribuir cópias de modo a que possa ajudar o próximo
3º - A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo a que toda a comunidade beneficie (*)



(*) - Acesso ao código-fonte é um pré-requisito para este liberdade