view slide.md~ @ 2:54dd75a92d04

fix slies
author shivanidubey
date Sat, 22 Jun 2019 12:32:52 +0900
parents be770be61183
children 623da64aac7a
line wrap: on
line source

title: Studying Operating System Using Docker Platform  
author: Shivani Dubey
profile: Intern, University of the Ryukyus 

# Why Operating System?

- Backbone of computer system

- Manages the computer's memory and processes, as well as all of its software and hardware.


# Introduction


- Docker

- xv6

What is Docker?


- The modern platform for high velocity innovation.
- Docker has products that use operating system level virtualization to develop and deliver software in packages called containers.
- Docker can run on any computer, on any infrastructure and in any cloud.


What is xv6?


- A Unix-like operating system developed in MIT.

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


# What helped us



- emacs editor (amidst the editor war between vi and emacs!)

- homebrew (it simplifies installation of software in macOS)

- Mercurial repository of the lab where we saved everything using ssh 


## Why Docker? 



Features of Docker:


- Easy and Faster Configuration

- Increases productivity

- Application Isolation

- Services

- Security Management


## Why xv6?



- It gives a good insight into Command Line Interface of Unix OS.

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


# Scheduling processes by their priorities




- Added getpriority() and setpriority() and get_highest_priority() functions in proc.c file of xv6

 

- Added a test function testpriority() in usertests.c file of xv6 to implement our algorithm
 

##  The function 

```c
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 Limitation

 
Mutliple images present in repository due to form command. 

If repository breaks, Docker poses problem


What can be done?


We can keep track of images of Docker. 


# Conclusion

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


- Storage is difficult


- Yet, it gives a good insight of the underlying important concepts of operating system beacuse it is well documented, fast and uses less resources.