1
|
1 title: Studying Operating System Using Docker
|
0
|
2 author: Shivani Dubey
|
1
|
3 profile: Intern, University of the Ryukyus
|
0
|
4
|
|
5 # Introduction
|
|
6
|
|
7
|
|
8 - Docker
|
|
9 - xv6
|
|
10
|
|
11 Why Docker?
|
|
12
|
1
|
13
|
|
14 The modern platform for high velocity innovation.
|
|
15 Docker container is not any specific platform. It can run on any computer, on any infrastructure and in any cloud.
|
|
16
|
|
17 ## Features of Docker
|
0
|
18
|
1
|
19 - Easy and Faster Configuration
|
|
20 - Increases productivity
|
|
21 - Application Isolation
|
|
22 - Swarm
|
|
23 - Routing Mesh
|
|
24 - Services
|
|
25 - Security Management
|
0
|
26
|
|
27 What is xv6?
|
|
28
|
1
|
29
|
0
|
30 xv6 is modern reimplementation of Sixth Edition Unix in ANSI C.
|
|
31
|
|
32 ## Scheduling processes by their priorities
|
|
33
|
1
|
34
|
|
35
|
|
36 We implemented the concept of scheduling processes by their priorities.
|
|
37
|
|
38 ```c
|
|
39 int get_highest_priority_proc(void)
|
|
40 {
|
|
41 int highest_priority;
|
|
42 int pid = 0;
|
|
43 int hpid = -1;
|
|
44 int rpid = 0;
|
0
|
45
|
1
|
46 highest_priority=100;
|
|
47 struct proc *p;
|
|
48 for(p = ptable.proc; p < &ptable.proc[NPROC]; p++, pid++){
|
|
49 if(p->state != RUNNABLE) {
|
|
50 continue;
|
|
51 }
|
|
52 rpid = pid;
|
|
53 if (highest_priority > p->priority) {
|
|
54 highest_priority=p->priority;
|
|
55 hpid = pid;
|
|
56 }
|
|
57 }
|
|
58 return hpid > 0?hpid:rpid;
|
|
59 }
|
|
60 ```
|
|
61
|
|
62
|
|
63 ## Docker Limitations
|
|
64
|
|
65
|
|
66
|
|
67 Docker environment poses some problems, some of which are difficult to comprehend. |