Computer Systems: A Programmer's Perspective (3rd Edition)
Computer Systems: A Programmer's Perspective (3rd Edition)
3rd Edition
ISBN: 9780134092669
Author: Bryant, Randal E. Bryant, David R. O'Hallaron, David R., Randal E.; O'Hallaron, Bryant/O'hallaron
Publisher: PEARSON
Question
Book Icon
Chapter 10.9, Problem 10.4PP
Program Plan Intro

“dup2” function:

  • This function is used to copies the entry of old descriptor table to new descriptor table entry.
  • Format for “dup2” function is given below,

    int dup2(int oldFD, int newFD);

  • From the above format, “oldFD” means old descriptor table entry and “newFD” means new descriptor table entry.
    • It is used to copy the content of “oldFD” to “newFD”.
    • If “newFD” was already open, then “dup2” function closes the “newFD” before it copies “oldFD”.

Example:

The example for “dup2” function is shown below:

Consider the function “dup2(4, 1)”.

  • There are five file descriptors for given function that is “fd0”, “fd1”, “fd2”, “fd3”, and “fd4”. Each process in the LINUX begins life with three files they are
    • File descriptor “fd0” – standard input
    • File descriptor “fd1” – standard output
    • File descriptor “fd2” – standard error
  • For this function, assume two files such as “file A” and “file B”. Each file contains file table and v-node table.
    • The entries in file table are file position and reference count.
    • The entries in v-node table are file access, file size and file type.
  • Before calling “dup2(4, 1)”:
    • The “fd1” points to “file A” and “fd4” points to “file B”.
    • The reference count for both files are equal to “1”.
  • After calling “dup2(4, 1)”:
    • Both “fd1” and “fd2” corresponds to “file B”.
    • The “file A” has been closed and the entries in file table and v-node table of “file A” deleted.
    • The reference count for “file B” is incremented that is now reference count is “2”.
      • From the above description, any data written to standard output are redirected to “file B”.

Blurred answer
Students have asked these similar questions
Problem 2. Evaluate the expressions in each of the following triples:​     (c)       3   (mod4)       =                 10   (mod4)     =                 3·10   (mod4)       =
4.1.1 Complete solution and answer only no need explanation Given three data points (1,6), (3,28), and (10, 231), What is the value of y at x = 2 if the function y = 2x2 + 3x + 1 passes through the three data points.
Problem 10
Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr