Given that a file consists, generally speaking, of a collection of records, a key element in file management is the way in which the records themselves are organized inside the file, since this heavily affects system performances ad far as record finding and access. Note carefully that by ``organization'' we refer here to the logical arrangement of the records in the file (their ordering or, more generally, the presence of ``closeness'' relations between them based on their content), and not instead to the physical layout of the file as stored on a storage media, To prevent confusion, the latter is referred to by the expression ``record blocking'', and will be treated later on.
Choosing a file organization is a design decision, hence it must be done having in mind the achievement of good performance with respect to the most likely usage of the file. The criteria usually considered important are:
Logical data organization is indeed the subject of whole shelves of books, in the ``Database'' section of your library. Here we'll briefly address some of the simpler used techniques, mainly because of their relevance to data management from the lower-level (with respect to a database's) point of view of an OS. Five organization models will be considered: