Hi, In block driver doshd.c (the default driver), reading and writing sectors is now done directly from/to block buffers. Previously the sectors were copied to a buffer located at BUFSEG:0x0000 as an intermediate and unnecessary step. These changes were tested copying a lot of files running elks under qemu, checking the integrity of the copied files and running fsck for the modified filesystem under linux. Under the dioscuri emulator, with the ability to emulate the processor speed, obtained a reduction of 15 sec. in running time when copying the entire /bin directory from a total of 80 secs. 2. The modifications above, and other small changes to have a closer implementation with "directhd.c" also reduced the code size. 3. Small changes in fs/exec.c and kernel/sys.c to remove unused variables and redundant statements. 4. As result of the modifications the code size was reduced in 112 bytes. The Image builded without errors. The kernel was tested with QEMU and dioscuri emulators. Also in a PPro pc booting from floppy. Greetings, Juan
Attachment:
elksX.patch
Description: Binary data