1)Difference between fork() and vfork() ?
fork() |
vfork() |
System Call to
create a child process |
System call to
create a child process and block the parent process |
pid_t fork(void) |
pid_t vfork(void); |
Both the child
and the parent process will have different address space |
Both the child
and the parent process share the same address space |
Any
modification done by the child in its address space is not visible to the parent Process as both
will have separate copies |
Any
modification by child process is visible to both parent and child as both
will have the same copies |
This uses copy-on
-write |
This doesn’t use
copy-on-write |
Both parent and
child executes simultaneously |
Parent process will be suspended until the child execution is completed |
Behaviour is
Predictable |
Behaviour is
Unpredictable |
2) Explain nice and renice in Linux?
nice: a)
nice command in linux helps in run a program with modified
scheduling priority.
b)
Niceness values range from -20 to 19. c)
If we give a process higher priority, then kernel allocates
more cpu time to that process. renice: a)
renice command allows you to change and modify the scheduling priority
of an already running process.
b) Kernel schedules the process and allocates CPU time Accordingly for each of them. |
dup:
a)
The dup () system call creates a duplicate of a file
descriptor.
b)
It uses the lowest-numbered unused descriptor for the new
descriptor.
c)
They both refer to the same open file description and copy file descriptors may be used interchangeably.
d)
They both refer to the same open file description and thus
share file offset and file status flags.
dup2: a)
The dup2 () system call is similar to dup () but the
difference between them is that instead of using lowest-numbered unused
file descriptor, it uses the descriptor number specified by the user.
b)
If the descriptor newfd was previously open, it is silently closed before being reused.
c) If oldfd is not a valid file descriptor, then the class fails, and newfd is not closed. d)if oldfd is a valid file descriptor, and newfd has the same value as oldfd, then dup2() does nothing and returns newfd.
|
0 Comments