Studying Operating System Using Docker Platform |
Shivani Dubey
Intern, University of the Ryukyus
|
Backbone of computer system
Manages the computer’s memory and processes, as well as all of its software and hardware.
Docker
xv6
What is Docker?
What is xv6?
A Unix-like operating system developed in MIT.
xv6 is modern reimplementation of Sixth Edition Unix in ANSI C.
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
Features of Docker:
Easy and Faster Configuration
Increases productivity
Application Isolation
Services
Security Management
It gives a good insight into Command Line Interface of Unix OS
xv6 is modern reimplementation of Sixth Edition Unix in ANSI C
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
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;
}
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
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