File Storage and Retrieval

Information stored in a mass storage system is conceptually grouped into large units called files. A typical file may consist of a complete text document, a photograph, a program, a music recording, or a collection of data about employees in a company. We have seen that mass storage devices dictate that these files be stored and retrieved in smaller, multiply byte units. For example, a file stored on magnetic disk must be manipulated by sectors, each of which is a fixed predetermined size. A block of data conforming to the specific characteristics of a storage device is called a physical record. Thus, a large file stored in mass storage will typically consist of many physical records.

In contrast to this division into physical records, a file often has natural divisions determined by the information represented. For example, a file containing information regarding a company’s employees would consist of multiple units, each consisting of the information about one employee. Or, a file containing a text document would consist of paragraph or pages. These naturally occurring blocks of data are called logical records.

Logical records often consist of smaller units called fields. For example, a logical record containing information about an employee would probably consist of fields such as name, address, employee identification number, etc. Sometimes each logical record within a file is uniquely indentified by means of a particular field within a record. Such as identifying fields is called a key field. The value held in a key field is called a key.

Logical record sizes rarely match the physical record size dictated by a mass storage device. In turn, one may find several logical records residing within a single physical record or perhaps a logical record split between two or more physical records. The result is that a certain amount of unscrambling is associated within a retrieving data from mass storage systems. A common solution to this problem is to set aside an area of main memory that is large enough to hold several physical records and to use this memory space as a regrouping area. That is, a blocks of data compatible with physical records can be transferred between this main memory area and the mass storage system, while the data residing in the main memory area can be referenced in terms of logical records.

An area of memory used in this manner is called a buffer. In general, a buffer is a storage area used to hold data on temporary basis, usually during the process of being transferred from one device to another. For example, modern printers contain memory circuitry of their own, a large part of which is used as a buffer for holding portions of a document that have been received by the printer but not yet printed.

Further Reading:
1. Wikipedia : Information Retrieval, File System, Database
2. Information Retrieval Wiki

Linux Tips : Automatically find Fastest Repository Server in Ubuntu

I used to have problem when updating security update on my Ubuntu 9.10 (Karmic Koala), the connection was extremely slow even when I’m connected to fast network and occasionally the download was dropped without any reason which could lead a disastrous results. So I’ve been researching and I figured it out the problem is with my poor choice of repository server. The Repository Server I’ve had been using is apparently have some problem with their connection. Problem found and this lead to another problem, how do I look for the fastest Repository Server since there’re so many out there.

The answer is to let your system scan for the fastest server available. You will need to launch Software Sources tool, which can be found in

System > Administration > Software Sources

Ubuntu Software Sources

This administrative menu will allow you to change the location of your preferred repository, and change items within the repository you want to subscribe to. You will have the most software available if all boxes are checked.

Other Sources Ubuntu Repository

From ‘Ubuntu Software’ tab select ‘Other’ from ‘Download from:’ drop-down menu and you’ll be given a list of available server sorted with country.

To have your system test and find the faster server you can select the ‘Select Best Server’ option, which will try to connect to each repository server mirror and find the fastest response. After the process done, it will select the fastest server available and you can either change it or run the process again until you’re satisfied.

Select Best Server

note: Tested on Ubuntu 8.04 and 9.10. Your mileage may vary. Try to run the process two or three times until you find the good one. Repository mirror speeds can fluctuate based on many factors (e.g Traffic).

Some Example Common DOS commands

In previous article I talk about definition of command prompt and real life example of Command Line Interface (e.g Linux). Now, let’s see some common example of DOS commands. If you want to see full list of commands in DOS you can look up Command-line reference A-Z in official Microsoft Website.

Note: Where example files (e.g., file.ext, file1, file2), file extensions (.ext), directories (e.g., diry, diry1, diry2), commands (e.g., command), and drive letters (e.g., a:, b:, c:) are given, substitute the name of your own file, directory, command, or drive letter. Since DOS is not case sensitive, you can type these commands in either upper- or lowercase.

help List commands (only in DOS versions 5 or later).
help command See help for the DOS command.
command /? List switches for the DOS command.
path=c:\windows ; c:\dos Specify in which directories DOS searches for commands or programs.
prompt $p$g Make the DOS prompt display the current directory.
dir List files in the current directory in one column.
dir /w List files in five columns.
dir /p List files one page at a time.
dir *.ext List all files with an .ext extension.
dir z???.ext List files with .ext extensions that have four letters and start with z (where z is a character of your choice).
dir file.ext /s Search for the file.ext in the current directory and all subdirectories under the current directory; most useful if the current directory is the root (i.e., C:\ ).
type file.ext View the contents of the text file file.ext.
edit file.ext Use the DOS editor to edit the file file.ext.
a: Change to the a: drive.
md c:\diry Make a new subdirectory named diry in the c:\ directory.
cd c:\diry Change to subdirectory diry.
rd c:\diry Remove the existing subdirectory named diry.
del file.ext Delete a file named file.ext.
ren file1 file2 Rename file file1 to file2.
copy file1 file2 Copy file file1 to file2.
verify on Turn on verification of copy commands.
verify off Turn off verification of copy commands.
xcopy diry1 diry2 /s Copy all files and subdirectories in directory diry1 to diry2.
xcopy diry1 diry2 /p Ask for confirmation of each file before copying it from diry1 to diry2.
diskcopy a: b: Duplicate a disk using two floppy drives.
diskcopy a: a: Duplicate a disk using the same floppy drive.
format a: Format a floppy disk in drive a: .
format a: /s Format a bootable floppy disk (include system files).
backup c:\diry\*.ext a: Back up all files with the extension .ext in c:\diry\ to floppy drive a: .
backup c:\ a: /s Back up the entire c: drive to floppy drive a: .
restore a:\ c:\diry\*.ext Restore backed-up files with the extension .ext in drive a: to the c:\diry\ directory.
restore a: c:\ /s Restore backed-up files and subdirectories from drive a: to c:\ .
ver Check the version of DOS.
time Check or correct the system time.
date Check or correct the system date.
cls Clear the screen.
scandisk Scan and check drive c: for errors. ScanDisk replaces chkdsk (see below) on DOS version 6.0 and above (including Windows 95).
chkdsk Check disk and memory usage of the current disk.
chkdsk /f Fix errors reported by chkdsk.
chkdsk file.ext Check a particular file.
chkdsk a: Check a particular drive (in this case, a floppy in the a: drive).
mem Check memory usage.

This list was adapted from the August 1991 issue of PC World magazine

Further Reading:

Command-line reference A-Z: microsoft.com