Hello folks,
This's is my first parcipation on the list and it's of course, a question.
I'm currently working on my final thesis of my carreer. The subject I've selected is comparing two operating system's arquitectures: monolitic kernel and microkernels.
The idea is comparing both performances. For this I thougt of doing tests on:
+ Process Scheduler
+ Memory Managment
+ Inter Process Communication
Do you think it's accurate doing this tests? How can i do them?
I'll wait for your comments and suggestions.
thank
performance tests
Re: performance tests
IMO you can't compare performance of a design. You can only compare(measure) performance of a product.
As noted on the wiki, a well-designed microkernel may beat a poorly designed monolithic kernel.
And in reality many kernel used hybrid model to take advantage on both side.
So, to narrow down the topic a bit, you may implement part of the components and measure their performance,
for example, measure timing for messaging, or round-trip time for a syscalls for some specific action which (directly handled in monolithic or routed to daemon process on micro)
And beside raw performance, things like stability and scalability are also interesting between these design models.
As noted on the wiki, a well-designed microkernel may beat a poorly designed monolithic kernel.
And in reality many kernel used hybrid model to take advantage on both side.
So, to narrow down the topic a bit, you may implement part of the components and measure their performance,
for example, measure timing for messaging, or round-trip time for a syscalls for some specific action which (directly handled in monolithic or routed to daemon process on micro)
And beside raw performance, things like stability and scalability are also interesting between these design models.
Re: performance tests
bluemoon thank you for your answer.
I though on doing performance tests in Minix and Linux, do you think this is a good choice?
do you think this a logic step to compare these two types of design models?
Sorry, but I'm a little bit confused and I like to keep the subjet of my thesis.
Thank you very much
I though on doing performance tests in Minix and Linux, do you think this is a good choice?
do you think this a logic step to compare these two types of design models?
Sorry, but I'm a little bit confused and I like to keep the subjet of my thesis.
Thank you very much
Re: performance tests
Minix and Linux are of different project scale and I guess Linux spent more time on optimizations.
So, doing performance test to compare these OSes do not draw definitive conclusion regarding monolithic verse micro.
However, the comparison should sound interesting, and provide useful insight on an rough idea on performance difference on 2 design models.
To improve the accuracy, so to speak, you should choose a lightweight linux disto and minix with barely no background application,
design some tasks for benchmark, from simple task like signaling between process (how many ping-pong between two process within a second?) to complex task (unzip a file? does it make any observable difference for user? )
It would also be wise to test on multiple machines, single core and multiple core may give inverse result on who is faster.
So, doing performance test to compare these OSes do not draw definitive conclusion regarding monolithic verse micro.
However, the comparison should sound interesting, and provide useful insight on an rough idea on performance difference on 2 design models.
To improve the accuracy, so to speak, you should choose a lightweight linux disto and minix with barely no background application,
design some tasks for benchmark, from simple task like signaling between process (how many ping-pong between two process within a second?) to complex task (unzip a file? does it make any observable difference for user? )
It would also be wise to test on multiple machines, single core and multiple core may give inverse result on who is faster.
Re: performance tests
bluemoon, thanks for your help and your suggestion.
I'll try to work on what you told me and if I have any progress I'll let you know.
thank you very much
I'll try to work on what you told me and if I have any progress I'll let you know.
thank you very much