Hola a todos. Necesito saber como puedo escribir directamente en en disco. Es decir, que pueda especificar un sector y un contenido y escriba el contenido en el sector seleccionado. Necesito velocidad de acceso a disco tanto de lectura y escritura y por eso necesito bajar tanto de nivel. Gracias por adelantado. -- Joan Carles Jimenez jjcarles@terra.es
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2006-09-21 a las 15:46 +0200, Joan Carles Jimenez escribió:
Necesito saber como puedo escribir directamente en en disco. Es decir, que pueda especificar un sector y un contenido y escriba el contenido en el sector seleccionado. Necesito velocidad de acceso a disco tanto de lectura y escritura y por eso necesito bajar tanto de nivel.
Para escribir directamente en un sector del disco tienes el comando "dd". Pero velocidad no vas a ganar, sigues pasando por el kernel y todos sus dispositivos, driver, y demás. - -- Saludos Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFFEqRmtTMYHG2NR9URAs2qAJ9uARfhs5lGpU6OjuR0F2xpGVsOcACfQvhj lE2Ftu4T6fXEgI3/ut/C5p0= =Vvsa -----END PGP SIGNATURE-----
Hola de nuevo. El comando "dd" lo he descartado justo por lo que me dices: tengo que pasar por el kernel, dispositivos, drivers, etc. Lo que busco es algo que ataque directamente al hardware (lo que antiguamente se hacia con interrupciones). Incluso estoy buscando alguna cosa en C, pero de momento sigo sin nada. Yo mismo me encargo de guardar la informació que tengo en cada sector. Me falta la parte de escritura/lectura en disco. Gracias de nuevo. On Thursday 21 September 2006 16:40, Carlos E. R. wrote:
El 2006-09-21 a las 15:46 +0200, Joan Carles Jimenez escribió:
Necesito saber como puedo escribir directamente en en disco. Es decir, que pueda especificar un sector y un contenido y escriba el contenido en el sector seleccionado. Necesito velocidad de acceso a disco tanto de lectura y escritura y por eso necesito bajar tanto de nivel.
Para escribir directamente en un sector del disco tienes el comando "dd". Pero velocidad no vas a ganar, sigues pasando por el kernel y todos sus dispositivos, driver, y demás.
-- Joan Carles Jimenez jjcarles@terra.es
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2006-09-21 a las 17:30 +0200, Joan Carles Jimenez escribió:
El comando "dd" lo he descartado justo por lo que me dices: tengo que pasar por el kernel, dispositivos, drivers, etc. Lo que busco es algo que ataque directamente al hardware (lo que antiguamente se hacia con interrupciones). Incluso estoy buscando alguna cosa en C, pero de momento sigo sin nada. Yo mismo me encargo de guardar la informació que tengo en cada sector. Me falta la parte de escritura/lectura en disco.
Entonces lo que necesitas es ayuda como programador, no como usuario. En eso poco puedo ayudarte, porque no he programado gran cosa en Linux. Per échale vistazo a a programas que pueden hacer eso para ver cómo lo hacen. El mismo dd, por ejemplo. Hay un programa que escribe directamente a disco para ganar velocidad, que era el cdrecord o el xcdrecord: para tener velocidad al quemar los CDs con los ordenadores lentos se generaba la imagen en una partición "raw" para uso exclusivo de ese programa. En el howto de como grabar CDs lo menciona, yo usé ese sistema hace años. El xine también hace acceso directo a disco, para leer, en algunos de sus módulos. Por ejemplo, sé que puede leer sin que intervenga el sistema de caché de disco del kernel, porque se llenaría de datos inútiles que sólo se van a leer una vez, ralentizando el resto del sistema. O pregunta en la lista de programación, hay una en suse. Aún y todo, el kernel no creo que te lo saltes demasiado, algo queda. - -- Saludos Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFFEsOmtTMYHG2NR9URAhPQAJ0f4FYamkt8fEcpseJK4NOzhk26pwCgjkS0 Cntz353ddQkrwpZTTNg9aIE= =Rafy -----END PGP SIGNATURE-----
El 2006-09-21 a las 15:46 +0200, Joan Carles Jimenez escribió:
Necesito saber como puedo escribir directamente en en disco. Es decir, que pueda especificar un sector y un contenido y escriba el contenido en el sector seleccionado. Necesito velocidad de acceso a disco tanto de lectura y escritura y por eso necesito bajar tanto de nivel.
* Crea y usa dispositivos raw.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2006-09-21 a las 19:23 +0200, jose maria escribió:
Necesito saber como puedo escribir directamente en en disco. Es decir, que pueda especificar un sector y un contenido y escriba el contenido en el sector seleccionado. Necesito velocidad de acceso a disco tanto de lectura y escritura y por eso necesito bajar tanto de nivel.
* Crea y usa dispositivos raw.
¿Tienes enlaces a documentación sobre eso? No lo voy a usar, no programo ya, pero me gusta aprender. - -- Saludos Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFFE7HutTMYHG2NR9URAjcKAJ96ls4jTIcLa0Qz8wqtFext/6gdXwCfYOw7 hMteFG+I/ytLy0PHPcXxbLs= =GOeJ -----END PGP SIGNATURE-----
El Viernes, 22 de Septiembre de 2006 11:50, Carlos E. R. escribió:
El 2006-09-21 a las 19:23 +0200, jose maria escribió:
Necesito saber como puedo escribir directamente en en disco. Es decir, que pueda especificar un sector y un contenido y escriba el contenido en el sector seleccionado. Necesito velocidad de acceso a disco tanto de lectura y escritura y por eso necesito bajar tanto de nivel.
* Crea y usa dispositivos raw.
¿Tienes enlaces a documentación sobre eso? No lo voy a usar, no programo ya, pero me gusta aprender.
* El asunto raw a quedado despreciado al parecer, aunque puede seguir usandose compilando y diciendole al kernel que hacer con ello, es muy apreciado en el desempeño de Bases de Datos, se ha sustituido por la funcion "open" en su manual se meciona la bandera O_DIRECT, y se dice que es semanticamente similiar al comando raw, asi que las principales bases de datos por lo menos las OpenSource tiran de ello, es al parecer la linea a seguir. O_DIRECT Try to minimize cache effects of the I/O to and from this file. In general this will degrade performance, but it is useful in special situations, such as when applications do their own caching. File I/O is done directly to/from user space buffers. The I/O is synchronous, i.e., at the completion of the read(2) or write(2) system call, data is guaranteed to have been transferred. Under Linux 2.4 transfer sizes, and the alignment of user buffer and file offset must all be multiples of the logical block size of the file system. Under Linux 2.6 alignment to 512-byte boundaries suffices. A semantically similar interface for block devices is described in raw(8). *- Sic: "Entonces que hay que hacer? Sencillo, modificar el codigo fuente de tus programas para agregarle esa bandera y el tiempo de respuesta en disco va a ser similiar a los que se tenia antes pero sin necesidad de tener que asignar los archivos especiales." --------- Informix ----------------------------- Asunto: Re: raw devices in linux (O_DIRECT) Fecha: Fri, 4 Mar 2005 10:43:31 +0100 De: Sandor Szabo A: CC: Informix-Discussion E-List (E-mail) Hi , I have some information regarding the O_DIRECT flag. IDS V10 detects automatically that it runs on Linux Kernel 2.6 and if KAIO is enabled then it turns on the O_DIRECT flag! To enable KAIO: The libaio.so library is required, regardless of the distribution or kernel level. At the time of writing, IBM Informix Dynamic Server V10.0 requires a minimum of libaio 0.3.96-3. Please also read the release notes for more information! bye Sandor IBM Informix Development Munich Information Management Hollerithstraße 1 81829 Munich Germany --------- Informix -----------------------------
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2006-09-22 a las 17:38 +0200, jose maria escribió:
¿Tienes enlaces a documentación sobre eso? No lo voy a usar, no programo ya, pero me gusta aprender.
* El asunto raw a quedado despreciado al parecer, aunque puede seguir usandose compilando y diciendole al kernel que hacer con ello, es muy apreciado en el desempeño de Bases de Datos, se ha sustituido por la funcion "open" en su manual se meciona la bandera O_DIRECT, y se dice que es semanticamente similiar al comando raw, asi que las principales bases de datos por lo menos las OpenSource tiran de ello, es al parecer la linea a seguir.
Ajá, intereante, gracias. Mientras tanto, descubrí el comando "raw" y quise probarlo, pero no funcionaba; ni siquiera existía /dev/raw/*. En el SuSE 10.1 es necesario iniciar el servicio "rcraw start" previamente para que funcione; basicamente, lo que hace es "modprobe raw" y armar el /dev/raw, parece. - -- Saludos Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFFFA0ctTMYHG2NR9URAhA1AJsF2dRPntCrVk9oeZ+kHGShISyZGwCeN2ee eZ+hoByWER6QxLgZmWViiX4= =ZAOl -----END PGP SIGNATURE-----
Hola. La documentación que estoy mirando es el codigo fuente que he encontrado en http://www.intercode.com.au/jmorris/rawutil. Consiste en una instrucción que permite la lectura/escritura directamente en disco (segun dice la ayuda). Gracias por vuestra ayuda. On Friday 22 September 2006 11:50, Carlos E. R. wrote:
El 2006-09-21 a las 19:23 +0200, jose maria escribió:
Necesito saber como puedo escribir directamente en en disco. Es decir, que pueda especificar un sector y un contenido y escriba el contenido en el sector seleccionado. Necesito velocidad de acceso a disco tanto de lectura y escritura y por eso necesito bajar tanto de nivel.
* Crea y usa dispositivos raw.
¿Tienes enlaces a documentación sobre eso? No lo voy a usar, no programo ya, pero me gusta aprender.
-- Joan Carles Jimenez jjcarles@terra.es
El jue, 21-09-2006 a las 15:46 +0200, Joan Carles Jimenez escribió:
Hola a todos.
Necesito saber como puedo escribir directamente en en disco. Es decir, que pueda especificar un sector y un contenido y escriba el contenido en el sector seleccionado. Necesito velocidad de acceso a disco tanto de lectura y escritura y por eso necesito bajar tanto de nivel.
Gracias por adelantado.
-- Joan Carles Jimenez jjcarles@terra.es
No conozco la forma, pero creo que necesitaras programar un poco. Pueden orientarte los fuentes de drbd, ese programa escribe directamente sobre un disco No montado. Un saludo Lluis
participants (4)
-
Carlos E. R.
-
Joan Carles Jimenez
-
jose maria
-
lmartinez