Olá, meu nome é Gercino Jr, sou aluno do curso de TADS (IFRN) e neste semestre (2014.1) estou cursando a disciplina Sistemas Operacionais (S.O.) ministrada pelo professor Leonardo Minora.
Na disciplina de S.O. nos é apresentado os conceitos fundamentais do funcionamento interno dos sistemas operacionais, tais como processos, threads, deadlocks, escalonamento de processador e etc.
Mas esta disciplina sem uma parte prática fica deficiente. Então o professor Minora nos apresentou o projeto LFS e mostrou a sua importância educacional.
Com a ajuda do projeto LFS podemos desenvolver uma distribuição GNU/Linux totalmente a partir dos fontes dos programas. Com isso o aluno absorve vários conceitos desta plataforma.
O projeto LFS é originalmente desenvolvido em um hardware x86, mas os seus conceitos podem ser aplicados em outras arquiteturas.
Eu optei por desenvolver para à arquitetura ARM, utilizando o Raspberry Pi como hardware. Por isso também estou utilizando, paralelamente ao projeto LSF, um outro projeto complementar: PiLFS, que tem por base o LFS mas adiciona orientações específicas para a plataforma Raspberry Pi.
- Desenvolver uma distribuição GNU/Linux baseada no projeto LFS 7.5.
- Desenvolver uma aplicação computacional que funcione sobre o projeto LFS desenvolvido.
A aplicação computacional visa estabelecer a comunicação bidirecional entre um computador Raspberry Pi, com LFS como sistema operacional, e uma plataforma de prototipagem Arduino.
- Placa Raspberry Pi Model B - 512MiB - Rev.2
- Plataforma de prototipagem Arduino modelo UNO
- Notebook com slot de cartão de memória, com Ubuntu 14.04 instalado
- Cartão de memória SD 8GB da marca Kingston
- 3 leds (verde, amarelo e vermelho)
- 3 resistores de 220ohm
- 1 resistor de 10kohm
- 1 push button
- CI CD4050BE
- Cabos diversos para conexões
Sistema LFS
Instalar o sistema operacional [Raspbian] (http://www.raspbian.org/) no cartão de memória e seguir os passos dos projetos LFS e PiLFS.
Aplicação Computacional
O Arduino tem por objetivo controlar uma sinaleira feita com os leds. A medida que a sinaleira muda de estado, a uma certa velociade inicial, ele vai informando ao Raspberry Pi, atravez do GPIO, seu estado atual. O Raspberry Pi imprime no console o estado informado.
Existirão algumas possibilidades de interação: Um botão que (re)inicializará todo o processo. A cada inicio se abrirá um prompt para receber uma nova velocidade de transição entre os estados.
- Livro (PDF) LFS 7.5
- Guia PiLFS
- Mota Filho, João Eriberto. Descobrindo o Linux: entenda o sistema operacional GNU/Linux - 3.ed. - São Paulo. Novatec Editora, 2012.