23 de fevereiro de 2016

O sistema operacional

Sistema Operacional

O Sistema Operacional (S.O.) é um conjunto de programas responsável por alocar recursos de hardware e escalonar tarefas, controlar os dispositivos de entrada e saída (I/O), tais como vídeo, teclado, mouse, e ainda controlar os recursos internos que compõem o computador, tais como: processador, memória, arquivos, etc.

Em termos de hardware um S.O. é a porção de software que roda em modo núcleo (kernel), e tem a importante função de proteger o hardware da ação direta do usuário, isto é, estabelecer critérios de uso dos recursos, ordem de acesso aos mesmos, impedindo violação de espaço de memória de processos concorrentes e tentativas de acesso simultâneo a um mesmo recurso, ou seja, gerência e proteção dos dispositivos.

Os S.O.(s) podem ser divididos em:

• Sistemas - Operacionais Monoprogramáveis / Monotarefa
Ex: Windows 95/98.

• Sistemas Multiprogramáveis / Multitarefa
Ex: Unix, Linux, Windows NT/2000/2003.

O S.O. Linux possui várias características que diferenciam dos outros sistemas operacionais e que o aproximam do Unix, sendo um dos motivos da sua escolha em várias aplicações nas quais são necessárias estabilidades e segurança.

Antes de continuarmos, convém estabelecermos alguns termos utilizados.

Kernel
É o núcleo do sistema operacional, a parte mais próxima do nível físico (hardware). Composta de chamadas ao sistema, de acesso aos dispositivos de entrada e saída e de gerência dos recursos da máquina.

* Shell
Shell é o nome genérico de uma classe de programas que funcionam como interpretador de comandos e linguagem de programação script (interpretada) no Unix. Os Shell mais populares são bash, chs, tsh, zsh.
O Shell é a interface entre o usuário e o Kernel. O usuário pode escolher qual dos shells vai utilizar. O Shell padrão do Linux é o bash.

Script
Script é um arquivo que contém comandos de Shell, que, numa situação normal, poderiam ser executados em modo prompt. Esses comandos são executados sequencialmente, dependendo de situações, dependendo de condições estruturais de laço, como if ....then (se...então) e do....while(faça ......enquanto). Um script também pode usar variáveis. A entrada pode ser recebida por meio do prompt de comando ou de outros arquivos.

Hardware: São componentes referente a parte física do computador (impressora, disquete, placa de tv, placa mãe, pendrive, discos rígidos, etc).

Software: São os programas instalados no computador (sistema operacional, editor de texto, planilha, banco de dados, interfaces, scripts, interfaces de comando, etc).

No dito popular existe uma maneira simples de se diferenciar Hardware e Software:
Hardware é aquilo que você chuta, Software é aquilo que você xinga.

O sistema GNU/Linux possui a seguinte estrutura básica de diretórios:

/                   Diretório principal (raiz).
/bin              Contém arquivos de programas do sistema que são usados com frequência pelos usuários.
/boot            Contém arquivos necessários para a inicialização do sistema.
/cdrom         Ponto de montagem da unidade de CD-ROM.
/dev             Contém arquivos usados para acessar dispositivos (periféricos) existentes no computador.
/etc              Arquivos de configuração de seu computador local.
/floppy         Ponto de montagem de unidade de disquetes.
/home          Diretórios contendo os arquivos dos usuários.
/lib               Bibliotecas compartilhadas pelos programas do sistema e módulos do kernel.
/lost+found Local para a gravação de arquivos/diretórios recuperados pelo utilitário fsck.ext2. Cada partição possui seu próprio diretório lost+found.
/mnt            Ponto de montagem temporário.
/proc           Sistema de arquivos do kernel. Este diretório não existe em seu disco rígido, ele é colocado lá pelo kernel e usado por diversos programas que fazem sua leitura, verificam configurações do sistema ou modificar o funcionamento de dispositivos dosistema através da alteração em seus arquivos.
/root           Diretório do usuário root.
/sbin           Diretório de programas usados pelo superusuário (root) para administração e controle do funcionamento do sistema.
/tmp            Diretório para armazenamento de arquivos temporários criados por programas.
/usr             Contém maior parte de seus programas. Normalmente acessível somente como leitura.
/var             Contém maior parte dos arquivos que são gravados com frequência pelos programas do sistema, e-mails, spool de impressora, cache, etc.

Sistema de arquivos

• ext2 - Para partições GNU/Linux usando o Extended File System versão 2 (a mais comum).

• ext3 - Para partições GNU/Linux usando o Extended File System versão 3, com suporte a journaling.

• reiserfs - Para partições reiserfs, com suporte a journaling.

• vfat - Para partições Windows 95 que utilizam nomes extensos de arquivos e diretórios.

• msdos - Para partições DOS normais.

 iso9660 - Para montar unidades de CD-ROM. É o padrão.

No GNU/Linux, os dispositivos existentes em seu computador (como discos rígidos, disquetes, portas de impressora, modem, etc) são identificados por um arquivo referente a este dispositivo no diretório /dev. 

Dispositivos

Os nomes de dispositivos no sistema GNU/Linux são acessados através do diretório onde esses dispositivos físicos são tratados como arquivos. Estes arquivos são um tipo especial no sistema de arquivos Linux. Esses dispositivos são: impressoras, CD-ROMs, modems, entradas USB, mouse, Hds, etc. 

 Dispositivos Linux                     Dispositivos Windows

/dev/hda1                                     C: (Partição 1 da IDE Primária Master)
/dev/hda2                                     D: (Partição 2 da IDE Primária Master)
/dev/ttyS0                                     COM1 (Porta serial 1)
/dev/ttyS1                                     COM2 (Porta serial 2)
/dev/ttyS2                                     COM3 (Porta serial 3)
/dev/ttyS3                                     COM4 (Porta serial 4)
/dev/fd0                                        disquete(drive A:)
/dev/lp0                                         LPT1(porta paralela - impressora)
/dev/dsp                                        Acesso a sua placa de som pelo canal digital
/dev/mixer                                     Acesso ao mixer da sua placa de som

A identificação de discos rígidos no GNU/Linux é feita da seguinte forma: