Os Sistemas Operacionais - Linux
Por: Layne Lourenço Beraldo • 17/5/2023 • Artigo • 12.341 Palavras (50 Páginas) • 489 Visualizações
20.1 Introdução
A versão 2.6 do núcleo do Linux é a essência do mais popular sistema operacional de código-fonte aberto, distribuído gratuitamente, com características completas. Ao contrário dos sistemas operacionais proprietários, o código-fonte do Linux está disponível ao público para exame e modificação, e seu download e instalação são gratuitos. O resultado é que os usuários se beneficiam de uma comunidade de desenvolvedores que estão depurando e melhorando o núcleo ativamente, da inexistência de taxas de licenciamento e restrições e da capacidade de personalizar completamente o sistema operacional para atender a necessidades específicas. Embora a produção do Linux não esteja concentrada em uma corporação, aqueles que o utilizam podem receber assistência técnica de fornecedores do Linux mediante o pagamento de uma taxa ou gratuitamente por meio de uma comunidade de usuários.
O sistema operacional Linux, desenvolvido por uma equipe de voluntários organizada sem muitas restrições, é encontrado em servidores avançados, computadores de mesa e sistemas embarcados. Além de oferecer capacidades centrais de sistema operacional, como escalonamento de processos, gerenciamento de memória, gerenciamento de dispositivos e gerenciamento de sistemas de arquivos, o Linux suporta muitas características avançadas, como multiprocessamento simétrico (SMP), acesso não uniforme à memória (NUMA), acesso a sistemas de arquivos múltiplos e suporte a um amplo espectro de arquiteturas de hardware. Este estudo de caso oferece ao leitor a oportunidade de avaliar um sistema operacional real com substancial detalhamento no contexto dos conceitos de sistema operacional discutidos em todo este livro.
20.2 Histórico
Em 1991, Linus Torvalds, um estudante de 21 anos da Universidade de Helsinque, Finlândia, começou a desenvolver o núcleo do Linux (o nome deriva de ‘Linus’ e ‘UNIX’) como um passatempo. Torvalds desejava aprimorar o projeto do Minix, um sistema operacional criado pelo professor Andrew S. Tanenbaum, da Vrije Universiteit, de Amsterdã. O código- fonte do Minix, que serviu de ponto de partida para o projeto do Linux de Torvalds, estava disponível publicamente para que professores pudessem demonstrar a seus estudantes conceitos básicos de implementação de sistemas operacionais.1
Nos primeiros estágios de desenvolvimento, Torvalds procurou orientação com quem estava familiarizado com o sistema sobre as deficiências do Minix; em seguida, projetou o Linux com base nessas sugestões e realizou esforços adicionais para envolver a comunidade de sistemas operacionais em seu projeto. Em setembro de 1991, ele liberou a primeira versão (0.01) do sistema operacional Linux anunciando a disponibilidade do seu código-fonte para um grupo de discussão do Minix.2
A resposta levou à criação de uma comunidade que continua a desenvolver e suportar o Linux. Desenvolvedores descarregaram, testaram e modificaram o código do Linux, apresentando correção de erros e dando retomo a Torvalds que revisava as melhorias e as aplicava ao código; em outubro de 1991, ele liberou a versão 0.02 do sistema operacional Linux.3
Embora faltassem aos primeiros núcleos do Linux muitas características implementadas em sistemas operacionais estabelecidos como o UNIX, desenvolvedores continuaram a dar apoio àquele sistema novo, disponível gratuitamente. À medida que crescia a popularidade do Linux, desenvolvedores trabalhavam para sanar suas deficiências, como, por exemplo, a ausência de um mecanismo de acesso ao sistema (login) e sua dependência do Minix para compilar. Entre outros recursos que faltavam, estavam o suporte para discos flexíveis e um sistema de memória virtual.4 Torvalds prosseguiu com a manutenção do código-fonte do Linux, aplicando as mudanças que achava conveniente.
Enquanto o Linux se desenvolvia e conquistava mais suporte dos desenvolvedores, Torvalds reconheceu seu potencial para se tomar mais do que um sistema operacional de passatempo. Decidiu que o Linux deveria seguir as normas da especificação POSIX para aprimorar sua interoperabilidade com outros sistemas semelhantes ao UNIX. Lembre-se de que POSIX, a interface portável de sistema operacional (Portable Operating System Interface), define padrões para interfaces de aplicação para serviços de sistemas operacionais, como discutido na Seção 2.7, “Interfaces de programas de aplicação (APIs)”.5
A liberação da versão 1.0 do Linux em 1994 incluía muitas características comumente encontradas em sistemas operacionais maduros, como multiprogramação, memória virtual, carregamento sob demanda e rede TCP/IP.6 Ela proporcionava a funcionalidade necessária para o Linux tomar-se uma alternativa viável ao sistema operacional licenciado UNIX.
Embora se beneficiasse do licenciamento gratuito, o processo de instalação e configuração do Linux era complexo. Para que usuários não familiarizados com os detalhes do sistema conseguissem instalá-lo e usá-lo convenientemente,Capítulo 20 Estudo d& caso: Luuox. 6 0 7
instituições acadêmicas, como a University of Manchester e a Texas A&M University, e organizações como a Slackware Linux (www.slackware.org) criaram distribuições do Linux que incluíam software como o núcleo do Linux, aplicações de sistema (gerenciamento de conta de usuário, gerenciamento de rede e ferramentas de segurança), aplicações de usuário (GUI, navegadores Web, editores de texto, aplicações de e-mail, bancos de dados e jogos) e ferramentas para simplificar o processo de instalação.7
À medida que o desenvolvimento do núcleo progredia, o projeto adotou um esquema de numeração de versões. O primeiro dígito representa o número principal da versão, que é incrementado segundo a vontade de Torvalds para cada núcleo liberado que contenha um conjunto de características significativamente diferente do conjunto da versão anterior. O número secundário da versão (o dígito logo após o ponto decimal) pode ser par ou ímpar. Núcleos descritos por um número secundário par, como 1.0.9, são considerados liberações estáveis, enquanto um número secundário ímpar, como 2.1.6, indica a versão de desenvolvimento. O dígito que se segue ao segundo ponto decimal é incrementado para cada pequena atualização do núcleo.
Núcleos de desenvolvimento incluem novas características que ainda não foram testadas extensivamente, portanto não são confiáveis para uso em produção. Durante todo o processo de desenvolvimento, desenvolvedores criam e testam novas características; uma vez que um núcleo de desenvolvimento fique estável (ou seja, o núcleo não contenha nenhum erro conhecido), Torvalds
...