Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Linux device driver interview questions

2,913 views
Skip to first unread message

dav...@gmail.com

unread,
Nov 1, 2007, 12:52:05 AM11/1/07
to
Hi,

I am looking for some Linux device driver developer interview
questions, would appreciate if someone can provide some information.

thanks

Christof Meerwald

unread,
Nov 1, 2007, 6:41:38 AM11/1/07
to
On Thu, 01 Nov 2007 04:52:05 -0000, dav...@gmail.com wrote:
> I am looking for some Linux device driver developer interview
> questions, would appreciate if someone can provide some information.

Aehh, what about: show me the source code of one of the device drivers you
have written.

Or maybe: point me to some lkml threads you have contributed to.


Christof

--
http://cmeerw.org sip:cmeerw at cmeerw.org
mailto:cmeerw at cmeerw.org xmpp:cmeerw at cmeerw.org

Milind Dumbare

unread,
Nov 1, 2007, 8:15:53 AM11/1/07
to

Why you want to write a device driver?
how will you register it?
how will you keep track of its usage?
Under what license will you write your driver?
how will you allocate memory in your driver?
why not vmalloc?
what if you got to know that your memory is leaking?
what is IRQ? how will you register your IRQ no? Are you sure you will
get the IRQ no you have requested? What if you don't get?
Where will you place filesystem? above device driver or below it?

Janaka

unread,
Nov 1, 2007, 6:35:00 PM11/1/07
to

Questions are fine. But you have to know the answers to those
questions as well! If you dont, they can bullshit you and you
wouldn't know.

dav...@gmail.com

unread,
Nov 1, 2007, 6:51:54 PM11/1/07
to

Thanks, these are too simple :-)

Any more on thread/process management and memory management stuffs?


Tim Roberts

unread,
Nov 2, 2007, 2:00:33 AM11/2/07
to
dav...@gmail.com wrote:
>>
>> Why you want to write a device driver?
>> how will you register it?
>> how will you keep track of its usage?
>> Under what license will you write your driver?
>> how will you allocate memory in your driver?
>> why not vmalloc?
>> what if you got to know that your memory is leaking?
>> what is IRQ? how will you register your IRQ no? Are you sure you will
>> get the IRQ no you have requested? What if you don't get?
>> Where will you place filesystem? above device driver or below it?
>
>Thanks, these are too simple :-)
>
>Any more on thread/process management and memory management stuffs?

The details can be learned. Wouldn't you rather find out whether they know
where to look, who to ask, how to find out?
--
Tim Roberts, ti...@probo.com
Providenza & Boekelheide, Inc.

Gil Hamilton

unread,
Nov 7, 2007, 10:20:20 AM11/7/07
to
Tim Roberts <ti...@probo.com> wrote in
news:a4fli3lissllvrg7k...@4ax.com:

> dav...@gmail.com wrote:

>>Thanks, these are too simple :-)
>>
>>Any more on thread/process management and memory management stuffs?
>
> The details can be learned. Wouldn't you rather find out whether they
> know where to look, who to ask, how to find out?

I agree that the details can be learned. However, it's also really
important that they have basic concepts down so that they will be able to
understand the details once they find them. So, maybe such questions as:

What is the difference between a thread and a process?

What is the difference between physical memory addresses and virtual
memory addresses? What is a page table / page table entry?

What is the difference between kernel mode and user mode? What is a
system call?

What is a spinlock? Why would you use one? When and when not?

What is a context switch? What happens when a thread is "blocked"?

What does the scheduler do?

What happens (to the state of a running thread) when an interrupt occurs?
What sorts of things must an interrupt handler do?

This is all stuff that exists on pretty much any modern operating system
so if you get somebody who (successfully) writes drivers for Windows or
AIX and you're looking to hire them for linux drivers, you can tell
whether they'll be able to pick it up without requiring that they already
know every detail.

GH

Tim Roberts

unread,
Nov 7, 2007, 11:31:38 PM11/7/07
to
Gil Hamilton <gil_ha...@hotmail.com> wrote:
>
>I agree that the details can be learned. However, it's also really
>important that they have basic concepts down so that they will be able to
>understand the details once they find them. So, maybe such questions as:
>
>What is the difference between a thread and a process?
>...

>This is all stuff that exists on pretty much any modern operating system
>so if you get somebody who (successfully) writes drivers for Windows or
>AIX and you're looking to hire them for linux drivers, you can tell
>whether they'll be able to pick it up without requiring that they already
>know every detail.

Yes, exactly. Yours is a list of questions that I would agree with, not a
Linux trivia test designed to trip up the unsuspecting.

Dildo Bogumil di Boscopelo

unread,
Nov 8, 2007, 3:02:34 AM11/8/07
to
Janaka wrote:

I don't think so. Usually, during an interview, one is too much stressed to
bugger the interviewer on the questions he/she is asking you. OTOH, should I
find such a smart-ass people, I definitively would him to join my company :)

--
SF

I was alone, I took the phone,
I needed time to think the number I saw on tv
Who did I hear! can I believe
A pack of horny lesbians howling back at me

J de Boyne Pollard

unread,
Nov 15, 2007, 11:20:46 AM11/15/07
to
GH> What is the difference between a thread and a process?
GH> [...]
GH> This is all stuff that exists on pretty much any modern
GH> operating system so if you get somebody who (successfully)
GH> writes drivers for Windows or AIX and you're looking
GH> to hire them for linux drivers, you can tell whether they'll
GH> be able to pick it up without requiring that they already
GH> know every detail.

... and you'll be able to tell who are the ones that have done kernel-
mode programming on Linux, specifically, by their answer to the first
question. (-:

0 new messages