Programar desde 0 un sistema operativo en C

Iniciado por marrison, 2 Diciembre 2013, 15:58 PM

0 Miembros y 1 Visitante están viendo este tema.

marrison

Pues si me toma mas, mas, no hay problema...

Eso lo habia pensado, cojer el kernel o el codigo fuente de el so de raspberry (que es libre) y editarlo..

Lo que no se es como hacer para impedir instalar apps nuevas...

Si, hay temas como este, pero tengo muchas dudas y era por no reflotar ;)

De ensamblador no se nada... pero si puedo cojer esa parte de otro so me la ahorraria no? Seria cojer la parte de otro so que inicia y lee todos los componentes y todo (lo de lenguaje ensamblador) y luego a partir de uno que se ajuste a mis preferencias editar su codigo fuente a mi idea... seria posible?

siendo asi, seria ms sencillo y mas rapido no?
"Es genial trabajar con ordenadores. No discuten, lo recuerdan todo y no se beben tu cerveza" (Paul Leary)

"Controlar la complejidad es la esencia de la programación" (Brian Kernigan)

"Primero resuelve el problema. Entonces, escribe el código" (John Johnson)

"640K deberían ser suficientes para todo el mundo" (Bill Gates, 1981)

Vaagish

En la practica si, es mas fácil y rápido.. pero me temo que no vas a poder modificar el kernel de linux sin saber ensamblador, o al menos entender como funciona lo mas básico.. suponete, como vas a saber donde dividir el código de linux y el tuyo? Mira que no es un solo archivo fuente.. son unos cuantos, y están casi todos "conectados"..
No es tarea fácil.. bájate el source de linux, míralo y me contas..

Suerte!

marrison

Cita de: Vaagish en  3 Diciembre 2013, 15:41 PM
En la practica si, es mas fácil y rápido.. pero me temo que no vas a poder modificar el kernel de linux sin saber ensamblador, o al menos entender como funciona lo mas básico.. suponete, como vas a saber donde dividir el código de linux y el tuyo? Mira que no es un solo archivo fuente.. son unos cuantos, y están casi todos "conectados"..
No es tarea fácil.. bájate el source de linux, míralo y me contas..

Suerte!


si hay que aprender ensamblador se aprende, no hay problema...

Voy a buscarlo y a ojear mas a ver... pero vamos que el so que quiero hacer seria como uno de los ya hechos para raspberry, pero con la diferencia de añadir yo las apps que quiera y que no se puedan añadir mas, ademas de cambiar un poco el aspecto grafico, aunque eso no creo que sea problema...

por eso creo que lo de compilar el kernel y todo eso en realidad me sobra... no quiero hacerlo desde 0, bueno si, me gustaria, pero me sobra con editar uno ya credo para que no se puedan instalar mas aplicaciones de las que yo ponga inicialmente.
"Es genial trabajar con ordenadores. No discuten, lo recuerdan todo y no se beben tu cerveza" (Paul Leary)

"Controlar la complejidad es la esencia de la programación" (Brian Kernigan)

"Primero resuelve el problema. Entonces, escribe el código" (John Johnson)

"640K deberían ser suficientes para todo el mundo" (Bill Gates, 1981)

Vaagish

Citarsi hay que aprender ensamblador se aprende, no hay problema...

Amigo, sin animo de desalentarte, pero me parece que no estas teniendo en cuenta el TIEMPO que eso lleva.. hacer un SO no es una cosa imposible, ya existe y existió gente que lo ha echo.. el problema es el tiempo que te va a llevar primero aprender todo lo básico para empezar, y cuando digo lo básico no significa poco!! Aprender ASM ya te va a llevar unos cuantos meses, y dominarle bien, bien,, como para hacer un SO, unos 2 o 3 libros a las risas!! (Por lo general libros de 500 a 700 paginas).

Me parece que estas subestimando "un poco" la cantidad de cosas que hay que aprender,, hacer un SO no es como hacer un programita en C++, es bastante mas complicado.. por eso te di la idea de ver el codigo de linux, te puede ayudar muchisimo! Pero no va a dejar de ser algo fácil de hacer,, y ahora si, ya que estas dispuesto a aprender, te recomiendo este libro de ASM

"Lenguaje ensamblador para computadoras basadas en Intel" de Kip Irvine

Con eso ya tenes para divertirte un muy buen rato!  ;D

Suerte!!

marrison

Cita de: Vaagish en  3 Diciembre 2013, 17:18 PM
Amigo, sin animo de desalentarte, pero me parece que no estas teniendo en cuenta el TIEMPO que eso lleva.. hacer un SO no es una cosa imposible, ya existe y existió gente que lo ha echo.. el problema es el tiempo que te va a llevar primero aprender todo lo básico para empezar, y cuando digo lo básico no significa poco!! Aprender ASM ya te va a llevar unos cuantos meses, y dominarle bien, bien,, como para hacer un SO, unos 2 o 3 libros a las risas!! (Por lo general libros de 500 a 700 paginas).

Me parece que estas subestimando "un poco" la cantidad de cosas que hay que aprender,, hacer un SO no es como hacer un programita en C++, es bastante mas complicado.. por eso te di la idea de ver el codigo de linux, te puede ayudar muchisimo! Pero no va a dejar de ser algo fácil de hacer,, y ahora si, ya que estas dispuesto a aprender, te recomiendo este libro de ASM

"Lenguaje ensamblador para computadoras basadas en Intel" de Kip Irvine

Con eso ya tenes para divertirte un muy buen rato!  ;D

Suerte!!

ya se que me llevara mucho tiempo, pero no es tiempo perdido a mi parecer, me va a servir, y me gusta asi que me entretendre...

pero de momento yo creo que editando una me sobra para la chorrada que quiero hacer... solo quiero hacer que no se puedan instalar mas aplicaciones de las que yo ponga al principio y cambiar un poco la apariencia (cuatro chorradas) y quitar toda la carroña que no me sirve para hacerlo mas "liviano" eso es todo...
"Es genial trabajar con ordenadores. No discuten, lo recuerdan todo y no se beben tu cerveza" (Paul Leary)

"Controlar la complejidad es la esencia de la programación" (Brian Kernigan)

"Primero resuelve el problema. Entonces, escribe el código" (John Johnson)

"640K deberían ser suficientes para todo el mundo" (Bill Gates, 1981)

robertofd1995

yo te cuento mi historia , yo estoy actualmente en primero de carrera , de ing informativa de software , y en el segundo semestre o en el segundo año en el primer semestre no me acuerdo muy bien , hay una asignatura en la que tienes que crear tu propio sistema operativo , siendo un poco complejo (para eso echas todo el semestre)

a lo que iba , para poder hacer el os vas a necesitar mas cosas que saber solo c
, a ver yo por ejemplo c todavia no he dado , vas a necesitar saber manejar mas cosas , yo de momento estoy aprendiendo java y phyton , pero se (por lo que me han contado los profesores y los compañeros ) , que hacer el os desde 0 es complicado y lleva su tiempo , asi que esperate unos años y ya te llegara el momento , aplicate en bachiller y saca buenas notas en mate y en fisica , y si quieres y te sobra tiempo dedicate a aprender java , phyton (se usa para un monton de cosas y apenas lo conocia antes , google , youtube (que es de google tambien xD)) , luego ya haras el os


PD:estudia algebra , cuando llegues a la carrera , si te toca a un profesor loco como ami vas a desearle la muerte mas de una vez

ivancea96

A mi también me dio por intentar hacer un OS, pero hay que fijarse,q ue hacer desde 0 tú un Sistema Operativo, te llevará mucho tiempo.

Recuerda que no es un programa, es un "programa" donde se ejecutarán otros programas. Ahí hay muchos factores que abarcar. Desde tema drivers, dar memoria a procesos, todo lo gráfico si es que así lo quieres, y etc etc etc.

Es un buen proyecto, pero piénsatelo dos veces. Además, necesitarás una plataforma donde instalarlo y testearlo. Una partición quizás, eso ya como vieras, pero eso también llevará su tiempo.

Si te interesa empezar desde abajo, podrías probar a hacerle un OS a una Raspberry Pi. Infórmate sobre ella. Es una placa, donde se puede instalar linux fácilmente. Linux, o lo que tú le hagas.

En fin, si me equivoqué en algo, decidlo, que nunca hice un OS, ni tampoco programé para Raspberry xD

marrison

Cita de: ivancea96 en  4 Diciembre 2013, 23:24 PM
A mi también me dio por intentar hacer un OS, pero hay que fijarse,q ue hacer desde 0 tú un Sistema Operativo, te llevará mucho tiempo.

Recuerda que no es un programa, es un "programa" donde se ejecutarán otros programas. Ahí hay muchos factores que abarcar. Desde tema drivers, dar memoria a procesos, todo lo gráfico si es que así lo quieres, y etc etc etc.

Es un buen proyecto, pero piénsatelo dos veces. Además, necesitarás una plataforma donde instalarlo y testearlo. Una partición quizás, eso ya como vieras, pero eso también llevará su tiempo.

Si te interesa empezar desde abajo, podrías probar a hacerle un OS a una Raspberry Pi. Infórmate sobre ella. Es una placa, donde se puede instalar linux fácilmente. Linux, o lo que tú le hagas.

En fin, si me equivoqué en algo, decidlo, que nunca hice un OS, ni tampoco programé para Raspberry xD

la idea es precisamente para una raspberry, y como digo no tiene porque ser desde 0, pues posiblemente me sirvan los kernels, lo que quiero es editar los aspectos graficos (escritorio mas que nada) elegir las aplicaciones que se incluiran (hechas por mi) e impedir que se instalen otras aplicaciones, no tiene porque ser desde 0, puede ser editar una distribucion de linux por ejemplo, estuve mirando suse, que se adapta bastante, me permite elegir las apps y modificar un poco el escritorio (mas bien nada, solo el fondo...) el problema es como impedir que se instalen nuevas...

Cita de: robertofd1995 en  4 Diciembre 2013, 22:38 PM
yo te cuento mi historia , yo estoy actualmente en primero de carrera , de ing informativa de software , y en el segundo semestre o en el segundo año en el primer semestre no me acuerdo muy bien , hay una asignatura en la que tienes que crear tu propio sistema operativo , siendo un poco complejo (para eso echas todo el semestre)

a lo que iba , para poder hacer el os vas a necesitar mas cosas que saber solo c
, a ver yo por ejemplo c todavia no he dado , vas a necesitar saber manejar mas cosas , yo de momento estoy aprendiendo java y phyton , pero se (por lo que me han contado los profesores y los compañeros ) , que hacer el os desde 0 es complicado y lleva su tiempo , asi que esperate unos años y ya te llegara el momento , aplicate en bachiller y saca buenas notas en mate y en fisica , y si quieres y te sobra tiempo dedicate a aprender java , phyton (se usa para un monton de cosas y apenas lo conocia antes , google , youtube (que es de google tambien xD)) , luego ya haras el os


PD:estudia algebra , cuando llegues a la carrera , si te toca a un profesor loco como ami vas a desearle la muerte mas de una vez


Java estoy aprendiendo, pero me esta costando bastante mas que c... hasta ahora se en c y basic, y aprendiendo java, pero phyton nunca me lo habia planteado...

En bachiller de momento voy bien, el algebra se me da bastante bien, por suerte.
"Es genial trabajar con ordenadores. No discuten, lo recuerdan todo y no se beben tu cerveza" (Paul Leary)

"Controlar la complejidad es la esencia de la programación" (Brian Kernigan)

"Primero resuelve el problema. Entonces, escribe el código" (John Johnson)

"640K deberían ser suficientes para todo el mundo" (Bill Gates, 1981)

Danyfirex

Vas a coger un código  fuente "libre" y modificar para que no puedan instalar mas aplicaciones :S ahí ya pierdes el concepto. lo estas privatizando.  :huh:

Haces un SOS no es tan fácil. se requieren años de programación. "real" no jugar con vb6  :laugh:

por ahí conozco de alguien que programo uno SOS todo en ASM le tomo varios años.


Igual suerte con el proyecto. dale duro.

saludos

marrison

Cita de: Danyfirex en  5 Diciembre 2013, 15:42 PM
Vas a coger un código  fuente "libre" y modificar para que no puedan instalar mas aplicaciones :S ahí ya pierdes el concepto. lo estas privatizando.  :huh:

Haces un SOS no es tan fácil. se requieren años de programación. "real" no jugar con vb6  :laugh:

por ahí conozco de alguien que programo uno SOS todo en ASM le tomo varios años.


Igual suerte con el proyecto. dale duro.

saludos

no es mi idea privatizarlo ni nada por el estilo, lo unico es que mi proyecto se basaba todo en el navegador, es decir aplicaciones irian muy pocas, todo se haria con el navegador para asi agilizar el sistema, y la unica forma que se me ocurre es impidiendo instalar nuevas aplicaciones...
"Es genial trabajar con ordenadores. No discuten, lo recuerdan todo y no se beben tu cerveza" (Paul Leary)

"Controlar la complejidad es la esencia de la programación" (Brian Kernigan)

"Primero resuelve el problema. Entonces, escribe el código" (John Johnson)

"640K deberían ser suficientes para todo el mundo" (Bill Gates, 1981)