Hace 16 años | Por xanthus a marcelor.com
Publicado hace 16 años por xanthus a marcelor.com

Automóvil autónomo ganador del desafío DARPA 2007 usa Ubuntu como sistema operativo a bordo.

Comentarios

D

Varía las fuentes: @xanthus

D

#4 ¿pero qué tonterías dices? ¿así que ahora que el coche corra más o menos depende del sistema operativo, no?

te agradecería que contrastases esa valoración con algún benchmark... porque está claro que si la gente usa Linux en estos proyectos es sobre todo por motivos ideológicos y por no gastarse pasta en licencias (cosa que está genial, claro), pero mientras haya drivers para los dispositivos, las aplicaciones (si son portables) funcionan prácticamente igual en Linux que en Windows, sobre todo las que son intensivas en cómputo como estas; las únicas diferencias están en el planificador (que por cierto, ninguno de los dos sistemas operativos es de tiempo real), las llamadas al sistema y la I/O, que para estos casos, me temo que incluso es posible que Windows saliese ganando, porque si algo tiene optimizado Windows es el rendimiento multimedia.

D

#7 te repito que la diferencia de un programa compilado para Linux y otro compilado para Windows radica en el formato de las cabeceras de los ejecutables y en cómo se enlazan las llamadas al sistema... si una apliación lo que hace es "crujir matrices" (como es el caso) no debería haber ninguna diferencia de rendimiento perceptible sea cual sea el sistema operativo en el que las ejecutes, porque las instrucciones son exactamente las mismas; quizá en estos casos otro punto de impacto pueda ser la gestión de memoria, pero normalmente estas aplicaciones reservan de forma estática todo lo que necesitan al principio y luego se encargan de gestionarla ellas solitas, sin mayor intervención del S.O.

no es así el caso de, por ejemplo, servidores web, que hacen un uso intensivo de aspectos más dependientes del S.O. como es el sistema de ficheros y crean montones de threads... ahí sí que puede haber diferencias notables de usar un sistema operativo u otro.

pero de todos modos, sin entrar en discusiones sobre qué sistema operativo pueda dar mayor rendimiento (cosa que no venía al caso con mi comentario incial, eso lo has sacado tú porque te apetecía), te repito que no es Ubuntu el que pilota el coche, por lo tanto la noticia es amarillista y tendenciosa.

D

¿matries enormes? como cuánto 2Mpx? 5Mpx? eso no es lo que yo calificaría como enorme... y lo de crear y destruir contínuamente... si se programase con lenguajes funcionales, pues entonces aceptaríamos barco, pero estos kernels suelen estar hechos en FORTRAN o en C con declaraciones estáticas, ahí lo que más se moverá seguramente será la pila.

como he dicho antes, ni Linux ni Windows pueden garantizar que una rutina se ejecute 30 veces por segundo, porque tienen planificadores best effort, para garantizar que se cumplan plazos se podría usar Windows CE, QNX, RTLinux...

D

#11 si tú puedes hablar de sistemas operativos sin tener ni idea, yo también puedo hablar de visión artificial lol

D

#13 lo que tienes tú muy mal es la capacidad de comprensión lectora, no sé cómo estás en la universidad... bueno, sí que lo sé, porque el nivel cada día está más bajo y pasa cualquiera.

#8: quizá en estos casos otro punto de impacto pueda ser la gestión de memoria, pero normalmente estas aplicaciones reservan de forma estática todo lo que necesitan al principio y luego se encargan de gestionarla ellas solitas, sin mayor intervención del S.O.

#10: pero estos kernels suelen estar hechos en FORTRAN o en C con declaraciones estáticas

si en ese caso particular usan memoria de forma dinámica todo el rato (malloc/free) pues mal hecho por los programadores, pero de nuevo insisto que ese no es el tema principal, que si quieres te lo vuelvo a poner en negrilla, a ver si así te entra:

Titular: Un automóvil pilotado por Ubuntu
Mi crítica: Ubuntu no pilota el coche

Así que nada, tú sigue en tus trece...

D

joder, qué amarillismo, como si el mérito de conducir el coche fuese ubuntu y no el software de visión artificial, planificación, etc. que hay detrás.

en serio, los fanboys de ubuntu empezáis a resultar de un cansino...

D

Todos los primeros llevaban linux. #3 la mayoria de los concursantes de este y otros años usaban http://sourceforge.net/projects/opencvlibrary/ como librerias de vision artificial, son software libre y en linux vuelan y el windows se arrastran. Por eso y otras razones el coche ganador llevaba ubuntu.

D

#6 pero que me estas contando?? Me refiero a las librerias de vision artificial, estoy haciendo el proyecto final de carrera con ellas, son multiplataforma y en linux me va perfecto y en windows simplemente va mas lento y cuando quiero hacer operaciones con matrices muy grandes simplemente casca. Te estoy hablando de calcular eigenvectores de matrices de 400*400. La razon no es que windows sea peor que linux, la razon es que historicamente las librerias algebraicas y de vision artificial se han usado en sistemas unix-linux y la version de windows no esta tan trabajada.

Te he puesto el link para que si quieres hagas la prueba. La diferencia es brutal. De todas formas buscare a ver si hay un benchmark que confirme lo que digo.

D

#8 que si, claro que el programa es el mismo, pero eso de que no deberia de haber diferencia es una coña no? La gestion de memoria en linux no tiene nada que ver con la de windows, en vision artificial se manejan matrices enormes que se crean y se destruyen continuamente y ahi evitar la fragmentacion es muy importante, razon por la que el mismo codigo exactamente pero compilado para windows funciona mucho mas lento.

De acuerdo que el Ubuntu no hace nada, los sistemas operativos lo unico que hacen es proporcionar a los programas que se ejecutan sobre ellos los recursos(procesador, memoria ...) Y eso hace que el programa se ejecute mas rapido o mas lento. Si el sistema tiene que ejecutar una rutina 30 veces por segundo por ejemplo y un windows no te lo puede garantizar pues simplemente no vale.

D

#10 ¿matries enormes? como cuánto 2Mpx? 5Mpx?
No es tan simple como analizar una matriz de 2 dimensiones, si no tienes ni idea de vision artificial menor ni te molestes en escribir paridas, las matrices en la mayoria de los algoritmos serian (2Mpx*numeroImagenesDeEntrenamiento)^2 al menos en los basados en Eigenvectores como los que estan implementados en las openCV que usan todos los vehiculos del concurso, ya que el patrocinador es Intel.

De hecho la camara no tomara imagenes de 2Mpx si toma imagenes a 640x480 ya seria brutal.

D

#12 en serio crees que tienes idea de sistemas operativos y dices que como un s.o gestione la memoria no importa en el rendimiento del programa?

Cuando compiles algun programa multiplataforma usando c o c++ te daras cuenta de que en la mayoria de los casos la version de windows se arrastra comparada con la de linux. Y ya si intervienen procesos o hilos ni hablamos.

B

Juas, con uno que llevase windows no me subía.

Sandevil

Los extras que se instalan, con apt?