Friday, February 27, 2009

Linux Kernel Internals 2.4


Download ----pdf---Linux Kernel Internals 2.4

Linux Kernel Internals


Table of Contents


Booting
Process and Interrupt Management
Virtual Filesystem (VFS)
Linux Page Cache
IPC mechanisms
Booting
Building the Linux Kernel Image
Booting: Overview
Booting: BIOS POST
Booting: bootsector and setup
Using LILO as a bootloader
High level initialisation
SMP Bootup on x
Freeing initialisation data and code
Processing kernel command line
Process and Interrupt Management
Task Structure and Process Table
Creation and termination of tasks and kernel threads
Linux Scheduler
Linux linked list implementation
Wait Queues
Kernel Timers
Bottom Halves
Task Queues
Tasklets
Softirqs
How System Calls Are Implemented on i Architecture?
Atomic Operations
Spinlocks, Read?write Spinlocks and Big?Reader Spinlocks
Semaphores and read/write Semaphores
Kernel Support for Loading Modules
Virtual Filesystem (VFS)
Inode Caches and Interaction with Dcache
Filesystem Registration/Unregistration
File Descriptor Management
File Structure Management
Superblock and Mountpoint Management
Example Virtual Filesystem: pipefs
Example Disk Filesystem: BFS
Execution Domains and Binary Formats
Linux Page Cache
IPC mechanisms
Semaphores
Semaphore System Call Interfaces
sys_semget()
sys_semctl()
sys_semop()
Non?blocking Semaphore Operations
Failing Semaphore Operations
Blocking Semaphore Operations
Semaphore Specific Support Structures
struct sem_array
struct sem
struct seminfo
struct semid_ds
struct sem_queue
struct sembuf
struct sem_undo
Semaphore Support Functions
newary()
freeary()
semctl_down()
IPC_RMID
IPC_SET
semctl_nolock()
IPC_INFO and SEM_INFO
SEM_STAT
semctl_main()
GETALL
SETALL
IPC_STAT
GETVAL
GETPID
GETNCNT
GETZCNT
SETVAL
count_semncnt()
count_semzcnt()
update_queue()
try_atomic_semop()
sem_revalidate()
freeundos()
alloc_undo()
sem_exit()
Message queues
Message System Call Interfaces
sys_msgget()
sys_msgctl()
IPC_INFO ( or MSG_INFO)
IPC_STAT ( or MSG_STAT)
IPC_SET
IPC_RMID
sys_msgsnd()
sys_msgrcv()
Message Specific Structures
struct msg_queue
struct msg_msg
struct msg_msgseg
struct msg_sender
struct msg_receiver
struct msqid_ds
struct msqid_ds
msg_setbuf
Message Support Functions
newque()
freeque()
ss_wakeup()
ss_add()
ss_del()
expunge_all()
load_msg()
store_msg()
free_msg()
convert_mode()
testmsg()
pipelined_send()
copy_msqid_to_user()
copy_msqid_from_user()
Shared Memory
Shared Memory System Call Interfaces
sys_shmget()
sys_shmctl()
IPC_INFO
SHM_INFO
SHM_STAT, IPC_STAT
SHM_LOCK, SHM_UNLOCK
IPC_RMID
IPC_SET
sys_shmat()
sys_shmdt()
Shared Memory Support Structures
struct shminfo
struct shm_info
struct shmid_kernel
struct shmid_ds
struct shmem_inode_info
Shared Memory Support Functions
newseg()
shm_get_stat()
shmem_lock()
shm_destroy()
shm_inc()
shm_close()
shmem_file_setup()
Linux IPC Primitives
Generic Linux IPC Primitives used with Semaphores, Messages,and Shared Memory
ipc_alloc()
ipc_addid()
ipc_rmid()
ipc_buildid()
ipc_checkid()
grow_ary()
ipc_findkey()
ipcperms()
ipc_lock()
ipc_unlock()
ipc_lockall()
ipc_unlockall()
ipc_get()
ipc_parse_version()
Generic IPC Structures used with Semaphores,Messages, and Shared Memory
struct kern_ipc_perm
struct ipc_ids
struct ipc_id

0 comments:

Post a Comment