Group: input/output
Topic: accessing a sequence
Topic: access by current position
Topic: client-server model for distributed systems
Topic: file
Topic: file cache
Topic: input/output by accessing a variable
Topic: I/O streams
Topic: iterator
Topic: processing a sequence
Topic: sequence generators
Topic: uniform representation of files and sequences
| |
Summary
File I/O provides a device-independent interface for program input/output. Files are opened to a channel, used for read and/or write operations, and then closed. Programming tools can be developed for standard input and output files. Newly opened files can append or destroy the file's previous contents. File I/O is performed a byte at a time with file buffers for conversion to physical records. (cbb 5/80)
Subtopic: standard input/output
QuoteRef: kernBW_1975 ;;9 UNIX time sharing has standard input and output streams which can be renamed eg list foo or edit script
| Quote: UNIX commands expect preopened files for standard input, output, and error [»mashJR_1976]
| Quote: I/O redirection can either create a new output file or append to an existing one [»thomK_1976, OK]
| Quote: direct standard output to a variable in a shell program by '... | =d' [»mashJR_1976]
| QuoteRef: thomK_1976 ;;377 each program has standard input and output files which can be changed at call site
| Subtopic: file descriptor
Quote: a capability is a signed delegation for a complete chain of trust; e.g., an open file descriptor; efficient; more complicated setup and revocation [»lampBW6_2004]
| Quote: system sharing by capabilities checks upon first access, providing a reference to an object for future access; e.g., a Unix file descriptor [»kampPH7_2004]
| Subtopic: sequential vs. random
Quote: sequential disk access is 500 times faster than random access; think of disk as a sequential device [»grayJ6_2003]
| Subtopic: streams -- buffering, put back
Quote: use input and output streams for I/O; general objects with functions 'next' for input and 'out' for output [»stoyJE3_1972]
| Quote: OS 6 streams are first class objects; assign to variables, use as parameters, returned by stream functions; e.g., RemoveLayoutChs to remove layout from a stream [»stoyJE3_1972]
| Quote: a stream function creates a stream by allocating memory and setting function pointers, input stream, and initial data [»stoyJE3_1972]
| Quote: OS6 implemented buffered, fast streams; 6x faster [»stoyJE3_1972]
| Quote: use 'PutBack' for adding characters to input streams; e.g., needed for parsing numbers [»stoyJE3_1972]
| Subtopic: system buffers
Quote: about 40% of I/O time in UNIX is copying between system and user buffers [»mckuMK8_1984]
| Quote: UNIX does not remap user buffers for I/O since requires page alignment and data would disappear after a write
| QuoteRef: moorCH6_1974 ;;503 i/o by message buffer, output buffer on full or input request
| Subtopic: V files
Quote: V's get-byte first checks the invoker's I/O buffer; compiled in-line for speed [»cherDR3_1988]
| Quote: V uses a block abstraction of I/O with the client implementing byte streams; matches network packets and disk sectors [»cherDR4_1984]
| Quote: V reads and writes blocks without a file position; idempotent transactions allows kernel to ignore reply messages [»cherDR4_1984]
| Quote: V stream devices, e.g., terminals, must store the last block to provide idempotent transactions
| Quote: V kernel IPC file access is efficient enough for file transfer and terminal protocols; depends on high data rate, low delay and errors [»cherDR4_1984]
|
Related Topics
Group: input/output (4 topics, 74 quotes)
Topic: accessing a sequence (9 items)
Topic: access by current position (7 items)
Topic: client-server model for distributed systems (25 items)
Topic: file (22 items)
Topic: file cache (23 items)
Topic: input/output by accessing a variable (8 items)
Topic: I/O streams (17 items)
Topic: iterator (13 items)
Topic: processing a sequence (17 items)
Topic: sequence generators (16 items)
Topic: uniform representation of files and sequences (14 items)
|