Título: Crear un kernel! Publicado por: Ali Baba en 11 Noviembre 2016, 23:06 pm Que hay que aprender para crear un kernel? Lenguaje binario?
Título: Re: Crear un kernel! Publicado por: engel lex en 11 Noviembre 2016, 23:58 pm lo puedes actualmente hacer en C y otros lenguajes, pero tienes que estar muy claro en teoria de estructura y organización del computador a demás de teoría de sistemas operativos... recomiendo leer sobre eso
Título: Re: Crear un kernel! Publicado por: RevolucionVegana en 12 Noviembre 2016, 00:24 am Que hay que aprender para crear un kernel? Lenguaje binario? No se nada, pero si tuvieses que escribir un kernel en 0 y 1 creo que antes te pegarías un tiro, en todo caso ensamblador (y en esta quizás también te pegarías un tiro) o C (o bueno con la cantidad de lenguajes que hay ahora supongo que podrías elegir entre muchos), y por cierto engel los drivers también se programarían en C? Es que no logro hacerme una idea sobre como se programa algo para que un componente electrónico sea capaz de poder funcionar correctamente con el software del equipo Saludos Título: Re: Crear un kernel! Publicado por: engel lex en 12 Noviembre 2016, 00:44 am los drivers actualmente se pueden programar en cualquier lenguaje nativo... el componente electrico y el sistema operativo ya tienen medios para leer las señales que envian las tarjetas... el driver es un traductor... por ejemplo "si la tarjeta envia B00010" (b antes de un numero = binario) quiere decir que está lista, enviaremos "B111" para que sepa que estamos listos... solo que entre tantos fabricantes, muchas veces no se establecen standards, entonces hp le gusta por ejemplo mandar la meta data antes que la data y canon prefiere despues... eso hace que requieras 2 traductores diferentes
eso para cerrar aquí evitemos desviar el tema ;) Título: Re: Crear un kernel! Publicado por: Ali Baba en 12 Noviembre 2016, 15:34 pm los drivers actualmente se pueden programar en cualquier lenguaje nativo... el componente electrico y el sistema operativo ya tienen medios para leer las señales que envian las tarjetas... el driver es un traductor... por ejemplo "si la tarjeta envia B00010" (b antes de un numero = binario) quiere decir que está lista, enviaremos "B111" para que sepa que estamos listos... solo que entre tantos fabricantes, muchas veces no se establecen standards, entonces hp le gusta por ejemplo mandar la meta data antes que la data y canon prefiere despues... eso hace que requieras 2 traductores diferentes eso para cerrar aquí evitemos desviar el tema ;) Ahora el problema es doble. Título: Re: Crear un kernel! Publicado por: engel lex en 12 Noviembre 2016, 15:52 pm XD no esperabas hacer un kernel que fuera compatible con todo no? XD
el problema de los drivers es que la mayoria son privativos... esto implica que fuera de los OS principales, no hay opciones para correr eso dispositivos Título: Re: Crear un kernel! Publicado por: Poyoncio en 12 Noviembre 2016, 15:54 pm No vas a crear un kernel en una semana, ni en dos años si quieres algo medianamente decente. El kernel de linux lleva muchisimos años desarrollandose y ha tenido muchisimas contribuciones, si quieres algo medianamente decente te sera mejor modificar el kernel de linux que crear uno nuevo
Título: Re: Crear un kernel! Publicado por: engel lex en 12 Noviembre 2016, 15:56 pm No vas a crear un kernel en una semana, ni en dos años si quieres algo medianamente decente, el kernel de linux lleva muchisimos años desarrollandose y ha tenido muchisimas contribuciones, si quieres algo medianamente decente te sera mejor modificar el kernel de linux que crear uno nuevo en realidad si puede crear un kernel... si es mejor modificar el de linux... pero en un buen esfuerzo de unos 6 meses podría armar uno funcional... muchas veces esto se usa para poder correr procesos exclusivos que necesiten hiper alta prioriad en el pc... o que funcionen de maneras especiales o experimentales Título: Re: Crear un kernel! Publicado por: Ali Baba en 13 Noviembre 2016, 02:17 am XD no esperabas hacer un kernel que fuera compatible con todo no? XD el problema de los drivers es que la mayoria son privativos... esto implica que fuera de los OS principales, no hay opciones para correr eso dispositivos Dije que el problema era doble porque me implantaste mas dudas :laugh: :laugh: :laugh: Título: Re: Crear un kernel! Publicado por: Ali Baba en 13 Noviembre 2016, 02:18 am No vas a crear un kernel en una semana, ni en dos años si quieres algo medianamente decente. El kernel de linux lleva muchisimos años desarrollandose y ha tenido muchisimas contribuciones, si quieres algo medianamente decente te sera mejor modificar el kernel de linux que crear uno nuevo Yo voy a pasarme mi tiempo y estudiar un poco para crear mi kernelsito :silbar: :silbar: :silbar: aun asi me pase 15 años ;-) ;-) Título: Re: Crear un kernel! Publicado por: Poyoncio en 13 Noviembre 2016, 02:29 am Yo voy a pasarme mi tiempo y estudiar un poco para crear mi kernelsito :silbar: :silbar: :silbar: aun asi me pase 15 años ;-) ;-) Lo veo un poco estupido, vas a reinventar la rueda, pero bueno, yo he hecho cosas aun mas estupidas ;-) ;-) ;-) Adelante, pero te daras cuenta que necesitas un buen nivel de C, incluso podrias hacer como el de linux y poner componentes escritos en python Saludos Título: Re: Crear un kernel! Publicado por: engel lex en 13 Noviembre 2016, 07:08 am Lo veo un poco estupido, vas a reinventar la rueda, pero bueno, yo he hecho cosas aun mas estupidas ;-) ;-) ;-) Adelante, pero te daras cuenta que necesitas un buen nivel de C, incluso podrias hacer como el de linux y poner componentes escritos en python Saludos ojo no comparo, solo digo... podría haberle dicho lo mismo a linus torvalds cuando dijo que haría una copia de bsd XD a demás por aprendizaje nunca está de más Título: Re: Crear un kernel! Publicado por: Ali Baba en 13 Noviembre 2016, 22:55 pm Lo veo un poco estupido, vas a reinventar la rueda, pero bueno, yo he hecho cosas aun mas estupidas ;-) ;-) ;-) Adelante, pero te daras cuenta que necesitas un buen nivel de C, incluso podrias hacer como el de linux y poner componentes escritos en python Saludos Entonces todo los kernel son iguales? Título: Re: Crear un kernel! Publicado por: kub0x en 13 Noviembre 2016, 23:17 pm Entonces todo los kernel son iguales? No. Existen varios tipos como el Monolithic o MicroKernel. Sus diferencias son notorias ya que el Monolithic carga todo en modo privileged y el Micro separa la lógica en capas poniendo en modo privileged solo aquello necesario, por lo tanto el micro suele ser menos propenso a fallos, y sí, Linux es mono, anda que el Torvalds buena manía tiene a los micro (segun afirmaciones varias). + INFO -> https://en.wikipedia.org/wiki/Kernel_(operating_system)#Kernel-wide_design_approaches (https://en.wikipedia.org/wiki/Kernel_(operating_system)#Kernel-wide_design_approaches) Saludos! Título: Re: Crear un kernel! Publicado por: Sadistski en 14 Noviembre 2016, 04:41 am hummm... se me ocurren algunas soluciones:
podrías bajarte el source code de puppy linux, puppy linux es una versión linux de bajo recursos (solo tiene lo básico, a diferencia de ubuntu)... así sería mucho más fácil analizar su código que si bajas el source code de ubuntu.... analizar DLLS con programas como ollydbg, wxhexeditor y asdf asdf....imagino que si tuvieras ganas de hacer un S.O operativo y solo tuvieras internet como referencia, seria una buena manera de aprender... pegarte un tiro.... o tratar de programarlo a MANO y terminar cuando tengas 102 años :laugh: Título: Re: Crear un kernel! Publicado por: engel lex en 14 Noviembre 2016, 04:43 am hummm... se me ocurren algunas soluciones: podrías bajarte el source code de puppy linux, puppy linux es una versión linux de bajo recursos (solo tiene lo básico, a diferencia de ubuntu)... así sería mucho más fácil analizar su código que si bajas el source code de ubuntu.... analizar DLLS con programas como ollydbg, wxhexeditor y asdf asdf....imagino que si tuvieras ganas de hacer un S.O operativo y solo tuvieras internet como referencia, seria una buena manera de aprender... pegarte un tiro.... o tratar de programarlo a MANO y terminar cuando tengas 102 años :laugh: no tiene sentido que se baje puppy linux... su kernel es el mismo no tiene ninguna reducción... lo unico que tiene es un gestor de aplicaciones y de escritorio más ligero, pero eso está por encima del kernel tambien para que analizar dlls? XD no es más facil analizar los drivers de codigo abierto de linux? así no tiene que andar adivinando que es qué Título: Re: Crear un kernel! Publicado por: Borito30 en 27 Noviembre 2016, 18:48 pm coge una distro de linux y tuneala :xD ya tienes tu propio kernel pero basado en otro
|