/* ----------------------------------------------------------------- */ /* PROGRAM mem.c */ /* This program shows memory virtualization provided by OS */ /* ----------------------------------------------------------------- */ #include #include #include #include "common.h" int main(int argc, char *argv[]) { if (argc != 2) { fprintf(stderr, "usage: mem \n"); exit(1); } int *p; p = malloc(sizeof(int)); assert(p != NULL); printf("(%d) addr pointed to by p: %p\n", (int) getpid(), p); *p = atoi(argv[1]); // assign value to addr stored in p while (1) { Spin(1); *p = *p + 1; printf("(%d) value of p: %d\n", getpid(), *p); } return 0; }