Showing posts with label Filesystem. Show all posts
Showing posts with label Filesystem. Show all posts

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 ?