ROM - Read Only Memory
Does this term mean the memory which should only be read and not written to , or the memory which can only be read ?
"ROM in PC's and laptops are usually seperate chips in the motherboard where BIOS is present (Please correct me if I am wrong) . Can they be overwritten (I guess we can) ?
When we consider an android phone , it gets really confusing . What is the difference between ROM and "internal memory" in an Android phone ? It seems the same .
-
In my younger years learning programming on a Xerox Sigma 6 mainframe, the compiled files that were linked to create an executable were called Relocatable Object Models (ROM.)– oosterwalCommented Jan 4, 2013 at 16:25
3 Answers
True ROM is extremely rare nowadays. Most everything that used to be ROM is actually non-volatile RAM, like flash memory. However, people occasionally use the term to refer to data that could be put into ROM if we were so inclined. Usually the operating system uses the MMU to prevent any writes.
The Android operating system allows providers to install software that the user is unable to erase without rooting the device. Thus, from the user's point of view that memory is effectively read only, even though it might physically reside on the exact same chip as memory the user thinks of as read/write.
-
So , 'generally' , in Android phones and many others (which I am not aware of) , the same hardware (I guess , NAND flash) is used as our 'ROM' and also as our internal 'storage' ? It is more of a software issue to designate part of the memory as 'ROM' . Is that right ? Commented Jan 4, 2013 at 8:36
-
@Appy: if I remember correctly Android used to store the system ("ROM") and user settings/applications on two separate partitions (that could be stored on separate devices, but weren't necessarily). Recently (in the ICS era) it switched to a model where system and user space shared a partition (to avoid "wasted" free space on the system partition). Commented Jan 4, 2013 at 10:39
-
@JoachimSauer .. In the above context you used ROM as "content of ROM" (right?) . Another small issue .. In the world of PC's and Laptops , ROM (meaning the content of ROM) referred to usually very low level stuff like BIOS . OS is on the hard-disk . But in case of Android , ROM (meaning the content of ROM) means OS (primarily) and I dont think bootloader comes under ROM . It looks like exaclty opposite usage in a way . Please correct me if I am wrong . Commented Jan 4, 2013 at 12:48
As Karl explained true ROM memory is very rare (and used in pretty specialized uses). Most memory that's referred to as ROM is actually re-writable these days, that does include the BIOS of pretty much every modern PC.
Also, the term "ROM" has been used to refer to the content of that ROM memory. For example, distributions of the Android operating system are often referred to as "ROMs" (ROM Manager is a popular application for managing the OS on a rooted Android device). This particular case shows that even when the system was never stored on real ROM memory, the fact that for the average user the memory is considered "read-only" leads to it being called ROM.
It really depends on the type of ROM which is used (type of hardware):
- Can only be read - PROM (Programmable ROM) - it is is programmed only once and can only be read.
- Usually can only be read - EPROM (Erasable Programmable ROM) - can be erased by strong UV light, but this is not a typical/easy process so it is only read usually.
- Can be read and written - EEPROM (Electrically Erasable Programmable ROM) - can be read/written like RAM but is volatile.
-
2EEPROM is non-volatile. Also, those 3 are not the only possible options, there's also mask-programmed ROM that's not programmable, instead it's produced with specific values already stored. Commented Jan 4, 2013 at 10:41
-
EEPROM is also not quite "read/written like RAM": it usually requires a higher-voltage signal than standard RAM chips. And of course no discussion of non-volatile memory would be complete without a shout out to bubble memory.– TMNCommented Jan 4, 2013 at 18:31