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