Operating Systems 2015F: Assignment 2: Difference between revisions

From Soma-notes
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 59: Line 59:
==Solutions==
==Solutions==


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


* kernel module
'''device driver'''
Code that is loaded into to the kernel at runtime in order to add (or change) kernel functionality.
* Code that runs in the kernel and abstracts access to a specific piece of hardware.


* character device
'''kernel module'''
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.
* Code that is loaded into to the kernel at runtime in order to add (or change) kernel functionality.


* block device
'''character device'''
A UNIX device abstraction that is primarily used for persistent storage devices.
* 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.


* NONE
'''block device'''
A device for determining how trustworthy a person is.
* A UNIX device abstraction that is primarily used for persistent storage devices.


* make
'''NONE''' (lie detector?!)
A program that directs the compilation of other programs.
* A device for determining how trustworthy a person is.


* root filesystem
'''make'''
A set of files and directories that must exist on every UNIX system.
* A program that directs the compilation of other programs.


* fsck
'''root filesystem'''
If you have to interact with this program, files may have been corrupted.
* A set of files and directories that must exist on every UNIX system.


* NONE
'''fsck'''
The home directory of the root user.
* If you have to interact with this program, files may have been corrupted.


* root user
'''NONE''' (normally /root, on older systems /)
The user account on a UNIX system with the highest level of privileges.
* The home directory of the root user.


* NONE
'''root user'''
The default configuration of a user account on a UNIX system.
* The user account on a UNIX system with the highest level of privileges.


* superblock
'''NONE''' (???)
The block that stores metadata about a filesystem needed to properly mount it.
* The default configuration of a user account on a UNIX system.


* NONE
'''superblock'''
The block that stores most of the data in a file.
* The block that stores metadata about a filesystem needed to properly mount it.


* inode
'''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)
An on-disk data structure that stores file metadata including length, modification times, and ownership information.
* The block that stores most of the data in a file.


* extents
'''inode'''
Sequential ranges of blocks used to store file data.
* An on-disk data structure that stores file metadata including length, modification times, and ownership information.


* logical size of a file
'''extents'''
The size of a file as seen by a program accessing that file.
* Sequential ranges of blocks used to store file data.


* NONE
'''logical size of a file'''
The size of the disk space consumed by a file.
* The size of a file as seen by a program accessing that file.


* kernel oops
'''NONE''' (Not gramatically correct, "du" or "ls -s" returns the space consumed by a file)
Happens when the kernel detects an internal error, such as access to an illegal memory location, that can generally be recovered from.
* The size of the disk space consumed by a file.


* pseudo tty
'''kernel oops'''
A UNIX device that virtualizes keyboard input and text output.
* Happens when the kernel detects an internal error, such as access to an illegal memory location, that can generally be recovered from.


* /proc
'''pseudo tty'''
A virtual filesystem that allows access to kernel state in mostly human-readable formats.
* A UNIX device that virtualizes keyboard input and text output.


* /sys
'''/proc'''
A virtual filesystem that allows access to kernel state where every file stores exactly one value.
* A virtual filesystem that allows access to kernel state in mostly human-readable formats.


* /dev
'''/sys'''
The part of the filesystem normally used to give names to connected hardware.
* A virtual filesystem that allows access to kernel state where every file stores exactly one value.


* mount
'''/dev'''
Command to make the contents of a filesystem accessible.
* The part of the filesystem normally used to give names to connected hardware.


* lsmod
'''mount'''
A command for listing the modules loaded into the kernel.
* Command to make the contents of a filesystem accessible.


* NONE
'''lsmod'''
A command that lists the recently modified files in a directory.
* A command for listing the modules loaded into the kernel.


* rmmod
'''NONE''' (ls -lt | head)
Command that unloads a module from the currently running kernel.
* A command that lists the recently modified files in a directory.


* NONE
'''rmmod'''
Command to delete recently modified files in the current directory.
* 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.

Latest revision as of 19:09, 3 October 2015

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.