Hi, I have a few questions about kernel processes and when system calls are made. When you open a normal data file from within a program and start reading from and writing to it, does the backend of the library being used always use open, close, read, write? If so, then for each one of these calls, does the system switch to kernel mode? Doing a `ps aux` on linux, I get the following kernel processes: [ksoftirqd/0] [events/0] [kblockd/0] [pdflush] [pdflush] [kswapd0] [aio/0] [aio_fput/0] [kseriod] [kjournald] [khubd] [kjournald] [reiserfs/0] Is the entire kernel functionality implemented in these processes only? If so, in which process is scheduling and interrupt handling done? Which process handles the switch between processes? Which process services system calls? Which process handles the switch between kernel space and user space? If not, where is the other kernel functionality implemented? How is it accessed? How is it managed (in terms of scheduling, resource allocation, etc)? I can guess the answers to some of the questions, but I cannot think of satisfactory answers to all so that they fit together. Perhaps I have not thought hard enough. Perhaps I am thinking down the wrong path. If there is documentation, please point me to it. Thanks, - Apurva -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/