Since astrological calculations can be made incredibly easier by using computers, I suspect that many of our readers now have or plan to get computers. In many cases, those computers and the programs used with them are poorly understood. I will present a brief clarification here of one of the areas where words are used confusingly in much sales (and other) literature. (I covered some of this in my computer shopping articles years ago, but many readers will not have seen those articles.)
Computer hardware (the physical components) can do absolutely nothing without software (programs—instructions for what to do and how to do it, plus any data needed to follow the instructions). Hardware without software is good for a doorstop or a night light.
Programs and data have to be recorded and read back in some form accessible to the computer hardware. Various media used to record programs and data over the years have included the punched card, punched paper tape, OCR (Optical Character Recognition), MICR (Magnetic Ink Character Recognition, used on checks), printed bar code, magnetic tape (cassette, 9-track, 1/4 inch cartridge, spiral-track videotape, DAT [Digital Audio Tape]), magnetic disk, magnetic stripes on cards, magnetic bubble memory, ROM (Read-Only Memory) chip, read-write and WORM (Write Once, Read Many) optical disc, CD-ROM (Compact Disc Read-Only Memory), optical paper, flash RAM, and probably a few I am forgetting. The only real requirement is that information can be stored reasonably permanently (shelf lives of media vary widely) and can be read by a device in or connected to a computer.
The form of storage most familiar to users of small computers is the magnetic disk or diskette. (Note: optical discs get the spelling with a “c”.) The first magnetic disks had diameters of 14 inches and were used in large computers. Succeeding generations of disks have been 8 inches, 5.25 inches, 3.5 inches, and several smaller sizes competing to be the next standard. A disk permanently installed in a computer is called a fixed disk. Most fixed disks are hard disks, so called because the magnetic medium is on a rigid metal or glass platter. Most hard disks use “Winchester” technology (named from a model number in an early IBM project) in which the read-write heads fly a microscopic distance above the platter, held up by air pressure. Bernoulli technology is similar to Winchester technology, but doesn’t require such a drastically clean environment. Most disks which can be taken in and out of a “disk drive” in the computer (removable disks) are floppy disks, so called because the magnetic medium is on a flexible Mylar base. The read-write heads of most floppy disks are actually held in contact with the magnetic surfaces, producing more wear than a flying head. Some fixed disks are not hard disks and some hard disks are removable, so the categories blur at the edges. Also, 3.5 inch “floppy” disks and some other formats are enclosed in a rigid shell which makes them much less “floppy”, but the word is still used.
A preface on prefixes: many systems of measurement use a set of prefixes based on powers of ten by which you multiply the base unit. These include kilo (x 1,000), mega (x 1,000,000), giga (x 1,000,000,000) and tera (x 1,000,000,000,000) going up and milli (/ 1,000), micro (/ 1,000,000) and nano (/ 1,000,000,000) going down. For example, one hertz is one cycle per second, one kilohertz is 1,000 cycles per second, and one Megahertz is 1,000,000 cycles per second. Screen refresh times are usually given in hertz. Central Processing Unit speeds are frequently given in Megahertz.
The most common unit for measuring storage capacity in small computers is the byte. One byte consists of 8 binary digits (bits), each with the two possible values of 0 and 1. A byte can take on 256 values from 0 through 255. ASCII (the American Standard Code for Information Interchange), the most widely used system for representing text information on small computers, is strictly defined for 7 bits (128 values from 0 through 127), but is normally stored in 8-bit bytes. The 128 character values beyond ASCII in one-byte storage vary from manufacturer to manufacturer, though there are some standards (IBM PC-8, HP Roman-8, PostScript Standard Encoding, ANSI, Macintosh variations, etc.). The word character, as used here, includes the capital letters A-Z, lower case a-z, digits 0-9, punctuation marks, accents, and some non-printing codes used to control information flow. Bytes are usually grouped into Kilobytes (1 K = 1,024 bytes) and Megabytes (1 M = 1,024 K = 1,048,576 bytes). 1,024 is used instead of 1,000 because the basic units in computers go back to binary (two-value) arithmetic and 1,024 (two to the tenth power) is the power of two nearest to 1,000. The extra 24 bytes over 1,000 bytes in 1 K mounts up, adding up to an additional 1,000 bytes every 41.67 K. These differences can be significant in situations where you need to know exactly how much you can fit on a disk. A full page of single-spaced text with narrow margins will take about 4K of storage if no compression is done. A more typical double-spaced page will take about 2K of storage. To give a more concrete example, the text in the four 1990 issues of The Mutable Dilemma occupies disk space of 87K for Pisces, 93K for Gemini, 99K for Virgo and 93K for Sagittarius. Since we paste charts and other graphics in separately, these storage figures don’t include any charts.
As the technology has improved over the years, the amount of information that can be stored in a given space has kept increasing. Our first floppy disk drive at home had a capacity of 86.5 K on a 5.25 inch disk. Our most recent floppy disk drive has a capacity of 1.4 M on a 3.5 inch disk. Floppies with even higher capacities have come out this year, with further increases in the works. Our first hard disk had a capacity of a few Megabytes. Our most recent hard disk has a capacity of over 300 Megabytes. In 14 years, we have gone from one disk which could hold a little over 40 pages of text to one which can hold over 150,000 pages. (Actually, there are a variety of ways to compress information so that text storage takes less than one byte per character and you fit even more on a disk, but I won’t go into that here.) Also, the preceding figures are for simple text. Adding fonts, special formatting, and other information can increase the use of storage, and adding graphics (pictures, drawings, any images) will increase the use of storage a lot.
Most disks are organized in concentric circular tracks which are divided into sectors. (CD-ROM, as a computer adaptation of a format originally designed for music, uses a continuous spiral track for the whole disc.) Programs and data on disks are kept in files with a directory (or multiple directories) maintained by the Operating System. With most Operating Systems, the smallest file (program or collection of data) you can store will occupy a sector, so even a one character file will use a full sector on the disk, and all file sizes round up to the nearest full sector in actual disk space used. Most disks on most Operating Systems increase the sector (or cluster) size as the total disk capacity increases, so keeping a lot of small files wastes more space on a high capacity disk than on a low capacity disk and more than keeping the same amount of information in one large file.
One cardinal rule of computer storage is to have more than one copy of any critical information (programs or data). Sometimes a backup copy will be on the same medium as the original, but usually you make a backup by copying to another medium. Small amounts of information can conveniently be backed up from a hard disk to a floppy, but when you regularly need to back up many Megabytes it is usually better to get a tape backup unit.
The working memory of most computers uses forms of storage which lose their contents when power is turned off, unlike most of the storage media mentioned above. Working memory is usually called RAM (Random Access Memory), though this usage is not ideal since many kinds of permanent storage also allow stored information to be randomly accessed (get any item without reading serially like a tape). A more correct description of working memory might be Read-Write Memory as a contrast to ROM, but that would produce an acronym nobody could pronounce. Bowing to common usage, I will say RAM when I mean working memory, but keep the distinction in mind.
RAM and ROM are both kinds of chips (integrated circuits) which will be in a computer. A few of many other chips in the computer are the CPU (Central Processing Unit—the brain), I/O (Input/Output) circuitry, disk controllers, and “glue”. Some computers will also have PROM (Programmable Read Only Memory), EPROM (Erasable PROM), EEPROM (Electrically EPROM) or dual-ported RAM. RAM is also subdivided into DRAM (Dynamic, requiring regular refreshing to keep from forgetting) and SRAM (Static, no refresh required). The speed with which information can be retrieved from RAM also varies, with most small computers using main RAM with access times of 70 nanoseconds or longer. Some of the faster computers will have a smaller section of much faster RAM called a cache. The CPU looks for information (programs or data) in the cache RAM and only looks in the main RAM when what it needs next isn’t in the cache. Since information near that most recently used is regularly copied from the main RAM to the cache RAM, cache misses are usually few enough that a cache gives a significant speed increase.
Basic starting instructions for small computers are in ROM or PROM (permanent memory which doesn’t forget when the power goes off). When the computer is started or reset, the instructions in ROM tell the CPU what to do next. On some computers, the entire Operating System is in ROM, but on most the ROM tells how to read the Operating System into RAM. Once the Operating System is running, other programs run under its control. The Operating System includes information on how to use all the disk drives and other devices in or attached to the computer. (Actually, information about how to use many devices is usually in special programs called device drivers, which add to the basic capabilities of the Operating System.) Whatever RAM might be installed in a computer, how much of it can be used and how it can be used is largely determined by hardware and Operating System design constraints.
Since most disk access times are measured in milliseconds (thousandths of a second) or slower and most RAM access times are measured in nanoseconds (billionths of a second), a portion of RAM is often used to cut down on disk I/O delays. One technique is to set RAM aside as a cache for disk I/O, much like the fast RAM cache described above. When the data needed is in the cache, access time is about a million times faster than when it isn’t. The other technique is to treat a section RAM as a very fast disk drive. This can be very convenient for temporary files, but don’t put anything permanent on most RAM disks because it will go away when power is turned off.
Application programs are the programs you normally work with when using a computer. These programs do things like word processing (writing, editing what you’ve written, checking the spelling and grammar, printing it), database management (record or list keeping, organizing, sorting, searching, printing), communication via modem (a MOdulator-DEModulator connected to the telephone system which allows the computer’s digital data to be transmitted over voice lines), Computer Aided Design, and astrological calculations. Application programs are written in a variety of dialects of computer languages such as Assembler, BASIC, C and Pascal. Application programs are generally only able to run on a single Operating System, though there are ways of writing programs that are portable between Operating Systems or simply converting from one OS to another. An application program is forced to work within whatever RAM constraints the OS imposes.
RAM in common computers
In the world of IBM PC compatible computers, RAM use is strongly constrained by two factors. The original IBM PC used the Intel 8088 CPU, which has a memory addressing limit of 1 Megabyte, with internal structure breaking that into 64K chunks. The PC came out when other computers were considered to have a lot of memory if they had 64K installed. The PC was designed to allow RAM to be expanded to a maximum of 640K (10 times the then common maximum), and ROM, video memory, I/O, and other things were placed in the address space between 640K and 1M. Newer Intel CPU chips (the 80286, 386 and 486) used in more recent generations of PC compatibles are able to address more than 1M of RAM, but maintaining backward compatibility with 8088 and 8086 based PCs and the memory map of the original PC has left the MS-DOS (PC-DOS) Operating System with a barrier to the use of memory beyond 640K for much more than disk caching or RAM disks without a lot of extra work. Specific kinds of extra memory on MS-DOS machines are called EMS (Expanded Memory System, a form of bank-switching which uses memory in chunks of 16K or 64K), XMS (eXtended, which directly addresses memory beyond 1M) and Himem (a special 64K region right at the 1M boundary). The 80286 (PC AT generation hardware) has less limits on its use of memory than the 8088, but is still quite limited compared to the 386 or 486. Under MS-DOS, only one program can run at a time (a single-tasking OS), with the exception of a special class of program called TSRs (Terminate and Stay Resident) which stay in the background and come to the foreground in response to certain keystrokes or other events (which they detect through modifications they made to the standard keyboard handling routines during their start-up). Newer generations of Operating Systems for PC compatibles (including MS-DOS 5.0 and DR-DOS 6.0) are getting use of memory between 640K and 1M and beyond 1M, but you want a machine with at least a 386 CPU. Microsoft Windows, which runs with MS-DOS, uses much more memory than just DOS. Under Windows, you can have several DOS programs running at once if you have enough RAM or disk space you are willing to have used instead of RAM in a virtual memory system. Also, programs written specifically for Windows don’t have to worry about the DOS 640K limit at all because of the way the memory is handled. What all of this boils down to is that having many Megabytes installed on a PC (8088) doesn’t do much good besides giving you a big disk cache or RAM disk, while those Megabytes can be productively used to run multiple or large programs on a 386 or 486 machine.
The Macintosh line uses the 68000, 68020, 68030 and 68040 line of CPUs from Motorola. These CPUs have always had easier memory handling than Intel CPUs, directly addressing many Megabytes with no nonsense about 64K segments. The original Macintosh had 128K of RAM, which was unusably small due to the nature of Macintosh programming. The least capable Macintosh now sold has 1M, and several Megabytes are common on most models. Various models of Macintosh have maximum limits of RAM you can install of 4M, 8M, 16M or more. All of this memory above what the Operating System takes is usable. The original Operating System is single-tasking, though some Inits are like the TSRs described above. Under MultiFinder, applications have to specify how much RAM they will need to run, so it is less convenient than an OS which allocates memory automatically to all running programs. (Don’t try to do much with MultiFinder with just 1M of RAM.)
The Amiga is also based on the 68000 series of CPUs. On the Amiga, the weakest machines come with 512K of RAM, but Megabytes are common. Part of the RAM is treated specially because it can be addressed by the Amiga’s special graphics chips. The Amiga Operating System has allowed multiple programs to run simultaneously (multi-tasking) from its first release.
As you can see from the preceding discussion, a single figure is an inadequate answer to any question about a computer’s memory. There are really several questions:
How much fixed storage is installed?
How much removable storage is installed?
How much RAM is installed?
How much of the RAM is usable?
Similarly, getting a full description of the memory requirements of a program requires several questions:
Will it run on floppy disks?
Does it require a hard disk?
How many Megabytes of storage do the program and its data occupy?
How much RAM must be installed for the program to be able to run?
For example, the small computer version of the CCRS Horoscope Program started in 1977 as a program that could run in 48K RAM with disk storage on 86.5K floppy disks. The CCRS ’90 version currently in distribution requires about 4M of disk space and 640K RAM on a PC compatible or about 5M of disk space and 1M RAM on a Macintosh or Amiga, and can barely get by with floppy disks. The next release, currently under development, will require another Megabyte of disk space and push those RAM limits. This growth has come from constantly increasing power in what the program can do and ease of use in doing it, and is fairly typical of the computer industry as a whole. (Easier to use programs are almost always bigger. Install just a few Windows programs and you find you’ve used up many Megabytes of disk space.) This kind of feature and requirement growth is also why it is never possible to have too much RAM or disk memory. A few years down the line today’s too much will be too little.