Linux Internals Interview Question PDF
Linux Internals Interview Question PDF
January 2020
1. On a uniprocessor machine with preemption disabled, what will happen internally when we
say spin_lock()?
2. What is SMP
3. what are the use of L1,L2,L3 Caches
4. what is the difference between binary semaphore and mutex in Linux
5. what is the difference between down_interruptible vs down_killable in semaphore
6. How to change the priority of a process in Linux
7. where are page tables stored
8. what are the minimum requirements of linux to work on a hardware
9. what are the pros and cons of using per cpu variable as synchronization method
10. what is the difference between context switch and preemption?
11. Can i lock a spinlock in one CPU and unlock it another CPU?
12. How do you test whether there are memory leaks in a Linux application
13. On a multiprocessor system, how do you find out which process is running on which
processor?
14. what is the maximum amount of time CPU can be in critical section after acquiring spinlock
15. Difference between GFP_KERNEL and GFP_ATOMIC
16. what happens internally during context switch in Linux kernel?
17. Which file in Linux gives you information about memory zones
18. What is buffer/cache?
19. what is the asm-generic folder in Linux source code. What it contains?
20. Difference between IO Mapped IO and Memory Mapped IO
21. Difference between kmalloc and vmalloc
22. Difference between processor and core
23. How can i find out the Count of number of times a process has been preempted in Linux?
24. what does malloc(0) return?
25. what is NUMA?
26. will a module be loaded if it has while(1) loop in module_init function. ?
27. what is the maximum memory that can be allocated using vmalloc?
28. What is the maximum memory that can be allocated using kmalloc?
29. What is the difference between VIRT, RES and SHR fields in top command?
30. what is the system call used by malloc and free
31. What is the maximum memory that I can allocate using malloc
32. The Makefile macro that one sets to identify what file for the kernel Makefile to make into a
module is _____. a. obj-m b. obj-y c. target d. list
33. How do you check how many lanes are being used by pcie card in Linux
34. Maximum number of PCI devices that can be connected to a host
35. What are lanes in PCI?
36. How auto detection of PCI devices happen in PCI?
37. What is a PCI bridge
38. Where do executables look for shared objects at runtime?
39. Is PCI serial protocol or parallel protocol. What is the maximum data rate achieved with PCI
40. What is the maximum major number in case of Character and block device driver.
41. How to Create 100 files in a single command.
42. What is cache coherence
43. what is the use of swapper process in Linux
44. how to kill the process which is in TASK_UNINTERRUPTIBLE state?
45. what is cache coherence
46. Which hardware is responsible for generating timer interrupts in linux kernel
47. Will the call to date command read from rtc
48. Which one will you use to empty a file
a) /dev/null b) /dev/zero
49. Does microprocessor have internal memory a) Yes b) No
50. What is the purpose of fPIC flag while generating shared library
51. What is load average in linux
52. gettimeofday and clock_gettime both returns the wall time. Which one will you use in your
application and how do you decide
53. Linux intentionally leaves the first few kilobytes (or even megabytes) of each process's virtual
address space unmapped, so that attempts to dereference null pointers generate an
unhandled page fault resulting in an immediate SIGSEGV, killing the process. a) Yes b) No
54. System bus = address bus + data bus + control bus. Yes/No
55. What is the use of O_SYNC flag while opening the file
56. What is resident memory in process
57. Virtual memory is divided into ____ a) pages b) bytes c) bits
58. What are the advantages of using virtual memory.
59. What are the advantages of static library over shared library
60. What is the use of Procedure-linking table (PLT) while application is starting up
61. ____ is a method of data transfer between main memory to input/output device without the
need of processor
62. What are the advantages of shared library over static library
63. what should be the number of jobs when compiling linux kernel make -j
64. what is the difference between file and inode
65. How is scheduler invoked in linux kernel
66. what is the use of initrd image while booting
67. what is present inside a static library?
68. What is the use of likely and unlikely macros in linux kernel
69. How do you find out which init manager is running on your Linux machine: sysvinit/systemd?
70. What are relocations in an object file?
71. Can i call kmalloc(GFP_KERNEL) while holding a spinlock?
72. what is the benefit of declaring a symbol as weak.
73. what is the first function that will be called when linux kernel is loaded
74. What are the lock free algorithms present in linux kernel
75. why running ps command without options on shell shows only two entries.
76. What happens when you call spin_lock() on a uniprocessor system with preemption enabled
77. what are the operations performed by linker during compilation process
78. What are the data structure implemented in linux kernel
79. What are the advantages of sigaction over signal
80. what is the use of swapper process in Linux
81. how to kill the process which is in TASK_UNINTERRUPTIBLE state?
82. What is a cache line
83. Consider a square matrix of x size, which technique will be faster to perform sum of elements
of the matrix
A) Traversing row by row and adding elements
B) Traversing column by column and adding elements
84. As an embedded developer, how do you test a temperature sensor without any special
hardware
85. We have systemd-analyze plots for boot up time measurement,Do we have any such similar
tools to measure the different sequence of shut down time. . ?
86. Can we run linux on microcontroller
87. Given a device datasheet, what all you look for?
88. Difference between fork and vfork
89. Kernel code on Intel processor is running on ring a) 0 b) 1 c) 2 d) 3
90. What is difference between operating system and kernel
91. Do we need device tree if we don't have any SPI or I2C devices connected
92. Is Linux Kernel Monolithic? a) Yes b) No
93. What are the different commands you can run on a generated kernel
image(bzImage/vmlinux/vmlinuz) before installing
94. A Linux distribution is a combination of Linux kernel + _____
95. Comment the registers you know about any processor and its purpose
96. What are the factors you consider when selecting a processor for your project
97. Which is loaded first Initrd or kernel image during boot
98. I have closed stdout close(1) Can we reopen it
99. What are the different ways to find out the kernel command line parameters.
101. How do you allow only root to run your user application. If normal user is running your user
application, you need to print a message and exit?
102. Why do we need PCI , USB and other kind of buses why can't we directly connect
peripherals to the processor
104. cat /proc/ioports does it list all the I/O Ports used by the processor?
a) Yes b) No
105. ____ command will you use to find list of C files present in a directory
106. Which linux commands you run when you get a new embedded hardware?
109. Will the assembly of the below code generated by compiler same on Windows/Linux?
return a+b;
110. Who updates the errno in Linux? a) glibc b) Linux Kernel c) None of these d) Both
111. Will a code compiled in one linux distribution work on all other linux distribution
112. What is the first tool you use if your c/cpp application is not behaving properly in linux
114. Which processors uses I/O Mapped I/O for accessing peripheral devices
memories/registers?
117. Why c code is converted to assembly and then to machine code. What is the benefit of
converting it to assembly. Why not directly to machine code
118. What are the maximum number of arguments we can have for a system call
120. Which state the process is in when executing the below line and waiting for input
scanf("%d", &val);
a) TASK_INTERRUPTIBLE b) TASK_UNINTERRUPTIBLE
121. When an unallocated pointer is derefrenced ,who will check that this is invalid instruction
122. Is linux source sufficient to compile a linux kernel module or do I need to install the kernel
for building modules?
123. Explain differences between SRAM and DRAM in terms of cost, access time and size.
131. Where do you find the information of builtin modules from running linux image
132. Interrupt handler in linux kernel run with current interrupt line disabled on all processors
a)True b) False
136. What are the various bottom halves techniques available in Linux Kernel?
137. Why do we need to divide interrupt handler into top half and bottom half
140. What is the maximum amount of RAM you can access with 32 bit processor
141. When you call malloc from user space, from where it allocates memory : low mem/high
mem or any other location
144. Why use volatile memory? Why not always use nonvolatile memory?
145. What happens when two interrupts arrive at the same time in linux
146. What happens when we are in interrupt handler and another interrupt arrives
147. When two userspace executables uses same shared library .so, how it organised in process
address space ?
156. Which one will you use for custom driver operations:sysfs or ioctl
158. What will be the output of echo $?, when you return 256 from your c main function