13.07.2015 Views

de un proceso

de un proceso

de un proceso

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Ejemplo: mo<strong>de</strong>lo <strong>de</strong> interrupcioneschar buf; // guarda el dato leídoint lectura(char *dir, int tam) {out(R_CONTROL, LECTURA); // programa el dispositivoEstablece “cont_lectura” como continuación; “dir” y “tam” → estructura <strong>de</strong> datos;Retorna cediendo el control a otro <strong>proceso</strong>; }int cont_lectura() {char *dir_aux; int tam_aux; ← valores recuperados <strong>de</strong>s<strong>de</strong> estructura <strong>de</strong> datos;*(dir_aux++) = buf;if (--tam_aux>0) {out(R_CONTROL, LECTURA); // programa el dispositivoEstablece “cont_lectura” como continuación; “dir_aux” y “tam_aux” → e. datos;Retorna cediendo el control a otro <strong>proceso</strong>; }else Retorna al <strong>proceso</strong> que hizo la llamada al sistema; }void interrupcion() {buf = in(R_DATOS); // lee el carácter y lo copiaMarca que <strong>proceso</strong> lector pue<strong>de</strong> ejecutar y si más prioritario, retorna a su continuación;En caso contrario retorna al <strong>proceso</strong> interrumpido; }Diseño <strong>de</strong> Sistemas Operativos 26 Fernando Pérez Costoya (2008)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!