Studying Operating System Using Docker

Shivani Dubey Intern, University of the Ryukyus

Introduction

Why Docker?

The modern platform for high velocity innovation. Docker container is not any specific platform. It can run on any computer, on any infrastructure and in any cloud.

Features of Docker

What is xv6?

xv6 is modern reimplementation of Sixth Edition Unix in ANSI C.

Scheduling processes by their priorities

We implemented the concept of scheduling processes by their priorities.

int get_highest_priority_proc(void)
{
  int highest_priority;
  int pid = 0;
  int hpid = -1;
  int rpid = 0;

  highest_priority=100;
  struct proc *p;
  for(p = ptable.proc; p < &ptable.proc[NPROC]; p++, pid++){
    if(p->state != RUNNABLE) {
      continue;
    }
    rpid = pid;
    if (highest_priority > p->priority) {
       highest_priority=p->priority;
       hpid = pid;
    }
  }
  return hpid > 0?hpid:rpid;
}

Docker Limitations

Docker environment poses some problems, some of which are difficult to comprehend.