Mercurial > hg > Members > shivanidubey > Internship_presentation
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>