0
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
6 <!DOCTYPE html>
|
|
7 <html>
|
|
8 <head>
|
|
9 <meta http-equiv="content-type" content="text/html;charset=utf-8">
|
2
|
10 <title>Studying Operating System Using Docker Platform</title>
|
0
|
11
|
|
12 <meta name="generator" content="Slide Show (S9) v4.1.0 on Ruby 2.3.7 (2018-03-28) [universal.x86_64-darwin16]">
|
|
13 <meta name="author" content="Shivani Dubey" >
|
|
14
|
|
15 <!-- style sheet links -->
|
|
16 <link rel="stylesheet" href="s6/themes/screen.css" media="screen">
|
|
17 <link rel="stylesheet" href="s6/themes/print.css" media="print">
|
|
18 <link rel="stylesheet" href="s6/themes/blank.css" media="screen,projection">
|
|
19
|
|
20 <!-- JS -->
|
|
21 <script src="s6/js/jquery-1.11.3.min.js"></script>
|
|
22 <script src="s6/js/jquery.slideshow.js"></script>
|
|
23 <script src="s6/js/jquery.slideshow.counter.js"></script>
|
|
24 <script src="s6/js/jquery.slideshow.controls.js"></script>
|
|
25 <script src="s6/js/jquery.slideshow.footer.js"></script>
|
|
26 <script src="s6/js/jquery.slideshow.autoplay.js"></script>
|
|
27
|
|
28 <!-- prettify -->
|
|
29 <link rel="stylesheet" href="scripts/prettify.css">
|
|
30 <script src="scripts/prettify.js"></script>
|
|
31
|
|
32 <style>
|
|
33 .slide {page-break-after: always;}
|
|
34 </style>
|
|
35
|
|
36
|
|
37
|
|
38
|
|
39 </head>
|
|
40 <body>
|
|
41
|
|
42 <div class="layout">
|
|
43 <div id="header"></div>
|
|
44 <div id="footer">
|
|
45 <div align="right">
|
|
46 <img src="s6/images/logo.svg" width="200px">
|
|
47 </div>
|
|
48 </div>
|
|
49 </div>
|
|
50
|
|
51 <div class="presentation">
|
|
52
|
|
53 <div class='slide cover'>
|
|
54 <table width="90%" height="90%" border="0" align="center">
|
|
55 <tr>
|
|
56 <td>
|
|
57 <div align="center">
|
2
|
58 <h1><font color="#808db5">Studying Operating System Using Docker Platform</font></h1>
|
0
|
59 </div>
|
|
60 </td>
|
|
61 </tr>
|
|
62 <tr>
|
|
63 <td>
|
|
64 <div align="left">
|
|
65 Shivani Dubey
|
1
|
66 Intern, University of the Ryukyus
|
0
|
67 <hr style="color:#ffcc00;background-color:#ffcc00;text-align:left;border:none;width:100%;height:0.2em;">
|
|
68 </div>
|
|
69 </td>
|
|
70 </tr>
|
|
71 </table>
|
|
72 </div>
|
|
73
|
|
74
|
|
75 <div class='slide'>
|
|
76
|
|
77 <!-- _S9SLIDE_ -->
|
2
|
78 <h1 id="why-operating-system">Why Operating System?</h1>
|
|
79
|
|
80 <ul>
|
|
81 <li>
|
|
82 <p>Backbone of computer system</p>
|
|
83 </li>
|
|
84 <li>
|
|
85 <p>Manages the computer’s memory and processes, as well as all of its software and hardware.</p>
|
|
86 </li>
|
|
87 </ul>
|
|
88
|
|
89
|
|
90
|
|
91 </div>
|
|
92
|
|
93 <div class='slide'>
|
|
94 <!-- _S9SLIDE_ -->
|
0
|
95 <h1 id="introduction">Introduction</h1>
|
|
96
|
|
97 <ul>
|
2
|
98 <li>
|
|
99 <p>Docker</p>
|
|
100 </li>
|
|
101 <li>
|
|
102 <p>xv6</p>
|
|
103 </li>
|
0
|
104 </ul>
|
|
105
|
2
|
106 <p>What is Docker?</p>
|
|
107
|
|
108 <ul>
|
|
109 <li>The modern platform for high velocity innovation</li>
|
|
110 <li>Docker has products that use operating system level virtualization to develop and deliver software in packages called containers</li>
|
|
111 <li>Docker can run on any computer, on any infrastructure and in any cloud</li>
|
|
112 </ul>
|
0
|
113
|
2
|
114 <p>What is xv6?</p>
|
|
115
|
|
116 <ul>
|
|
117 <li>
|
|
118 <p>A Unix-like operating system developed in MIT.</p>
|
|
119 </li>
|
|
120 <li>
|
|
121 <p>xv6 is modern reimplementation of Sixth Edition Unix in ANSI C.</p>
|
|
122 </li>
|
|
123 </ul>
|
1
|
124
|
|
125
|
|
126
|
|
127 </div>
|
|
128
|
|
129 <div class='slide'>
|
|
130 <!-- _S9SLIDE_ -->
|
2
|
131 <h1 id="what-helped-us">What helped us</h1>
|
1
|
132
|
|
133 <ul>
|
2
|
134 <li>
|
|
135 <p>emacs editor (amidst the editor war between vi and emacs!)</p>
|
|
136 </li>
|
|
137 <li>
|
|
138 <p>homebrew (it simplifies installation of software in macOS)</p>
|
|
139 </li>
|
|
140 <li>
|
|
141 <p>Mercurial repository of the lab where we saved everything using ssh</p>
|
|
142 </li>
|
1
|
143 </ul>
|
0
|
144
|
|
145
|
|
146
|
|
147 </div>
|
|
148
|
|
149 <div class='slide'>
|
|
150 <!-- _S9SLIDE_ -->
|
2
|
151 <h2 id="why-docker">Why Docker?</h2>
|
|
152
|
|
153 <p>Features of Docker:</p>
|
|
154
|
|
155 <ul>
|
|
156 <li>
|
|
157 <p>Easy and Faster Configuration</p>
|
|
158 </li>
|
|
159 <li>
|
|
160 <p>Increases productivity</p>
|
|
161 </li>
|
|
162 <li>
|
|
163 <p>Application Isolation</p>
|
|
164 </li>
|
|
165 <li>
|
|
166 <p>Services</p>
|
|
167 </li>
|
|
168 <li>
|
|
169 <p>Security Management</p>
|
|
170 </li>
|
|
171 </ul>
|
|
172
|
|
173
|
|
174
|
|
175 </div>
|
|
176
|
|
177 <div class='slide'>
|
|
178 <!-- _S9SLIDE_ -->
|
|
179 <h2 id="why-xv6">Why xv6?</h2>
|
0
|
180
|
2
|
181 <ul>
|
|
182 <li>
|
|
183 <p>It gives a good insight into Command Line Interface of Unix OS</p>
|
|
184 </li>
|
|
185 <li>
|
|
186 <p>xv6 is modern reimplementation of Sixth Edition Unix in ANSI C</p>
|
|
187 </li>
|
|
188 </ul>
|
|
189
|
|
190
|
|
191
|
|
192 </div>
|
|
193
|
|
194 <div class='slide'>
|
|
195 <!-- _S9SLIDE_ -->
|
|
196 <h1 id="scheduling-processes-by-their-priorities">Scheduling processes by their priorities</h1>
|
|
197
|
|
198 <ul>
|
|
199 <li>
|
|
200 <p>Added getpriority() and setpriority() and get_highest_priority() functions in proc.c file of xv6</p>
|
|
201 </li>
|
|
202 <li>
|
|
203 <p>Added a test function testpriority() in usertests.c file of xv6 to implement our algorithm</p>
|
|
204 </li>
|
|
205 </ul>
|
|
206
|
|
207
|
|
208
|
|
209 </div>
|
|
210
|
|
211 <div class='slide'>
|
|
212 <!-- _S9SLIDE_ -->
|
|
213 <h2 id="the-function">The function</h2>
|
1
|
214
|
|
215 <pre><code class="language-c">int get_highest_priority_proc(void)
|
|
216 {
|
|
217 int highest_priority;
|
|
218 int pid = 0;
|
|
219 int hpid = -1;
|
|
220 int rpid = 0;
|
|
221
|
|
222 highest_priority=100;
|
|
223 struct proc *p;
|
|
224 for(p = ptable.proc; p < &ptable.proc[NPROC]; p++, pid++){
|
|
225 if(p->state != RUNNABLE) {
|
|
226 continue;
|
|
227 }
|
|
228 rpid = pid;
|
|
229 if (highest_priority > p->priority) {
|
|
230 highest_priority=p->priority;
|
|
231 hpid = pid;
|
|
232 }
|
|
233 }
|
|
234 return hpid > 0?hpid:rpid;
|
|
235 }
|
|
236 </code></pre>
|
0
|
237
|
|
238
|
|
239
|
|
240 </div>
|
|
241
|
|
242 <div class='slide'>
|
|
243 <!-- _S9SLIDE_ -->
|
2
|
244 <h2 id="docker-limitation">Docker Limitation</h2>
|
|
245
|
|
246 <p>Mutliple images present in repository due to form command.</p>
|
|
247
|
|
248 <p>If repository breaks, Docker poses problem</p>
|
|
249
|
|
250 <p>What can be done?</p>
|
|
251
|
|
252 <p>We can keep track of images of Docker</p>
|
|
253
|
|
254
|
|
255
|
|
256 </div>
|
1
|
257
|
2
|
258 <div class='slide'>
|
|
259 <!-- _S9SLIDE_ -->
|
|
260 <h1 id="conclusion">Conclusion</h1>
|
|
261
|
|
262 <ul>
|
|
263 <li>
|
|
264 <p>Docker environment poses some problems, some of which are difficult to comprehend</p>
|
|
265 </li>
|
|
266 <li>
|
|
267 <p>Storage is difficult too</p>
|
|
268 </li>
|
|
269 <li>
|
|
270 <p>Yet, it gives a good insight of the underlying important concepts of operating system beacuse it is well documented, fast and uses less resources</p>
|
|
271 </li>
|
|
272 </ul>
|
0
|
273
|
|
274 </div>
|
|
275
|
|
276
|
|
277 </div><!-- presentation -->
|
|
278 </body>
|
|
279 </html>
|