Sunday, June 5, 2011

Linux Filesystem

Hey all,
The following are the probable questions related to Linux Filesystem that can be discussed.

1. What is the need for Virtual Memory ?
2. What is the difference between the term 'Virtual Memory' and 'Virtual Address Space' ?
3. Can an user space application view the physical address Or Can an user space application access the physical address space ?
4. Is it possible for two different application to have a same virtual address but point to different physical memory ?
5. What are the functionalities performed by _start ?
6. What is the difference between Code section, Data section, ro Data section & BSS section ?
7. What is the expansion of BSS and What is the need for BSS ?
8. What is the size of the Kernel space and that of User space ? Who decides the size of it . Is it dependent/done by Processor or MMU ?
9. Tell one of the etry point to kernel ?
10. Explain the system call mechanism such that the flow is from User space to Kernel space & returning back to User space ?
11. What is the use of SYSENTER ? Does it get executed in Userspace ?
12. What is the use of SYSEXIT ? Does it get executed in Kernelspace ?
13. What is the role of __sys_open ?
14. What is the use of ABI (Application Binary Interface) document ? Who provides that manual ?
15. How do you see the size of an executable file in Linux ?
16. What is the probable size of normal vmlinux ? What kind of sizes have you come across in normal linux and embedded linux scenarios ?
17. What is vmlinux.lds ?
18. Why do you find all addresses to start after '0xC0000000' if you do 'readelf -a vmlinux' ? Can you access those addresses ?
19. What is a FDT (File Descriptor Table) ?
20. Explain the relation between File Descriptor table, Symbol File table, iNode table and harddrive/phy memory ?
21. What command is used to setup/create the relation between the device and inode ?
22. What command/API is used to create an inode for a file ?
23. What is the use of 'file_operations' ? How have you used it ?
24. What is the use of /proc/PID/maps ?
25. What is task_struct ?
26. Explain the relation between file struct,File Descriptor Table(FDT), task_struct, MM_struct, vm_area_struct, Heap, Page Global Directory(PGD), Page table(PT) & user page .
27. What is the use of ioctl fuction ?
28. Explain one level page table address translation between VA and PA with an example ?
29. Explain multi level page table address translation between VA and PA with an example ?
30. Is it better to have less level of page table address translation or more levels of page table address translation ? What is the impact on performance w.r.t memory size and memory access ?
31. What is the difference between malloc and vmalloc ?
32. What is PAE (Physical Address Extension) ?
33. What is Dual Mapping ? Can a user virtual address and kernel virtual address map to the same physical address ?

No comments:

Post a Comment