Windows driver programming or Linux driver programming? [closed] - drivers

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
I want to learn driver programming. But I don't know anything about it, except a driver is something that acts as an interface between the operating system and the outer world. What is easier to learn, Windows driver or Linux driver programming?
Where should I start?
I am at an intermediate stage in C programming. What are the prerequisites? As I, in 2010, graduated as a B.Tech. in computer science from an average college, can I start doing driver programming? I mean, can only experienced persons program drivers? What are the career oppurtunities in this field?

I'd say Linux device driver programming is easier than Windows, only because you've got access to thousands of drivers in the Linux kernel source tree that you can copy from. (And you can copy from them, because it's all GPL v2 licensed. You just have to GPLv2 license your driver too.)
The Linux Device Drivers, 3rd Edition book might be the best starting point. It's a little dated at this point, and the "flavor of the month" for many of the different techniques in the book have changed several times over, but it will get you experience writing small drivers and adding functionality over time. Once you've got some more experience, then the new "flavor of the month" for the different mechanisms will make much more sense to learn about it.

Related

Does the CPU of the Raspeberry Pi 3 B+ use the same assembly as other CPUs? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
I want to use my Raspeberry Pi to learn how to make operating systems. I know that to make one I need some assembly code for the bootloader so I can call a function in a kernel written in C. Would the ARM CPU of the Pi use the same assembly code for if I was writing an OS for a normal CPU? Would the OS development steps be similar to normal?
Yes it would be similar but as it goes with kernel development it may differ in the details like (what instructions are supported by raspberry pi3 itself).Having said that be prepared to do a lot of reading of the arm-v8 instruction set and of course operating system concepts if you have not yet.
As a general tip if you are new to kernel development start with a single cpu and once you are confident enough you can start multi core.
Also I will be pointing out few links which are extremely helpful in building operating systems for raspberry pi for beginners
https://github.com/s-matyukevich/raspberry-pi-os
https://github.com/rsta2/circle64
https://github.com/LdB-ECM/Raspberry-Pi
https://www.raspberrypi.org/forums

Do libraries exist for building operating systems? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
So I'm curious about this. I assume the building of operating systems is a monumental task, especially with all the back end stuff that an os involves. I was curious if I wanted to rework the front end of an operating system, but take advantage of existing architecture/backend, what would be the best resources to use? Also, can you guys point to any examples of well designed front ends of operating systems that aren't really mainstream? It seems like everyone uses pretty large well known OS.
Yes, you can. But like you said, it's a huge, huge task. I am not sure of windows or mac, but in Linux you have options to do so. You can download a Kernel from https://www.kernel.org/ and write applications around it.
If your goal is to make applications around the kernel, then look at linux application development resources. Check out linux desktop environments https://en.wikipedia.org/wiki/Desktop_environment#History_and_common_use to see which one is good.

It is possible to simulate inside of a sun netra T5220? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 8 years ago.
Improve this question
I want to know if it is possible simulate a SO inside of a T5220.
Because two servers are needed with different specific software that works on a T5220, but there is only one T5220 physically with one hard disk and the software works on solaris 10.
I am new in this kind of themes, but simulate this kind of platform in an x86 architecture is possible? Because there are servers of this kind available for this use.
I am seeking for all kind of options.
The software also is compatible with the next platforms: SunFire V440, Netra T2000, Netra 440 and Sun Fire X4270 M2. Any of those can be simulated? and if it is possible, what do i need?
You can create both multiple logical domains and multiple zones on a T5220.
With logical domains (Oracle VM for SPARC), you simulate different physical machines, each one with its own Operating System.
With zones, you have OS level virtualization including the ability to simulate older Solaris releases with S9 and S8 branded zones.
On the other hand, I'm not aware of any usable and current Solaris on SPARC emulation layer available for x86.

Good books or resources for understanding OS, kernel and CPU architectures [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
I need to learn the basic knowledge of OS, kernel and CPU architectures since some jobs do require those background.
Is there a good book or online resource that I can refer to.
I don't know if you had a specific OS in mind, but one of the best books on how the Windows operating system works "under the hood" is called Windows Internals. It describes in detail how everything from the kernel, to device drivers, and the file system all work.
If your looking for a good book on how CPUs and processors work, in general, I recommend Computer Architecture: A Quantitative approach. Very good info there!
Also, some good resources on how CPUs work, with perspective to programmers, can be found from the Intel technical library. Everything is free to download there and it makes for some good reading!

Prefered OS for server - Windows 2008 x64 or Linux CentOs, Fedora, Ubuntu [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 12 years ago.
Improve this question
I want to know which want do you prefer for a Dedicated server... Yeah in 2 months I'll get a dedicated server but I don't know which OS to choose.
I use exec command from PHP to run .exe files... (like image converter, video converter) but I'm sure I can find that for Linux too... I don't know Linux very well, but I use Windows every day so maybe it will be easier for me?
Help me choose, please!
Thanks!
Either Linux or Windows is a good choice. Ultimately, though, the choice should come down to you or your sys admins ability to support your choice. The old adage about the TCO being in support is a fact.
Most of the time/cost is spent supporting the hardware/software and that should be the focal point of whatever decision you make. Both OSes are more than capable of running a dedicated server. Choosing an OS that you or your staff has no experience with is a good recipe for disaster and frustration, especially in the short term.