homepage Welcome to WebmasterWorld Guest from 54.227.215.140
register, free tools, login, search, pro membership, help, library, announcements, recent posts, open posts,
Become a Pro Member
Home / Forums Index / Hardware and OS Related Technologies / Linux, Unix, and *nix like Operating Systems
Forum Library, Charter, Moderators: bakedjake

Linux, Unix, and *nix like Operating Systems Forum

    
General Operating Systems Inquiry
jnana

10+ Year Member



 
Msg#: 1067 posted 8:33 pm on May 6, 2004 (gmt 0)

Greetings board,

I'm currently conducting research into the history and difficulty of developing an operating system. I would love to hear your thoughts on the following questions:

1. Describe the components of an operating system, besides the central component, the kernel.
2. What do programmers usually develop first, the compiler or the kernel?
3. Does this sequence impact the OS at all?
4. What's more complicated, the kernel or the compiler?
5. Why does operating system development take as long as it does? What are the three
key things in all operating system development that take the longest to perfect?
6. Do you need operating systems familiarity to write a kernel? Yes / no? Elaborate please.
7. In your opinion, why aren't there more operating systems on the market?

Thanks for your time. Best,
Justin Orndorff

 

bakedjake

WebmasterWorld Administrator bakedjake us a WebmasterWorld Top Contributor of All Time 10+ Year Member



 
Msg#: 1067 posted 1:25 am on May 7, 2004 (gmt 0)

Hi Justin,

Welcome to WebmasterWorld! [webmasterworld.com]

As you might have noticed, we're primarily a webmaster based community, and our development/coding focus is generally geared towards applications interacting with the web. That said, we do have some offline developers among us. Perhaps one of them might chime in with some insight.

I must ask though - is this for a homework assignment? :)

ByronM

WebmasterWorld Senior Member 10+ Year Member



 
Msg#: 1067 posted 8:52 pm on May 7, 2004 (gmt 0)


1. Describe the components of an operating system, besides the central component, the kernel.

Kernel, Interpreter (shell), and supporting apps - such as ls/dir/ "userland" apps. Gui's will ride on top of this, however Windows is the only fully integrated gui/os besides MacOS 9 or less

2. What do programmers usually develop first, the compiler or the kernel?

Usually the compiler would exist. The only time this would be an issue is on a new platform/CPU. Since X86, Sparc and other platforms are readily available compilers usually exist - compiling is usually based on machine code targets - Not necessarily the OS but ofcourse you have to support the binary format of the os you are designing or compiling for.

3. Does this sequence impact the OS at all?

Not really

4. What's more complicated, the kernel or the compiler?

Depends on the architecture as well as the kernel type. Kernals don't really do much on the basic level and compilers would have more optimization to do. However it varies greatly on CPU/Platform again as some compilers are more advanced so the cpu doesn't have to be and vice versa.

5. Why does operating system development take as long as it does? What are the three
key things in all operating system development that take the longest to perfect?

Device Driver support. Other then that reverse engineering propriertary systems. But most of the time it is working to achieve device driver support and such.

6. Do you need operating systems familiarity to write a kernel? Yes / no? Elaborate please.

Yes. You would want to understand the architecture, your kernel type, queues, task switching, timings and everything e lse.

7. In your opinion, why aren't there more operating systems on the market?

There are actually quite a few. Here are some to name.

1. MacOS
2. Mac OS X
3. Linux variants (dozens)
4. Solaris
5. Solaris X86
6. Windows family OS's
7. IBM AIX
8. OS/2 - although "EOL'd"
9. IBM Object Desktop
10. Amiga OS - yes, still going strong
11. OSF
12. Ultrix
13. Xenix
14. SCO (cough)
15. Unixware (cough)
16. NEXTstep (dying)
17. hundreds of open source/private OS's

The reason many don't flourish is it would be costly to support, maintain and develop the infrastructure and app base for more then a few core os's. Its like cars and roads, if they're not compatible you wouldn't be able to easily support them and it takes alot of infrastructure and support to keep them in place and running efficiently.

Duckula

10+ Year Member



 
Msg#: 1067 posted 9:11 am on May 8, 2004 (gmt 0)

2. What do programmers usually develop first, the compiler or the kernel?

It depends on how crazy you are :)

Usually the compiler is already developed, one just takes gcc and nasm/as and builds lots and lots of useless kernels with them just for fun :)

But if you're really really crazy then you may try building a kernel directly on machine code. Not pretty, but very very fun. If you're quite mad.

4. What's more complicated, the kernel or the compiler?

Don't cheat. Build both on your own, or you're missing all the fun, then see which was harder. You don't have to recreate gcc or Linux, toy models are accesible to everybody in both kernels and compilers. Try making your compiler for a toy language to make the BNFs less threatening than C's.

5. Why does operating system development take as long as it does?

It doesn't. For a dummy manage-memory-catch-signals toy. The real world tasks are more demanding. The real function of an OS is to encapsulate work the programmer shouldn't be doing again and again. If you limit to, let's say, something like MS/DOS (which did almost nothing, leaving all the work to the programmer) then you may get your OS out really soon. Extra features are both what makes an OS successful (because the programmer works less and can get more done) and what eats development time. When you're out on the market race there's a delicate balance between time/features; that's an advantage non commercial OSes have.

7. In your opinion, why aren't there more operating systems on the market?

There are hundreds of operating sistems in existence (ByronM's point 17), but aren't so well noticed because they are very specialized for an specific device, like for example to drive a cellphone's chip. Who did this question is probably not giving much credit to forces outside of the billboards. It's like the trick question: who's the biggest chip seller? The instinctive answer is to say Intel/AMD/whatever because they sell chips on TV, but a more correct answer would be for example Motorola because their chips are included on lots of little devices.

Global Options:
 top home search open messages active posts  
 

Home / Forums Index / Hardware and OS Related Technologies / Linux, Unix, and *nix like Operating Systems
rss feed

All trademarks and copyrights held by respective owners. Member comments are owned by the poster.
Home ¦ Free Tools ¦ Terms of Service ¦ Privacy Policy ¦ Report Problem ¦ About ¦ Library ¦ Newsletter
WebmasterWorld is a Developer Shed Community owned by Jim Boykin.
© Webmaster World 1996-2014 all rights reserved