OS as graduation project !

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
kabure
Posts: 12
Joined: Tue Jul 20, 2010 9:43 pm

Re: OS as graduation project !

Post by kabure »

mahmoudaladawi wrote:
kabure wrote:I might suggest doing an implementation of seL4?
But there is no resource there just lines about the project ,am i wrong ?
Sorry, I forgot that the spec is sort of hard to find. Here's the link: http://ertos.nicta.com.au/research/sel4/api.pml
jal
Member
Member
Posts: 1385
Joined: Wed Oct 31, 2007 9:09 am

Re: OS as graduation project !

Post by jal »

mahmoudaladawi wrote:If there are no new ideas ,so tell Google,IBM,Microsoft,intel.. to close as the are no work for them to do! One can make revolutionary change ,innovation exists with man.

-About research ,of course we will apply our own ideas which we see that are better than those already exist .. or we are just implementers and repeat the other work.
First of all, the space goes after the comma. That said, you are comparing yourself, a team of 15 inexperienced graduate students, with companies like Google, IBM, Microsoft and Intel, and then claim that you are going to create an OS that is better than those already existing, by making revolutionary changes (to what?) in the process. Am I the only one smelling a delusional disorder here? A little humility would serve you well.


JAL
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re: OS as graduation project !

Post by Brendan »

Hi,
mahmoudaladawi wrote:-If there are no new ideas ,so tell Google,IBM,Microsoft,intel.. to close as the are no work for them to do !
One can make revolutionary change ,innovation exists with man.
For Google, most of the theory that search engines are based relies on research done back in the 1960s. To distribute load they're using layers of client/server (e.g. multiple "front end" servers that talk to many more "middle end" servers that talk to many more "back end" servers); where most of the research for client/server was done in the late 1950's. The only other thing Google does is use advertising for income (but that business model has existed since early newspapers - probably 17th century). Basically, Google combined existing ideas (search) with existing ideas (client/server distributed computing) with existing ideas (advertising); and applied it to the internet (which is based on ARPNET, 1960's) and HTML (which is based on Doug Engelbart's work in the 1960s).

I'm not too sure what you think IBM or Intel have done recently that wasn't based on old research. It can't be SMP (that dates back to the Burroughs B5500 in 1961), and therefore it can't be multi-core (that's just natural evolution of SMP). Maybe it's hardware assisted virtualisation (which goes back to IBM System/370 in 1970). Maybe you're thinking of SIMD (that research might only be 35 years old)?

Then there's Microsoft(!). Most OS theory that it uses (virtual memory, muti-tasking, multi-user, etc) dates back to mainframes in the 1960s and 1970s. The GUI has evolved since work done by Xerox in the early 1970s (and evolution of an old idea isn't the same as a new idea).

Of course if you actually do think of something that is actually new (and useful), then you should probably patent it and forget about university... ;)


Cheers,

Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
User avatar
Owen
Member
Member
Posts: 1700
Joined: Fri Jun 13, 2008 3:21 pm
Location: Cambridge, United Kingdom
Contact:

Re: OS as graduation project !

Post by Owen »

Brendan wrote:Of course if you actually do think of something that is actually new (and useful), then you should probably patent it and forget about university... ;)


Cheers,

Brendan
Software is (thankfully!) a non-patentable thing in most countries ;)
User avatar
mahmoudaladawi
Posts: 13
Joined: Wed Jul 21, 2010 8:31 pm
Location: Egypt.
Contact:

Re: OS as graduation project !

Post by mahmoudaladawi »

jal wrote:First of all, the space goes after the comma
-Thanks.
jal wrote:you are comparing yourself, a team of 15 inexperienced graduate students, with companies like Google, IBM, Microsoft and Intel, and then claim that you are going to create an OS that is better than those already existing, by making revolutionary changes (to what?) in the process
-I didn't say that I'm comparing us with those companies.But you should remember how should they started.Any way it's point of view ,for me I can't live without innovation.If all think like you so by some years man will really need to be replaced by machines :0.I'm not an engineer I'm a perfect engineer ,it's just self confidence and doesn't need humility.Again ..points of view !
Brendan wrote:For Google...
Go ask someone works at Google !

Thanks
Mahmoud Eladawi
jal
Member
Member
Posts: 1385
Joined: Wed Oct 31, 2007 9:09 am

Re: OS as graduation project !

Post by jal »

mahmoudaladawi wrote:
jal wrote:First of all, the space goes after the comma
-Thanks.
You shouldn't thank someone for his advice when not bothering to follow it up.
I'm not an engineer I'm a perfect engineer ,it's just self confidence and doesn't need humility.Again ..points of view !
No, that has nothing to do with point of view, but everything with your total lack of realism. Fortunately for me, and unfortunately for you, you will find that out yourself, when horribly failing everything you are trying to achieve.


JAL
js
Member
Member
Posts: 38
Joined: Thu Feb 26, 2009 1:45 am

Re: OS as graduation project !

Post by js »

berkus wrote:I believe a team of 15 inexperienced in OS design folks with no clear idea is just a FAIL and they gonna learn it the hard way. No offense, such is life.
Exactly, and I learned the hard way myself... So here's the kind of think that's likely to happen, mahmoudaladawi :

1) The 2 or 3 talented people in the group will start doing a lot of work, while the others will write nearly nothing. About one or two months before the deadline, you'll discover that half of them simply didn't have the knowlege and capabilities, and didn't understand anything about the project, so you'll have wasted an enormous amount of time trying to explain them what their part of the job was. The other half won't care about the project at all, focus on the other courses, and you'll have wasted your time on them too. (That's what happened to my team of 10 people).

2) Eventually, you'll hit a really difficult problem, and you'll spend a month or two trying to solve it, because OSDev is a very specific topic, and you won't know *where* to search. (For me it was "how the heck do I get into 1024x768 VESA mode - took two weeks to discover you couldn't do it in PM and another two weeks to understand that a 8086 VM was way too complicated and that I needed to rely on grub to do the job). OSDev is full of difficult problems, and if you hit one early enough in you project, you won't be able to get around it and you'll stay blocked for a long time.

3) Since you don't know where you're going, your project will lack proper design. As long as you follow some kind of tutorial, it should be ok, but as soon as you'll want to add some piece of functionnality that wasn't planned in the tutorial, you'll have to refactor / rewrite large portions of code -- and you'll loose a lot of time.

So the solutions to above problems I'd suggest to you are :

1) Make sure everybody's working, attending to all meetings, and regularly report their advancement, otherwise kick them out of the project as fast as you can -- you'll be better with 2 people working on their own, than with 15 people with only two of them actually working.

2 and 3) Spend the first month doing those two things :
- Read the whole OSDev wiki (wiki.osdev.org). I did it, and it shouldn't take more than a week.
- Implement a "quick and dirty" OS with a VGA text mode console, a keyboard driver, basic memory management (malloc, free), a sheduler and very basic Inter-Process Communication if you intend to write a microkernel later on. Follow some kind of tutorial to do this, so it won't take too much time. This should help you see what OSDev is about, where are the difficulties and what you need to design for your "real" OS. Ideally, all 15 members should do this task, so they all get a good grab with OS development. This should also help you kicking out people if needed : those who haven't implemented at least half of the "quick" OS after a month won't help you with the real one.

And no, spending a month discovering the topic you're about to spend a year on isn't loosing your time. It'll help you a lot.

(Note : By "kicking out of the team", I don't mean actually showing them the way out, I mean : ask them if they *really* want to do some work, and if they do, ask them to write the report, documentation, or some small optionnal parts of your OS (e.g. an extra driver). But DON'T RELY ON THEM.)
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: OS as graduation project !

Post by Combuster »

js wrote:bla bla bla
In other words: project management 101. From experience that's always what makes or breaks all group efforts in the end.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
js
Member
Member
Posts: 38
Joined: Thu Feb 26, 2009 1:45 am

Re: OS as graduation project !

Post by js »

Combuster wrote:In other words: project management 101.
Sadly, at my university, they don't give a "project management 101" course.. Just a "Programming Project -- learn it the hard way". Mentors aren't helping the students at all (I think we had two meetings with our mentor in 6 months...), and we don't have any training in project management, weher it be on the social side or on the technical side (versionning, bug tracking, ...).

Since I haven't heard of decent project management courses given to anybody I know, I tend to assume it's the same in other universities -- I do hope I'm wrong though :) .
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: OS as graduation project !

Post by Combuster »

Yes, I did follow a project management course - I was even invited to assist in a later year. Yes we do have weekly meetings with our teachers.

But most importantly: Even at the undergraduate level, we had half a dozen group projects already, in part to make errors and learn from them. These are graduate students. And especially considering their education level, and with a pageful of warnings to boot, I'd have to assume they are skilled enough to research into it if they lack such experience.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
Candy
Member
Member
Posts: 3882
Joined: Tue Oct 17, 2006 11:33 pm
Location: Eindhoven

Re: OS as graduation project !

Post by Candy »

js wrote:Sadly, at my university, they don't give a "project management 101" course.. Just a "Programming Project -- learn it the hard way". Mentors aren't helping the students at all (I think we had two meetings with our mentor in 6 months...), and we don't have any training in project management, weher it be on the social side or on the technical side (versionning, bug tracking, ...).
There's this quote, "Those who can, do. Those who can't, teach.". Now that I've done some work, I disagree with it. Those who can, do. Those who can't fill in the holes. Since there are so many holes left by some people in IT, there can be many morons anywhere.
User avatar
mahmoudaladawi
Posts: 13
Joined: Wed Jul 21, 2010 8:31 pm
Location: Egypt.
Contact:

Re: OS as graduation project !

Post by mahmoudaladawi »

js wrote:1) Make sure everybody's working, attending to all meetings, and regularly report their advancement, otherwise kick them out of the project as fast as you can -- you'll be better with 2 people working on their own, than with 15 people with only two of them actually working.

2 and 3) Spend the first month doing those two things :
- Read the whole OSDev wiki (wiki.osdev.org). I did it, and it shouldn't take more than a week.
That's really what I have already done.
Thanks so much.


Thank you all, I really appreciate your opinions and advices.
Mahmoud Eladawi
User avatar
Owen
Member
Member
Posts: 1700
Joined: Fri Jun 13, 2008 3:21 pm
Location: Cambridge, United Kingdom
Contact:

Re: OS as graduation project !

Post by Owen »

Candy wrote:
js wrote:Sadly, at my university, they don't give a "project management 101" course.. Just a "Programming Project -- learn it the hard way". Mentors aren't helping the students at all (I think we had two meetings with our mentor in 6 months...), and we don't have any training in project management, weher it be on the social side or on the technical side (versionning, bug tracking, ...).
There's this quote, "Those who can, do. Those who can't, teach.". Now that I've done some work, I disagree with it. Those who can, do. Those who can't fill in the holes. Since there are so many holes left by some people in IT, there can be many morons anywhere.
I think the best way of explaining thing is this: You cannot meaninigfully compare the skills of those more skilled than you.

From this come some interesting outcomes:
  • Schools and colleges will be very good at the faculties that the head teacher specialises in (assuming he/she is competent). The ability of hired teachers to teach will be correlated to the head teacher's ability to do so.
  • The mean skills of a business' employees will not rise above those of the founder
  • As a consqeuence of the above, the average employee ability will decline over time as more and more people get between the founder and hiring
  • Businesses founded by technical people will be good at technical things and poor at business
  • Businesses founded by business people will be good at business and poor at technical things
Quite simply, hiring someone more skilled than yourself is down to pure luck.
Post Reply