Conceitos Básicos sobre o S.O. Qual sistema operacional você usa? Sistema operacional o que é isto? Linux - Conceitos Básicos 1 Organização do Sistema Hardware Linux - Conceitos Básicos 2 Sistema Multiusuário Linux é um sistema multiusuário Diversos usuários podem estar usando o mesmo computador ao mesmo tempo Claro que só um no teclado... (console) Onde mais de um pode mexer... (segurança) Usuários Senhas Arquivos protegidos Métodos de acesso ao computador Linux - Conceitos Básicos 3 Kernel Núcleo do sistema operacional Responsável pela interface entre o hardware e as aplicações Implementa o sistema de arquivos Trata as operações de I/O Diretórios e arquivos Gerencia os drives de acesso aos periféricos Linux - Conceitos Básicos 4 Kernel Controla a execução de processos aloca memória implementa mecanismo de time slicing Gerencia os daemons Cria mecanismos de memória virtual Gerencia os serviços de rede Gerencia os processos de comunicação, tais como sockets, sinais e semáforos Linux - Conceitos Básicos 5 Kernel Linux - Conceitos Básicos 6 Kernel - Versões Versões novas do Kernel são liberadas após testes exaustivos Linus ainda envolvido com o processo Versão atual é 2.2.n 2: Número principal 2: Versão atual para uso (sempre ímpar) n: é o Número da atualização, ex. 2.2.17 Versão 2.3 em desenvolvimento Versão beta atual 2.4.0-test7 Linux - Conceitos Básicos 7 Kernel - Atualização É possível atualizar o seu kernel sem ter que trocar tudo. O kernel é um programa que pode ser recompilado kernel escrito em C Pode ser obtido em http://www.kernel.org Linux - Conceitos Básicos 8 Kernel - Modular O kernel do linux é modular Módulos podem ser carregados a medida que o usuário necessita Sistema com módulos e mais compacto Linux - Conceitos Básicos 9 Shells Programas que aceitam e interpretam comandos dos usuários “Linguagem de Programação” Existem diversos shells a disposição bash, csh, ksh, tcsh Um arquivo de comandos de um dos shells é chamado de script O processo de inicialização dos unixes é baseado na execução de scripts Linux - Conceitos Básicos 10 Shells - comandos Usuário digita o comando ls em um terminal Shell procura onde está o programa ls Shell executa o programa e informa ao usuário a resposta Espera novo comando $ls textos programas dados.txt programa.c $ Linux - Conceitos Básicos 11 Shells - scripts if [ -f /etc/redhat-release ]; then R=$(cat /etc/redhat-release) arch=$(uname -m) a="a" case "_$arch" in _a*) a="an";; _i*) a="an";; esac fi echo "Kernel $(uname -r) on $a $(uname -m)" Linux - Conceitos Básicos 12 Partições C:, D:, E: são convenções Windows /dev/hda1, /dev/hda2, /dev/hdb1 é a maneira Linux Linux - Conceitos Básicos 13 Partições em um HD: exemplo swap /dev/hda2 [/home] /dev/hda1[/] D:\ [Dados] C:\ [Windows] Linux - Conceitos Básicos 14 Sistema de arquivos O Linux organiza seu sistema de arquivos em uma árvore de diretórios A raiz desta árvore é o diretório / Observe a barra ao contrário do outro sistema. Filesystem A maneira como os arquivos são gravados no disco / partição Linux “conhece” a maioria dos filesystems entre eles: MS-DOS, minix, ext2, iso9660, nfs, hpfs, sysv, vfat, etc. Linux - Conceitos Básicos 15 Sistema de arquivos Tudo em Unix é considerado arquivo Periféricos são arquivos especiais Associa um diretório a um filesystem Transparente ao usuário do sistema Diversos sistemas de arquivos podem conviver sob Linux O mesmo não ocorre com o outro sistema. Linux - Conceitos Básicos 16 Sistema de arquivos / FileSystem /dev/hda1 /dev/hda2 /dev/fd0 /dev/cdrom bin etc mnt/ floppy usuários home/ cdrom pedro ana Linux - Conceitos Básicos 17 Sistema de Arquivos C:\ /dev/hda D:\ /dev/hdb /bin /home /etc /mnt /mnt/cdrom /mnt/floppy /dev/cdrom /dev/fd0 Linux - Conceitos Básicos 18 Diretórios do sistema /bin Comandos fundamentais ls, rm, cp, grep /etc Arquivos de configuração passwd, inetd.conf, fstab /root Diretório de trabalho do super usuário /tmp Diretório de arquivos temporários Linux - Conceitos Básicos 19 Diretórios do sistema /boot Onde se encontra o kernel e arquivos usados durante a inicialização vmlinuz, System.map, map, boot /sbin Programas de uso do super usuário route, swapon, mkfs, init /var Arquivos de log, filas de mail e de impressão /var/log/messages /var/spool/mqueue /var/spool/lpd Linux - Conceitos Básicos 20 Diretórios do sistema /usr/bin Aplicações de uso geral gzip,who,gs,telnet /usr/sbin Aplicações de uso do super usuário traceroute, daemons (sendmail, inetd) /usr/local Diretório onde são instalados (por default) diversos aplicativos. Netscape, WordPerfect, StarOffice Linux - Conceitos Básicos 21 Diretórios do sistema /mnt Diretório padrão para “montagem”de devices diversos tais como: cdrom floppy partição DOS máquina remota (rede) /lib , /usr/lib Bibliotecas de programas /usr/include Arquivos de cabeçalho (includes usados em programas em C / C++) stdio.h, string.h Linux - Conceitos Básicos 22