A hard disk is different from your computer memory and cpu in that it doesn't use transistors to store and process bits of 1 and 0 data.
A spinning disk reads 1s and 0s with ferromagnetic material, it means it can magnetically charge. A hard disk is divided into billions of tiny little magnetic regions. Each magnetic region can be magnetically changed to be positive or negative. A single region is used to represent a single digit of binary.
The disk is placed on a central spindle. An actuator arm is place on top of the disk at a millimeter. The arm sends very subtle magnetic charges to the disk and the ability to interpret the ones that are already there. This is know as reading and writing information.
The arm leaves a pattern of charges along the spinning disk. That's writing data.
When you run a program, or said pattern/picture, the actuator goes back to where it put that pattern of magnetic charges, interprets and send it back to cpu or ram.
How does it know where data is stored?
1. cache - found in disk, ram, or cpu. precise map on where data is stored. faster load time. crated when data needs to be accessed quickly or frequently. stored in disk but a copy made on ram because it needs to be accessed quickly and frequently.
2. file allocation table - disk is divided into areas, track with rings around the drive, each track is divided in sectors, each sector divided into clusters.
When disks writes data it leaves in the ring a small piece of data specifying in what cluster is the data stored.
hard disk drives, or HDD, for storage are slower than solid state (transistors) drives, or SSD, for storage. But HDD can store more data, like 3000 GB, than 500 GB for the SSD for example.
Optimal system has SSD for speed for the Operating System and programs, and disk for data storage.