changeset 2:54dd75a92d04

fix slies
author shivanidubey
date Sat, 22 Jun 2019 12:32:52 +0900
parents be770be61183
children 623da64aac7a
files slide.html slide.md slide.md~ slide.pdf.html
diffstat 4 files changed, 531 insertions(+), 93 deletions(-) [+]
line wrap: on
line diff
--- a/slide.html	Fri Jun 21 15:28:51 2019 +0900
+++ b/slide.html	Sat Jun 22 12:32:52 2019 +0900
@@ -7,7 +7,7 @@
 <html>
 <head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
-   <title>Studying Operating System Using Docker</title>
+   <title>Studying Operating System Using Docker Platform</title>
 
    <meta name="generator" content="Slide Show (S9) v4.1.0 on Ruby 2.3.7 (2018-03-28) [universal.x86_64-darwin16]">
    <meta name="author"    content="Shivani Dubey" >
@@ -70,7 +70,7 @@
       <tr>
         <td>
           <div align="center">
-              <h1><font color="#808db5">Studying Operating System Using Docker</font></h1>
+              <h1><font color="#808db5">Studying Operating System Using Docker Platform</font></h1>
           </div>
         </td>
       </tr>
@@ -91,17 +91,52 @@
 <div class='slide'>
   
 <!-- _S9SLIDE_ -->
+<h1 id="why-operating-system">Why Operating System?</h1>
+
+<ul>
+  <li>
+    <p>Backbone of computer system</p>
+  </li>
+  <li>
+    <p>Manages the computer’s memory and processes, as well as all of its software and hardware.</p>
+  </li>
+</ul>
+
+
+
+</div>
+
+<div class='slide'>
+  <!-- _S9SLIDE_ -->
 <h1 id="introduction">Introduction</h1>
 
 <ul>
-  <li>Docker</li>
-  <li>xv6</li>
+  <li>
+    <p>Docker</p>
+  </li>
+  <li>
+    <p>xv6</p>
+  </li>
 </ul>
 
-<p>Why Docker?</p>
+<p>What is Docker?</p>
+
+<ul>
+  <li>The modern platform for high velocity innovation</li>
+  <li>Docker has products that use operating system level virtualization to develop and deliver software in packages called containers</li>
+  <li>Docker can run on any computer, on any infrastructure and in any cloud</li>
+</ul>
 
-<p>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.</p>
+<p>What is xv6?</p>
+
+<ul>
+  <li>
+    <p>A Unix-like operating system developed in MIT.</p>
+  </li>
+  <li>
+    <p>xv6 is modern reimplementation of Sixth Edition Unix in ANSI C.</p>
+  </li>
+</ul>
 
 
 
@@ -109,31 +144,89 @@
 
 <div class='slide'>
   <!-- _S9SLIDE_ -->
-<h2 id="features-of-docker">Features of Docker</h2>
+<h1 id="what-helped-us">What helped us</h1>
 
 <ul>
-  <li>Easy and Faster Configuration</li>
-  <li>Increases productivity</li>
-  <li>Application Isolation</li>
-  <li>Swarm</li>
-  <li>Routing Mesh</li>
-  <li>Services</li>
-  <li>Security Management</li>
+  <li>
+    <p>emacs editor (amidst the editor war between vi and emacs!)</p>
+  </li>
+  <li>
+    <p>homebrew (it simplifies installation of software in macOS)</p>
+  </li>
+  <li>
+    <p>Mercurial repository of the lab where we saved everything using ssh</p>
+  </li>
 </ul>
 
-<p>What is xv6?</p>
-
-<p>xv6 is modern reimplementation of Sixth Edition Unix in ANSI C.</p>
-
 
 
 </div>
 
 <div class='slide'>
   <!-- _S9SLIDE_ -->
-<h2 id="scheduling-processes-by-their-priorities">Scheduling processes by their priorities</h2>
+<h2 id="why-docker">Why Docker?</h2>
+
+<p>Features of Docker:</p>
+
+<ul>
+  <li>
+    <p>Easy and Faster Configuration</p>
+  </li>
+  <li>
+    <p>Increases productivity</p>
+  </li>
+  <li>
+    <p>Application Isolation</p>
+  </li>
+  <li>
+    <p>Services</p>
+  </li>
+  <li>
+    <p>Security Management</p>
+  </li>
+</ul>
+
+
+
+</div>
+
+<div class='slide'>
+  <!-- _S9SLIDE_ -->
+<h2 id="why-xv6">Why xv6?</h2>
 
-<p>We implemented the concept of scheduling processes by their priorities.</p>
+<ul>
+  <li>
+    <p>It gives a good insight into Command Line Interface of Unix OS</p>
+  </li>
+  <li>
+    <p>xv6 is modern reimplementation of Sixth Edition Unix in ANSI C</p>
+  </li>
+</ul>
+
+
+
+</div>
+
+<div class='slide'>
+  <!-- _S9SLIDE_ -->
+<h1 id="scheduling-processes-by-their-priorities">Scheduling processes by their priorities</h1>
+
+<ul>
+  <li>
+    <p>Added getpriority() and setpriority() and get_highest_priority() functions in proc.c file of xv6</p>
+  </li>
+  <li>
+    <p>Added a test function testpriority() in usertests.c file of xv6 to implement our algorithm</p>
+  </li>
+</ul>
+
+
+
+</div>
+
+<div class='slide'>
+  <!-- _S9SLIDE_ -->
+<h2 id="the-function">The function</h2>
 
 <pre><code class="language-c">int get_highest_priority_proc(void)
 {
@@ -164,9 +257,35 @@
 
 <div class='slide'>
   <!-- _S9SLIDE_ -->
-<h2 id="docker-limitations">Docker Limitations</h2>
+<h2 id="docker-limitation">Docker Limitation</h2>
+
+<p>Mutliple images present in repository due to form command.</p>
+
+<p>If repository breaks, Docker poses problem</p>
+
+<p>What can be done?</p>
+
+<p>We can keep track of images of Docker</p>
+
+
+
+</div>
 
-<p>Docker environment poses some problems, some of which are difficult to comprehend.</p>
+<div class='slide'>
+  <!-- _S9SLIDE_ -->
+<h1 id="conclusion">Conclusion</h1>
+
+<ul>
+  <li>
+    <p>Docker environment poses some problems, some of which are difficult to comprehend</p>
+  </li>
+  <li>
+    <p>Storage is difficult too</p>
+  </li>
+  <li>
+    <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>
+  </li>
+</ul>
 
 </div>
 
--- a/slide.md	Fri Jun 21 15:28:51 2019 +0900
+++ b/slide.md	Sat Jun 22 12:32:52 2019 +0900
@@ -1,39 +1,127 @@
-title: Studying Operating System Using Docker  
+title: Studying Operating System Using Docker Platform  
 author: Shivani Dubey
-profile: Intern, University of the Ryukyus 
+profile: Madan Mohan Malaviiya, University of Technology
+
+## Why we study Operating System?
+
+- Every computer system has an operating system, which manages the resource of the computer.
+
+- IoT or IT Services can't work well without resource manageents.
+
+- To handle it, we have to understand the API of OS
+
+- To understand the API, it it better to see the implentations.
+
+- For an example, API for tuning priorities of the processess
+
+## Xv6 Operating System as an educational tool
+
+- A Unix-like operating system developed in MIT, based on V6 kernel.
+
+- xv6 is written in ANSI C ( not in C++ ).
+
+- xv6 is small and simple (9628 lines of codes)
+
+- It can run on Respberry Pi ( Small PC board )
+
+- Or on ARM emulator such as QEMU
 
-# Introduction
+## Xv6 development envrionment with QEMU
+
+- QEMU emulates ARM CPU with virtual memory 
+
+- Xv6 operating sytem itself is running on QEMU 
+
+- gdb debugger can be attached to the emulated program (both in user space and system space)
+
+- We can step and trace the internal of xv6 kernel
+
+      ... but it requires complex development envrionments setup
+      ... very time consuming
+
+## Our development envrionments 
+
+- 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 
+
+- Cross Compilers 
+
+- ARM libraries for C language
+
+- QEMU (ARM Emulator)
 
+## Introducing Docker
 
-- Docker
-- xv6
+- What is Docker? It is a container.
+
+- What is Container? An isolateed envriornment such as file system.
+
+- It has DockerFile, which describes how to setup the envrionment in the container
+
+- Docker can run on any computer using an emulator such as QEMU
+
+- Complex develement environment can be build using DockerFile and docker built command.
+
+# The DockerFile
+
+```
+FROM phitek/qemu-arm
+RUN apt-get update -y
+RUN apt-get remove gdb -y
+RUN apt-get install gcc-arm-none-eabi gdb-arm-none-eabi qemu-system-arm -y
+WORKDIR /code
+COPY ["src", "."]
+RUN make
+CMD /bin/bash
+```
+
+- FROM lines specifies the shared image in Docker repository.
+
+- apt-get install Linux cross compiling tools
 
-Why Docker?
+- then it create workig directory, and copy our sources to it, and execute make
+
+## Docker command
+
+- create docker imagae and environment, and built xv6 kernel
+
+  docker build --tag xv6-docker .
+
+- run xv6 kernel on QEMU in the container
+
+  docker run --rm --privileged -it xv6-docker ./run-debug.sh
+
+- run gdb to connect the xv6 kernel running in the QEMU
+
+  docker exec -it xv6-docker ./debug.sh
+
+## Features of Docker:
+
+- Easy and Faster Configuration
+
+- Increases productivity
+
+- Application Isolation
+
+- Provies Services
+
+- Security Management
 
 
-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.
+# Exercise : adding priorities to the xv6 scheduler 
 
-## Features of Docker 
+- Added getpriority() and setpriority() 
+
+- get_highest_priority() functions in proc.c file of xv6
 
-- Easy and Faster Configuration
-- Increases productivity
-- Application Isolation
-- Swarm
-- Routing Mesh
-- Services
-- Security Management
+- implement it in schelduler()
 
-What is xv6?
-
-
-xv6 is modern reimplementation of Sixth Edition Unix in ANSI C.
+- Added a test function testpriority() in usertests.c file of xv6 to implement our algorithm
 
-## Scheduling processes by their priorities
-
-
-
-We implemented the concept of scheduling processes by their priorities. 
+##  The function 
 
 ```c
 int get_highest_priority_proc(void)
@@ -59,9 +147,34 @@
 }
 ```
 
+- It assumes at least one process is RUNNABLE
 
-## Docker Limitations
+- It may allow no highest priority process.
+
+- The correctness of the function is *important*.
+
+## Docker Limitation
+
+- If repository breaks, Docker poses a problem (a cloud probelm)
+
+- Clound should be used conviniently but don't rely on it.
+
+- We can use a direct environment without Docker, since we have a Linux server.
+
+- Docker images can easily eats up our disk spaces.
 
-
+in ~/.zsh_history
 
-Docker environment poses some problems, some of which are difficult to comprehend.
\ No newline at end of file
+```c
+: 1561014922:0;docker system prune
+: 1561014973:0;docker container prune
+: 1561015350:0;docker image prune
+: 1561015362:0;docker volume prune
+```
+# Conclusion
+
+- Docker environment poses some problems, some of which are difficult to comprehend 
+
+- Storage is difficult too
+
+- Yet, it gives a good insight of the underlying important concepts of operating system beacuse it is well documented, fast and uses less resources
--- a/slide.md~	Fri Jun 21 15:28:51 2019 +0900
+++ b/slide.md~	Sat Jun 22 12:32:52 2019 +0900
@@ -1,47 +1,134 @@
-title: Studying Operating System Using Docker  
+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
 
-Why Docker?
+What is 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 
+- 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.
 
-- Easy and Faster Configuration
-- Increases productivity
-- Application Isolation
-- Swarm
-- Routing Mesh
-- Services
-- Security Management
 
 What is xv6?
 
 
-xv6 is modern reimplementation of Sixth Edition Unix in ANSI C.
+- 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:
+
 
-## Scheduling processes by their priorities
+- 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
+
 
 
 
-We implemented the concept of 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
-hjhjgbfhv
+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 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. 
 
-Docker environment poses some problems, some of which are difficult to comprehend.
\ No newline at end of file
+
+# 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.
\ No newline at end of file
--- a/slide.pdf.html	Fri Jun 21 15:28:51 2019 +0900
+++ b/slide.pdf.html	Sat Jun 22 12:32:52 2019 +0900
@@ -7,7 +7,7 @@
 <html>
 <head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
-   <title>Studying Operating System Using Docker</title>
+   <title>Studying Operating System Using Docker Platform</title>
 
    <meta name="generator" content="Slide Show (S9) v4.1.0 on Ruby 2.3.7 (2018-03-28) [universal.x86_64-darwin16]">
    <meta name="author"    content="Shivani Dubey" >
@@ -55,7 +55,7 @@
       <tr>
         <td>
           <div align="center">
-              <h1><font color="#808db5">Studying Operating System Using Docker</font></h1>
+              <h1><font color="#808db5">Studying Operating System Using Docker Platform</font></h1>
           </div>
         </td>
       </tr>
@@ -75,17 +75,52 @@
 <div class='slide'>
   
 <!-- _S9SLIDE_ -->
+<h1 id="why-operating-system">Why Operating System?</h1>
+
+<ul>
+  <li>
+    <p>Backbone of computer system</p>
+  </li>
+  <li>
+    <p>Manages the computer’s memory and processes, as well as all of its software and hardware.</p>
+  </li>
+</ul>
+
+
+
+</div>
+
+<div class='slide'>
+  <!-- _S9SLIDE_ -->
 <h1 id="introduction">Introduction</h1>
 
 <ul>
-  <li>Docker</li>
-  <li>xv6</li>
+  <li>
+    <p>Docker</p>
+  </li>
+  <li>
+    <p>xv6</p>
+  </li>
 </ul>
 
-<p>Why Docker?</p>
+<p>What is Docker?</p>
+
+<ul>
+  <li>The modern platform for high velocity innovation</li>
+  <li>Docker has products that use operating system level virtualization to develop and deliver software in packages called containers</li>
+  <li>Docker can run on any computer, on any infrastructure and in any cloud</li>
+</ul>
 
-<p>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.</p>
+<p>What is xv6?</p>
+
+<ul>
+  <li>
+    <p>A Unix-like operating system developed in MIT.</p>
+  </li>
+  <li>
+    <p>xv6 is modern reimplementation of Sixth Edition Unix in ANSI C.</p>
+  </li>
+</ul>
 
 
 
@@ -93,31 +128,89 @@
 
 <div class='slide'>
   <!-- _S9SLIDE_ -->
-<h2 id="features-of-docker">Features of Docker</h2>
+<h1 id="what-helped-us">What helped us</h1>
 
 <ul>
-  <li>Easy and Faster Configuration</li>
-  <li>Increases productivity</li>
-  <li>Application Isolation</li>
-  <li>Swarm</li>
-  <li>Routing Mesh</li>
-  <li>Services</li>
-  <li>Security Management</li>
+  <li>
+    <p>emacs editor (amidst the editor war between vi and emacs!)</p>
+  </li>
+  <li>
+    <p>homebrew (it simplifies installation of software in macOS)</p>
+  </li>
+  <li>
+    <p>Mercurial repository of the lab where we saved everything using ssh</p>
+  </li>
 </ul>
 
-<p>What is xv6?</p>
-
-<p>xv6 is modern reimplementation of Sixth Edition Unix in ANSI C.</p>
-
 
 
 </div>
 
 <div class='slide'>
   <!-- _S9SLIDE_ -->
-<h2 id="scheduling-processes-by-their-priorities">Scheduling processes by their priorities</h2>
+<h2 id="why-docker">Why Docker?</h2>
+
+<p>Features of Docker:</p>
+
+<ul>
+  <li>
+    <p>Easy and Faster Configuration</p>
+  </li>
+  <li>
+    <p>Increases productivity</p>
+  </li>
+  <li>
+    <p>Application Isolation</p>
+  </li>
+  <li>
+    <p>Services</p>
+  </li>
+  <li>
+    <p>Security Management</p>
+  </li>
+</ul>
+
+
+
+</div>
+
+<div class='slide'>
+  <!-- _S9SLIDE_ -->
+<h2 id="why-xv6">Why xv6?</h2>
 
-<p>We implemented the concept of scheduling processes by their priorities.</p>
+<ul>
+  <li>
+    <p>It gives a good insight into Command Line Interface of Unix OS</p>
+  </li>
+  <li>
+    <p>xv6 is modern reimplementation of Sixth Edition Unix in ANSI C</p>
+  </li>
+</ul>
+
+
+
+</div>
+
+<div class='slide'>
+  <!-- _S9SLIDE_ -->
+<h1 id="scheduling-processes-by-their-priorities">Scheduling processes by their priorities</h1>
+
+<ul>
+  <li>
+    <p>Added getpriority() and setpriority() and get_highest_priority() functions in proc.c file of xv6</p>
+  </li>
+  <li>
+    <p>Added a test function testpriority() in usertests.c file of xv6 to implement our algorithm</p>
+  </li>
+</ul>
+
+
+
+</div>
+
+<div class='slide'>
+  <!-- _S9SLIDE_ -->
+<h2 id="the-function">The function</h2>
 
 <pre><code class="language-c">int get_highest_priority_proc(void)
 {
@@ -148,9 +241,35 @@
 
 <div class='slide'>
   <!-- _S9SLIDE_ -->
-<h2 id="docker-limitations">Docker Limitations</h2>
+<h2 id="docker-limitation">Docker Limitation</h2>
+
+<p>Mutliple images present in repository due to form command.</p>
+
+<p>If repository breaks, Docker poses problem</p>
+
+<p>What can be done?</p>
+
+<p>We can keep track of images of Docker</p>
+
+
+
+</div>
 
-<p>Docker environment poses some problems, some of which are difficult to comprehend.</p>
+<div class='slide'>
+  <!-- _S9SLIDE_ -->
+<h1 id="conclusion">Conclusion</h1>
+
+<ul>
+  <li>
+    <p>Docker environment poses some problems, some of which are difficult to comprehend</p>
+  </li>
+  <li>
+    <p>Storage is difficult too</p>
+  </li>
+  <li>
+    <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>
+  </li>
+</ul>
 
 </div>