What does open() do anyways?


 
Thread Tools Search this Thread
Top Forums Programming What does open() do anyways?
# 1  
Old 12-03-2007
What does open() do anyways?

I know its kind of silly to think about it, but what does this function do anyways? I know it is used to open a given file with a variety of options but what is the best place to find out what is happening internally? I think it updates the file descriptor table and provides a lock file but does it do anything else besides that?
# 2  
Old 12-03-2007
Quote:
Originally Posted by Legend986
I think it updates the file descriptor table
Yes.

Quote:
Originally Posted by Legend986
and provides a lock file
No.

Code:
man open

will really help you, it opens existing, truncates, etc. To find out what it's doing internally look up some of the texts such as Lions on the UNIX internals, also there are books on the Linux internals.

Imagine the start state before open is called

and the end state of when open has returned a file descriptor

think of all the activities that would have to occur for that to happen, then that is what it does.
# 3  
Old 12-03-2007
Thank you... So open is one of those critical functions right? I mean, I cannot do away if open were not present... The reason I was wondering is because there are so many file operations defined that open seemed to be that "i cannot live without it" like functions to me... Please correct me if I'm wrong...
# 4  
Old 12-03-2007
Quote:
Originally Posted by Legend986
The reason I was wondering is because there are so many file operations defined that open seemed to be that "i cannot live without it" like functions to me.
You could narrow it down and say what are the things that open operates on and how are they implemented.

1. files - by the file system

2. devices, by each driver

3. remote files - by the NFS file system

So you can actually see that 3 falls under 1. Say count the different file system types, files, directories, fifos, sockets, symbolic links, etc, what does open do in each case?

Then you could determine there is a common core of functionality but the majority would be implemented by a driver, module or subsystem.
Login or Register to Ask a Question

Previous Thread | Next Thread

6 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Vim help.txt automatically open every time I open vi

Hi Friends, Every I try to open a vi window, vim help.txt automatically opens evertime. After doing ZZ or :q! also the same page opens automatically. How to stop this? Is it machine specific ? Other users who are opening the same servers and files are not facing this issue. Thanks... (3 Replies)
Discussion started by: sudiptabhaskar
3 Replies

2. UNIX for Beginners Questions & Answers

Vim help.txt automatically open every time I open vi

Hi Friends, Every I try to open a vi window vim help.txt automatically opens evertime. After doing ZZ or :q! also the same page opens automatically. How to stop this? Is it machine specific ? Other users who are opening the same servers and files are not facing this issue. Thanks... (1 Reply)
Discussion started by: sudiptabhaskar
1 Replies

3. Solaris

Is it possible to install Solaris softwares on Open Solaris or Open Indiana?

Hi there, I'm sorry in advance if my question seems stupid, but I can't figure out myself. I was wondering. Is it possible to install a Solaris program on an Open Solaris or Open Indiana operating system? After searching the web for a long time, it seems that Open Solaris was released by... (7 Replies)
Discussion started by: firstpost
7 Replies

4. Red Hat

cannot set user id: Resource temporarily unavailable (not open file/open process related)

First post, sorry to be a bother but this one has been dogging me. I have a process user (java application server) that trips a resource limit every couple weeks and need help finding what limit we're hitting. First, this is what's running: This is the error when jobs are run or the... (0 Replies)
Discussion started by: Katahdin
0 Replies

5. IP Networking

Unknown open port: "6881/tcp open bittorrent-tracker" found with nmap

Hi. I ran nmap on my server, and I get the following: Starting Nmap 4.76 ( http://nmap.org ) at 2009-03-19 16:33 EDT Interesting ports on -------- (-----): Not shown: 997 closed ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 6881/tcp open bittorrent-tracker The... (0 Replies)
Discussion started by: Rledley
0 Replies

6. Shell Programming and Scripting

Performing an open/read, open/write

I'm trying to do two different things (converting an OpenVms .com to a ksh shell script): 1) open/read/err= 2) open/write/err= Any help? I've found some things, but can't seem to find the correct way. (1 Reply)
Discussion started by: prosserj
1 Replies
Login or Register to Ask a Question