Page 1 of 1

Project idea wanted for undergraduate comp engg students

Posted: Wed Jun 24, 2009 3:40 am
by shweta
Hi.
Four undergraduate computer engineering students are looking for project ideas in OS development. Something new, experimental and easily implementable in Linux programming environment. If you have even topics which we can research on we would be most grateful.
Thanks

Re: Project idea wanted for undergraduate comp engg students

Posted: Wed Jun 24, 2009 9:16 am
by earlz
There are a ton of topics out there.

Let's see.. a quick list from the top of my head(note, some of these have been implemented, or at least attempted)

Everything is metadata in an OS.
Using self-writing code for just about everything(AKA Synthesis kernel)
Treating the filesystem as a database
Using any other language but C, ASM, or C++ for a kernel is relatively new and experimental(not exactly recommending it though)
A Virtual machine monitor(this has been done a few times though)
Executing SMM code in your OS
Memory mapping to the extreme(probably 64 bit only)
Everything is in the filesystem(AKA Plan 9)

the possibilities are endless. It just depends how much work you want to put out..

Re: Project idea wanted for undergraduate comp engg students

Posted: Wed Jun 24, 2009 9:22 am
by JamesM
Hi,

As an CS/SwEng undergraduate studying OS development in my spare time, I feel I'm qualified to give you a few pointers.

There appears to be conflicting aims in your question:
...looking for project ideas in OS development
and easily implementable
Nothing in this field is easy, least of all "new, experimental" things. The field of OS development is probably one of the hardest you will ever come across.

There are some things that match your "new, experimental" requirement - managed operating systems like Singularity and Cosmos seem to have a lot of good, new ideas behind them. If you have a mathematical background, you could look into real-time operating systems - there are algorithms for schedulability, complexity and meeting deadlines that are being actively developed; again though you could probably not find a more difficult sector.

Remember though, if you're only doing a Bachelor's degree, you don't need anything that's new. You don't need to push the boundaries of global knowledge, like you do with a Masters or PhD. All you have to do is show competence in project planning, management and evaluation.

If you're doing a Masters, well, I would still advise you to stay away. There's not much you can do in a one year course unless you already know a hell of a lot about the area, and by the mere fact that you're asking this question I can infer that you don't.

There aren't many research topics in general purpose OSes at the moment, which is why my Masters is actually going to be on compilers and parallelism. Loads of new ideas there, perhaps you could check that out instead?

Failing that, if you could get back to us with some thoughts about your prior experience that would help. Quite honestly, most undergrads would not be up to research in this sector.

Cheers,

James

Re: Project idea wanted for undergraduate comp engg students

Posted: Wed Jun 24, 2009 11:46 am
by piranha
What about AI in the kernel? What I like most would be a scheduler that adjusts itself to suit the needs of the system that it is running on. It has say (arbitrary number) 10 values that make it run differently, and each time the computer runs, it perfects itself for speed.

What I would like to see is a kernel (micro or mono) that takes full advantage of all CPU stuff (sysenter, APIC, SMP). And everything is build from the ground up. This is not going to be easy, as there are many specs to read for this.

-JL

Re: Project idea wanted for undergraduate comp engg students

Posted: Thu Jun 25, 2009 8:24 am
by Love4Boobies
piranha wrote:What about AI in the kernel? What I like most would be a scheduler that adjusts itself to suit the needs of the system that it is running on. It has say (arbitrary number) 10 values that make it run differently, and each time the computer runs, it perfects itself for speed.
Basically this is what schedulers try to do anyway so if a good algorithm is found, your dynamically choosing policy method fails. On the other hand, there might not be a perfect algorithm and changing the policy for a certain workload might also be a solution. But there are many types of workloads and many policies to be implemented so it can be tedious, error prone and of course, incomplete. A genetic algorithm for a scheduler might be nice and closer to the solution, though.

Re: Project idea wanted for undergraduate comp engg students

Posted: Thu Jun 25, 2009 11:26 am
by salil_bhagurkar
I think something that can be simpler at its earlier stages, but can be expanded as much as you want, is a file system. You could design a file system for storage devices that attempts to solve the problems that file systems face. These could include fragmentations, data transfer bottlenecks, reliability etc.

You could start off with a simple implementation that has no fragmentation support, and then go on adding features depending on how much time you get. Features could extend to fragmentation, hard links, permissions, and even journalling.

Re: Project idea wanted for undergraduate comp engg students

Posted: Thu Jun 25, 2009 7:59 pm
by JamesM
salil_bhagurkar wrote:I think something that can be simpler at its earlier stages, but can be expanded as much as you want, is a file system. You could design a file system for storage devices that attempts to solve the problems that file systems face. These could include fragmentations, data transfer bottlenecks, reliability etc.

You could start off with a simple implementation that has no fragmentation support, and then go on adding features depending on how much time you get. Features could extend to fragmentation, hard links, permissions, and even journalling.
While that is a good idea for a project, it really is a fruitless exercise - Creating a good filesystem is an extremely difficult task; creating a better filesystem is really not likely unless you totally know your stuff beforehand.

Re: Project idea wanted for undergraduate comp engg students

Posted: Thu Jun 25, 2009 10:05 pm
by salil_bhagurkar
JamesM wrote: Remember though, if you're only doing a Bachelor's degree, you don't need anything that's new. You don't need to push the boundaries of global knowledge, like you do with a Masters or PhD. All you have to do is show competence in project planning, management and evaluation.
Considering that, IMHO, you could also think of making an implementation of an existing file system. Few of my friends for example, added minimal ext4 read support to the new GRUB (bootloader).

Re: Project idea wanted for undergraduate comp engg students

Posted: Fri Jun 26, 2009 1:23 am
by shweta
Thank-you everybody.
As for my background-yes this is an undergraduate project and not a masters project. It is a final year project for a 4-year bachelor in computer engineering degree course. We are 4 people who will be working on the project for approximately 6 months. We have studied OS basics thereotically and have basic working knowledge of UNIX.
Yes we would be happy to implement something that already exists. By easily implementable i meant at the undergraduate level. I dont think we have either the knowledge or the time to do anything path breaking :)
The focus is more on learning during the entire project implementation process.

Re: Project idea wanted for undergraduate comp engg students

Posted: Fri Jun 26, 2009 11:26 am
by earlz
I would go for a UNIX clone then.. there is a defined interface, so you won't really make any breaking news there, but there is plenty of different ways to implement a unix clone..

Re: Project idea wanted for undergraduate comp engg students

Posted: Fri Jun 26, 2009 2:55 pm
by imate900
shweta wrote:Hi.
Four undergraduate computer engineering students are looking for project ideas in OS development. Something new, experimental and easily implementable in Linux programming environment. If you have even topics which we can research on we would be most grateful.
Thanks
---REMOVED---

Re: Project idea wanted for undergraduate comp engg students

Posted: Fri Jun 26, 2009 4:36 pm
by Combuster
That's both not an answer, and factually wrong. A linux environment does not imply the presence of any compilers.

Re: Project idea wanted for undergraduate comp engg students

Posted: Sat Jun 27, 2009 11:39 am
by xyjamepa
Hi,

I'm making a real mode os fully with asm
as a fourth year project for my five years informatic engineering
it's fun and I learnt alot.

Good luck

Re: Project idea wanted for undergraduate comp engg students

Posted: Mon Jun 29, 2009 2:57 am
by devel
Hi,
take a look at my project nucleos. The goal of this project to create GNU compliant micro-kernel called nucleos. The
base of code was adopted from recent minix3 however it focuses only to kernel-server-driver stuff. At present I am
working on ELF support and then planning to port glibc.
Regards,
devel