Changes between Version 45 and Version 46 of WikiStart


Ignore:
Timestamp:
May 28, 2009, 9:21:54 PM (10 years ago)
Author:
lorenzo
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v45 v46  
    301301   * Aggiunta di un server semaforo (singolo) diff:tags/minix-3.1.2a//tags/server-add-single-semaphore
    302302   [[IncludeSource(tags/server-add-single-semaphore/test/testsema.c, line_numbers=0)]]
     303
     304== Lezione 10 ==
     305
     306=== Slide ===
     307
     308   * '''Turno 2 (22 maggio 2009)''': [http://homes.dico.unimi.it/sisop/lucidi0809/solab10b.pdf slide] ([http://homes.dico.unimi.it/sisop/lucidi0809/solab10b-handout.pdf Versione stampa])
     309
     310==== Aggiunta di una system call a MINIX ====
     311
     312   * Aggiunta di una syscall {{{chuid}}} che permette di modifcare il proprietario di un processo
     313
     314{{{
     315#!c
     316PUBLIC int do_chuid()
     317{
     318   int p, u;
     319   struct mproc *rmp;
     320
     321   p = m_in.m1_i1;
     322   u = m_in.m1_i2;
     323
     324   printf("PID: %d UID: %d\n", p, u);
     325
     326   for (rmp = &mproc[0]; rmp < &mproc[NR_PROCS]; rmp++) {
     327        if (rmp->mp_pid == p) {
     328           printf("FOUND: %s\n", rmp->mp_name);
     329           printf("Switched UID from %d to %d\n", rmp->mp_realuid, u);
     330           rmp->mp_realuid = u;
     331           rmp->mp_effuid = u;
     332           break;
     333        }
     334   }
     335}
     336}}}