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
OS/8
(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!
==The OS/8 Filesystem== OS/8 supports a simple, flat [[file system]] on a variety of [[mass storage]] devices including: * TU56 [[DECtape]]s * DF32 32KW{{efn|Measured in 12-bit words}}<ref>{{cite web |quote=The DF32 Disk File and Control is a fixed head hard drive with a total capacity of 32K 12 bit words. |title=DF32/DS32 hard disk drive |url=https://www.pdp8.net/dfds32/dfds32.shtml}}</ref> [[Disk storage|fixed-head disks]] * RF08 256KW{{efn|256K Γ 12-bit words}} [[Disk storage|fixed-head disks]] * RK01/02/03/04/05 [[Disk pack|cartridge disk drives]] * RL01/02 [[Disk pack|cartridge disk drives]] * RX01/02 [[floppy disk]]ette drives [[Computer file|Filenames]] on the PDP-8 take the form of {{mono|FFFFFF.XX}} where "F" represents an uppercase, [[alphanumeric]] character of the filename and "X" represents an uppercase, alphanumeric character of the extension (filetype). * .PA : [[Assembly language]] * .SV : saved core-images (executable programs) * .FT : Fortran source files * .DA : Data files{{efn|Although other filetypes can also be used for storing data.}} The contents of any given file is stored contiguously in a single "extent". Allocation works as follows:<ref>For an explanation of the allocation algorithm, see chapter 2 of {{cite web |title=OS/8 Software Support Manual |website =Bitsavers|url=http://www.bitsavers.org/pdf/dec/pdp8/os8/DEC-S8-OSSMB-A-D_OS8_v3ssup.pdf |publisher=Digital Equipment Corporation |ref=alloc_ref}}</ref> a program first opens a tentative file (using the User Service Router (USR) "ENTER" function). This assigns either the largest free extent to the file, or if the desired file size is known in advance, the smallest extent that it fits in. ENTER returns the starting block number and size of the file to the program which then writes to the file by directly calling the device driver. Once writing is complete, the program calls the USR "CLOSE" function. CLOSE marks the tentative file as a permanent file and creates an extent for the remaining free space for future allocations. It also deletes (marks as available free space) any other file with the same name. This facilitates replacing an existing file with a new version, for example after editing ("CLOSE" doubles as the file deletion call). Only one tentative file per volume may be open at a time. This seems limiting, but works for something like the PAL8 assembler since only one output file is generated at a time for each pass. PIP includes an option to compress ("squeeze") the filesystem, so that all unallocated space is moved to a single extent at the end of the disk. This can be invoked by the ''SQuish'' [[Concise Command Language|CCL]] command, much as ''MUNG'' can be used to run a ''[[TECO (text editor)|TECO]]'' macro.{{cn|date=August 2023}} OS/8 volumes have a limited maximum storage size (4096 blocks of 256 twelve-bit words) and the RK05 (2.4MB) moving-head disk exceeds this size: "1.6 million words of storage".<ref name="HandB.8e">pp. 6β67 in {{cite book |title=PDP 8/e Small Computer Handbook |date=1973 |publisher=Digital Equipment Corporation}}</ref> Because of this, RK05 cartridges are divided into two partitions. For example, the first RK05 on a system is known as both RKA0: (SY:) and RKB0:. This division refers to "the outer cylinders" and "the inner cylinders". ===ASCII=== There are two systems for handling ASCII text. ASCII files are stored as three 8-bit characters per pair of 12-bit words. The first two characters (marked with bits a0βa7 and b0βb7 below) are stored whole in their words, while the third character (bits c0βc7) is stored with half of its bits in word 1 and the other half in word 2.<ref name=OS78.ref/> * WORD 1: c0 c1 c2 c3 | a0 a1 a2 a3 a4 a5 a6 a7 * WORD 2: c4 c5 c6 c7 | b0 b1 b2 b3 b4 b5 b6 b7<br>ASCII files end with a CTRL/Z (ASCII 232). 6-bits per character uppercase only ASCII strings are also used. In this case, two characters efficiently fit in each word. This is used for filenames in directory entries, but also for strings in BASIC. In BASIC, even though strings use 6-bit characters, you may print any 8-bit code by using the PNT() function within PRINT, for example use PNT(27) to print an ASCII ESC character. ===OS/8 date format=== OS/8 allocates the PDP-8's 12 bit words for storing dates per: * 4 bits for the month * 5 bits for the date therein * 3 bits for the year.{{efn|1970 to 1977.}}<ref>{{cite web |title=Directory of linctape-images/os8l/ps-8-system-25.linc |url=https://www.pdp8online.com/pdp8cgi/os8_html?act=dir;fn=linctape-images/os8l/ps%2D8%2Dsystem%2D25.linc;sort=name |website=Online PDP-8 Home Page |quote=This directory is in the format the OS/8 operating system uses. OS/8 can only store dates for an 8 year period so dates will be shown as 1970β1977 unless the media had a printed directory or other information find the correct date range.}}</ref> The insufficiency of a three-bit year field, capable of storing only eight years, was recognized when [[Commercial Operating System (COS)|COS-310]] was developed.<ref name="Jones.cs">{{cite web |title=The Digital Equipment Corporation PDP-8: Frequently Asked Questions |url=http://homepage.cs.uiowa.edu/~jones/pdp8/faqs |quote=COS-310 was a derivative of MS/8 and OS/8, but with a new text file format. The file system is almost the same as OS/8, but dates are recorded differently[...].}}</ref>
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)