System call source code

Hi,

  1. Can anybode suggest me where to find the source code for system calls itself? Like open(), read(), close(). May I have the link or book where I can find the source code these functions itself?

  2. When ever we quit a file or save and quit a file, the file content is stored in the disk. Internally, after putting the contents on the disk the kernal calls close() system call to close/quit the file. Am I right with what I said? please tell the alternative answer for what is happening inside on closing/quitting a file, if mine is wrong?

Download the libc source code of the appropriate system. You'll find libc sources for Linux, bsd and Solaris on the net.

Give some context. Quit and save aren't system calls either. Do you mean typical commands from the file menu? No. The application calls close(). The OS itsself takes care about writing the actual data to disk. Typically it won't write the contents to disk immediately but just send them to some buffer which is cleaned whenever the disk comes idle or the filesystem is unmounted.

IT would help a lot to know the UNIX you have.

If you like to read source code of the UNIX internals get this book.

If you are intrested to browse teh source code.
Visit the soalris site
Search

For Code - you may use following link -
system.c

For taking a look at what happens after close - take a look at
CodeIdol - Thinking about Advanced Programming in the UNIX Environment - File I O

System calls, by definition, are part of the operating system. If the source code for your operatnig system is available, you can download and browse it. Similarly for the C library, you can download the source for e.g. GNU glibc.

For more tutorial expositions, in addition to Lions, there's the BSD devil books (different books for 4.3BSD and 4.4BSD) and a book by Plauger about the standard C library. Quick googling also brought up The Linux Kernel: The Book