1. Types of interrupts
1) Software interrupts
2) Hardware interrupts
. Edge Triggering
. Level triggering
. MII
3) exceptions
2. Initialization of interrupts
3. Interrupt Handling
Questions:
1) What happens if interrupt handler goes to sleep?
2) What happens if interrupt handler uses semaphores
3) How to protect variable between two interrupt handlers?
4) How to protect variable between task and interrupt handler?
Memory Management
===============
1) How virtual address is converted to physical address
2) what is the difference slab , slub memory algorithm
3) Explain memory thrashing?
1) Is it possible to save RAM memory contents across reboots?
===============
1) How virtual address is converted to physical address
2) what is the difference slab , slub memory algorithm
3) Explain memory thrashing?
1) Is it possible to save RAM memory contents across reboots?
Yes... It is possible... At the time of reboot if we won't stop the
refresh cycle of RAM it is possible store the RAM contents safe. There
is file system build on the same theory is PRAMS file system. To find
the complete information use the link bellow.
1) flyby DMA transfer
2) fetch-and-deposit DMA transfer
3) What are the precautions to be taken while writing an interrupt handler?
4) What are different IO schedulers available with Linux kernel?
3) What are the precautions to be taken while writing an interrupt handler?
4) What are different IO schedulers available with Linux kernel?
5) Difference between 'noop' scheduler and a 'deadline scheduler?
6) How to add new system call
7) How do you understand Kernel OOPs?
7) How do you understand Kernel OOPs?
8) why page cache is been removed from the kernel
9) What is the significance of asmlinkage
10) How to do declare variable local to the cpu only?
11) How to you declare a variable, which is local to the thread only?
12) Can you generate Kernel configuration file after building the image?
13) How size of RAM memory is detected in the Linux kernel?
14) What is boot memory?
15) Who to find interrupt latency?
16) what is need of copy_to_user to copy_from_user,cannot we use memcpy?
17) Explain the how scheduler works?
18) Who schedules the Workqueues?
- Please go through the workqueues tab
19) Who schedules TASKLETS?
20) Difference between PCI and PCIe?
21) How do you find unhanded interrupts?
22) How to you protect buffer over flow in Linux kernel
23) How physical to virtual memory conversion happens?
24) How context switch happens?
25) When task switch happens
26) How to pass event from kernel space to user level?
27) what are different communication methods available from user space to kernel space?
28) when to use which type of kernel synchronization methods?
29) how to solve problems for cache coherency ?
30) How plug and play works in the Linux kernel?
31) why sysfs is required?
32) explain about debugfs?
33) Kernel Booting process?
34) How to create a file directly from the kernel?
35) Different boot loader can be used?
36) what is difference between Kernel space virtual address and user space virtual address difference?
37) What is difference between Tasklets and work queues?
- Please go through the work queues tab.
38) Who schedules TASKLETS?
39) Difference between process and threads?
40) How process got created in linux?
41) What are the different schedulers class present in the linux kernel?
42) How to extract task_struct of a particular process if the stack pointer is given?
43) How does scheduler picks particular task?
44) How does load balancing happens?
45) Explain about wait queues and how they implemented? Where and how are they used?
46) Why do we need separate kernel stack for each process?
47) What all happens during context switch?
48 ) What is thread_info? Why is it stored at the end of kernel stack?
49) What is the use of preempt_count variable?
50) How is virtual run time (vruntime) calculated?
51) How SCHD_FIFO and SCHD_RR works in RT scheduler
51) What is the Difference between Task and Thread?
52) how a process exit without calling return or exit function?
53) how debugger works?
54) Linux Booting process?
55) explain stack winding and unwinding happens?
56) difference between Edge triggering, level triggering, MSI interrupts?
57) how usb devices enumerate?
58) explain How Linux device tree works?
59) How pcie devices enumerate
60) explain architecture of platform driver?
61) explain clock driver architecture?
Interrupts:
========
1) How to modify interrupt vector
2) Who assigns interrupt numbers
3) How interrupt handler is executed
4) how interrupts are raised in the hypervisors?
Synchronization
54) Linux Booting process?
55) explain stack winding and unwinding happens?
56) difference between Edge triggering, level triggering, MSI interrupts?
57) how usb devices enumerate?
58) explain How Linux device tree works?
59) How pcie devices enumerate
60) explain architecture of platform driver?
61) explain clock driver architecture?
Interrupts:
========
1) How to modify interrupt vector
2) Who assigns interrupt numbers
3) How interrupt handler is executed
4) how interrupts are raised in the hypervisors?
Synchronization
============
- when to use conditional variables?
- Difference between Semaphores, Mutex & Spin Locks
- How synchronization between two interrupt handlers?
- How to synchronization between tasks and interrupt handler
- How to sync between two tasks in Kernel
- What is a difference between Binary Semaphore and mutex
- How RCU are implemented?
- how to use Read/writes are implemented
- what is lockdep?
maps all the lock dependencies as they occur in a live kernel and will warn about the following classes of locking bugs:
- lock inversion scenarios
- circular lock dependencies
- hardirq/softirq safe/unsafe locking bugs
Bugs are reported even if the current locking scenario does not cause any deadlock at this point.i.e. if anytime in the past two locks were taken in a different order, even if it happened for another task, even if those were different locks (but of the same class as this lock), this code will detect it. - Hardware spin locks?
Linux specific C language - questions
==========================
- How to protect a single variable in a c data structure from cache coherency?
- how read_mostly works
- why static variable initilizes only once?
- When to use likely and unlikely
========
1) How to resize ext4 file system?
Debugging
========
1) What are the tools that can be used for debugging the Linux kernel?
-kdb
-kgdb
-printk
-Linux Traces
-JTAG,ICE etc,
-Sniffers
-profiling
- Crash dump
-UML ( User Mode Linux)
- simulators - Qemu
- Hypervisor - VMware/kvm etc
- Magic sysrq
- lockdep
2) How debugging works
Valuable question
ReplyDeleteworth to go throgh. Thank you for the informaiton.
ReplyDeleteHow do we get answers for this questions?
ReplyDelete