README TOC updates

This commit is contained in:
Gaetan Longree 2018-05-16 08:39:58 +02:00
parent 55120ca8e0
commit e7b612825d

104
README.md
View File

@ -2,56 +2,56 @@
## Table of Contents
* [Introduction]()
* [Theoretical Concepts]()
* [Unikernel]()
* [Microkernel]()
* [Monolithic vs Microkernel]()
* [Library Operating Systems]()
* [Unikernel]()
* [Hypervisors VS Linux Containers VS Unikernel]()
* [Security in Unikernel]()
* [Immutable Infrastructures]()
* [State of the Art]()
* [Existing Projects]()
* [MiniOS]()
* [ClickOS]()
* [HalVM]()
* [IncludeOS]()
* [MirageOS]()
* [OSv]()
* [Rumprun]()
* [Unik]()
* [Clive]()
* [Drawbridge]()
* [GUK]()
* [LING]()
* [Runtime.js]()
* [Comparing Solutions]()
* [Use Case]()
* [Proof of Concept]()
* [Choice of Unikernel Solution]()
* [Architecture of the Proof of Concept]()
* [Creating the Unikernel Proof of Concept]()
* [IncludeOS build files in more details]()
* [Creating the Container Counterpart]()
* [Early Comparison]()
* [Resource Minimization]()
* [Benchmark & Results]()
* [Benchmark Environment]()
* [Benchmarking Methodology]()
* [Benchmarking tools used]()
* [Benchmark Results]()
* [DNS Server]()
* [Web Server]()
* [Boot Time]()
* [Benchmark Analysis]()
* [Project's Reproducibility]()
* [Deployment Scripts]()
* [Benchmarking Scripts]()
* [Improvements]()
* [Conclusion]()
* [Bibliography]()
* [Introduction](https://github.com/cetic/unikernels#introduction)
* [Theoretical Concepts](https://github.com/cetic/unikernels#theoretical-concepts)
* [Unikernel](https://github.com/cetic/unikernels#unikernel)
* [Microkernel](https://github.com/cetic/unikernels#microkernel)
* [Monolithic vs Microkernel](https://github.com/cetic/unikernels#monolithic-vs-microkernel)
* [Library Operating Systems](https://github.com/cetic/unikernels#library-operating-systems)
* [Unikernel](https://github.com/cetic/unikernels#unikernel-1)
* [Hypervisors VS Linux Containers VS Unikernel](https://github.com/cetic/unikernels#hypervisors-vs-linux-containers-vs-unikernel)
* [Security in Unikernel](https://github.com/cetic/unikernels#security-in-unikernel)
* [Immutable Infrastructures](https://github.com/cetic/unikernels#immutable-infrastructures)
* [State of the Art](https://github.com/cetic/unikernels#state-of-the-art)
* [Existing Projects](https://github.com/cetic/unikernels#existing-projects)
* [MiniOS](https://github.com/cetic/unikernels#minios)
* [ClickOS](https://github.com/cetic/unikernels#clickos)
* [HalVM](https://github.com/cetic/unikernels#halvm)
* [IncludeOS](https://github.com/cetic/unikernels#includeos)
* [MirageOS](https://github.com/cetic/unikernels#mirageos)
* [OSv](https://github.com/cetic/unikernels#osv)
* [Rumprun](https://github.com/cetic/unikernels#rumprun)
* [Unik](https://github.com/cetic/unikernels#unik)
* [Clive](https://github.com/cetic/unikernels#clive)
* [Drawbridge](https://github.com/cetic/unikernels#drawbridge)
* [GUK](https://github.com/cetic/unikernels#guk)
* [LING](https://github.com/cetic/unikernels#ling)
* [Runtime.js](https://github.com/cetic/unikernels#runtimejs)
* [Comparing Solutions](https://github.com/cetic/unikernels#comparing-solutions)
* [Use Case](https://github.com/cetic/unikernels#use-case)
* [Proof of Concept](https://github.com/cetic/unikernels#proof-of-concept)
* [Choice of Unikernel Solution](https://github.com/cetic/unikernels#choice-of-unikernel-solution)
* [Architecture of the Proof of Concept](https://github.com/cetic/unikernels#architecture-of-the-proof-of-concept)
* [Creating the Unikernel Proof of Concept](https://github.com/cetic/unikernels#creating-the-unikernel-proof-of-concept)
* [IncludeOS build files in more details](https://github.com/cetic/unikernels#includeos-build-files-in-more-details)
* [Creating the Container Counterpart](https://github.com/cetic/unikernels#creating-the-container-counterpart)
* [Early Comparison](https://github.com/cetic/unikernels#early-comparison)
* [Resource Minimization](https://github.com/cetic/unikernels#resource-minimization)
* [Benchmark & Results](https://github.com/cetic/unikernels#benchmarking--results)
* [Benchmark Environment](https://github.com/cetic/unikernels#benchmark-environment)
* [Benchmarking Methodology](https://github.com/cetic/unikernels#benchmarking-methodology)
* [Benchmarking tools used](https://github.com/cetic/unikernels#benchmarking-tools-used)
* [Benchmark Results](https://github.com/cetic/unikernels#benchmark-results)
* [DNS Server](https://github.com/cetic/unikernels#dns-server)
* [Web Server](https://github.com/cetic/unikernels#web-server)
* [Boot Time](https://github.com/cetic/unikernels#boot-time)
* [Benchmark Analysis](https://github.com/cetic/unikernels#benchmark-analysis)
* [Project's Reproducibility](https://github.com/cetic/unikernels#projects-reproducibility)
* [Deployment Scripts](https://github.com/cetic/unikernels#deployment-scripts)
* [Benchmarking Scripts](https://github.com/cetic/unikernels#benchmarking-scripts)
* [Improvements](https://github.com/cetic/unikernels#improvements)
* [Conclusion](https://github.com/cetic/unikernels#conclusion)
* [Bibliography](https://github.com/cetic/unikernels#bibliography)
## Introduction
@ -114,7 +114,7 @@ The application code in the user space relies on the operating system code in th
Unikernel applications, however, present a very different structure. As indicated by Figure 2, an application running in a unikernel does not present any division in its address space, which holds both the high-level application code and the lower level operating system routines.
![Application stack on a unikernel application](hhttps://raw.githubusercontent.com/cetic/unikernels/master/MEDIA/unikernel_application_stack.PNG "Application stack on a unikernel application. Source: (Pavlicek, 2017)")
![Application stack on a unikernel application](https://raw.githubusercontent.com/cetic/unikernels/master/MEDIA/unikernel_application_stack.PNG "Application stack on a unikernel application. Source: (Pavlicek, 2017)")
*Figure 2 Application stack on a unikernel application. Source: (Pavlicek, 2017)*
@ -274,7 +274,7 @@ Once both infrastructures have been developed and are stable, a benchmark will b
## Proof of Concept
As highlighted by the table in [Comparing Solutions](), numerous options are available depending on the programming language used for an application as well as the desired supporting platforms. Unfortunately, not all platforms are supported for all languages.
As highlighted by the table in [Comparing Solutions](https://github.com/cetic/unikernels#comparing-solutions), numerous options are available depending on the programming language used for an application as well as the desired supporting platforms. Unfortunately, not all platforms are supported for all languages.
### Choice of Unikernel Solution