![]() |
|
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
Programmer
Join Date: Oct 2005
Posts: 52
Rep Power: 4
![]() |
OS Design
Ok here is a complex question....what languages is it possible to write and operating system in. It doesn't matter whether or not it's a practical OS just a matter of if it's possible. I was posed the question in a class today and only C++ was determined to be a valid answer. Java didn't work because it comlies to slowly and you would need a way to get the JRE on the computer before but i couldn't find a reason that VB.NET wouldn't work. Thoughts anyone...?
|
|
|
|
|
|
#2 |
|
Hobbyist Programmer
|
Assembly...
__________________
Pain is just weakness leaving the body.
|
|
|
|
|
|
#3 |
|
Professional Programmer
Join Date: Jan 2006
Location: Ontario, Canada
Posts: 380
Rep Power: 3
![]() |
VB would not even come close to working; it is a very high level language and just won't work.
C/C++/Assembly are going to be the optimal choices.
__________________
I am Addicted to Linux! |
|
|
|
|
|
#4 |
|
Programming Guru
![]() ![]() |
C++, C or ASM.
thread moved to the lounge.
__________________
Profanity is the one language that all programmers understand. Check out my Blog <---updated Nov 30 2007! |
|
|
|
|
|
#5 |
|
Expert Programmer
Join Date: Aug 2005
Location: Rotterdam, the Netherlands
Posts: 942
Rep Power: 4
![]() |
C, C++, Assembly or Pascal. VB .Net is, just like Java, an interpretted language. Besides that, it depends heavily on the Windows API.
|
|
|
|
|
|
#6 |
|
Banned
![]() ![]() |
Polyphemus. Why Pascal? I thought that was a very high level language that can't do much stuff, primarily intended for teaching?
|
|
|
|
|
|
#7 |
|
King of Portal
|
I would venture to say that theoretically you could write an OS in any language. However it would be indirectly and would be a lengthier process. For instance, using any language whether interpreted, high-level, low-level, etc. you could produce a compiler which takes your new code and translates it into the machine code that you would need in order to make the OS. This of course would be the equivalent of creating an assembler. So as was stated before an assembler would be the most obvious choice. In regards to Java if you created a bootstrap loader to get the JVM onto the harddisk and a small shell to launch it then you could have a Java enabled OS. An example of a non C++ OS is MenuetOS which is written entirely in assembly code.
__________________
Lo, there do I see my father. 'Lo, there do I see My mother, and my sisters, and my brothers. 'Lo, there do I see The line of my people... Back to the beginning. 'Lo, they do call to me. They bid me take my place among them. In the halls of Valhalla... Where the brave... May live... ...forever.. GrimBB | Mimesis |
|
|
|
|
|
#8 |
|
Hobbyist Programmer
|
You can write an OS in many languages. Everything from machine code to say, OBERON, C# or even Java (look at jNode and Singularity.) It really depends on the language implentation if you're considering a language such as that (for example, Singularity is a system built on nothing more than a primitive runtime for C# and a garbage collector, both written in C#. The actual kernel is written in C# entirely and thus pretty much the entire OS.)
|
|
|
|
|
|
#9 |
|
Resident Grouch
![]() ![]() ![]() ![]() ![]() ![]() Join Date: Jun 2005
Posts: 6,453
Rep Power: 10
![]() |
If you write an OS that relies on someone else's code to reach the machine, then YOU didn't write an OS. You wrote a services layer. Personally, I used assembler in all of mine, but I needed maximal performance in a real-time environment. I'd be happy to use C in the outer layers.
__________________
Abstraction doesn't make it impossible to write bad code; it makes it possible to write superior code. Contributor's Corner: Grumpy on C++ Exceptions DaWei on Pointers |
|
|
|
|
|
#10 |
|
Unverified User
Join Date: Aug 2005
Location: none
Posts: 146
Rep Power: 0
![]() |
1. Since when are OSs written in one language?
2. I know Linux is written in C with some Assembler. Most of the lower level GNU tools (probably a better term for that, I'm refering to stuff like the shell, cat, grep) that work with it are in C.
__________________
Warning: My posts may change (dramatically) within the first 15 minutes they're posted. Got 'Nux?—GNU/Linux and other free software support. It's GNU/Linux, not just Linux. |
|
|
|
![]() |
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Program Design / Layout | john Wesley | Existing Project Development | 11 | Jul 28th, 2006 11:29 AM |
| The Black Art of Video Game Console Design | lostcauz | Book Reviews | 0 | Apr 26th, 2006 8:31 PM |
| Web design by Artjom and Arthur Sharafejev | artjom | Other Web Development Languages | 5 | Mar 30th, 2006 1:22 PM |
| Design Patterns In PHP | Eryk | PHP | 10 | Feb 5th, 2006 10:26 PM |
| New Design & Forum Bday | big_k105 | Community Announcements and Feedback | 21 | Apr 12th, 2005 10:54 AM |