Last Sync: 2022-06-11 20:30:03
This commit is contained in:
parent
24980e4447
commit
e399738bdf
2 changed files with 58 additions and 2 deletions
|
@ -6,10 +6,10 @@ tags:
|
|||
|
||||
# Devices
|
||||
|
||||
Devices are hardware that require access to the CPU in order to function. Devices can either be external and pluged-in or internal to the motherboard. The most common type of device that you will work with are
|
||||
Devices are hardware that require access to the CPU in order to function. Devices can either be external and plugded-in or internal to the motherboard. The most common type of device that you will work with are
|
||||
[disks](./Disks.md).
|
||||
|
||||
Devices are files but they have some different capabilities that ordinary files. There are two types: **block** and **stream**. Device files reside in the `/dev/` directory.
|
||||
Devices are files but they have some different capabilities than ordinary files. There are two types: **block** and **stream**. Device files reside in the `/dev/` directory.
|
||||
|
||||
Some of the most important device files are:
|
||||
* `hda` : a harddisk on a port
|
||||
|
|
|
@ -5,3 +5,59 @@ tags:
|
|||
---
|
||||
|
||||
# Disks
|
||||
A disk is a mass storage [device](./Devices.md) which we can write to and read from.
|
||||
|
||||
## SCSI
|
||||
* Small Computer System Interface
|
||||
* Pronounced _scuzzy_.
|
||||
* It is a protocol that allows communicaton between printers, scanners and other peripherals in addition to harddisks.
|
||||
* The `/sda/` device that is the most common designation for the harddisk in Linux systems stands for *SCSI disk*.
|
||||
|
||||
## Disk schematic
|
||||
The following diagram represents the basic anatomy of a disk device.
|
||||
|
||||
* A disk is divided up into *partitions* which are subsections of the overall disk. The kernel presents each partition as a [block device](./Devices.md#Devices.md) as it would with an entire disk.
|
||||
* The disk dedicates a small part of its contents to a *partition table*: this defines the different partitions that comprise the total disk space.
|
||||
* The *filesystem* is a database of files and directories: this comprises the bulk of the partition and is of course what you interact with in [user space](./User_Space.md) when reading and writing data.
|
||||
|
||||
## Partitioning disks
|
||||
|
||||
### Viewing current partitions
|
||||
Whenever you install a Linux distribution on a real or virtual machine, you must partition the drive. There are three main tools that people choose from: `parted`, `g(raphical)parted`, `fdisk`.
|
||||
|
||||
We can use `parted -l` to view the partition table for the current machine:
|
||||
|
||||
```bash
|
||||
Model: SKHynix_HFS512GDE9X081N (nvme)
|
||||
Disk /dev/nvme0n1: 512GB
|
||||
Sector size (logical/physical): 512B/512B
|
||||
Partition Table: gpt
|
||||
Disk Flags:
|
||||
|
||||
Number Start End Size File system Name Flags
|
||||
1 1049kB 513MB 512MB fat32 boot, esp
|
||||
2 513MB 30.5GB 30.0GB ext4
|
||||
3 30.5GB 512GB 482GB ext4
|
||||
```
|
||||
|
||||
We can use `fdisk -l` to get slightly more info:
|
||||
|
||||
```bash
|
||||
disk /dev/nvme0n1: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
|
||||
Disk model: SKHynix_HFS512GDE9X081N
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
||||
Disklabel type: gpt
|
||||
Disk identifier: 08175E77-CB9F-C34A-9032-DF29A3F8F0FE
|
||||
|
||||
Device Start End Sectors Size Type
|
||||
/dev/nvme0n1p1 2048 1001471 999424 488M EFI System
|
||||
/dev/nvme0n1p2 1001472 59594751 58593280 27.9G Linux filesystem
|
||||
/dev/nvme0n1p3 59594752 1000214527 940619776 448.5G Linux filesystem
|
||||
```
|
||||
|
||||
So my main harddrive is `/dev/nvme0n1` and it has the standard three partitions:
|
||||
* Boot partition (`/dev/nvme0n1p1`)
|
||||
* Root dir (`/dev/nvme0n1p2`)
|
||||
* Home dir (`/dev/nvme0n1p3`)
|
Loading…
Add table
Reference in a new issue