Find the best Kernel freelance jobs!

Work on the best Kernel freelance projects. The best Programmers and Web designers for desktop applications, mobile apps, websites, E-commerce, IT, web and software development are on Workana.

Workana is the first and largest Latin-American freelancing network. Check out the latest Kernel jobs listed and place a BID. If you are looking for Kernel freelancers to work on your project please visit this page. You can also post your own project for free.

Design Small Embedded Linux Microcontroller with Ble capability

Budget: Open Published: 22 days ago Deadline: 45 days Bids: 5
Further details can be found in
https://docs.google.com/document/d/1QHlnfD8Qvm23DSEdoui_ZgAWup_3srOk_pmP1GDG68M/edit?usp=sharing

Category: Engineering & Manufacturing
Project size: Small
Is this a project or a position?: A project
Required availability: As needed
Skills required:
Published by: Juan H. Last reply: 2 weeks ago España

Programador

Budget: Open Published: 4 months ago Deadline: 30 days Bids: 3
Estoy realizando un proyecto académico que consiste en optimizar un enlace punto a punto orientado a transferencia de archivos. Para lo cual, el método de optimización utilizado es usar un algoritmo de compresión, el cual ya lo tenemos.

Para darte una idea del alcance del proyecto te doy el siguiente ejemplo:

Host A Optimizador 1 Optimizador2 Host B

Se tiene el Host A ubicado en Lima y el Host B ubicado en Provincia. Se desea transferir un archivo de 50Mb desde el Host A hasta el Host B a traves de un enlace Satelital (medio inestable, alta latencia, alto porcentaje de perdida de paquetes). Para ello se propone interceptar los paquetes de red enviados por el Host A (que conforman el archivo de 50Mb) a traves de un appliance (Optimizador1) que permita comprimir los paquetes entrantes y enviarlos por el enlace Wan satelital hasta el extremo receptor (Optimizador2) el cual los regresara a su estado original (descomprimido) y se encargara de enviarlo hasta el Host B. Dependiendo del porcentaje de compresion, se estima reducir la latencia y el porcentaje de perdida de paquetes que existe en una transferencia normal.

Para ello se debe programar a bajo nivel y modificar los paquetes de red que ingresan por ambos Optimizadores. Todo esto a través de un kernel de linux. El programa debe modificar los campos necesarios del paquete y enviarlo sin errores hasta el extremo. Cabe resaltar que la transferencia de archivos es bidireccional por ello ambos optimizadores deben comprimir y descomprimir dependiendo el rol que cumplan al momento de la transferencia (origen o destino).

Hasta el momento se pensó programar con la siguiente logica:

Interceptar los paquetes en el Optimizador1 (Ok)
Retener el paquete involucrado en la transferencia (FTP) (Ok)
Extraer el Payload (carga util, datos del paquete) en una variable string y comprimirla con un algoritmo de Compresion. (Ok)
Modificar el campo Payload con el nuevo string comprimido y ajustar el tamaño de este campo. (Failed)
Enviar el paquete por el enlace wan sin errores de checksum (Failed)
Interceptar los paquetes en el Optimizador2 (Ok)
Retener el paquete involucrado en la transferencia (FTP) (Ok)
Extraer el Payload en una variable string y descomprimirla con un algoritmo de Compresion. (Ok)
Modificar el campo Payload con el nuevo string descomprimido y ajustar el tamaño de este campo. (Failed)
Enviar el paquete hacia el Host B sin errores de checksum (Failed)

Para la retención de los paquetes se utiliza la librería "netfilter" la cual es también utilizada por el iptables de linux. Para la estructura del paquete de red y modificación de campos se utiliza la librería "skbuff" la cual sirve para modificar todos los campos, sin embargo el payload es el que nos ha traído problemas tanto de checksum como de modificación como tal.

Lo que se me ocurría era cambiar la lógica y no trabajar modificando los paquetes originales sino retener el paquete original en una cola y crear un paquete nuevo copiando los campos del paquete original y dándole nuevos parámetros de checksum y payload al paquete nuevo, para luego enviarlo a través del enlace y realizar lo mismo en el Optimizador 2.

Adicionalmente, encontré un post relacionado donde trabajan con otra librería bajo la segunda lógica. Tal vez te ayude un poco en el tema.
http://forums.techarena.in/software-development/1067576.htm

En conclusión se necesita un aplicativo desarrollado en entorno de kernel space el cual permita modificar los paquetes de datos que pasen a traves del servidor el cual trabajara en modo transparente (bridge - "BRCTL"), es decir, el trafico entrara por la interfaz eth0 y saldra por la interfaz eth1 sin hacer ningun tipo de enrutamiento, trabajara como si fuera un cable. Sin embargo, tambien debera modificar los paquetes que entran por la interfaz eth0.
Los paquetes de datos estan formados por cabeceras y a su vez por campos con parametros definidos, de los cuales el campo mas importante es el Payload, donde se encuentra toda la informacion del paquete (los datos de aplicacion). El Payload como tal es una secuencia binaria que se puede convertir a string y resulta un texto plano dependiendo de la aplicacion o archivo que esta pasando a traves de las interfaces. Por ejemplo si se envia un block de notas con un texto "estoesunaprueba", el payload convertido a string resultara el mismo texto "estoesunaprueba", esto se puede validar con cualquier sniffer por ejemplo Wireshark.

Volviendo a lo principal, la idea es que cuando se intercepte el paquete, automaticamente se extraiga el string, perteneciente al payload, en una variable, y con ello aplicar un algoritmo de compresion a dicho string. El algoritmo que tenemos implementado en el kernel de linux es uno llamado LZW. No hay problema con ello. El verdadero problema es encontrar una libreria que permita la modificacion del payload sobre el paquete original, o en todo caso una libreria que permita generar un paquete nuevo clonando ciertos campos y usando el payload comprimido gracias al LZW. Y cuando se tenga el paquete modificado enviarlo a traves de la interfaz eth1. En teoria este paquete saliente deberia tener un tamaño menor comparado con el paquete original que entro por la interfaz eth0.
Asimismo al salir de la interfaz eth1 el paquete pasara de la misma manera en modo transparente hacia otro servidor por la interfaz eth1 y debera realizar el trabajo inverso a lo que hizo el servidor anterior.
Es decir, interceptar el paquete, extraer el payload comprimido, descomprimir el payload y armar nuevamente el paquete para tener como resultado el paquete original que saldra por la interfaz eth0.

Gracias

Categoría: IT & Programación
Subcategoría: Otro
Es un proyecto o una posición?: Un proyecto
Actualmente tengo: Tengo las especificaciones
Experiencia en este tipo de proyectos: No (No he administrado este tipo de proyectos anteriormente)
Disponibilidad requerida: Según se necesite
Published by: OLIVER Last reply: 4 months ago Peru
Payment method: Verified

Algoritmo de planificación tipo round robin

Budget: Open Published: 2 years ago Deadline: 2 days Bids: 1
Se solicita programar un algoritmo de planificación tipo round robin que permita identificar como el procesador o los procesadores atienden muchos procesos simultáneamente sin alterar la vista como los percibe el usuario final. El algoritmo debe permitir:
1.Simular la cantidad de procesos que entran al procesador con la misma prioridad al procesador en forma FIFO (primeros en llegar primeros en ser atendidos)
2.
Simular por cada proceso que llega al procesador un tiempo (QUANTUM) el cual deberá ser cronometrado según tiempo límite de expiración de este y se debe mostrar la interrupción cuando agote su tiempo y deberá dar paso a un nuevo proceso.
3. Determinar los procesos de acuerdo a la prioridad asignada para su ejecución en memoria
4.Asociar de manera prioritaria los dispositivos del sistema operativo de acuerdo a la solicitud de procesamiento, de los procesos que se encuentran en ejecución.
5.Relacionar el controlador de dispositivo con las actividades de entrada y salida de información a través del Kernel.
Consideraciones para la entrega :
1.Entregar el código fuente y el ejecutable
2. Incluir el instructivo de uso del programa, paso a paso y la base de datos en texto (si esta se requiere).
Skills required:
Published by: Mauricio C. D. Colombia

Correção De Erros No Prestashop (programação e modulo)

Budget: Open Published: 2 years ago Deadline: 7 days Bids: 3
Precisamos de um developer com sólidos conhecimentos em PrestaShop para correção de pequenos erros na Loja e correção de um módulo de exibição de produtos.
É Fundamental que o candidato tenha conhecimento em Elaboração, Construção e Desenvolvimentos de módulos do Prestashop, PHP, Smarty, Banco de Dados, html, css, cms, java, javascript.
O projeto contém 10 atividades que podem ser desenvolvidas em 5 minutos por um desenvolvedor com boa habilidade na plataforma e 1 job mais complexo.
Orçamento máximo do JOB será discutido, mas esta em torno de R$200,00 a R$400,00 conforme pesquisa de mercado.
Para aqueles que tiverem interesse poderemos enviar maiores detalhes sobre os erros a serem corrigidos.
É Fundamental que o candidato tenha disponibilidade para começar o job imediato, e trabalhar sobre supervisão virtual.
Published by: JUNIOR A. Last reply: 2 years ago Brasil

Reescribir componente joomla

Budget: Open Published: 3 years ago Deadline: 30 days Bids: 5
Para adecuar de manera exacta un componente necesito hacer unas modificaciones que ya tengo precisadas. Requiero unos cambios en la base de datos y en la programación pero no tiene que ver con el kernel de joomla.
Es un módulo para registrar estadísticas para beisbol que trabaja en integrado a joomla!
Skills required:
Published by: Luis M. P. Last reply: 2 years ago Venezuela

Logo para Emprendimiento

Budget: Open Published: 3 years ago Deadline: 2 days Bids: 4
Hola! El proyecto es muy, muy simple.
Adjunto un logo creado por mí (muy básico y limitado), y quisiera profesionalizarlo un poco, mejorarlo.
La idea es mantener esa estructura: El dibujo de una lamparita MUY simple hacia abajo y el nombre "Vanguardia Sur" (con Sur más abajo, como subíndice).
También, si se puede, agregar la leyenda "Embedded Systems & Kernel Development", bajo el logo, como otra versión.
Confío en el talento de los profesionales registrados, la intención es crear un logo para el emprendimiento del que soy parte.
* pongo límite de presupuesto, pero es tentativo nomás.
Gracias!!!!!
Skills required:
Published by: Diego B. Last reply: 3 years ago Argentina
Loading...