Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
CP/M
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
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.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
CP/M
(section)
Add topic