| 
	
		|  Autor | Tema: Programacion API linux  (Leído 10,978 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/LinuxA/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 | 
 
 |  |  |  |  |  
 
	
 
   |