They use massive amounts of C, assembly, and often C++. Nothing fancy like .NET. ;) If you're thinking about creating one... nah. Or at least spend a few years learning C before attempting it, and bring a whole crew of programmers with you when you do start.
I don't know, I've never really programmed with it. I've heard that it's not actually as complex as it looks; it just takes a really, really long time to write anything. ;)
Of course, assembly isn't actually used to write entire programs; it's most useful in C/C++ programs where you simply need to embed a little assmebly algorithm which can significantly increase the speed that your program runs at.
So if i wanted to learn about how to make operating systems, should i learn about computer sciecne or computer programming??? I am very interested in learning how to make operating systems.....if anybody knows any webopages that I can read up on about how to make operating systems or the developmetn of oeprating sytems that would be great!!!!:)
Computer programming teaches you essentially how to create an operating system, but don't think that computer science is not important: in fact, it gives you a good base knowledge of how a computer and software interact, which will definitely help you in the long run, as operating systems talk to hardware A LOT.
So... learn as much as you can. Computer science, any computer hardware courses, and tons and tons of programming. And don't get your hopes up too soon, because it's gonna take a while before you can create anything worthwhile. And I don't mean operating systems, I mean it takes a long time just to create a regular program that does something useful.
"programming" or "Computer Science" will not teach you the specifics of an OS unless the CS part deals with it specifically. There's certainly a selection of textbooks on the subject, however, which are likely used in various curricula. Read through one of those if you're dying to know how an OS works. Grab a Linux kernel and peak through the source code of that to see one way to implement all those things. The Linux kernel is especially nice, being open source, since you can just replace parts of it with your own bits and pieces and see what does and doesn't work.
You will need to know a little assembly. Device drivers are often written in it (so I hear). And it's quite useful for threading libraries (even necessary for atomic transactions in a preemptive environment), or for other architecture specific instructions (such as popa and pusha on x86). Of course, the threading library could also be written in userspace and technically not part of the kernel. (That's just one example I've actually looked through.)
There's an awful lot to an OS. Some of it is very low-level, some of it is highly conceptual, some is a mix, some is none of the above. Get a good reference or three and see how you do. Good luck ;)
Not really. You just have to move every value from memory into registers to work on, then back to memory when dealing with variables. You'll end up writing more lines of code to do simple things, but knowing assembly gives you a greater appreciation for what's really going on in the computer.
So if i wanted to learn about how to make operating systems, should i learn about computer sciecne or computer programming???
Check with the curriculum at the school to see if they teach OS design. It's not simple, and they might not offer a course in it. But a class or two might touch on it, at least.
You will need to know a little assembly. Device drivers are often written in it (so I hear).
More and more are actually written in C I believe. Because C is close to assembly, it has made many inroads into what used to be assembler-only code. But it has not vanquished the big A by any means.