OPS435 Python Assignment 2 C
Contents
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(), which can be used to retrieve partition information from a specified physical storage device.
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
Module and function documentation
Use the python docstring to provide embedded documentation for the module "partinfo.py" and the functions in it.