Page 2 of 2

Re: OS as graduation project !

Posted: Thu Jul 22, 2010 5:45 pm
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

Re: OS as graduation project !

Posted: Fri Jul 23, 2010 4:01 am
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

Re: OS as graduation project !

Posted: Fri Jul 23, 2010 6:48 am
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

Re: OS as graduation project !

Posted: Fri Jul 23, 2010 6:54 am
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 ;)

Re: OS as graduation project !

Posted: Fri Jul 23, 2010 10:37 am
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

Re: OS as graduation project !

Posted: Sat Jul 24, 2010 2:26 pm
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

Re: OS as graduation project !

Posted: Sat Jul 24, 2010 4:58 pm
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.)

Re: OS as graduation project !

Posted: Sun Jul 25, 2010 3:24 am
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.

Re: OS as graduation project !

Posted: Sun Jul 25, 2010 10:00 am
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 :) .

Re: OS as graduation project !

Posted: Sun Jul 25, 2010 10:29 am
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.

Re: OS as graduation project !

Posted: Sun Jul 25, 2010 1:42 pm
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.

Re: OS as graduation project !

Posted: Mon Jul 26, 2010 4:55 am
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.

Re: OS as graduation project !

Posted: Mon Jul 26, 2010 6:31 am
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.