Unix/Linux Operating Systems: Processes, IPC & System Calls
Test your knowledge of Unix/Linux operating system concepts including process management, inter-process communication, file operations, system calls, and device files.
Questions
2 Does Linux supports multi-threading?
- 1 No
- 2 Yes
- 3
- 4
3 How to create devices/device files in Linux
- 1 mkdev
- 2 mknod
- 3 lndev
- 4 None
4 What is a /dev/zero device in Linux?
- 1 A dummy device to represent memory
- 2 A dummy device to represent the processor
- 3 A dummy device to provide infinite number of zeros
- 4 None
5 What is /dev/full device in Linux?
- 1 A device file to represent that the current file system is full
- 2 A device file to test scenarios of testing a /dev/full
- 3 Invalid device
- 4 None
6 What is /dev/random device?
- 1 A dummy device to represent swap
- 2 A dummy device to represent any device
- 3 A dummy device to provide infinite number of randon numbers
- 4 Invalid device
7 Zombie process will have parent as init
- 1 True
- 2 False
- 3
- 4
8 The correct set of sequence for file operations for a file say 'test'
- 1 lseek(), open(), write(), close()
- 2 open(), write(), lseek(), close()
- 3 open(), lseek(), open(), , write() close()
- 4 None
9 Difference between fork() & vfork()
- 1 vforlk() allows more one child process to be created simaltaneously whereas for() allows only one
- 2 vfork() retains same PID for child & parent known as virtual PID
- 3 vfork() suspends the parent process until child process exits
- 4 fork() & vfork() are same
10 How can I get/set an environment variable from a program?
- 1 getenv(), setenv()
- 2 getenv(), putenv()
- 3 readenv(), writeenv()
- 4 You cannot environmement variables inside a program
11 What does alarm() do
- 1 Wakes up kernel from sleeping
- 2 Wakes up devices from sleeping
- 3 Invokes a kernel to send SIGALARM to the calling process
- 4 Invokes a kernel to send SIGALARM to the registered process
12 What is a shared memory
- 1 A memeory shared between kernel & devices
- 2 A memory shared between root user and ordinary user
- 3 A memory shared across processes
- 4 Harddisk
13 What is a zombie interval?
- 1 The interval between child terminating and the parent calling wait()
- 2 The interval between parent terminating and the child calling popen()
- 3 The interval between parent terminating and the child termination
- 4 None
14 How do I get my program to act like a daemon?
- 1 Run with root user
- 2 Run with &
- 3 Run with root user using &
- 4 None
15 Why do processes never decrease in size?
- 1 They never releases the memory utilized
- 2 They release the memory but kernel does not use them
- 3 Since they are running
- 4 It’s a false statement
16 How can I find out if someone else has a file open?
- 1 Its not possible
- 2 use isused() function
- 3 Try to open file with locking enabled
- 4 Try to write the file after opening
17 How do I `lock' a file?
- 1 Use filelock()
- 2 use lockfile()
- 3 Use lockfd()
- 4 use fcntl()
18 How do I find the size of a file inside a program?
- 1 Use ls -l
- 2 Use sizeof()
- 3 Use filesize()
- 4 Use fstat()
19 How can I tell how much memory my system has?
- 1 Use getmemory()
- 2 Use sysctl()
- 3 Use freemem()
- 4 Use malloc()
21 What is a socket
- 1 A port to connect printer 2
- A port to connect keyboard
- 3 An abstraction to pass data across processes
- 4 A hardware device
22 What is a semaphore
- 1 A mechanism to share non-sharable resources
- 2 A mechanism to access memory very fast
- 3 A mechanism to access kernel details
- 4 None