Is a hard drive a computer?

Sometwo

Limp Gawd
Joined
Nov 7, 2004
Messages
202
A hard drive has a processor, OS, memory, storage space... Do you guys consider it a computer?
 
no because it's completely useless all by itself.

edit: if it had a GPU and mouse/KB/lan/usb/audio ports I'd reconsider.
 
Last edited:
no because it's completely useless all by itself

It's not a computer within a computer, or a different kind of computer? Technically a computer is useless all by itself too. They both have different requirements.
 
allright, I get you. A car is a car even if you can't drive it.

You, the software, and the OS control the drive, your control is limited. It has all the components of an computer. Look at the Rpi. Why is that a computer? Because it can run a major OS like Linux? The computer and OS are two different things. BTW you can interact with the OS on the drive, but like I said, it's limited.
 
no because it's completely useless all by itself.

edit: if it had a GPU and mouse/KB/lan/usb/audio ports I'd reconsider.

I disagree with your reasoning, but I do agree that a hard drive is not a computer. A computer is not build for one specific purpose, whereas a HDD can really only do one pre-programmed set of calculations.

GPU, and peripherals are not requirements for a computer, though some way to communicate with the device is (serial port as in the case with a router/ switch, or remote connectivity via LAN interface as in most servers)
 
You, the software, and the OS control the drive, your control is limited. It has all the components of an computer. Look at the Rpi. Why is that a computer? Because it can run a major OS like Linux? The computer and OS are two different things. BTW you can interact with the OS on the drive, but like I said, it's limited.

HDD = too specific
Computer needs to be more general purpose in its calculation capabilities to achieve a broader range of requirements.

At the end of the day, a HDD can only function as a HDD. A computer can fit into several roles with the only change being the OS/ software that runs on it.
 
BTW you can interact with the OS on the drive, but like I said, it's limited.

Firmware is not an operating system. Firmware is more like a driver for the hardware, whereas a driver is for the OS.
 
HDD = too specific
Computer needs to be more general purpose in its calculation capabilities to achieve a broader range of requirements.

At the end of the day, a HDD can only function as a HDD. A computer can fit into several roles with the only change being the OS/ software that runs on it.

Apparently the WD color drives are the same drive, but with a different OS that gives it different abilities. If WD gave us the ability to choose which firmware we wanted to put on it, or we could put open source firmware on it, would that make it a computer?

A lot of people view routers as highly specialized computers. If that's a computer, why isn't a hard drive? How many commands does the OS have to support before the hardware is considered a computer?
 
Please look ar computer definitions. .

a. digital computer analog computer See also hybrid computer a device, usually electronic, that processes data according to a set of instructions. The digital computer stores data in discrete units and performs arithmetical and logical operations at very high speed.

Stores data. Check.
Processes data. Check. It has error detection and correction algorithms, and probably more.
 
Apparently the WD color drives are the same drive, but with a different OS that gives it different abilities. If WD gave us the ability to choose which firmware we wanted to put on it, or we could put open source firmware on it, would that make it a computer?

No it would not. Firmware does not equal an OS. A HDD can only do one thing... act like a HDD. The CPU built into the hardware cannot do any other calculations. The arithmetic functions must be built into the CPU, and the capabilities of low level hardware will never and are not supposed to match those of a main CPU.

A lot of people view routers as highly specialized computers. If that's a computer, why isn't a hard drive? How many commands does the OS have to support before the hardware is considered a computer?

You can turn any computer into a router (routing is a set of software based rules), can you turn any computer into a HDD? Its not the OS that has to support anything, its the hardware that has to support the commands. The hardware in a HDD is only designed for one specific function, and the firmware (as with any firmware) is only designed to interact with that hardware for support of that function.

Can I take a HDD and load up any code to do anything other than function as a HDD and have it work? The answer is no, not without changing the hardware... which brings me back to my original point, its too specific and by nature is not a computer. Computers must be general purpose.

Can I take any consumer grade router and change its role via software? Yes... routers run unix based OS's over top of their firmware. Mind you, the hardware is not powerful by any means, but you still could change the role of the router away from routing.
 
a. digital computer analog computer See also hybrid computer a device, usually electronic, that processes data according to a set of instructions. The digital computer stores data in discrete units and performs arithmetical and logical operations at very high speed.

Stores data. Check.
Processes data. Check. It has error detection and correction algorithms, and probably more.

error detection and correction are features, not mathematical algorithms. I dont think HDDs even have a CPU. I think they have a series of chips that serve different functions/ logic.
 
My thermostat is a computer. It can only control one thing - the heat pump.

HDs are computers.
 
No it would not. Firmware does not equal an OS. A HDD can only do one thing... act like a HDD. The CPU built into the hardware cannot do any other calculations. The arithmetic functions must be built into the CPU, and the capabilities of low level hardware will never and are not supposed to match those of a main CPU.



You can turn any computer into a router (routing is a set of software based rules), can you turn any computer into a HDD? Its not the OS that has to support anything, its the hardware that has to support the commands. The hardware in a HDD is only designed for one specific function, and the firmware (as with any firmware) is only designed to interact with that hardware for support of that function.

Can I take a HDD and load up any code to do anything other than function as a HDD and have it work? The answer is no, not without changing the hardware... which brings me back to my original point, its too specific and by nature is not a computer. Computers must be general purpose.

Can I take any consumer grade router and change its role via software? Yes... routers run unix based OS's over top of their firmware. Mind you, the hardware is not powerful by any means, but you still could change the role of the router away from routing.

Here's a guy who hacked the firmware of a hard drive to get it to do something else, similar to how people hacked the consumer grade routers you mentioned.

Attacker breaks into computer, updates the firmware and if the admin wipes the drive and reinstalls the OS, the attacker can still get back in. If that can be done, can't other capabilities be added?

With the firmware hack in place, however, the attacker could tell the hard disk to do something nefarious with the new install. He'd need to trigger that behaviour first, though, and that could be done by writing a certain magic string the firmware hack would look for to the disk. The magic string can be in any file; the attacker could for example upload a .jpeg-file with the string in it to the server. He could also request a file from the webserver with the magic string appended to the URL. That would eventually end up in the logs of the machines, triggering the exploit.

The hard disk firmware hack would then do something nefarious. For example, it could wait for the machine to read out the file /etc/shadow, where all the passwords are stored on an Unix/Linux system, and modify the contents on-the-fly to something the attacker hardcoded earlier. When the attacker would then try to log into the system with his own password, the machine would check this password against the now-modified /etc/shadow and the attacker would be free to login again.

http://spritesmods.com/?art=hddhack&page=6
 
My thermostat is a computer. It can only control one thing - the heat pump.

HDs are computers.

I disagree (even if you have one that you can schedule), unless you have a Nest or something similar.
 
Here's a guy who hacked the firmware of a hard drive to get it to do something else, similar to how people hacked the consumer grade routers you mentioned.

Attacker breaks into computer, updates the firmware and if the admin wipes the drive and reinstalls the OS, the attacker can still get back in. If that can be done, can't other capabilities be added?

Very cool article, though it was mostly theory. But as interesting (and potentially scary) as that attack is, he still didnt change the basic functionality of the hard drive with this firmware hack (the hardware can still only read/ write). Instead has a pre-programmed write installed into its memory that needs intervention to execute (again, in theory)

Is a digital watch that only keeps date/ time a computer? Of course I'm in the 'No' camp, but if a t-stat is brought up, this is another good item to lump into the discussion.
 
the defining feature of a computer to me is 'a human can interact with it directly'.

by that definition a thermostat is a computer while an ordinary HD is not. same with a graphics card. but home routers, would be considered a computer, TV, DVD player, PS3, all computers.

anyone here know anything about Tron OS? (no, not the movie)
 
I dont think HDDs even have a CPU. I think they have a series of chips that serve different functions/ logic.

I am incorrect- HDDs do in fact have a multipurpose CPU (and a pretty decent one with a 3-core ARMv5 architecture) according to this article http://spritesmods.com/?art=hddhack&page=3

So with that said, I change my stance. A HDD is a computer (at least the new ones with these multipurpose CPUs). These can handle different instruction sets and (at least in theory) do other tasks than typical HDD
 
the defining feature of a computer to me is 'a human can interact with it directly'.

by that definition a thermostat is a computer while an ordinary HD is not. same with a graphics card. but home routers, would be considered a computer, TV, DVD player, PS3, all computers.

anyone here know anything about Tron OS? (no, not the movie)

I can understand that reasoning, but I don't think that's an "official" requirement of a computer.
 
I am incorrect- HDDs do in fact have a multipurpose CPU (and a pretty decent one with a 3-core ARMv5 architecture) according to this article http://spritesmods.com/?art=hddhack&page=3

So with that said, I change my stance. A HDD is a computer (at least the new ones with these multipurpose CPUs). These can handle different instruction sets and (at least in theory) do other tasks than typical HDD

I guess settles it, thanks. :)
 
A hard drive contains a processor.
It isnt one itself otherwise a computer case would be a computer.
 
I guess settles it, thanks. :)

Reading the rest of the article, the guy even installs a version of linux with the buffer acting as the HDD. Which is kinda comical.

Essentially, you could take the PCB off a HDD and still have a working computer.
 
Reading the rest of the article, the guy even installs a version of linux with the buffer acting as the HDD. Which is kinda comical.

Essentially, you could take the PCB off a HDD and still have a working computer.

Not unless you have a specialized firmware for the HDD PCB since a HDD PCB generally will not even detect in BIOS if there is no actual HDD attached to it unless things have changed recently.
 
Not unless you have a specialized firmware for the HDD PCB since a HDD PCB generally will not even detect in BIOS if there is no actual HDD attached to it unless things have changed recently.

I meant outside of a computer. You could wire up power to just the HDD PCB and use it as a computer. The PCB the article uses even has specifications for a serial port which could be the output.
 
a hard drive still fits in more with SBCs then true computers. (not Small Block Chevy. Single Board Controller) basically they are single purpose limited interface computers. that also fits in with my previous description. while its not an official definition, it still fits.

so, how many different kinds of 'computers' do you want to define?
 
If it has a microprocessor it is a computer in my book, and HDDs qualify. It my not be a PC, but it is a computer in the most general sense of the word.
 
From a theory perspective, computers are (almost) Turing Machines which work on Type 0 Languages. Turing Machines, in short, is a "hypothetical device that manipulates symbols on a strip of tape according to a table of rules" (from Wiki). Thus human interface is not required, nor do many auxiliary/peripheral devices contained in a modern PC. Microprocessors/CPUs in the computer is the main reason for a computer to be a computer because it processes data according to logic.

A long way after the first computer was invented (ENIAC, being (almost) Turing-complete), central processor chips always stays as (almost) Turing-complete, meaning, the devices that use these chips are (almost) Turing Machines, thus computers.

For example, early computers use Intel's 8088 (predecessor of 8088/80286/80386/80486/etc) chips as CPUs. They are definitely considered as computers because they closely mimic modern PC's form factor and have all the capabilities, although much slower in performance. Nowadays washing machines can utilize this 8088 chip in controlling the washing sequence according to input from users pressing buttons. They are still considered as computers because, if you rewrite the firmware to ask the 8088 CPU to calculate 1+1=2, it can. Even more, it can calculate whatever early computers that use this chip can.

HDDs, according to J-Will, uses 3-core ARMv5 processors, which are also general purpose CPUs just like the 8088 chips, and are even more powerful than them. If you rewrite the firmware just like the washing machine example, you got a computer that is Turing-complete.

------------------------------------

Now to be REALLY precise on the theory, Turing Machines is a model that is composed of a (potentially unlimited amount of) storage space containing the initial input data, a pointer pointing at a certain location in the storage space, a finite number of registers indicating which state the machine is in, and a finite umber of instructions (programming logic). According to this, a modern PC is almost Turing-complete because it does not have unlimited amount of storage (but a good hefty of it, especially considering the forum we are in:). However for all practical purposes we consider modern PCs are Turing-complete, as well as HDDs.

------------------------------------

In summary, to be a computer:

- a general purpose CPU (found in computers, washing machines, elevators,cellphones, HDDs, RAID cards, video cards, SoC, etc);

- some storage space (found as CPU registers, CPU L1/L2/L3 caches, main memory, HDD discs, tapes, CDs, flash chips/EEPROMs, etc.);

- input data (from SATA data cable as with HDDs, button pressing as with washing machines, keyboards and mouses as with modern PCs, etc)

- certain programming logic (such as firmwares, not necessary as general as an complete OS + software runs on top of it);

So, yes, HDDs can be considered as computers.
 
An HDD has a cpu and can be programmed by flashing its BIOS. So it should be a computer. Even a keyboard has a cpu and some registers, so a keyboard is also a computer.

It depends on how you define "comptuer". Check it up on wikipedia.
 
Finally Turing gets a mention. When you buy an HDD, it's clearly not a computer, because it's not Turing complete (and really by itself you can't even turn it on !).

Now, if you add a PSU, a way to interact with it (without a motherboard, CPU etc., else it doesn't make sense), and replace its firmware, then yes, it has all the hardware needed to be a computer. But as is, I would say no.
 
Finally Turing gets a mention. When you buy an HDD, it's clearly not a computer, because it's not Turing complete (and really by itself you can't even turn it on !).

Now, if you add a PSU, a way to interact with it (without a motherboard, CPU etc., else it doesn't make sense), and replace its firmware, then yes, it has all the hardware needed to be a computer. But as is, I would say no.

Computers need not be Turing complete.

From wiki: "A computer is a general purpose device that can be programmed to carry out a set of arithmetic or logical operations."

Not much is required for a computer.
 
Computers need not be Turing complete.

From wiki: "A computer is a general purpose device that can be programmed to carry out a set of arithmetic or logical operations."

Not much is required for a computer.

The poster you quoted is incorrect, anyway. You can can approximate a Turing machine with just hardware in modern hard drive. The programmable micro controllers by themselves meet the criteria.
 
Computers need not be Turing complete.

From wiki: "A computer is a general purpose device that can be programmed to carry out a set of arithmetic or logical operations."

Not much is required for a computer.

I would argue that a hard drive is not general purpose but a device that serves a specific function.
 
I would argue that a hard drive is not general purpose but a device that serves a specific function.

And you'd be right. But I think what seals if for me, is that using the same hardware, you could use a HDD for general purpose with slight modification to its OS.
 
And you'd be right. But I think what seals if for me, is that using the same hardware, you could use a HDD for general purpose with slight modification to its OS.

Specifically not.
It doesnt have the i/o for general purpose use.
 
Specifically not.
It doesnt have the i/o for general purpose use.

Well, if you want to get nitpicky I think they have serial ports. Don't think those are really usable though.

I recall that being one way to recover the (in)famous 7200.11 drives after they went non-responsive.
 
I would argue that a hard drive is not general purpose but a device that serves a specific function.

The question was is a harddrive a computer, not is it a general purpose device. It is a computer by most reasonable definitions (though it is not a personal computer).
 
Back
Top