Operating Systems 2015F: Assignment 2

From Soma-notes
Revision as of 15:09, 3 October 2015 by Soma (talk | contribs) (→‎Solutions)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This assignment is due by 11:59 PM on Wednesday, September 30, 2015 on cuLearn.

Choose the appropriate definition for the following terms:

  1. device driver
  2. kernel module
  3. character device
  4. block device
  5. make
  6. root filesystem
  7. fsck
  8. root user
  9. superblock
  10. inode
  11. extents
  12. logical size of a file
  13. kernel oops
  14. pseudo tty
  15. /proc
  16. /sys
  17. /dev
  18. mount
  19. lsmod

(rmmod was on the list but it didn't get added to the quiz unfortunately.)

Definitions:

  1. If you have to interact with this program, files may have been corrupted.
  2. Command to delete recently modified files in the current directory.
  3. The size of the disk space consumed by a file.
  4. Sequential ranges of blocks used to store file data.
  5. Code that runs in the kernel and abstracts access to a specific piece of hardware.
  6. A UNIX device abstraction that is primarily used for persistent storage devices.
  7. The block that stores most of the data in a file.
  8. A set of files and directories that must exist on every UNIX system.
  9. The default configuration of a user account on a UNIX system.
  10. The block that stores metadata about a filesystem needed to properly mount it.
  11. An on-disk data structure that stores file metadata including length, modification times, and ownership information.
  12. A virtual filesystem that allows access to kernel state where every file stores exactly one value.
  13. Code that is loaded into to the kernel at runtime in order to add (or change) kernel functionality.
  14. A device for determining how trustworthy a person is.
  15. The home directory of the root user.
  16. Happens when the kernel detects an internal error, such as access to an illegal memory location, that can generally be recovered from.
  17. A UNIX device that virtualizes keyboard input and text output.
  18. A command for listing the modules loaded into the kernel.
  19. Command to make the contents of a filesystem accessible.
  20. The size of a file as seen by a program accessing that file.
  21. A command that lists the recently modified files in a directory.
  22. A UNIX device abstraction that allows byte-level access to hardware (input and/or output). It is often used today to represent keyboards, mice, and printers.
  23. Command that unloads a module from the currently running kernel.
  24. The part of the filesystem normally used to give names to connected hardware.
  25. A program that directs the compilation of other programs.
  26. A virtual filesystem that allows access to kernel state in mostly human-readable formats.
  27. The user account on a UNIX system with the highest level of privileges.

Solutions

device driver

  • Code that runs in the kernel and abstracts access to a specific piece of hardware.

kernel module

  • Code that is loaded into to the kernel at runtime in order to add (or change) kernel functionality.

character device

  • A UNIX device abstraction that allows byte-level access to hardware (input and/or output). It is often used today to represent keyboards, mice, and printers.

block device

  • A UNIX device abstraction that is primarily used for persistent storage devices.

NONE (lie detector?!)

  • A device for determining how trustworthy a person is.

make

  • A program that directs the compilation of other programs.

root filesystem

  • A set of files and directories that must exist on every UNIX system.

fsck

  • If you have to interact with this program, files may have been corrupted.

NONE (normally /root, on older systems /)

  • The home directory of the root user.

root user

  • The user account on a UNIX system with the highest level of privileges.

NONE (???)

  • The default configuration of a user account on a UNIX system.

superblock

  • The block that stores metadata about a filesystem needed to properly mount it.

NONE (No one block stores most of the data in a file unless it is a small file, then it can be squeezed into the inode)

  • The block that stores most of the data in a file.

inode

  • An on-disk data structure that stores file metadata including length, modification times, and ownership information.

extents

  • Sequential ranges of blocks used to store file data.

logical size of a file

  • The size of a file as seen by a program accessing that file.

NONE (Not gramatically correct, "du" or "ls -s" returns the space consumed by a file)

  • The size of the disk space consumed by a file.

kernel oops

  • Happens when the kernel detects an internal error, such as access to an illegal memory location, that can generally be recovered from.

pseudo tty

  • A UNIX device that virtualizes keyboard input and text output.

/proc

  • A virtual filesystem that allows access to kernel state in mostly human-readable formats.

/sys

  • A virtual filesystem that allows access to kernel state where every file stores exactly one value.

/dev

  • The part of the filesystem normally used to give names to connected hardware.

mount

  • Command to make the contents of a filesystem accessible.

lsmod

  • A command for listing the modules loaded into the kernel.

NONE (ls -lt | head)

  • A command that lists the recently modified files in a directory.

rmmod

  • Command that unloads a module from the currently running kernel.

NONE (You'd have to use a combination of find and rm.)

  • Command to delete recently modified files in the current directory.