Autor
|
Tema: Programacion API linux (Leído 10,115 veces)
|
Oblivi0n
Desconectado
Mensajes: 392
Odio las ranas.
|
Buenas gente.
Me estoy iniciando a usar Linux (Xubuntu concretamente), despues de un largo tiempo usando windows (4 años), y la duda que tenia es, ¿Que libros me recomendais para usar la API de linux?
Soy programador de C y normalmente he programado con la API de windows, ¿Es mas facil?, ¿Mas compleja?
Saludo y gracias!
P.D: Pregunto aqui porque en Google encuentro todo tipo de documentacion, asique queria saber como hicieron ustedes para empezar a programar en Linux.
|
|
|
En línea
|
|
|
|
RyogiShiki
Desconectado
Mensajes: 745
げんしけん - Hikkikomori FTW!!!
|
Buenas gente.
Me estoy iniciando a usar Linux (Xubuntu concretamente), despues de un largo tiempo usando windows (4 años), y la duda que tenia es, ¿Que libros me recomendais para usar la API de linux?
Soy programador de C y normalmente he programado con la API de windows, ¿Es mas facil?, ¿Mas compleja?
Saludo y gracias!
P.D: Pregunto aqui porque en Google encuentro todo tipo de documentacion, asique queria saber como hicieron ustedes para empezar a programar en Linux. La verdad es que tal cosa como "Linux API" en realidad no existe, lo que existees la "Linux Kernel API" que seguramente es muy diferente de lo que esperas, y se usa myormente para operaciones a bajo nivel e integración con el Kernel, Recuerda que Linux es el Nucleo y GNU es la implementación de una plataforma sobre ese nucleo. Si quieres realizar cosas como las que haces en la API de Windows te recomiendo que uses Qt y gtkmm seguramente con estos no heches de menos ninguna funcionalidad que te ofrece el API de Windows Claro esos a menos que quieras programar cosas como drivers de dispositivos o extender funcionalidades del kernel mediante módulos que es para lo que esta hecha la "Linux Kernel API"
|
|
« Última modificación: 28 Enero 2011, 23:18 pm por gankutsuo »
|
En línea
|
|
|
|
Oblivi0n
Desconectado
Mensajes: 392
Odio las ranas.
|
La verdad es que tal cosa como "Linux API" en realidad no existe, lo que existees la "Linux Kernel API" que seguramente es muy diferente de lo que esperas, y se usa myormente para operaciones a bajo nivel e integración con el Kernel, Recuerda que Linux es el Nucleo y GNU es la implementación de una plataforma sobre ese nucleo.
Si quieres realizar cosas como las que haces en la API de Windows te recomiendo que uses Qt y gtkmm seguramente con estos no heches de menos ninguna funcionalidad que te ofrece el API de Windows
Claro esos a menos que quieras programar cosas como drivers de dispositivos o extender funcionalidades del kernel mediante módulos que es para lo que esta hecha la "Linux Kernel API"
Tomo nota, muchisimas gracias!
|
|
|
En línea
|
|
|
|
erhey
Desconectado
Mensajes: 3
|
La API de linux es POSIX, un standar en todos los tipo unix. Incluso ciertas versiones de windows la traen (aunque creo que internamente, las funciones se traducen a win32, no entra directamente al ejecutivo de windows).
Un saludo.
|
|
|
En línea
|
|
|
|
RyogiShiki
Desconectado
Mensajes: 745
げんしけん - Hikkikomori FTW!!!
|
La API de linux es POSIX, un standar en todos los tipo unix. Incluso ciertas versiones de windows la traen (aunque creo que internamente, las funciones se traducen a win32, no entra directamente al ejecutivo de windows).
Un saludo.
Y otra vez la burra al trigo, y no se cuantes veces repita esto en este foro. Debemos tener siempre en cuenta la diferencia entre Linux y Sistemas Operativos, citande de Wikipedia POSIX es compatible con los siguientes Sistemas: GNU/Linux A/UX AIX BSD/OS HP-UX INTEGRITY IRIX LynxOS Mac OS X v10.5 en Procesadores Intel. MINIX MPE/iX QNX (IEEE Std. 1003.13-2003 PSE52; RTEMS (POSIX 1003.1-2003 Profile 52) Solaris OpenSolaris UnixWare velOSity VxWorks (IEEE Std. 1003.13-2003 PSE52; Windows NT (y posteriores)
En ningún momento es compatible con el Kernel el Nucleo, y no funciona para controlar el Kernel que es "Linux", el hilo original pregunta acerca del API de Linux. debemos hacer la diferencia, POSIX no es el API de Linux. Puede considerarse como el API de sistemas GNU/Linux Saludos
|
|
|
En línea
|
|
|
|
erhey
Desconectado
Mensajes: 3
|
Y otra vez la burra al trigo, y no se cuantes veces repita esto en este foro. Debemos tener siempre en cuenta la diferencia entre Linux y Sistemas Operativos, citande de Wikipedia POSIX es compatible con los siguientes Sistemas:
que mas da? la API de Linux es POSIX, porque la trae implementada, al igual que la de UNIX es POSIX, no entiendo la diferencia que quieres hacer ver. En ningún momento es compatible con el Kernel el Nucleo, y no funciona para controlar el Kernel que es "Linux", el hilo original pregunta acerca del API de Linux. debemos hacer la diferencia, POSIX no es el API de Linux. Puede considerarse como el API de sistemas GNU/Linux
Saludos
Es que no te entiendo, son llamadas al sistema, que importa el nucleo?. Es que con la win32 controlas el Kernel? no, no?. Para eso tienes WDM. Edito. Vale, te pillo, tu dices que linux es estrictamente el nucleo. Y por ese tecnicismo no le dices que en las distribuciones que llevan linux hay una api standard llamada posix equivalente a la win32 no?. Un saludo.
|
|
« Última modificación: 6 Febrero 2011, 16:51 pm por erhey »
|
En línea
|
|
|
|
RyogiShiki
Desconectado
Mensajes: 745
げんしけん - Hikkikomori FTW!!!
|
Edito. Vale, te pillo, tu dices que linux es estrictamente el nucleo. Y por ese tecnicismo no le dices que en las distribuciones que llevan linux hay una api standard llamada posix equivalente a la win32 no?.
Un saludo.
Ciertamente es eso! podrá ser un tecnicismo, pero es importante hacer la diferencia.
|
|
|
En línea
|
|
|
|
nosoqui
Desconectado
Mensajes: 18
|
Ya que en linux, casi todo se trata como si fuesen archivos.... yo empezaría sabiendo como se usan las llamadas al sistema que se relacionan con estos directamente: open,read,write... luego con las llamadas que te dejan configurar la manera de recibir los datos y de dar ordenes a dispositivos, como ioctl. Luego están las llamadas relacionadas con los procesos, de las cuales considero las más importantes fork y exec Y por ultimo, las llamadas relacionadas con la intercomunicación de procesos, las más comunes son los sockets(usados para la comunicación con internet), la memoria compartida(shmget,shmmat ..etc) ... Y un un paso más avanzado podría nombrar lo relacionado con la sincronización de procesos que trabajan paralelamente en un mismo trabajo como los bloqueos y los semáforos(mutex) Un saludo y suerte !
|
|
|
En línea
|
|
|
|
Foxy Rider
Desconectado
Mensajes: 2.407
Deprecated
|
Vale, te pillo, tu dices que linux es estrictamente el nucleo. Y por ese tecnicismo no le dices que en las distribuciones que llevan linux hay una api standard llamada posix equivalente a la win32 no?.
Yo diría que no es tan así ... Linux (Kernel) tiene una API interna que no tiene naada que ver con POSIX, pero a nivel userland disponés de las famosas syscalls que se definen en POSIX ... no llegan en sí a ser un equivalente, ya que la API de Windows contempla cosas como por ejemplo : interfaces gráficas, API para manejo de HTTP/FTP/etc (Wininet), manejo de imágenes (gdi), etc ... en los sistemas *nix hay proyectos que ofrecen eso (Respectivamente Xorg/Qt/Gtk, Curl, ImageMagick), pero no forman parte de POSIX ... Saludos.
|
|
|
En línea
|
|
|
|
erhey
Desconectado
Mensajes: 3
|
Yo diría que no es tan así ... Linux (Kernel) tiene una API interna que no tiene naada que ver con POSIX, pero a nivel userland disponés de las famosas syscalls que se definen en POSIX ... no llegan en sí a ser un equivalente, ya que la API de Windows contempla cosas como por ejemplo : interfaces gráficas, API para manejo de HTTP/FTP/etc (Wininet), manejo de imágenes (gdi), etc ... en los sistemas *nix hay proyectos que ofrecen eso (Respectivamente Xorg/Qt/Gtk, Curl, ImageMagick), pero no forman parte de POSIX ...
Saludos.
Bueno, está claro que cada SO tiene sus particularidades, a lo que me referia simplemente, buscando hacer el simil entre Windows y *nix, es nombrar su API basica y standard, no distintos proyectos (aunque estos cubran parte de las necesidades no cubiertas por POSIX). PD. cuando mire la parte que edite y vi 'equivalente', sabia que alguien me iba a decir algo
|
|
|
En línea
|
|
|
|
|
|