#include "syscall.h" void nada(void); int semid; int main() { int id; int size; int status; char str[100]; semid = SemCreate(0); Create("archivo.txt"); id = Open("archivo.txt"); Write("Hola Mundo",4,id); //escribe "Hola" en el archivo Write("Hola Mundo",10,id); //escribe "Hola Mundo" en el archivo. Queda "HolaHola Mundo" Close(id); Fork(nada); status = SemWait(semid); status = SemDestroy(semid); id = Open("archivo.txt"); size = Read(str,22,id); Write(str,size,1); //imprimir en pantalla Write("\n",2,1); Halt(); /* not reached */ return 0; } void nada(){ int id; int size; int status; char str[100]; id = Open("archivo.txt"); size = Read(str,14,id); //lee "HolaHola Mundo" y lo guarda en str Write(str,size-6,id); //escribe "HolaHola" en el archivo. Queda "HolaHola MundoHolaHola" Close(id); status = SemSignal(semid); Yield(); }