Sei sulla pagina 1di 3

readeArquitecturayTecnologadeComputadores UniversidadCarlosIIIdeMadrid

SistemasOperativos
EjerciciospropuestosrelacionadosconlaPrctica1

Curso2009/2010 http://www.arcos.inf.uc3m.es/~ii_ssoo

Ejercicio1Accesoaficheros

Se pide realizar un programa capaz de realizar la copia de un fichero. El programa denominadomycp,deber emularelcomportamientodelcomandocpyseejecutar conlamisma sintaxis.
$./mycp<fichero_entrada><fichero_salida>

El programa deber tener una funcin llamada copia_fichero que devuelva 0 en caso de realizarcorrectamentelacopiaconlasiguientefirma:
intcopia_fichero(char*entrada,char*salida);

Paralarealizacindelejercicio,serecomiendautilizarlassiguientesfunciones:
intopen(constchar*pathname,intflags); intclose(intfd); intcreat(constchar*pathname,mode_tmode); ssize_tread(intfd,void*buf,size_tcount); ssize_twrite(intfd,constvoid*buf,size_tcount);

Ejercicio2Creacindeprocesos

Sepiderealizarunprogramacapazdegenerardosprocesos.Elprogramadeber crearun procesohijo,elculdebersimularalgntipodecmputoydevolverunvalordesalida.Elproceso padre,deber esperaralafinalizacindelprocesohijoymostrarporpantallaelvalordevueltopor elhijo. Elprogramadebertenerdosfuncionescodigo_padreycodigo_hijoconlasiguientefirma:


intcodigo_padre(); voidcodigo_hijo();

2de3

Paralarealizacindelejercicio,serecomiendautilizarlassiguientesfunciones:
pid_tfork(void); pid_twait(int*status); WEXITSTATUS(status); voidexit(intstatus);

Ejercicio3Creacindepipes

Sepiderealizarunprogramaqueamplelafuncionalidaddelprogramacreadoenelejercicio 2,paraaadirlafuncionalidaddeenvodemensajesmediantepipesentreelprocesopadreyel procesohijo.Elprocesopadreescribirunmensajedetexto,queelhijodebermostrarporlasalida estndar. El programa eneste casodeber tener dos funciones codigo_padre y codigo_hijo con la siguientefirma:
intcodigo_padre(intpipe); voidcodigo_hijo(intpipe);

Paralarealizacindelejercicio,serecomiendautilizarlassiguientesfunciones:
intpipe(intpipefd[2]);

3de3

Potrebbero piacerti anche