aos Sistemas Abertos Carlos Gustavo A. da Rocha
Afinal, o que é um sistema aberto? E pra complicar o que significa Freeware? Shareware? Free software?...
Freeware Licenciado por uma empresa ou pessoa Código fonte é de propriedade exclusiva desta empresa ou pessoa (que o escreveu) Seu executável é distribuído de forma gratuita, ocasionalmente mediante algum tipo de registro
Shareware Possui todas as características de um freeware, mas possui alguma limitação de recursos ou número de utilizações O usuário deve pagar para remover essa limitação
Free Software Qualquer programa de computador que pode ser usado, copiado, estudado e redistribuído inclusive com seu código fonte e sem restrições Opõe-se ao conceito de software proprietário, mas não ao de software comercial Possui uma licença, só que com objetivos distintos daquelas elaboradas para softwares proprietários
Free Software A licença de um software livre deve garantir irrevogavelmente A liberdade para executá-lo, com qualquer propósito; A liberdade de estudar seu funcionamento, e adaptá-lo às suas necessidades; A liberdade de redistribuir cópias de modo a ajudar a comunidade; A liberdade de modificá-lo, e liberar estas modificações, de modo que toda a comunidade se beneficie.
Free Software Diversas licenças atendem essas garantias GNU GPL (a mais conhecida) GNU LGPL BSD MPL Apache License...
Free Software É importante destacar que nas quatro garantias fundamentais, e nas licenças delas geradas, não existe nada que proíba a venda de um software livre Ou de serviços a ele associados como instalação, configuração, suporte etc. O conceito de software open source é bastante semelhante ao free software, admitindo contudo a convivência com o software proprietário
Free Software Free Software Fundation (FSF) - www.fsf.org Organização sem fins lucrativos, criada em 1985 por Richard Stallman Promove o desenvolvimento e uso do software livre Um dos seus principais projetos e o desenvolvimento do sistema operacional GNU
Free Software GNU is not UNIX (GNU) www.gnu.org Visa o desenvolvimento e manutenção de um sistema operacional inteiramente constituído de software livre Devido a uma série de problemas no desenvolvimento de seu kernel (GNU hurd), desde 1992 utiliza (quase sempre) um outro kernel, conhecido como Linux
A nossa disciplina irá focar inicialmente nestes sistemas, que possuem um kernel Linux e uma série de bibliotecas e aplicativos desenvolvidos, em grande parte, como projetos da GNU
Linux - um pouco de história Mensagem de Linus Torvalds para comp.os.minix, 05/10/1991 Do you pine for the nice days of minix-1.1, when men were men and wrote their own device drivers? Are you without a nice project and just dying to cut your teeth on a OS you can try to modify for your needs? Are you finding it frustrating when everything works on minix? No more all-nighters to get a nifty program working? Then this post might be just for you :-)
Linux - um pouco de história As I mentioned a month(?) ago, I'm working on a free version of a minix-lookalike for AT-386 computers. It has finally reached the stage where it's even usable (though may not be depending on what you want), and I am willing to put out the sources for wider distribution. It is just version 0.02 (+1 (very small) patch already), but I've successfully run bash/gcc/gnu-make/gnu-sed/compress etc under it.... http://groups.google.com/group/comp.os.minix/msg/2194d253268b0a1b
Linux x GNU/Linux O Linux é apenas o kernel do SO www.kernel.org Todo o restante (bibliotecas, programas), por definição, não fazem parte do Linux em si O Linux, mais um (grande) conjunto de outros softwares, formam uma distribuição ou sistema funcional Comumente chamado distribuição GNU/Linux
Algumas distribuições Linux
Características Algumas características do SO GNU/Linux Padrão POSIX Compatível com outros sistemas UNIX Like Multiusuário, multitarefa Suporte a múltiplas arquiteturas e hardwares Embedded até enterprise Diversos servidores de aplicações Para LANS e Internet Amplamente documentado
Componentes Usando o GNU/Linux no modo texto: Interpretador de comandos (Shell) Traduz / executa comandos digitados no teclado Também pode executar os comandos contidos em um arquivo (script) Existem várias opções de shell para o linux Bash (mais usado, padrão), csh, tcsh, ash, ksh etc
Componentes Usando o GNU/Linux no modo gráfico: X.org (ambiente de janelas) Em um sistema GNU/Linux o ambiente gráfico é sempre opcional. Pode ser instalado instalado (ou removido) como um programa qualquer Todo o ambiente gráfico é implementado por programas externos ao SO
Componentes X.org (ambiente de janelas) Sobre o X.org executam gnome, kde, xfce Os ambientes gráficos propriamente ditos Gnome Kde Xfce... X.Org Linux Hardware
Ambientes Gráficos Gnome
Ambientes Gráficos KDE
Ambientes Gráficos Xfce
Ambientes Gráficos Window Maker
Sistemas de arquivo Forma de se guardar arquivos no disco No GNU/Linux os discos (partições) são formatados, por padrão, no formato EXT4 Mas ele também suporta FAT, NTFS, HFS etc O nome de um arquivo pode conter até 255 caracteres, exceto a / Extensões (.jpg,.pdf,.docx etc) são de uso opcional, o tipo de um arquivo é determinado pelo seu conteúdo e não pela sua extensão
Sistemas de arquivo Arquivos e pastas Cada arquivo ou pasta possui permissões de Leitura, escrita, execução Estas permissões podem ser aplicadas ao Proprietário do arquivo (normalmente quem o criou) Grupo do qual o usuário faz parte Outros (nem proprietário nem grupo) Todos os usuários do sistema
Sistemas de arquivo Árvore de pastas Não existe c:\ d:\ etc, mas sim uma única hierarquia contendo todos os arquivos e pastas / -- bin -- boot -- dev -- etc -- home -- lib -- lost+found -- media -- mnt -- opt -- proc -- root -- sbin -- selinux -- srv -- sys -- tmp -- usr -- var