next up previous contents index
Next: Advantages and Disadvantages Up: Backgrounds Previous: Various Storages

Manipulation Schemes

A variety of such storages share some essential properties. All the digital storages are mathematically reducible to finite vectors of binary digits. Other properties - addressing, access speed, physical representation, etc. - determine the appropriate role of each storage.

Requirements for Storages
are self-explanatory: load, store, and addressing.
Direct Addressing
is the simplest way of specifying the place in a storage. Randomly accessible storages are suitable for this scheme.

Virtual Memory
is a combination of byte vectors. Large logical address spaces are simulated by physical memory with the help of secondary storages, which are usually hard disks. Unlike normal file systems, data on the disks are not persistent and dynamically allocated and destroyed with creations and destructions of processes.

File Systems
are kinds of abstraction schemes for byte vectors. A file is a simulated grow-able byte vector within a collection of blocks on disks. File names and hierarchical directory systems are usually provided to specify simulated vectors. Fixed-width records are widely used to store objects in a file.

Sequential Streams
such as magnetic tapes are also byte vectors but accessing is highly restricted.

Plain Text Files
are fundamentally byte vectors. Although a plain text file is a one-dimensional byte vector, delimiter characters - newline, comma, space, tab, etc. - give extra dimensions to the structure of the file. Simpler manipulation is a trade-off with lower performance.

Structured Document Files
such as word processor documents, HTML, PDF, TEX, etc. have more complicated internal structures than plain text files. References to other documents or resources can be embedded within these files. Flexible operations with reasonable performance are achievable on condition that the file in operation does not exceed the size of the available main storage.

Tables
have more than one-dimensional address space. A spreadsheet consists of two-dimensional cells which can contain various types of objects including expressions. A table in a relational database is a representation of a relation, or a collection of tuples each element of which is that of a domain of the relation. How to store a bunch of spreadsheets or tables in a file is implementation dependent. Indexes can be generated to accelerate the access of tables.

Graphs
are universally implemented in many parts of computer systems. In most cases, pointers, which are variables for specifying objects in an address space, function as edges of any graph structures. Therefore, an address space with pointers is a prerequisite for such graph structures. Hypertexts such as HTML documents are also seen as graphs. A subgraph, or a bunch of pointer-linked objects can be manipulated as a compound object. Some implementations of structured objects in CAD systems are examples of graphs. How to link objects and how to store the structures in a storage file is implementation dependent.


next up previous contents index
Next: Advantages and Disadvantages Up: Backgrounds Previous: Various Storages
Mori Tetsuya / t2y3141592@gmail.com