OPS435 Python Assignment 2 C

From CDOT Wiki
Revision as of 23:53, 2 April 2018 by Rchan (talk | contribs) (Module name, function names, function parameter(s) and return values)
Jump to: navigation, search

Overview

In order to use a physical storage device (e.g. Hard Disk, USB Flash memeory, SSD, etc.), the first step is to create partition(s) on it. There many different ways to partition a physical storage device. The two most common partition schemes used on Intel based micro-computer systems are MBR and GPT. Detail about the MBR partition scheme can be found here, and GPT partition scheme can be found at [1].

On most Linux systems, fdisk or parted can be used to create, view, and manage MBR and GPT partition.

The task for this assignment is to write a python module named "partinfo.py", which contains at least three functions: part_scheme(), mbr_part(), gpt_part().


Instruction

Module name, function names, function parameter(s) and return values

Name your python module as "partinfo.py". The module should contains at least the following 3 functions:

  • part_scheme() - which when called with a valid physical storage device name, will return the partition scheme used on the device. The return value should only be
    • None - no valid partition scheme found on the device
    • MBR - MBR partitions is/are found on the device
    • GPT - GUID partitions is/are found on the device
  • mbr_part() - which when called with a valid physical storage device name, will return all the partitions (primary, extended, and logical) found on the device. Each partition information return must contain the following fields:
    • partition number
    • partition flag (bootable or not)
    • partition type
    • start sector number (in LBA mode)
    • size of partition in sectors
  • gpt_part() - which when called with a valid physical storage device name, will return all the partitions found on the device. Each partition information return must contain the following fields:
    • Partition type GUID
    • Unique partition GUID
    • First LBA sector of the partition
    • Last LBA sector of the partition
    • Attribute flags
    • Partition name

Resources