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 -----------------------------