Operating Systems 2015F: Assignment 1

From Soma-notes

Please submit your answers to the following on CULearn. This assignment is due before class on September 23, 2015.

Choose the *most* accurate definition for the following terms/concepts:

  1. system calls
  2. function calls
  3. library calls
  4. process
  5. fork
  6. execve
  7. file
  8. filesystem
  9. signal
  10. library
  11. kernel
  12. environment variable
  13. shell variable
  14. zombie process

Definitions:

  1. A system call that creates a new process by creating a logical copy of the current process.
  2. The part of the operating system that runs in supervisor mode on the CPU and has the code that is run for all interrupts
  3. A stream of bytes associated with a hierarchical name.
  4. The API used by a process to access outside resources (disk/user input/network)
  5. A variable that can only be accessed within the current shell.
  6. A variable that can be accessed within the current process and in child processes (unless filtered).
  7. A variable that can be accessed globally by all processes.
  8. A process that has terminated but its parent has not retrieved its return value.
  9. An indexed collection of object files that may be linked into a program.
  10. A system call that loads an executable into the current process and runs it (erasing the process's old code and data).
  11. A schedulable entity with its own CPU context that can share its memory with other schedulable entities.
  12. A type of inter-process communication that is also used in UNIX to manage processes.
  13. An invocation of code present inside of a process that was included when the program was compiled.
  14. A system call that creates a new process, loads an executable, and runs it in the new process.
  15. An invocation of code present inside of a process that was loaded into the process at runtime.
  16. A system call to get the return value of a process that has terminated.
  17. The main abstraction for running programs that gives each program its own memory and virtual CPU.
  18. A hierarchical collection of key/value pairs, where the values are streams of bytes of arbitrary length.
  19. A device for storing data.
  20. The first process that runs on a UNIX-like system.

Solutions

  1. fork: A system call that creates a new process by creating a logical copy of the current process.
  2. kernel: The part of the operating system that runs in supervisor mode on the CPU and has the code that is run for all interrupts
  3. file: A stream of bytes associated with a hierarchical name.
  4. system calls: The API used by a process to access outside resources (disk/user input/network)
  5. shell variables: A variable that can only be accessed within the current shell.
  6. environment variables: A variable that can be accessed within the current process and in child processes (unless filtered).
  7. (NONE): A variable that can be accessed globally by all processes.
  8. zombie process: A process that has terminated but its parent has not retrieved its return value.
  9. library: An indexed collection of object files that may be linked into a program.
  10. execve: A system call that loads an executable into the current process and runs it (erasing the process's old code and data).
  11. (NONE - thread): A schedulable entity with its own CPU context that can share its memory with other schedulable entities.
  12. signals: A type of inter-process communication that is also used in UNIX to manage processes.
  13. function call: An invocation of code present inside of a process that was included when the program was compiled.
  14. (NONE - CreateProcess on Windows): A system call that creates a new process, loads an executable, and runs it in the new process.
  15. library call: An invocation of code present inside of a process that was loaded into the process at runtime.
  16. (NONE - wait): A system call to get the return value of a process that has terminated.
  17. process: The main abstraction for running programs that gives each program its own memory and virtual CPU.
  18. filesystem: A hierarchical collection of key/value pairs, where the values are streams of bytes of arbitrary length.
  19. (NONE - disk?): A device for storing data.
  20. (NONE - init): The first process that runs on a UNIX-like system.