Saturday, September 18, 2010

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?

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?

No comments: