cat /proc/partitions
cat /proc/devices
tmpfs
df -h # tmpfs and subfolders v
udev
ps aux | grep [u]dev # demons
udevadm monitor # new devices
struct gendisk
add_disk()
struct block_device
struct block_device_operations
struct request_queue
struct request
sumit_bio()
generic_make_request
Linux I/O Scheduler
struct elevator_ops
vfs_ioctl() - call filesystem specific ioctl methods
man 2 ioctl # control device
I/O ports and I/O memmory vs DMA
IOMMU
cat /proc/ioports
cat /proc/mem
struct devicestruct bus_type
bus_register()
sysfs vs Kernfs introduced in 3.14
ll /sys/block
ll /sys/bus/pci/
ISA, PCI, PCI Express
struct pci_bus
struct pci_driver
Vfs
struct inode
struct inode_operations
dmesg|grep Inode
#[ 0.001283] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
struct file_struct - opened by process
struct file
struct file_operations
RCU
struct dentry
struct dentry_operations
NFS, AFS, SMB (CIFS)
struct super_block
mount
ll /dev/disk/by-*
ramfs, tmpfs, sysfs, procfs, debugfs
CONFIG_DEBUG_FS
cat /proc/filesystems
ll /proc/buddyinfo
cat /proc/buddyinfo
cat /proc/slabinfo
sudo cat /proc/slabinfo
cat /proc/vmstat
cat /proc/kallsyms
ll /proc/kcore # + gdb, ddd
cat /proc/interrupts
sys_open() - adds fd to current->fs
ACL
Ext2 reservation window
writeback, ordered, journal
No comments:
Post a Comment