/*
sendfile zum kopieren verwenden:
(alles quick & dirty, hatte leider keine Zeit)



16:44 < markus> Greek0 und ich haben uns gestern noch sendfile angeschaut.
16:44 < markus> Wir haben zwar kein wirklich beweiskräftigen Benchmark zusammengebracht, aber sendfile hat fast 0 usertime
16:45 < markus> d.h. cp file1 file2 kehrt sofort zurück, auch wenn dann noch länger gesynct wird;)
16:48 < markus> bei gnu wurde ein solcher patch verworfen...
16:49 < markus> obwohl man sich size/4048 kontext switches und copy von kernel<->user<->kernel erspart
16:55 < rotty> erspart man sich da auch bei einer microkernelarchitektur (L4) unbedingt was?
17:02 < markus> rotty: wenn ich microkernel richtig verstanden habe ist dort die Fileverwaltung im Userspace, so wie bei
                FUSE...
17:03 < markus> da aber read/write trotzdem syscalls mit interrupts sind (die zeitaufwendig sind) dürfte man sich sogar
                dort was ersparen
17:08 < markus> sendfile wurde von Greek0 erwähnt wie wir über fragmentierung geredet haben...
17:09 < markus> weil bei sendfile könnte theoretisch das Dateisystem gucken wieviele Daten noch kommen werden und dann die
                Blöcke geschickter aufteilen

*/
#include 
#include 
#include 
#include 
#include 
#include 

int main(int argc, char ** argv)
{
	off_t t = 0;
	struct stat s;
	open (argv[1], O_RDONLY);
	stat (argv[1], &s);
	open (argv[2], O_WRONLY);
	sendfile(3,4,&t, (size_t) s.st_size);

	return 0;
}

Fr Jul 30 13:54:24 CEST 2021
patent_button.gif valid-html401.png elektra.jpg fsfe-logo.png valid-css.png vim.gif anybrowser.gif