Operating Systems 2015F: Assignment 3

From Soma-notes
Revision as of 14:11, 3 October 2015 by Soma (talk | contribs) (Created page with "Please answer the following questions on cuLearn by 8 PM on Tuesday, October 6th. # What is something that userspace programs can do easily that is difficult to do from kerne...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Please answer the following questions on cuLearn by 8 PM on Tuesday, October 6th.

  1. What is something that userspace programs can do easily that is difficult to do from kernel code?
    • Open a file
    • Display text on the screen
    • Send data over a socket
    • All of the above
  2. System calls are used to access the kernel because...
    • The kernel runs in a separate process
    • function calls are too slow
    • processes cannot see kernel memory
  3. You can create a new process running an executable by...
    • making an execve system call
    • making a fork system call
    • Both A and B
    • None of the above
  4. Which of the following is a character/stream device?
    • Hard Disk drive
    • Sound card (audio device)
    • DVD drive
    • All of the above
  5. In playing around with the dd command in /dev you accidentally overwrote a small part of a USB drive formatted with an ext4 filesystem. You run fsck and repair the filesystem. No files have been corrupted; however, you find a directory that had a few files is now empty, and its files have now appeared /lost+found but with seemingly random numeric filenames (like #5123). What part of the filesystem did you overwrite?
    • Data blocks
    • inodes
    • directory blocks
    • All of the above
  6. There is a directory called /mydisk, and in this directory there are three files, A, B, and C. You run the command "mount /dev/sdb1 /mydisk"; afterwards you see that /mydisk contains the file B along with a directory lost+found. We see the file B but not the files A and C because...
    • A, B, and C still exist but are now hidden; the file B that we see is a different file that just happens to have the same filename B.
    • A and C got randomly erased by the mount command but B was left alone.
    • lost+found contains the old A, B, and C
    • None of the above.
  7. Without errors, what does the fork system call return?
    1. the child’s process ID
    2. 0
    3. Both (a) and (b)
    4. None of the above.


If a process creates many child processes then changes an environment variable X...

  • X is also changed in its parent process
  • X is changed in all child processes
  • Wait, a process cannot change its environment variables
  • None of the above


Standard C library routines such as printf are available in the kernel. true or false


If a process makes many system calls (as seen by strace) but produces no library calls (as seen by ltrace), what is a reasonable assumption regarding the program?

  • The process is multithreaded
  • The dynamic linker is broken
  • The process is running as root
  • The process was statically linked