Beagleboard e Linux

Pergunta ao Marcelo Samsoriuk, polesapart ou outras feras que saibam do assunto.
Tenho uma Beagleboard e to com umas duvidas que sao mais relacionadas a programacao e configuracao de SO. Na verdade, nao sei muita coisa de SO. O pouco que aprendi foi com um professor da faculdade que, respondendo a minha pergunta, disse que o algoritmo de gerenciamento da memoria do windows e do linux sao quase identicos. Pela diferenca de performance entre os dois, acredito que isso nao seja verdade. Tenho tentado aprender, mas com o tanto de coisas pra fazer, isso deixou de ser prioridade. Sera que alguem poderia me dar uma pincelada de como funciona essas coisas e mais ou menos onde procurar? O Marcelo uma vez mencionou o livro do Minix, mas ele eh um bocado grande e, por falta de tempo (e nao preguica), vou ter que deixar pra ler ele depois, quando isso passar a ser uma prioridade.
1) Peguei essa imagem pra instalar Ubuntu na Beagleboard. Ela faz o SD card automatico e depois ainda expande o cartao. Uma beleza. So que o hub usb nem acende a luz. Parece que ele nem "ativado" eh. Tem alguma configuracao na inicializacao do linux pra mudar para isso?
https://wiki.ubuntu.com/ARM/OMAPMaverickInstall
O outro cartao, com outra distro de linux, tem sido usada muito bem ate agora. Ela ativa sem problemas o usb hub. Mas quando essa distro (que funciona, nao o ubuntu) trava, tem que ser reiniciada 2 vezes para o hub voltar a funcionar.
2) Tem sido utilizado ate entao mmap no /dev/mem para acessar registradores de configuracao do processador (DMA, SPI, Clocks, etc.). Sim, eu sei que essa nao eh uma boa opcao. Ainda mais porque o programa tem que funcionar como root. Tem alguma outra forma de acessar esses registradores de outra maneira? Comecei a ler um livro de device drivers para linux que explica o acesso por read/write e ioctl. O problema eh saber quais os "comandos" a serem dados via ioctl. Alguem tem um exemplo de como utilizar esse metodo para acessar registradores? Quais sao os request code numbers e onde estao normalmente os header files com os request code numbers? Com esse tipo de acesso, eu poderia executar o programa sem ser root?
3) O Marcelo tambem mencionou uma vez o acesso ao kernel via interface de rede, que eh mais rapido e eh meio que o modo mais eficiente. Alguem tem um exemplo de como funciona isso ou sabe como posso procurar sobre isso (palavras chaves, etc.)?
Obrigado a quem puder ajudar.
Tenho uma Beagleboard e to com umas duvidas que sao mais relacionadas a programacao e configuracao de SO. Na verdade, nao sei muita coisa de SO. O pouco que aprendi foi com um professor da faculdade que, respondendo a minha pergunta, disse que o algoritmo de gerenciamento da memoria do windows e do linux sao quase identicos. Pela diferenca de performance entre os dois, acredito que isso nao seja verdade. Tenho tentado aprender, mas com o tanto de coisas pra fazer, isso deixou de ser prioridade. Sera que alguem poderia me dar uma pincelada de como funciona essas coisas e mais ou menos onde procurar? O Marcelo uma vez mencionou o livro do Minix, mas ele eh um bocado grande e, por falta de tempo (e nao preguica), vou ter que deixar pra ler ele depois, quando isso passar a ser uma prioridade.
1) Peguei essa imagem pra instalar Ubuntu na Beagleboard. Ela faz o SD card automatico e depois ainda expande o cartao. Uma beleza. So que o hub usb nem acende a luz. Parece que ele nem "ativado" eh. Tem alguma configuracao na inicializacao do linux pra mudar para isso?
https://wiki.ubuntu.com/ARM/OMAPMaverickInstall
O outro cartao, com outra distro de linux, tem sido usada muito bem ate agora. Ela ativa sem problemas o usb hub. Mas quando essa distro (que funciona, nao o ubuntu) trava, tem que ser reiniciada 2 vezes para o hub voltar a funcionar.
2) Tem sido utilizado ate entao mmap no /dev/mem para acessar registradores de configuracao do processador (DMA, SPI, Clocks, etc.). Sim, eu sei que essa nao eh uma boa opcao. Ainda mais porque o programa tem que funcionar como root. Tem alguma outra forma de acessar esses registradores de outra maneira? Comecei a ler um livro de device drivers para linux que explica o acesso por read/write e ioctl. O problema eh saber quais os "comandos" a serem dados via ioctl. Alguem tem um exemplo de como utilizar esse metodo para acessar registradores? Quais sao os request code numbers e onde estao normalmente os header files com os request code numbers? Com esse tipo de acesso, eu poderia executar o programa sem ser root?
3) O Marcelo tambem mencionou uma vez o acesso ao kernel via interface de rede, que eh mais rapido e eh meio que o modo mais eficiente. Alguem tem um exemplo de como funciona isso ou sabe como posso procurar sobre isso (palavras chaves, etc.)?
Obrigado a quem puder ajudar.