Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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 .

share|improve this question
    
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.) –  oosterwal Jan 4 '13 at 16:25

3 Answers 3

up vote 7 down vote accepted

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.

share|improve this answer
    
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 ? –  jsp99 Jan 4 '13 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). –  Joachim Sauer Jan 4 '13 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 . –  jsp99 Jan 4 '13 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.

share|improve this answer
1  
Very informative answer . Thanks :) –  jsp99 Jan 4 '13 at 8:40

It really depends on the type of ROM which is used (type of hardware):

  1. Can only be read - PROM (Programmable ROM) - it is is programmed only once and can only be read.
  2. 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.
  3. Can be read and written - EEPROM (Electrically Erasable Programmable ROM) - can be read/written like RAM but is volatile.
share|improve this answer
2  
EEPROM 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. –  Joachim Sauer Jan 4 '13 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. –  TMN Jan 4 '13 at 18:31

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.