Discussion:
Lenguajes de programación para sistemas??
(demasiado antiguo para responder)
Picho, el portugues
2004-04-21 18:47:54 UTC
Permalink
Hola otra vez.:)

La verdad es que yo quisiera iniciarme en la programación. Pero en
programación de sistemas operativos. Esto lo hago porque quiero utilizar el
Linux.

El Linux por lo visto trae ficheros de código fuente abierto y me gustaria
modificarlos y saber lo que expresan. También para poder configurar el
sistema operativo a mi gusto.

Por eso os pregunto: que lenguaje de programación es ideal para poder
modificar los sistemas operativos????


P.D: me refiero a lenguajes de alto nivel. Me han dicho que el C es ideal
en Linux.Habrá otro???

Gracias.
)Tico(
2004-04-21 19:55:10 UTC
Permalink
En Wed, 21 Apr 2004 19:47:54 +0100, Picho, el portugues
Post by Picho, el portugues
Hola otra vez.:)
La verdad es que yo quisiera iniciarme en la programación. Pero en
programación de sistemas operativos. Esto lo hago porque quiero utilizar el
Linux.
El Linux por lo visto trae ficheros de código fuente abierto y me gustaria
modificarlos y saber lo que expresan. También para poder configurar el
sistema operativo a mi gusto.
Por eso os pregunto: que lenguaje de programación es ideal para poder
modificar los sistemas operativos????
Si te interesa tocar un SO , necesitas el codigo fuente. Y el SO que es de
código abierto
y está mas extendido es el Linux.
Por otra parte, Linux está escrito en C.
Conclusion : Empieza con C

Aunque si estás empezando a programar desde cero, sigo recomendando el
Pascal. Después el
salto al C es sencillo, en mi opinion.

Saludos
--
Vicente Cubas, ICQ : 205528905
F
2004-04-21 19:08:18 UTC
Permalink
hombre, yo en la universidad tengo una asignatura que se llama exactamente
"programacion de sistemas" y programamos en C, sobre linux (o en linux sobre
C, como se diga), si el dato, te sirve de algo...

Un saludo
Post by Picho, el portugues
Hola otra vez.:)
La verdad es que yo quisiera iniciarme en la programación. Pero en
programación de sistemas operativos. Esto lo hago porque quiero utilizar el
Linux.
El Linux por lo visto trae ficheros de código fuente abierto y me gustaria
modificarlos y saber lo que expresan. También para poder configurar el
sistema operativo a mi gusto.
Por eso os pregunto: que lenguaje de programación es ideal para poder
modificar los sistemas operativos????
P.D: me refiero a lenguajes de alto nivel. Me han dicho que el C es ideal
en Linux.Habrá otro???
Gracias.
Neumotorax IV
2004-04-22 18:26:50 UTC
Permalink
Post by Picho, el portugues
Hola otra vez.:)
La verdad es que yo quisiera iniciarme en la programación. Pero en
programación de sistemas operativos. Esto lo hago porque quiero utilizar el
Linux.
El Linux por lo visto trae ficheros de código fuente abierto y me gustaria
modificarlos y saber lo que expresan. También para poder configurar el
sistema operativo a mi gusto.
Por eso os pregunto: que lenguaje de programación es ideal para poder
modificar los sistemas operativos????
P.D: me refiero a lenguajes de alto nivel. Me han dicho que el C es ideal
en Linux.Habrá otro???
Gracias.
Antes de dar el salto al código de Linux te recomiendo que le eches un
vistazo a MINIX. Es un Sistema Operativo didáctico escrito por
Tanenbaum, y en el que se basó Linus Torvalds para escribir Linux. Todo
el código fuente del sistema operativo está comentado en
-> A.S.Tanenbaum, A.S.Woodhull, "Sistemas Operativos. Diseño e
Implementación. Segunda Edición.", Prentice-Hall, 1997.
Te recomiendo que lo eches un vistazo. Minix está escrito en C (salvo
ciertas partes que están hechas en ensamblador o bien porque en C no se
puede o porque se gana eficiencia).
Antoine Leca
2004-04-23 09:23:40 UTC
Permalink
Post by Neumotorax IV
Antes de dar el salto al código de Linux te recomiendo que le eches un
vistazo a MINIX. Es un Sistema Operativo didáctico escrito por
Tanenbaum,
Creo que el libro es todavia más interesante que el código de Minix per se.
Post by Neumotorax IV
y en el que se basó Linus Torvalds para escribir Linux.
No. Torvalds utiliza Minix como base para trabajar, pero para el desarollo,
la arquitectura etc., se basó en Unix, sobre todo, un libro de Maurice J.
Bach, "The design of the Unix Operating System" (ISBN: 0132017997),
probablamente el segundo libro que hay que comprar (despues del de Tanenbaum
y Woodhull) sobre esta tema. El libro de Bach (trabajava en AT&T) describe
Unix System V, y desde dendro, Linux se parece bastante más a SV que al
microkernel de Minix.
Post by Neumotorax IV
Post by Picho, el portugues
Por eso os pregunto: que lenguaje de programación es ideal para poder
modificar los sistemas operativos????
Pués, Minix está escrito en un dialecto "puro" y "casto" de C, por que
Tanenbaum viene de Pascal y Modula, no del entorno C (yo me entero de Minix
por este canal).
Linux, por su parte, es mucho más "C" en su estilo.

De eso, la repuesta: C era el lenguaje de predilección para los sistemas
operativos, al menos hasta 1991.


Antoine
Mikel Irazabal
2004-04-23 16:20:35 UTC
Permalink
Post by Picho, el portugues
La verdad es que yo quisiera iniciarme en la programación. Pero en
programación de sistemas operativos. Esto lo hago porque quiero utilizar el
Linux.
Para poder configurar tu sistema a gusto, no te hace falta saber
programación en C, sino administración de sistemas Linux/UNIX.

Muy pocos, tocan el código fuente de Linux, normalmente la parte de los
controladores o la pila TCP/IP (cosa que no harás si no eres un experto
en hardware o redes).

El código fuente de Linux tiene un porrón de megas, y no se puede ni
agarrar si no sabes por donde andas (si no eres experto en sistemas
operativos).

Lo que sí puedes hacer es recompilar el Kernel de Linux a tu gusto, pero
para eso no hace falta saber programar en C, sino saber administrar un
sistema Linux (el programa ya está escrito, tú sólo lo configuras a tu
gusto haciendo un make xconfig).



Si lo que quieres es aprender cómo funciona el kernel de Linux:

1. Aprende a programar (en C y C++ que es en lo que están escritos casi
todos los Kernel de sistemas operativos).

2. Leete un libro de sistemas operativos (Neumotorax y Antoine te han
recomendado ya todos los que conozco sobre el tema). Entiende bien el
funcionamiento de lo que se te exlpica, y mirate el código fuente de
ejemplo que viene en los libros, y trastea compilando kernels (Linux,
FreeBSD, Hurd ... los que quieras). Aprende bien lo que son las llamadas
al sistema, y cómo se usan al programar, aprecia cual es la diferencia
entre programar EN UN sistema operativo y programar UN sistema operativo
(en éste segundo caso, hay gran parte del código en el que no puedes
hacer llamadas al sistema, porque... ¡El sistema eres tú!).

3. Una vez que controles el sistema operativo, puedes entrar a leer a
fondo el código fuente de un Kernel, pero para saber por dónde andas,
mejor si buscas documentación adicional a la que viene con el kernel en
sitios como :

http://kernelnewbies.org

y empieza a leerte un kernel pequeño como el de

ftp://ftp.kernel.org/pub/linux/kernel/Historic/linux-0.01.tar.gz


Hasta otra.

Mikel
Blue
2004-04-24 11:49:28 UTC
Permalink
saltar de no saber programar a programar SO es un salto muy duro ¿no?
Para usar linux no necesitas saber programar, mi consejo es que consigas una
distribucion facil de instalar y usar. Yo uso fedora Core 1
(http://fedora.redhat.com) y la verdad es que me va de vicio con ella,
aunque te suelan dar el fuente de los programas de momento lo mejor es que
busques paquetes precompilados de los programas que son faciles de instalar
y usar (en fedora de extension .rpm para instalar rpm -i <nombre del rpm>).

De todas formas aprender a programar esta muy bien, pero empieza con algo
facil como Pascal o si te parece algo q va a ser muy trivial usa Java y
despues empieza con C. O tambien aprender a programar en C sin usar memoria
dinamica y luego ve empezando con memoria dinamica, en fin formas de
aprender las hay miles y cada uno hemos tenido nuestra forma de aprender...

Saludos
Blue
Post by Picho, el portugues
Hola otra vez.:)
La verdad es que yo quisiera iniciarme en la programación. Pero en
programación de sistemas operativos. Esto lo hago porque quiero utilizar el
Linux.
El Linux por lo visto trae ficheros de código fuente abierto y me gustaria
modificarlos y saber lo que expresan. También para poder configurar el
sistema operativo a mi gusto.
Por eso os pregunto: que lenguaje de programación es ideal para poder
modificar los sistemas operativos????
P.D: me refiero a lenguajes de alto nivel. Me han dicho que el C es ideal
en Linux.Habrá otro???
Gracias.
Loading...