Sistema Operacional Linux


Eng. Nsungu Filipe Kamukotelo

Engenheiro de Computação, Automação Industrial e Comercial

Técnico em Informática


Material auxiliar a disciplina de Sistemas Operacionais Linux, para o curso técnico em Informática do Colégio Uberaba.
Professor: Nsungu Filipe Kamukotelo

1) WINDOWS E LINUX

O Windows foi desenhado para realizar multitarefas preemptivas. Cada linha de processo passa a ter direito a uma parte do tempo do processador. A duração da fatia de tempo depende do sistema operacional e do processador. De qualquer maneira, como as fatias de tempo são muito pequenas (aproximadamente 20 milisegundos), o processamento de múltiplas linhas de processo dá a impressão de ser simultâneo.

Para o usuário, a vantagem de um sistema multitarefa está no fato de poder usar vários aplicativos que trabalhem simultaneamente. Para o programador também existem vantagens. Ele pode criar aplicativos que utilizem mais de um processo, cada um deles com uma ou mais linhas de processo.

O Linux é um sistema operacional multiusuário, multitarefa e multiprocessado, de livre distribuição, baseado no sistema operacional UNIX.

Ser multiusuário significa que é posssível várias pessoas utilizarem o mesmo computador ao mesmo tempo, através de conexões remotas ou de terminais. O Linux é um sistema multitarefa, pois é capaz de executar diversos programas ou serviços ao mesmo tempo, ou seja, é possível rodar simultaneamente um servidor web, um servidor de e-mail e um banco de dados. Ele é também um sistema multiprocessado, pois ele pode ser instalado em máquinas com mais de um processador e é capaz de utilizar de maneira inteligente esses vários processadores, de maneira a obter o melhor desempenho possível.

2) Diferenças entre Windows e Linux

2.1) DIFERENÇAS BÁSICAS

O linux deriva de um sistema chamado Minix, que por sua vez é derivado do Unix, por isso pode-se dizer que o Linux é um Unix mais incrementado, e seus métodos de gerenciamento do sistema são muito parecidos, cerca de 80% de cerca das 150 chamadas ao sistema do Linux são copias idênticas de alguma versão do Unix. Pelo Linux ser chamado de open sourse e de ser gratuito, existem varias empresas distribuindo muitas versões do Linux modificado para atender certas necessidades, diferentemente do Windows que é distribuído somente pela Microsoft, apesar de existirem varias versões, essas são mais padronizadas pelo ano ou modelo, como Windows 98 ou Windows XP, apesar da Microsoft recentemente lançar varias versões de seu novo sistema operacional, o Windows Vista, para atender necessidades de diferentes usuários (pode se dizer que a Microsoft tentou copiar isso do Linux), é praticamente o mesmo sistema operacional mas as versões variam pela função do preço X recursos.

Outra diferença entre os dois tipos de sistema é sua complexidade, o Linux pode ter em media cerca de 700 mil linhas em seu código fonte, enquanto a exemplo do Windows 2000 tem mais de 29 milhões dessas linhas, isso se deve muito pela sua interface sofisticada, seus recursos de compatibilidade nativa com muitos hardwares e de suas opções de regionalidade, isso torna o Windows um sistema operacional muito complexo, diferente do Linux que prima pela simplicidade de sua interface por linhas de comando.

Cada um desses sistemas operacionais tem suas propostas e particularidades, nesse capitulo vamos procurar entender como cada um realiza as operações de gerenciamento de processos, da memória e dos dispositivos de I/O (E/S).

2.2) GERENCIAMENTO DE PROCESSOS

O gerenciamento de processos são muito similares entre Windows e Linux, e são explicados no primeiro capitulo desse trabalho, ambos são multiprocessados (realizam mais de um processo ao mesmo tempo), o que difere mais são os nomes das funções que executam os processos, como por exemplo, para se dar inicio a um processo se cria uma chamada ao sistema, que no Linux é a chamada Fork, enquanto no Windows existem as funções da API WIN32, nela a chamada para a criação de um processo se chama CreateProcess.

Obviamente o Windows por ser um sistema operacional bem mais complexo, a função CreateProcess da API WIN32 possui um esquema muito mais complicado de execução que o Fork do Linux.

Em ambos os sistemas, as threads são responsáveis pelo controle e execução dos processos, algumas diferenças entre eles de que como cada sistema gerencia uma thread ou um conjunto de threads é que no Linux as threads são consideradas threads do núcleo e seu escalonamento se dá nas próprias threads, nela é que existem os valores que denotam sua prioridade, no Windows as threads são geralmente executadas no modo usuário, mas migram para o modo núcleo quando há necessidade.

2.3) GERENCIAMENTO DE MEMÓRIA

Ambos os sistemas (Windows e Linux) usam a memória virtual por meio de páginas, essas paginas ficam na memória virtual (criada a partir da memória física do HD) para ser carregada na memória principal (memória ram). Assim o sistema operacional consegue executar um programa co o tamanho maior que a memória principal do computador, por exemplo, um programa de 256M pode ser executado em uma maquina de apenas 128M, o sistema cria na memória principal paginas que estão sendo usadas pelo programa, mas deixa “preparada” na memória virtual outras paginas que possivelmente serão chamadas para memória principal pelo programa em execução.

Uma diferença entre os dois sistemas é o tamanho e qual maneira será usada essa função da memória virtual em uma máquina padrão 32 bits.

No Linux, cada processo dispõe de 3GB de espaço na memória virtual, mas o núcleo do Kernel fica totalmente residente na memória principal, o restante dessa memória fica destinada para as paginas do usuário, cachê de blocos usadas pelos arquivos, cachê de paginação e outros propósitos.

No Windows 2000 o processo dispõe de 4GB de espaço na memória virtual, ele utiliza um sistema complexo para utilização desse espaço para um melhor desempenho, também permite que um processo gerencie explicitamente essa memória através da API WIN32.

Tanto Linux e Windows 2000 utilizam algoritmos para substituição de paginas, essa função é essencial para que haja pagina livre para serem usadas, como para excluírem paginas que não serão mais utilizadas no processo.

No Windows 2000 pode ocorrer conflitos nesse sistema de paginas, tamanha a complexidade que esse gerenciador trabalha, por isso alem desses algoritmos o Windows utiliza heurísticas complexas, hipóteses, precedentes históricos, princípios básicos e ajustes de parâmetros pelo administrador, tudo para resolver esse conflito.

2.4) DISPOSITIVOS DE E/S, NOS SISTEMAS WINDOWS E LINUX.

Os dispositivos de entrada e saída no Linux são bastante simples, e podem ser ocasionados com a mesma chamada read e write usadas em arquivos comuns, mas algum dispositivo pode exigir que seja feita uma chamada especial, algo especifico para o dispositivo, como por exemplo, ajustar a velocidade para um terminal.

No Windows 2000 o gerenciamento de dispositivos de E/S está intimamente ligado com o gerenciador Plug and Play (Plugue e Use). Quando conectamos algum dispositivo como PC card, PCI, USB, IEEE134, o Windows consegue detectar qual dispositivo foi conectado e procura um driver compatível ajustando os parâmetros, tudo automaticamente. Quando o sistema não consegue encontrar um driver compatível ele então solicita ao usuário que insira um disco com o driver ou que faça uma busca na internet, por exemplo, uma placa de vídeo logo após ser intalada, e o sistema iniciado, o Windows a detecta e a configura com parâmetros para que se possa utiliza-la, mas pede que você instale o driver especifico para que todos seus recursos sejam liberados.

Outra responsabilidade do gerenciamento de E/S do Windows é sua interface gráfica muito avançada, e que por si só já é um dispositivo de entrada e saída de informações. Para gerenciar esse dispositivo gráfico o Windows utilizada chamadas para API WIN32.

3) Ubuntu

Ubutu é um sistema operacional de código aberto construído em volta do núcleo GNU/Linux baseado no Debian, sendo o sistema operativo de código aberto mais popular do mundo.

É patrocinado pela Canonical Ltd (dirigida por Jane Silber).

O Ubuntu diferencia-se do Debian por ser lançado semestralmente, por disponibilizar suporte técnico nos dezoito meses seguintes ao lançamento de cada versão (em inglês) e pela filosofia em torno de sua concepção.

A proposta do Ubuntu é oferecer um sistema operativo que qualquer pessoa possa utilizar sem dificuldades, independentemente de nacionalidade, nível de conhecimento ou limitações físicas. O sistema deve ser constituído totalmente de software gratuito e livre, além de isenta de qualquer taxa. Atualmente uma organização cuida para que cópias sejam remetidas em CDs para todo o mundo sem custos.

A Comunidade Ubuntu ajuda-se mutuamente, não havendo distinção de novatos ou veteranos; a informação deve ser compartilhada para que se possa ajudar quem quer que seja, independentemente do nível de dificuldade. Os fãs do Ubuntu são conhecidos como ubuntistas, ubunteiros ou ubunteros.

O sistema operativo Ubuntu está em primeiro lugar no Distrowatch , página especializada em catalogar o desempenho e uso dos muitos sistemas operativos com núcleo Linux.

Em 8 de julho de 2005, Mark Shuttleworth e a Canonical Ltd anunciaram a criação da Fundação Ubuntu e providenciaram um suporte inicial de dez milhões de dólares. A finalidade da fundação é garantir apoio e desenvolvimento a todas as versões posteriores à 5.10.

3.1) Denominação

O nome "Ubuntu” deriva do conceito sul africano de mesmo nome , diretamente traduzido como "humanidade com os outros" ou "sou o que sou pelo que nós somos". Esse nome busca passar a ideologia do projeto, baseada nas liberdades do software livre e no trabalho comunitário de desenvolvimento.

O sistema é muito comumente chamado "Ubuntu Linux", porém, oficialmente a Canonical, desenvolvedora do sistema, usa apenas o nome "Ubuntu", uma vez que o sistema ao ser portado para outros núcleo livres para além do Linux recebe outros nomes ao contrário do Debian, por exemplo, que recebe este nome independentemente do núcleo usado.

4) Projetos Derivados

Além do Ubuntu, algumas versões derivadas do Ubuntu são oficialmente reconhecidas:

 Xubuntu, Ubuntu para computadores menos potentes, utilizando o ambiente gráfico Xfce.

 Lubuntu, Ubuntu com interface gráfica LXDE voltada para computadores antigos e/ou pouco potentes.

 Gobuntu, Ubuntu somente com software livre, utilizando o ambiente gráfico GNOME.

 Fluxbuntu, Ubuntu somente com software livre, utilizando o ambiente gráfico FluxBox.

 Ubuntu Studio, para edição e criação de conteúdos multimédia.

 Edubuntu, Ubuntu desenvolvido para o uso em escolas.

Além desses, Mark Shuttleworth aprovou a criação de uma distribuição que usa exclusivamente software livre aprovado pela FSF, agNewSense.

Estes projetos estão ligados oficialmente ao Ubuntu, com lançamentos simultâneos e compatibilidade de pacotes, obtidos dos mesmos repositórios oficiais.

Espalhou-se o boato que o Google estava desenvolvendo um derivado do Ubuntu chamado Goobuntu, e que iria vendê-lo. A empresa confirmou a criação dessa versão modificada, mas deixou claro que não tem planos para distribuí-la fora da companhia.

Em Maio de 2007, Mark Shuttleworth anunciou que a Canonical iria dar início ao desenvolvimento do projecto "Ubuntu Mobile & Embedded Initiative" em parceria com a Intel. Este sistema é uma versão do Ubuntu destinada a equipar telemóveis/celulares e outros gadgets.

5) Máquina Virtual – Virtual Box

5.1) Link de Dowload

Baixar arquivo no site www.baixaki.com.br o programa Virtual Box

5.2) Criação da Máquina Virtual Passo a Passo

1. Após a instalação execute o programa

2. Crie o sistema









6) Instalação e Configuração Ubuntu na Máquina Virtual

Inicie a máquina Virtual criada, escolhendo a imagem ou cd para inicialização do sistema em configurações, isto antes de inicializar a maquina, para que ela dê boot nessa imagem



Após alguns ajustes como configuração com swap ou boot direto( HD sem outro sistema) a instalação inicia.