Solved

device drivers

Posted on 2000-04-11
14
258 Views
Last Modified: 2010-04-02
general methodology adopted for writing device drivers
0
Comment
Question by:babs02_99
  • 4
  • 4
  • 3
  • +2
14 Comments
 

Expert Comment

by:donnerjack
ID: 2707248
Do you need it for win95/98 or NT?
The best way to do it is to take a software that builds most of it and let you fill a function or two with your code. try WinDriver products
http://www.windriver.com/
or
http://www.jungo.com/
0
 
LVL 3

Expert Comment

by:MDarling
ID: 2707254
You earn the Vaguest Question Award!

Device drivers for what?
What operating system?
What target machine?
What compiler(s) do you have?
0
 
LVL 22

Expert Comment

by:nietod
ID: 2707425
babs02_99.  You cannot keep asking this vague questions and then rejected answers.   The reason the answers are not what you want is that no one can tell exactly what you are asking about.  The problem is in your questions questions, not in the answers.
0
 

Expert Comment

by:orozco
ID: 2708513
If you want a device drivers for unix document contact me at benito_orozco@hotmail.com
0
 

Author Comment

by:babs02_99
ID: 2712449
am sorry for the fact that my qu turned out to b the vaguest!
but ,what i want to know is the general procedure to b adopted,irrespective of the operating system,so that depending on the situation, i'l b able to write a device driver.

0
 

Accepted Solution

by:
orozco earned 50 total points
ID: 2712577
Ok. It's difficult to describe a general procedure to make device drivers for all the operating systems, I think that you have to know the operating system because for example in ms-dos the dd (device drivers) works with I/O directly from the BIOS interrupts, and has the following principal parts:
1- Device header
2- Local Procedures/Data
3- Strategy
4- Interrupt procedures
5- Command processing procedures
 All Device drivers in ms-dos has to have all these commands.

Under Windows 3.0, the problem is a little more complicated, and in Windows 3.1 is a little diferent, and so on.
Windows 95 uses an architecture driver/mini-driver that is easy to the people make specific code for the device.
Unix uses a diferent architecture because the I/O is separated in two subsystems, I/O by character and I/O by block.
0
 
LVL 22

Expert Comment

by:nietod
ID: 2712612
Device drivers under other OSs are TOTALLY different.  Some OSs don't have device drivers (formally).  Mac device drivers are very different than windows ones.  There is almost nothing that can be said about them in general.
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 3

Expert Comment

by:MDarling
ID: 2712790
for(each operating system)
{
   find out as much as you can about the hardware.  

   find out as much as you can about the low level operating system.

   write the driver.

   write the highlevel api to interact with driver.
}

0
 

Author Comment

by:babs02_99
ID: 2714866
i wanted to know the knowledge which is required to write a device driver,similar to the answer proposed by
mdarling
0
 
LVL 22

Expert Comment

by:nietod
ID: 2715635
That is more of a joke than an answer.  (I mean an intentional joke, not a "joke of an answer".)

Its like asking "How do you build a vehicle"?   Well even the most general instructions on how to build a car are going to be useless to you when you build a submarine, or an airplane, or a rocket.

That is the type of question you are asking.  

You might say that the only thing in common for device drivers between two OSes is the name "device driver".  But actually even that is not true.  

Look at the accepted answer.  It is so general that it is undoubtedly useless to you.  Yet it is still incorrect for every OS but one.

Its like answering the vehicle question by saying, well you need wheels--true for cars and trucks, airplanes, but not a submarine.   Alright, too precise.   You need an engine.  Subs have engines too.  Opps not for a rocket.   Alright, you need a power source.  Opps not for a hang glider....  If eventually you can answer the question, the answer is going to be so general it will be meaningless.
0
 
LVL 3

Expert Comment

by:MDarling
ID: 2715759
At least someone here gets irony :)
0
 
LVL 22

Expert Comment

by:nietod
ID: 2715871
Irony?  Oh, we don't get any of that around here.  At least not since '87 when I was the last practicioner of it and I had to step because everyone was looking at me funny.  
                                 --Steve Martin from Roxane, (as best I can recall from memory.)
0
 
LVL 3

Expert Comment

by:MDarling
ID: 2715914
*L* i remember that - who nose someone else here might get it ;)
0
 

Author Comment

by:babs02_99
ID: 2718787
ok, i'l change my questions,if the earlier one seems funny to all of u!
i'l divide into 2 parts

1.) the os is DOS
2.) the os is WIN NT

how to write the drivers for these os's?
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
SendMessage fails while PostMessage works 2 109
Need some help with listview limit text 20 98
How to convert MFC APP to Win32 APP. 19 71
Which Linux flavors will this run on? 6 77
Unlike C#, C++ doesn't have native support for sealing classes (so they cannot be sub-classed). At the cost of a virtual base class pointer it is possible to implement a pseudo sealing mechanism The trick is to virtually inherit from a base class…
Often, when implementing a feature, you won't know how certain events should be handled at the point where they occur and you'd rather defer to the user of your function or class. For example, a XML parser will extract a tag from the source code, wh…
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

24 Experts available now in Live!

Get 1:1 Help Now