Next: Advantages and Disadvantages
Up: Backgrounds
Previous: Various Storages
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: Advantages and Disadvantages
Up: Backgrounds
Previous: Various Storages
Mori Tetsuya / t2y3141592@gmail.com