Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
CP/M
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== File system === File names were specified as a string of up to eight characters, followed by a period, followed by a file name extension of up to three characters ([[8.3 filename|"8.3" filename format]]). The extension usually identified the type of the file. For example, <code>.COM</code> indicated an executable program file, and <code>.TXT</code> indicated a file containing [[ASCII]] text. Characters in filenames entered at the command prompt were converted to upper case, but this was not enforced by the operating system. Programs ([[MBASIC]] is a notable example) were able to create filenames containing lower-case letters, which then could not easily be referenced at the command line. Each disk drive was identified by a [[drive letter]], for example, drive <code>A</code> and drive <code>B</code>. To refer to a file on a specific drive, the drive letter was prefixed to the file name, separated by a colon, e.g., <code>A:FILE.TXT</code>. With no drive letter prefixed, access was to files on the current default drive.<ref name="px4"/> File size was specified as the number of 128-byte ''records'' (directly corresponding to disk sectors on 8-inch drives) occupied by a file on the disk. There was no generally supported way of specifying byte-exact file sizes. The current size of a file was maintained in the file's [[File Control Block]] (FCB) by the operating system. Since many application programs (such as [[text editors]]) prefer to deal with files as sequences of characters rather than as sequences of records, by convention text files were terminated with a [[control-Z]] character (ASCII [[Substitute character|SUB]], [[hexadecimal]] 1A). Determining the [[End-of-file|end]] of a [[text file]] therefore involved examining the last record of the file to locate the terminating control-Z. This also meant that inserting a control-Z character into the middle of a file usually had the effect of truncating the text contents of the file. With the advent of larger removable and fixed disk drives, disk de-blocking formulas were employed which resulted in more disk blocks per logical file allocation block. While this allowed for larger file sizes, it also meant that the smallest file which could be allocated increased in size from 1 [[Kilobyte|KB]] (on single-density drives) to 2 KB (on double-density drives) and so on, up to 32 KB for a file containing only a single byte. This made for inefficient use of disk space if the disk contained a large number of small files. File modification [[system time|time stamps]] were not supported in releases up to CP/M 2.2, but were an optional feature in MP/M and CP/M 3.0.<ref name="Brown-Strutynski-Wharton_1983"/> CP/M 2.2 had no [[subdirectories]] in the file structure, but provided 16 numbered user areas to organize files on a disk. To change user one had to simply type "User X" at the command prompt, X being the user number. Security was non-existent and considered unnecessary on a personal computer. The user area concept was to make the single-user version of CP/M somewhat compatible with multi-user MP/M systems. A common patch for the CP/M and derivative operating systems was to make one user area accessible to the user independent of the currently set user area. A USER command allowed the user area to be changed to any area from 0 to 15. User 0 was the default. If one changed to another user, such as USER 1, the material saved on the disk for this user would only be available to USER 1; USER 2 would not be able to see it or access it. However, files stored in the USER 0 area were accessible to all other users; their location was specified with a prefatory [[Path (computing)|path]], since the files of USER 0 were only visible to someone logged in as USER 0. The user area feature arguably had little utility on small floppy disks, but it was useful for organizing files on machines with [[hard drive]]s. The intent of the feature was to ease use of the same computer for different tasks. For example, a secretary could do [[data entry clerk|data entry]], then, after switching USER areas, another employee could use the machine to do [[Invoice|billing]] without their files intermixing.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)