Operating Systems 2015F: Assignment 3: Difference between revisions
| No edit summary | No edit summary | ||
| Line 20: | Line 20: | ||
| #* DVD drive | #* DVD drive | ||
| #* All of the above | #* All 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 | |||
| # 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 | |||
| # 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? | # 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 | #* Data blocks | ||
| Line 35: | Line 46: | ||
| #* Both (a) and (b) | #* Both (a) and (b) | ||
| #* None of the above. | #* None of the above. | ||
Revision as of 18:12, 3 October 2015
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 kernel code?
- Open a file
- Display text on the screen
- Send data over a socket
- All of the above
 
- 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
 
- 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
 
- Which of the following is a character/stream device?
- Hard Disk drive
- Sound card (audio device)
- DVD drive
- All 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
 
- 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
 
- 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
 
- 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.
 
- Without errors, what does the fork system call return?
- the child’s process ID
- 0
- Both (a) and (b)
- None of the above.