Logo  

CS471/571 - Operating Systems

Displaying ./code/xv6-public/iostat.c

#include "types.h"
#include "stat.h"
#include "user.h"

void sighandler(int sig)
{
  printf(1, "Signal %d caught, exiting...\n", sig);
//  exit();
//  sigreturn();
}

int main(int argc, char *argv[])
{
  for(int i=1; i <= 4; i++)
    signal(i, sighandler);

  int ticks = 0, rcount, wcount;

  if (argc > 1) ticks = atoi(argv[1]) * 100;

  printf(1, "Reads\tWrites\n");

  do {
    iostat(&rcount, &wcount);
    printf(1,"%d\t%d\n", rcount, wcount);

    if (ticks) sleep(ticks);
  } while (ticks > 0);

  exit();
}