# Mr. Svin's stupid computer questions thread

**URL:** <https://boards.straightdope.com/t/mr-svins-stupid-computer-questions-thread/292417>\
**Category:** Factual Questions\
**Created:** [March 1, 2005, 12:40pm UTC](https://boards.straightdope.com/t/mr-svins-stupid-computer-questions-thread/292417 "2005-03-01T12:40:18Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mr.Svinlesha](https://avatars.discourse-cdn.com/v4/letter/m/22d042/32.png) [@Mr.Svinlesha](https://boards.straightdope.com/u/Mr.Svinlesha)\
**Post date:** [March 1, 2005, 12:40pm UTC](https://boards.straightdope.com/t/mr-svins-stupid-computer-questions-thread/292417/1 "2005-03-01T12:40:18Z")

</div>

When it comes to my computer I feel as if I possess a very great deal of information resting on a sea of near-total ignorance. I can tell ya which browser is the best, or which latest spyware program is worth downloading, etc, but dig down a bit below the surface and you’ll find, I fear, that I don’t really understand this stuff in any real depth. I’ve therefore decided to start this thread so as to fearlessly ask all of those really basic, stupid questions about my computer that I don’t know the answer to. I invite other posters to freely post their stupid questions here as well, should they be so moved. Any good tips on useful internet resources regarding these questions are also gratefully accepted.  
Okay, ready? Here are my first few stupid questions:

1. What’s a registry? What’s a registry key? What does a registry do, specifically?

2. What, specifically, is the difference between http and ftp? How do they work?

3. What is a firewall, exactly? I mean, I use Zone Alarm, so I know what a firewall is, but not exactly _what_ it is, if you understand my question. What does it protect my computer from? How does it work?

4. What’s FAT-32?

5. Which is better, Mac or PC? Just kidding.

6. What information on the computer should be regularly backed up?

7. And finally, probably my most monumentally stupefying question of all: when I type the letter “h” on my keyboard, I see an “h” appear on my monitor screen.

Man, how do it do that?

I’ll be back later, undoubtedly with more, possibly even stupider, questions.

---

<div class="post-metadata">

**Author:** ![MannyL](https://avatars.discourse-cdn.com/v4/letter/m/ba8739/32.png) [@MannyL](https://boards.straightdope.com/u/MannyL)\
**Post date:** [March 1, 2005, 1:14pm UTC](https://boards.straightdope.com/t/mr-svins-stupid-computer-questions-thread/292417/2 "2005-03-01T13:14:45Z")

</div>

> [@Mr. Svinlesha](#):
>
> When it comes to my computer I feel as if I possess a very great deal of information resting on a sea of near-total ignorance. I can tell ya which browser is the best, or which latest spyware program is worth downloading, etc, but dig down a bit below the surface and you’ll find, I fear, that I don’t really understand this stuff in any real depth. I’ve therefore decided to start this thread so as to fearlessly ask all of those really basic, stupid questions about my computer that I don’t know the answer to. I invite other posters to freely post their stupid questions here as well, should they be so moved. Any good tips on useful internet resources regarding these questions are also gratefully accepted.  
> Okay, ready? Here are my first few stupid questions:
> 
> 1. What’s a registry? What’s a registry key? What does a registry do, specifically?

The registry is a local database with data relating to what hardware and software you have installed and various system settings.

A registry key is just one peice peice of data written as a keyvalue then the value of that key. Another software program reads that key and acts on the value in it.

The registry allows you to store settings for programs in one location using a binary format. Previously the setteings were stored in mutiple .ini files for the system and each application had its own .ini file for local settings

> [@Mr. Svinlesha](#):
>
> 1. What, specifically, is the difference between http and ftp? How do they work?

http is hypertext transport protocol and ftp is file transfer protocol.

The Hyper Text Transfer Protocol is the protocol used between a Web browser and a server to request a document and transfer its contents. The specification is maintained and developed by the World Wide Web Consortium.

FTP stands for File Transfer Protocol. FTP is the best means for moving large files across the Internet. FTP is a client/server protocol that enables a user with an FTP client to log on to a remote machine, navigate the file system of that remote machine, and upload and download files from that machine. There are two basic types of FTP on the Internet, anonymous ftp and private ftp. With anonymous ftp, one logs in as user anonymous, giving one’s email address as a password. With private FTP, one logs in with the username and password one has established on that particular system. You are logged into your home directory, with all the file permissions you would normally have there

> [@Mr. Svinlesha](#):
>
> 1. What is a firewall, exactly? I mean, I use Zone Alarm, so I know what a firewall is, but not exactly _what_ it is, if you understand my question. What does it protect my computer from? How does it work?

A firewall is software or hardware which intercepts all inbound and outbound communcication. It is supposed to only let through legitimate data on ports that you allow traffic on. A Firewall is intended to help keep hackers out of your system by not letting their attack data come in.

> [@Mr. Svinlesha](#):
>
> 1. What’s FAT-32?

Fat 32 is a 32 bit version of Microsoft’s FAT format. FAT stands for File Allication Table. The location of every peice of data on a drive is stored in a table on the hard drive.  
FAT32 uses 32 bits to address each cluster and can support drives as big as two Terabytes. The older FAT used 16-bits to address each cluster and was limited to drive sizes of 512 Mb. Each cluster in a FAT32 system is only 4 Kb which also helps to save space on your hard drive.

> [@Mr. Svinlesha](#):
>
> 1. Which is better, Mac or PC? Just kidding.

The C=64 of course

> [@Mr. Svinlesha](#):
>
> 1. What information on the computer should be regularly backed up?

In the home environment all datafiles you create should be backed up. It’s easier to restore the Operating System then your applications from scratch and then restore you data

In a buiness environmnet you should backup the entire system using an imaging program so you have a faster restore method.

> [@Mr. Svinlesha](#):
>
> 1. And finally, probably my most monumentally stupefying question of all: when I type the letter “h” on my keyboard, I see an “h” appear on my monitor screen.
> 
> Man, how do it do that?

When you hit a key on the keybord, that sends an electrical signal to a keyboard controller chip which sends a character code to the OS. When the OS gets the character code it looks up what character that represents and displays it. If you load a different key code file your keys will become different characters.  
I’m sure others will have posted the same info before I finish this post

---

<div class="post-metadata">

**Author:** ![spingears](https://avatars.discourse-cdn.com/v4/letter/s/ebca7d/32.png) [@spingears](https://boards.straightdope.com/u/spingears)\
**Post date:** [March 1, 2005, 1:16pm UTC](https://boards.straightdope.com/t/mr-svins-stupid-computer-questions-thread/292417/3 "2005-03-01T13:16:09Z")

</div>

> [@Mr. Svinlesha](#):
>
> Okay, ready? Here are my first few stupid questions:
> 
> 1. What’s a registry? What’s a registry key? What does a registry do, specifically?
> 2. What, specifically, is the difference between http and ftp? How do they work?
> 3. What is a firewall, exactly? I mean, I use Zone Alarm, so I know what a firewall is, but not exactly _what_ it is, if you understand my question. What does it protect my computer from? How does it work?
> 4. What’s FAT-32?
> 5. Which is better, Mac or PC? Just kidding.
> 6. What information on the computer should be regularly backed up?
> 7. And finally, probably my most monumentally stupefying question of all: when I type the letter “h” on my keyboard, I see an “h” appear on my monitor screen.  
> Man, how do it do that?  
> I’ll be back later, undoubtedly with more, possibly even stupider, questions.

You should find the answers to, most if not all of, your questions here:  
[Informative book on elementary computer questions](http://www.amazon.com/exec/obidos/ASIN/0764540742/qid=1109683455/sr=2-1/ref=pd_ka_b_2_1/102-7146256-3424115) 😉

---

<div class="post-metadata">

**Author:** ![PatriotX](https://avatars.discourse-cdn.com/v4/letter/p/c4cdca/32.png) [@PatriotX](https://boards.straightdope.com/u/PatriotX)\
**Post date:** [March 1, 2005, 2:22pm UTC](https://boards.straightdope.com/t/mr-svins-stupid-computer-questions-thread/292417/4 "2005-03-01T14:22:56Z")

</div>

> [@Mr. Svinlesha](#):
>
> 1. What information on the computer should be regularly backed up?

In addition to your data files I reccomend that you regularly back up your “system state”, which includes your registry. The only problem with this is that you need to use the backup utility to restore one of the .bkf files. It helpsif you manually create copies of the essential registry files for simpler restoration if Windows won’t start.  
The only trouble being that Windows keeps these files in multiple locations.  
Depending on the version of windows that you use, the methods of creating these copies varies. If you use Win2k then you may merely create an emergency repair disk which will give you an option of also copying your registry files to the Repair directory.

I recommend (at least) a combination of 4 drives/partitions for your machine as follows:  
\*\*  
one small drive/partition to use for an extra installation of your OS\*\*  
this makes it easier to restore registry files- you can use the GUI instead of command lines  
**one drive/partition to house the main installation of your OS**

**a drive/partition to house your data files and installations of non-essential programs** (games etc)  
this keeps the drive/partition of your main OS smaller and easier to back up as well as isolates and preserves the data in case (Og forbid) one must reformat or re-install the OS  
**and another drive/partition dedicated to housing backups of the main installation of your OS**  
this should be at least as large of a drive as the drive/partition that houses the main installation of your OS  
I heartily reccomend Norton Ghost or a similar product

I have this set up on my main hd- four partitions. In addition, I also have two seperate hard drives, one with a copy of my Norton ghost backups and the other with a barebones copy of my OS.  
I also backup my registry to a CDRW just incasers.  
Yes, I’ve been burnt pretty good in the past.

---

<div class="post-metadata">

**Author:** ![Digital\_Stimulus](https://avatars.discourse-cdn.com/v4/letter/d/aeb1de/32.png) [@Digital\_Stimulus](https://boards.straightdope.com/u/Digital_Stimulus)\
**Post date:** [March 1, 2005, 2:36pm UTC](https://boards.straightdope.com/t/mr-svins-stupid-computer-questions-thread/292417/5 "2005-03-01T14:36:12Z")

</div>

**MannyL** did a good job of answering your questions. I feel the need to augment just a few of his explanations.

> [@Mr. Svinlesha](#):
>
> 1. What, specifically, is the difference between http and ftp? How do they work?

More information on the _how_. Both HTTP and FTP are _communication_ protocols, which means that they use specific send/receive rules. (At a lower level, both use TCP/IP to establish communication.) For example, when you connect to a web server, your computer sends a request. The server then responds with data. Your computer processes that, possibly sending another request, etc. [This](http://www.answers.com/topic/http) page has a decent and easy explanation.

> [@](#):
>
> 1. What’s FAT-32?

I’d just like to expand on this, which should make it more understandable. Your computer has to maintain a record of where everything on the disk is. So, there is a _directory list_ that contains an entry for each file/directory on your disk and a FAT that contains entries about disk areas. As mentioned, FAT has a list of clusters (that represent a unique area of the disk). An entry in the directory/file list points to the first FAT entry for that file, which in turn points to the disk area that contains the first chunk of that file’s data. If a file is larger than one cluster, the FAT entry points to the next disk area containing the next cluster of data and so on.

This explains why Windows machines need to be defragmented – when you delete a file, the FAT entries are removed, indicating that those disk areas are free. When a new file is written, the free disk areas are then filled, but not necessarily in disk areas that are close together. Over time, due to files of different size being written and deleted, the data becomes _fragmented_, meaning that there are gaps in the FAT. Defragmenting moves data in disk areas that are far apart closer together, thereby decreasing the distance the disk read head has to move and increasing the speed of data retrieval.

Most UNIX machines use a different method for storing files that optimize free space as files are saved/deleted, so defragmenting is generally unnecessary.

> [@](#):
>
> 1. What information on the computer should be regularly backed up?

Just wanted to reinforce **MannyL** ’s point, as it’s something that’s commonly overlooked. It’s the _data_ that’s important. An OS reinstall should be a painless exercise (hah!) that takes very little time and effort, as the programs themselves shouldn’t change (much).

Oh, and **MannyL** – beautiful description of 7.

---

<div class="post-metadata">

**Author:** ![PatriotX](https://avatars.discourse-cdn.com/v4/letter/p/c4cdca/32.png) [@PatriotX](https://boards.straightdope.com/u/PatriotX)\
**Post date:** [March 1, 2005, 2:46pm UTC](https://boards.straightdope.com/t/mr-svins-stupid-computer-questions-thread/292417/6 "2005-03-01T14:46:17Z")

</div>

> [@Digital Stimulus](#):
>
> An OS reinstall should be a painless exercise (hah!) that takes very little time and effort, as the programs themselves shouldn’t change (much).

I’ve found that even though the program files are still where they were, they act as if they are no longer installed- they don’t work. I assume that this is because an OS reinstall wipes the registry.

---

<div class="post-metadata">

**Author:** ![Digital\_Stimulus](https://avatars.discourse-cdn.com/v4/letter/d/aeb1de/32.png) [@Digital\_Stimulus](https://boards.straightdope.com/u/Digital_Stimulus)\
**Post date:** [March 1, 2005, 2:51pm UTC](https://boards.straightdope.com/t/mr-svins-stupid-computer-questions-thread/292417/7 "2005-03-01T14:51:08Z")

</div>

> [@PatriotX](#):
>
> I’ve found that even though the program files are still where they were, they act as if they are no longer installed- they don’t work. I assume that this is because an OS reinstall wipes the registry.

Yes. That’s one argument for reverting to the INI files that **MannyL** mentioned. It would also make deleting programs more robust – delete a directory and a program’s icons, and the program would be totally removed. The Windows registry makes that impossible.

---

<div class="post-metadata">

**Author:** ![AHunter3](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ahunter3/32/368_2.png) [@AHunter3](https://boards.straightdope.com/u/AHunter3)\
**Post date:** [March 1, 2005, 3:29pm UTC](https://boards.straightdope.com/t/mr-svins-stupid-computer-questions-thread/292417/8 "2005-03-01T15:29:12Z")

</div>

.ini files were Windows 3.x era, right?

OK what are the advantages of using a Registry? What are the disadvantages of using .ini files like older versions of Windows?

Being a Mac user, I’m a little fuzzy about what the OS and the user get out of having a Registry. I’d explain the Mac equivalent(s) except that I’m a little fuzzy about what the Registry is and does. (As with PCs in the .ini -file era, we can reinstall an OS and the applications still work. Or connect the hard disk as an external hard disk to someone else’s Mac and they can use our applications without ever having “installed” them, most of the time --there are exceptions. Then there’s the Desktop DB [OS 9] and/or a “.plist” file [OS X] that stores info about what app opens what flavor of file when you doubleclick the file, is that a Registry function?).

---

<div class="post-metadata">

**Author:** ![Digital\_Stimulus](https://avatars.discourse-cdn.com/v4/letter/d/aeb1de/32.png) [@Digital\_Stimulus](https://boards.straightdope.com/u/Digital_Stimulus)\
**Post date:** [March 1, 2005, 3:41pm UTC](https://boards.straightdope.com/t/mr-svins-stupid-computer-questions-thread/292417/9 "2005-03-01T15:41:50Z")

</div>

> [@AHunter3](#):
>
> .ini files were Windows 3.x era, right?

Yes. Of course, .conf files (or others) on linux systems perform the same function.

> [@](#):
>
> OK what are the advantages of using a Registry? What are the disadvantages of using .ini files like older versions of Windows?

Some advantages of a registry:

- A single point of organization; in general, one knows exactly where system data is stored
- A standardized format for entries
- A method of control (from the corporate POV, think authorization keys)

Some disadvantages of a registry:

- A single point of organization; if it fails, your system is hosed
- A method of control (from the user’s POV)
- Cruft (that is, accumulation of unused data over time; enough cruft will affect system performance)

> [@](#):
>
> Being a Mac user, I’m a little fuzzy about what the OS and the user get out of having a Registry. I’d explain the Mac equivalent(s) except that I’m a little fuzzy about what the Registry is and does.

I’m not all that familiar with Macs, so I’m happy to be corrected. I suspect that since OSX is BSD based, they use some type of configuration files. I can’t speak to pre-OSX.

---

<div class="post-metadata">

**Author:** ![AHunter3](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ahunter3/32/368_2.png) [@AHunter3](https://boards.straightdope.com/u/AHunter3)\
**Post date:** [March 1, 2005, 6:17pm UTC](https://boards.straightdope.com/t/mr-svins-stupid-computer-questions-thread/292417/10 "2005-03-01T18:17:55Z")

</div>

Mac stuff. Short summary: yes, it looks less centralized and probably would frustrate control-POV people; and yes, far fewer of the negatives of a single point of organization that makes your apps die if your OS goes down the tubes.

Some details, using Adobe Photoshop 7.0 as an example —

• Photoshop, like most OS X apps, is a “bundle” app. (Not all OS X apps are: Microsoft Excel, for instance, is an APPL file containing resources in its resource fork and other files in folders parallel to the Excel application file) With bundle apps, what appears in the OS X Finder to be a single file (and can be moved or deleted as a single file) is actually a folder, within which are the Mac equivalents of .dll files — in fact, some of them are even _called_ filename.dll just like on a PC; a “Resouce” folder containing various icons and language-specific files that determine what shows onscreen depending on what language you’re using, etc; a PkgInfo file that contains the creator string (8BIM) and the type string (APPL, i.e., it’s an application); an internal .plist file called Info.plist — .plist files are XML files, some of which are within the application bundle like this and some of which are in the User’s Library/Preferences folder. This one for Photoshop contains version numbers and copyright strings, the “Get Info” string, etc; and a Classic folder containing the version of the program that will run under MacOS 9, along with the OS 9 version of the libary files, etc.; the User Registration file; … somewhere amidst these files is a file that informs the OS that Photoshop is one possible app that can open (let’s say) a TIFF file or a BMP file, so that when the user right-clicks such a file and goes to “Open With”, Photoshop appears in the list of possible apps, whereas it would not appear in the list if you right-clicked a FileMaker database file because it doesn’t do those. Since this info is embedded in Photoshop’s bundle, no reinstallation is necessary. In a non-bundle app such as Excel, similar info would be embedded in the Excel APPL file in one of the resources of its resource fork. The latter is the default method for older Mac systems (MacOS 9 and earlier). Under MacOS 9 and before, a disk-wide inventory of this information was kept, called the Desktop, and it would require rebuilding on occasion, e.g., your document icons could one day show up with “unknown document type” icons and the OS would say it did not know what to open it with when you double-clicked it; you’d rebuild the Desktop and the problem would go away. I’m not entirely sure how OS X polls, but it seems to me more dynamic, like an always in-process background task. Sometimes if I doubleclick a document icon immediately after boot, and the default application is on an external hard disk, the document will open with the wrong app or I’ll get the “no app associated with this file type” msg; after another second or two the OS finishes “polling” and the problem goes away on its own.

•From a control POV it would be harder to keep an app out of the hands of users. Hook up an external drive with the app on it, double-click, and you’re up and running due to no installation being required. (See bottom of post for brief discussion of exceptions).

• in the /Users/\<yourname\>/Library/Preferences folder, there’s a file, Adobe Photoshop 7.0 Paths, and a folder, Adobe Photoshop 7 Prefs, containing .psp files that save your most recent choices for various options within Photoshop, plus a folder containing your “Workspaces” (i.e., how you want all the palettes arranged on the 3 monitors you hook your laptop to at work as opposed to the single-monitor display arrangement you prefer when you’re working while commuting home on the bus). Photoshop doesn’t need these to run.

• also in /Users/\<yourname\>/Library/Preferences, a .plist file, com.adobe.Photoshop.plist, which stores the path to the most recent file you opened, and the most recent save-path to a file you saved. Photoshop doesn’t need these to run either.

• also in /Users/\<yourname\>/Library/Preferences, another .plist file, com.apple.Launchservices.plist, which stores my prefs about what to launch a file with extension .psd (Photoshop’s native extension) with Creator Code 8BLM (Photoshop’s creator code). In my case, surprisingly enough, the application of choice is GraphicConverter, because it will launch very quicklly and display the file for viewing; if I want to actually open a Photoshop file in Photoshop, I’d right-click the file and ask that it be opened in Photoshop. If this file were missing, neither the OS nor Photoshop would need it in order for Photoshop to function and open files; but if, let’s say, I had at some point told the OS that by default Photoshop should open all .jpg files of Creator Code JVWR (JPEGView), and then this file was overwritten, the OS would not launch Photoshop when I doubleclicked the .jpg file.

• For a given document file, unless the user has stored a different preference in that beforementioned com.apple.Launchservices.plist, there’s a hierarchy that determines what app launches when you doubleclick the file. a) If the document has a valid Creator Code, and the OS finds an app that owns that code, that’s the application that gets launched. The app doesn’t have to be “installed” and can be moved around at will or renamed because of how the polling works (i.e., it isn’t dependent on stored paths). b) If the document has no Creator Code or has a code for an app that’s not on the machine, but the document has a File Type code (e.g., “TIFF” or “XLS8”), the OS will fling it at the app designated as the default app for files of that file type (and if none is designated it will make an arbitrary assignment). c) If the document has no file type, but has a filename extension (e.g., “.fp5” or “.pdf”) the OS will hand it over to the default handler for untyped files of that file extension. If you reinstall the OS and have your applications remaining from a previous install (and/or reformat the hard drive but have some apps on another disk, etc), the OS may no longer know that application as the default handler for this or that file extension or file type Code, but will most likely honor it as the owner of files of its native Creator Code. Irritating exceptions are the Apple applications Preview, iTunes, and TextEdit, which will take over PDF and TIFF and JPEG, .MP3, and text files like a Mafia gangster with an expansion opportunity.

Exceptions in general: Some apps by their very nature need to be able to do things that could potentially violate security limitations imposed on user accounts. An example is Timbuktu, the remote-desktop program. On installation, such an app (after you’ve authorized it to do so) writes loading instructions to the root-level user equivalent of your user’s Library/Preferences file, and on subsequent launches the OS starts relevant services. In the case of Timbuktu, if you reinstall the OS and attempt to launch Timbuktu, you’ll have to reauthorize before the service that allows other computers to connect to yours will be started, and that service will no longer automatically launch on boot as it did before. Apps of this nature generally use the Installer and are usually distributed as “.pkg” files and require a password to make modifications requiring superuser (root) privileges. Many of them, unlike Timbuktu, will flat-out fail to work until you reinstall them; some will effectively reinstall themselves after authentication the first time you go to use them after an OS reinstall; a few, such as Timbuktu (again), do not reinstall any of the superuser-level modifications and will work normally but in “manual mode” where you have to launch and authenticate each time you boot in order to start up the service.

---

<div class="post-metadata">

**Author:** ![Digital\_Stimulus](https://avatars.discourse-cdn.com/v4/letter/d/aeb1de/32.png) [@Digital\_Stimulus](https://boards.straightdope.com/u/Digital_Stimulus)\
**Post date:** [March 1, 2005, 6:33pm UTC](https://boards.straightdope.com/t/mr-svins-stupid-computer-questions-thread/292417/11 "2005-03-01T18:33:47Z")

</div>

> [@AHunter3](#):
>
> Exceptions in general: Some apps by their very nature need to be able to do things that could potentially violate security limitations imposed on user accounts.

Oh, this reminded me of another disadvantage of having a registry. It makes security that much harder to implement. Many Windows programs (and some Mac programs, evidently) _require_ root-level (that is, Administrator) access. By doing so, you are granting a program access to your entire system. In UNIX based systems, the only thing a malicious program can muck up (assuming it doesn’t do a local exploit to gain root priveleges) is _your_ data, thus the system itself is uncompromised. (See previous point regarding backups.)

---

<div class="post-metadata">

**Author:** ![Mr.Svinlesha](https://avatars.discourse-cdn.com/v4/letter/m/22d042/32.png) [@Mr.Svinlesha](https://boards.straightdope.com/u/Mr.Svinlesha)\
**Post date:** [March 1, 2005, 7:28pm UTC](https://boards.straightdope.com/t/mr-svins-stupid-computer-questions-thread/292417/12 "2005-03-01T19:28:54Z")

</div>

First off, thanks to all for the replies thus far. Now, where to start?

**Manny** :

> [@](#):
>
> - The registry is a local database with data relating to what hardware and software you have installed and various system settings.
> 
> A registry key is just one peice peice of data written as a keyvalue then the value of that key. Another software program reads that key and acts on the value in it.
> 
> The registry allows you to store settings for programs in one location using a binary format. Previously the setteings were stored in mutiple .ini files for the system and each application had its own .ini file for local settings.\*

Please don’t take this the wrong way, since I very much appreciate the fact that you’ve taken out time to answer my question, but the above is a very good example of why I feel I’m forced into asking stupid questions about my computer – cause I don’t understand, still.

This happens to me all the time. I read manuals, Windows help files, and so forth, and, well, it’s like a foreign language to me. The words have no real meaning content. So let me see if I can continue asking my stupid questions:

\*”The registry is a local database with data relating to what hardware and software you have installed and various system settings.

A registry key is just one peice peice of data written as a keyvalue then the value of that key. Another software program reads that key and acts on the value in it.”\*

This means that when I install a program on my computer – let us say, for example, WinAmp – that the installation program creates a set of registry keys in the computer registry database. Right or wrong?

The registry keys contain the information about, for example, the settings on my WinAmp program. Next time I fire up WinAmp, that program searches the registry files, finds the instructions regarding my settings, and then displays the WinAmp GUI in accordance with those settings. Yes? No?

This leads me to a completely new set of stupid questions:

1. Why do I have to “install” a program to begin with? What, exactly, does the computer do when it “installs” a program? (This question is, in fact, so stupid, that I’m almost ashamed of asking it.)

2. Is the registry a part of the OS? I ask because, extrapolating from what you’ve written above, it seems as if many of the settings on my OS are recorded in the registry.

3. How important is it to do registry backup?

4. Finally – what’s an .ini file?

> [@](#):
>
> - FTP stands for File Transfer Protocol. FTP is the best means for moving large files across the Internet. FTP is a client/server protocol that enables a user with an FTP client to log on to a remote machine, navigate the file system of that remote machine, and upload and download files from that machine.\*

Eureka! I think I understood that one! That’s why one uses the FTP to upload a webpage.

So when I use FTP to upload a webpage, I’m actually accessing the files stored on the server that are the programming “behind” the HTTP one otherwise sees when one uses a browser. I, uh, I think I almost understand, sorta.

> [@](#):
>
> - A firewall is software or hardware which intercepts all inbound and outbound communcication. It is supposed to only let through legitimate data on ports that you allow traffic on. A Firewall is intended to help keep hackers out of your system by not letting their attack data come in.\*

I understood that much. But my Zone Alarm has kept out over 200 thousand “threats” of one kind or another over the last few months alone. Surely there aren’t that many people out there hacking at just my computer, are there? What does a hacker threat look like, and how does Zone Alarm recognize it?

Oh, and by the way, what’s Java Script?

> [@](#):
>
> - Fat 32 is a 32 bit version of Microsoft’s FAT format. FAT stands for File Allication Table. The location of every peice of data on a drive is stored in a table on the hard drive.  
> FAT32 uses 32 bits to address each cluster and can support drives as big as two Terabytes.\*

What does one of these addresses look like? Does a program use the FAT and the registry in tandem? What’s a cluster?

When I install WinAmp, its location is recorded in the FAT. Then when I start the program, first thing it does is run over to the FAT and say, “Hmm…now, where did I put that WinAmp? I know I left it lying around here somewhere! Aha! There it is!” And then it looks at the registry keys, decides exactly how the program is configured, and starts up.

Am I getting warm?

> [@](#):
>
> - When you hit a key on the keybord, that sends an electrical signal to a keyboard controller chip which sends a character code to the OS. When the OS gets the character code it looks up what character that represents and displays it. If you load a different key code file your keys will become different characters.\*

The “h” key completes a circuit, and an electric signal shoots up the cable from the keybord to the computer. This signal consists of a set of 0’s and 1’s in a specific order that tells the OS which letter to select from the ACSS II (ASCC II?) table. But how are 0’s and 1’s contained in that electric blip?

Does the OS have a “map” of every pixel on the monitor screen?

See? I told you had a whole slew of stupid questions.  
**Patriot** :

Thanks for the good advice.  
**Digital** :

What a great link! Once all that info has sunk in I may have more questions for you.  
**Ahunter3** :

Hey, you! This is supposed to be thread for _stupid_ questions!

😉

---

<div class="post-metadata">

**Author:** ![MannyL](https://avatars.discourse-cdn.com/v4/letter/m/ba8739/32.png) [@MannyL](https://boards.straightdope.com/u/MannyL)\
**Post date:** [March 1, 2005, 8:22pm UTC](https://boards.straightdope.com/t/mr-svins-stupid-computer-questions-thread/292417/13 "2005-03-01T20:22:05Z")

</div>

> [@Mr. Svinlesha](#):
>
> First off, thanks to all for the replies thus far. Now, where to start?
> 
> **Manny** :Please don’t take this the wrong way, since I very much appreciate the fact that you’ve taken out time to answer my question, but the above is a very good example of why I feel I’m forced into asking stupid questions about my computer – cause I don’t understand, still.  
> \*”The registry is a local database with data relating to what hardware and software you have installed and various system settings.
> 
> A registry key is just one peice peice of data written as a keyvalue then the value of that key. Another software program reads that key and acts on the value in it.”\*
> 
> This means that when I install a program on my computer – let us say, for example, WinAmp – that the installation program creates a set of registry keys in the computer registry database. Right or wrong?
> 
> The registry keys contain the information about, for example, the settings on my WinAmp program. Next time I fire up WinAmp, that program searches the registry files, finds the instructions regarding my settings, and then displays the WinAmp GUI in accordance with those settings. Yes? No?

Correct when you start an application the program you run loads additional support files usually dynamic link libraries. The application then looks into the grgistry for information it put there regarding your prefrences and any registration keys it needs to verify to make sure you are able to use the software

One regisry key might tell Winamp to use random play, and another might tell it what visulation you like

> [@Mr. Svinlesha](#):
>
> This leads me to a completely new set of stupid questions:
> 
> 1. Why do I have to “install” a program to begin with? What, exactly, does the computer do when it “installs” a program? (This question is, in fact, so stupid, that I’m almost ashamed of asking it.)

When you install a program it creates a directory to store the files the program needs to run. It may add some additional files to the system folder for Windows and it puts entries into the registry to tell Windows what program to use when you double click on a file it created.

> [@Mr.Svinlesha](#):
>
> 1. Is the registry a part of the OS? I ask because, extrapolating from what you’ve written above, it seems as if many of the settings on my OS are recorded in the registry.

Yes the registry is part of the Windows OS. If your registry is damaged and you don’t have a backup you can’t finish the boot process

> [@Mr. Svinlesha](#):
>
> 1. How important is it to do registry backup?

If you are not editing the registry you generally do not need a backup. The registry is not one physical file but a collection of files. When you do a full system backup including the system state it backups the registry

> [@Mr. Svinlesha](#):
>
> 1. Finally – what’s an .ini file?
> 
> In the days of Windows 3.x applications stored their settings in a file called \<somename.ini\> that was in the directory you installed the application in. It held the settings for various things including what type of font you wanted to use. Windows used win.ini and system.ini for settings such as printer and font information, and what application to use to open what type of file. Current versions of windows still use .ini files for some settings and some programs still use .ini files.
> 
> A program that uses .ini files only is easier to remove from your system or move it to another system than one that uses your system’s registry

> [@Mr. Svinlesha](#):
>
> Eureka! I think I understood that one! That’s why one uses the FTP to upload a webpage.
> 
> So when I use FTP to upload a webpage, I’m actually accessing the files stored on the server that are the programming “behind” the HTTP one otherwise sees when one uses a browser. I, uh, I think I almost understand, sorta.I understood that much.

Correct when you design a webpage you make it in html (hyper text markup language) and transfer it to the server. When someone goes to the site they get a copy of the file downloaded to them using hyper text transfer protovol whoch their web browser translates into what we see on the screen

> [@Mr. Svinlesha](#):
>
> But my Zone Alarm has kept out over 200 thousand “threats” of one kind or another over the last few months alone. Surely there aren’t that many people out there hacking at just my computer, are there? What does a hacker threat look like, and how does Zone Alarm recognize it?

A hacker threat is basicly any communication on a port that you are not expecting. When you talk to a web server using HTTP you talk on port 80. When you use FTP you talk on port 21. Some “hackers” scan every port on a IP address looking for a reply of some sort such such as “this port has service x running” or even a “port closed” message. A firewall just ignores those incomming requests for closed ports.

Unfortunatly there are many systems scanning for unprotected systems, many of those are systems that were taken over by trojans that the owner doesn’t know about.

> [@Mr. Svinlesha](#):
>
> Oh, and by the way, what’s Java Script?What does one of these addresses look like? Does a program use the FAT and the registry in tandem? What’s a cluster?
> 
> Java Script is a programming lanaguage used in websites. As far as I know it has nothing to do with the Java language.  
> Different operating systems use different ways of keeping track of data on a disk. Microsoft used FAT in the DOS,3.x,95/98/ME series. In the Windows NT, 2000, XP, and 2003 series Microsoft uses either FAT or NTFS (New Technology File System). Linux uses ext2, ext3 , resizer and other formats to keep track of files. I’ll let someone more versed that I am explain this

> [@Mr. Svinlesha](#):
>
> When I install WinAmp, its location is recorded in the FAT. Then when I start the program, first thing it does is run over to the FAT and say, “Hmm…now, where did I put that WinAmp? I know I left it lying around here somewhere! Aha! There it is!” And then it looks at the registry keys, decides exactly how the program is configured, and starts up.

When you start a program, Windows looks at the FAT to see where on the drive the program lives. It then loads that part into memory and runs it. Duringthis time the program looks at it’s settings in the registry to see how it is configured

> [@Mr. Svinlesha](#):
>
> Am I getting warm?The “h” key completes a circuit, and an electric signal shoots up the cable from the keybord to the computer. This signal consists of a set of 0’s and 1’s in a specific order that tells the OS which letter to select from the ACSS II (ASCC II?) table. But how are 0’s and 1’s contained in that electric blip?

Correct. The signal the goes describes what key is hit based on an X and Y axis. When Windows gets that code it says ok the key 3 rows down and 5 rows over was hit so that must be a “y” If you hold down mutiple keys it changes the keycode. And depending on what character set you use the character may be something else eitirely. Thats how you can use different language keyboard. The computer doesn’t know what langauge you use on a hardware level, the operating sytsem decodes the keys.

> [@Mr. Svinlesha](#):
>
> Does the OS have a “map” of every pixel on the monitor screen?

Basicly yes the OS know what pixels should be on or off and tells the video card what to do.

> [@Mr. Svinlesha](#):
>
> See? I told you had a whole slew of stupid questions.

No such thing as a stuipd question just stuipid people asking questions, (to clarify your questions are not stupid)

---

<div class="post-metadata">

**Author:** ![Bytegeist](https://avatars.discourse-cdn.com/v4/letter/b/9dc877/32.png) [@Bytegeist](https://boards.straightdope.com/u/Bytegeist)\
**Post date:** [March 1, 2005, 8:49pm UTC](https://boards.straightdope.com/t/mr-svins-stupid-computer-questions-thread/292417/14 "2005-03-01T20:49:06Z")

</div>

Fun stuff!

Before I start my blathering, I’ll note that I’m a Mac/Unix person, not Windows. But I hope I can be helpful anyway, by being generic enough.

> [@Mr. Svinlesha](#):
>
> 1. Why do I have to “install” a program to begin with? What, exactly, does the computer do when it “installs” a program?

There are many things that happen, but it will vary from program to program, and OS to OS:

[ul]  
[li]At a minimum, the set of files that make the program what it is (at least one executable file, and probably various support files) need to be copied onto your local disk. The operating system won’t execute code from files stored remotely. Or even if does do this (or seems to; it might be making a local temporary copy), it’s usually a bad idea to run things this way for reasons of performance.[/li][li]If it were just a copy operation, you could do this yourself. In fact, many Mac applications install in precisely this way: you just drag-copy the application folder over to wherever you want, and that’s it.[/li][li]The installer might carry the program and its support files in compressed form. They are not usable in this state. They need to be decompressed, as well as put into place.[/li][li]As noted, the “Registry” on Windows might need to have keys (variables) added to it. Under other operating systems, the global system configuration exists in different forms, generally split up into different areas, but it’s the same issue.[/li][li]An installer can check your system for requirements. Do you have enough memory? Do you have OpenGL? Perhaps there’s no point in proceeding with installation if your system lacks certain features.[/li][/ul]

> [@](#):
>
> So when I use FTP to upload a webpage, I’m actually accessing the files stored on the server that are the programming “behind” the HTTP one otherwise sees when one uses a browser.

I’ll just note that FTP preceded HTTP by many years. FTP’s reason for existence was simply to copy files reliably from one machine to another. It was born long before the Web came around, and it lingers on because it’s still useful and efficient for doing its thing.

> [@](#):
>
> Oh, and by the way, what’s Java Script?

Javascript is a programming language, which can be embedded in HTML pages. (Also PDF documents.) It’s generally used for making dynamic user interfaces in Web pages, though it’s pretty multi-purpose. It goes where HTML can’t go, since HTML is just a markup language for describing document structure — it can’t “react” to events, or perform computation.

> [@](#):
>
> The “h” key completes a circuit, and an electric signal shoots up the cable from the keybord to the computer. This signal consists of a set of 0’s and 1’s in a specific order that tells the OS which letter to select from the ACSS II (ASCC II?) table.

Actually, most keyboards transmit a _keycode_ (or _scancode_) which designates the key pressed. This code might or might not have any relation to the ASCII code of a character. In fact many keys (like “Page Down”) have no ASCII representation. Also, the modifier keys (Shift, Control, etc.) are usually read separately, so that any combination of them can be pressed or depressed independently. It’s then up to the operating system to translate a given keypress event, with all this state information, into a character — or to not do so if that doesn’t make sense.

> [@](#):
>
> Does the OS have a “map” of every pixel on the monitor screen?

Yes, every pixel has its own dollop of memory associated with it: anywhere from 1 bit to 32 bits — or more, for some esoteric graphics systems.

---

<div class="post-metadata">

**Author:** ![slinkydink](https://avatars.discourse-cdn.com/v4/letter/s/5f8ce5/32.png) [@slinkydink](https://boards.straightdope.com/u/slinkydink)\
**Post date:** [March 1, 2005, 8:49pm UTC](https://boards.straightdope.com/t/mr-svins-stupid-computer-questions-thread/292417/15 "2005-03-01T20:49:57Z")

</div>

This is going to be extra brief because I’m at work, but I just wanted to help.

> [@Mr. Svinlesha](#):
>
> This means that when I install a program on my computer – let us say, for example, WinAmp – that the installation program creates a set of registry keys in the computer registry database. Right or wrong?

**Right** (But it doesn’t have to)

> [@](#):
>
> The registry keys contain the information about, for example, the settings on my WinAmp program. Next time I fire up WinAmp, that program searches the registry files, finds the instructions regarding my settings, and then displays the WinAmp GUI in accordance with those settings. Yes? No?

**Yes**

> [@](#):
>
> 1. Why do I have to “install” a program to begin with? What, exactly, does the computer do when it “installs” a program? (This question is, in fact, so stupid, that I’m almost ashamed of asking it.)

Not all programs must be installed, some are so simple that all they need is a single executable file (or even just a script) to run. Most programs are more complex though.  
Installing generally copies files to where they need to go, makes entries in the registry, and usually makes settings based on your specific PC so that it can run properly (for example a game may ask you to select a video card)

> [@](#):
>
> 1. Is the registry a part of the OS? I ask because, extrapolating from what you’eve written above, it seems as if many of the settings on my OS are recorded in the registry.

**Yes**

> [@](#):
>
> 1. How important is it to do registry backup?

For home use I would say not very, but that’s my personal opinion. Most systems become so cluttered over time and when one of my PC’s dies I take that as an opportunity to reinstall the OS from scratch.

Another perspective: if backing up personal data is 100% important, then backing up the registry is 20%

> [@](#):
>
> 1. Finally – what’s an .ini file?

It’s an information file for that program. It’s almost always text (99%) and holds information about how a given program should run. I haven’t used WinAmp in a while, but it’s entirely possible that WinAmp uses an .ini to hold settings like skins instead of the registry.

> [@](#):
>
> But my Zone Alarm has kept out over 200 thousand “threats” of one kind or another over the last few months alone. Surely there aren’t that many people out there hacking at just my computer, are there?

People use programs to check every computer on a domain for vulnerabilities. They can do this extremely fast. It’s analogous to walking through a parking lot trying to open doors.

> [@](#):
>
> Oh, and by the way, what’s Java Script?

It’s a scripting language for making web pages more interactive.

> [@](#):
>
> When I install WinAmp, its location is recorded in the FAT. Then when I start the program, first thing it does is run over to the FAT and say, “Hmm…now, where did I put that WinAmp? I know I left it lying around here somewhere! Aha! There it is!” And then it looks at the registry keys, decides exactly how the program is configured, and starts up.

More or less

> [@](#):
>
> See? I told you had a whole slew of stupid questions.

I’ll grant you ignorance but not stupidity.

Stupidity is asking why the the cupholder on the front of the computer keeps going back in every time you restart the PC.

---

<div class="post-metadata">

**Author:** ![slinkydink](https://avatars.discourse-cdn.com/v4/letter/s/5f8ce5/32.png) [@slinkydink](https://boards.straightdope.com/u/slinkydink)\
**Post date:** [March 1, 2005, 8:55pm UTC](https://boards.straightdope.com/t/mr-svins-stupid-computer-questions-thread/292417/16 "2005-03-01T20:55:45Z")

</div>

Dang! Third place, I knew I shouldn’t have previewed.

---

<div class="post-metadata">

**Author:** ![Bytegeist](https://avatars.discourse-cdn.com/v4/letter/b/9dc877/32.png) [@Bytegeist](https://boards.straightdope.com/u/Bytegeist)\
**Post date:** [March 1, 2005, 9:32pm UTC](https://boards.straightdope.com/t/mr-svins-stupid-computer-questions-thread/292417/17 "2005-03-01T21:32:38Z")

</div>

> [@slinkydink](#):
>
> Dang! Third place, I knew I shouldn’t have previewed.

Hey, if I were to stop posting every time someone beat me to an answer, I’d never waste any time here at all.

😉

---

<div class="post-metadata">

**Author:** ![Digital\_Stimulus](https://avatars.discourse-cdn.com/v4/letter/d/aeb1de/32.png) [@Digital\_Stimulus](https://boards.straightdope.com/u/Digital_Stimulus)\
**Post date:** [March 1, 2005, 10:01pm UTC](https://boards.straightdope.com/t/mr-svins-stupid-computer-questions-thread/292417/18 "2005-03-01T22:01:35Z")

</div>

I think you’ve pretty much got it. One of the key things to keep in mind is that a computer is just a machine; _everything_ has to be discrete (at some level, leaving out analog computers) and exactly traceable. It’s not like human memory, of which we don’t fully understand the workings. Also, it’s important to recognize that you’re specifically talking about Windows; other operating systems do not use a registry, nor do they use FAT, etc. On preview, I notice that lots of others have beat me to answering. I’ll cut out any redundant information, but will post whatever is left. Now:

> [@Mr. Svinlesha](#):
>
> But my Zone Alarm has kept out over 200 thousand “threats” of one kind or another over the last few months alone. Surely there aren’t that many people out there hacking at just my computer, are there? What does a hacker threat look like, and how does Zone Alarm recognize it?

Yes, there are that many people hacking at your computer. Google on port scanning and/or rootkits. The only way to guarantee your computer won’t be hacked is to disconnect from any network, keep it in a locked room, and never install anything.

Ach, how to describe a hacker threat? Well, one form is via communication. In the same way that you can contact a webserver (by IP address), other people on the network can contact your computer. (A digression – every single computer on the internet has it’s own IP address. You can think of it like your mailing address. Communication happens on _ports_; specific ports are assigned to specific programs by convention. For instance, webservers communicate on port 80, secure shell (ssh) uses port 23, etc. If we continue with the “mailing address” example, a port would be a door; a visitor could use the front door, the side door, the back door, the basement door, etc.) Zone Alarm (or other firewalls) simply detect the sender’s IP address and/or the port they’re trying to connect to and either reject, permit, or ask what should be done with the message.

Now, this says nothing about malicious programs you may download and run. If you allow communication, thereby accepting messages, a firewall doesn’t help. That’s where anti-virus programs come in. Known viruses contain specific code; an AV program scans files looking for known _signatures_. When found, it then asks what to do (or simply removes the file, if that’s how it is configured).

> [@](#):
>
> What does one of these addresses look like? Does a program use the FAT and the registry in tandem? What’s a cluster?

An address is simply a number. If it is a 32-bit address, it can be represented in any number of ways. In binary, it will be a sequence of 32 1s and 0s. I’ll go into octal and hexadecimal if you wish. The important thing to note is that with a sequence of 32 1s and 0s, there are 2^32 (two to the power of 32, which is 4GB) _different_ and _unique_ possible values. Note that this is more than you can access on a disk; things get a bit complicated in the details of disk addresses and I don’t want to confuse the issue. A cluster is simply a certain number of bits (usually between 1 and 16K) that a disk address “points” to. Grouping it in this way expands the amount of memory a single address can access by splitting memory into _address_ and _offset_. I can explain more if you like.

> [@](#):
>
> When I install WinAmp, its location is recorded in the FAT. Then when I start the program, first thing it does is run over to the FAT and say, “Hmm…now, where did I put that WinAmp? I know I left it lying around here somewhere! Aha! There it is!” And then it looks at the registry keys, decides exactly how the program is configured, and starts up.

Yes. There’s a really neat thing going on here that was codified by Claude Shannon (if I recall correctly), which is that a _program_ is nothing more than _data_ that is interpreted in a certain way…after all, they’re all just _bits_. There really isn’t a difference between computer instructions and other forms of data beyond what the computer does with them. It’s a deceptively powerful concept to mull over.

> [@](#):
>
> Am I getting warm?The “h” key completes a circuit, and an electric signal shoots up the cable from the keybord to the computer. This signal consists of a set of 0’s and 1’s in a specific order that tells the OS which letter to select from the ACSS II (ASCC II?) table. But how are 0’s and 1’s contained in that electric blip?

Every 1 and 0 is an abstraction; at the circuit level, each is a wire that carries some voltage. A voltage above a certain cutoff is a 1, below a certain voltage is a 0. When people talk about a “data bus”, they’re talking about a group of wires; a 32-bit data bus is 32 wires that carry data. Those 32 wires are then split into groups of 8; if interpreted as ASCII, each 8-bit group forms a character.

Gah. I ended up cutting out a lot of what I’d written and I still ended up with more than a full screen of text. Amazing.

---

<div class="post-metadata">

**Author:** ![Mr.Svinlesha](https://avatars.discourse-cdn.com/v4/letter/m/22d042/32.png) [@Mr.Svinlesha](https://boards.straightdope.com/u/Mr.Svinlesha)\
**Post date:** [March 1, 2005, 10:38pm UTC](https://boards.straightdope.com/t/mr-svins-stupid-computer-questions-thread/292417/19 "2005-03-01T22:38:05Z")

</div>

Wow, this is great. Thanks everyone.

I’ll be back with more questions tomorrow, but one quick question here before I call it a night:

**Digital** :

> [@](#):
>
> - An address is simply a number. If it is a 32-bit address, it can be represented in any number of ways. In binary, it will be a sequence of 32 1s and 0s. I’ll go into octal and hexadecimal if you wish. The important thing to note is that with a sequence of 32 1s and 0s, there are 2^32 (two to the power of 32, which is 4GB) different and unique possible values. Note that this is more than you can access on a disk; things get a bit complicated in the details of disk addresses and I don’t want to confuse the issue.\*

I’m trying to keep this at a layman’s level (my own), but tell me now if I’ve got it right:

A certain section of the hard disk, say, the first 16ks, is given the following address –

00000000000000000000000000000001.

The next section of say, 16ks, is given this address –

00000000000000000000000000000010.

And so on.

So let’s say that when I install WinAmp (I don’t use WinAmp, by the way, it’s just a handy example), it is automatically placed onto the first section of the disk. Then the File Allocation Table is modified so that it notes the 32-bit address where the program is stored – in this case, in section 1-with-31-zeros-in-front-of-it.

Next time I start the program _Windows_ begins by referencing the FAT and locating the program’s position on the hard disk. Then it sends a little jolt of electricity over to that section of the disk and the program comes to life.

> [@](#):
>
> - Yes. There’s a really neat thing going on here that was codified by Claude Shannon (if I recall correctly), which is that a program is nothing more than data that is interpreted in a certain way…\*

Yes, but by who?

Or, should I say…by what?

(cue scary organ music)

> [@](#):
>
> _…after all, they’re all just bits. There really isn’t a difference between computer instructions and other forms of data beyond what the computer does with them. It’s a deceptively powerful concept to mull over._

Yeah, you know, I simply cannot get my head around the fact that the entire thing – the whole of the internet – is actually little more than a long string of 1s and 0s. It’s just really incredible when you stop to think about it.

---

<div class="post-metadata">

**Author:** ![Digital\_Stimulus](https://avatars.discourse-cdn.com/v4/letter/d/aeb1de/32.png) [@Digital\_Stimulus](https://boards.straightdope.com/u/Digital_Stimulus)\
**Post date:** [March 1, 2005, 11:41pm UTC](https://boards.straightdope.com/t/mr-svins-stupid-computer-questions-thread/292417/20 "2005-03-01T23:41:11Z")

</div>

If no one else beats me to it, I’ll post more about disk addresses and such later (it may have to wait until tomorrow). I want to check it against an OS book to make sure I get it right. With that said:

> [@Mr. Svinlesha](#):
>
> Next time I start the program _Windows_ begins by referencing the FAT and locating the program’s position on the hard disk. Then it sends a little jolt of electricity over to that section of the disk and the program comes to life.Yes, but by who?
> 
> Or, should I say…by what?

It’s a bit more complicated than that, but that’s the gist of it. Since you mention “coming to life”, perhaps a fair analogy is life itself. After all, sperm meets egg, conception happens, and development occurs automatically. The “plans” are all there; the process is automated. Truly, a wonder.

In a little more depth, as far as computers go – when you flip the power switch on your computer, the BIOS is accessed, which consists of instructions and just enough information to start the whole shebang. In particular, the BIOS identifies some of the hardware, including the boot device. Assume that the boot device is a hard disk. Sector 0 (that is, the first area of the disk), is called the _boot sector_, which contains just a little bit more information about where to find the operating system. With that information, the OS can be loaded and can go through its startup routines.

One of the more irritating things about Windows is that it takes over the boot sector, which is why you have to install Windows before another OS on a computer. On a Linux system, you can install a boot loader (such as grub or lilo), which allows you to specify different OSes on the same computer. The boot loader contains just enough information to “point” to a different OS, installed at some other place on the disk.

Here’s the thing – all of this is specified beforehand in a strictly regimented order of “commands”. If anything does not adhere to the defined “commands” in the defined order, the computer won’t work. To get into instruction sets, the stages of CPU operation, or other things is probably more than you want to know. What’s important is that there’s no magic involved, even though it may seem that way. (Wasn’t it A.C. Clarke who said a sufficient level of technology is indistinguishable from magic?) It’s simply (hah!) the genius of applying abstraction to design.

> [@](#):
>
> (cue scary organ music)Yeah, you know, I simply cannot get my head around the fact that the entire thing – the whole of the internet – is actually little more than a long string of 1s and 0s. It’s just really incredible when you stop to think about it.

I especially like toying with the idea of “playing” a program or a database as a sound or video file. Or visualizing filesystems (much like in Gibson’s _Johnny Mnemonic_) or a constructed environment (like in Stephenson’s _Snowcrash_). After all, bits are bits; the meaning is simply found in the interpretation.

[Next page](https://boards.straightdope.com/t/mr-svins-stupid-computer-questions-thread/292417.md?page=2)
