[next] [previous] [top] [last] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico] [volume] [part]
This introductive chapter could make you grin and it might look out of place in a document that certainly is not yet suitable for newbies. However, as the title suggests, it is a container of notes that might be useful to somebody, maybe to remove some wrong concept.
To understand the structure of a computer, you can imagine the behaviour of a cook in his kitchen. The cook prepares some specialties, or dishes, that have been ordered to him, according to the descriptions of the corresponding recipes. The orders are issued by clients that request the cook's services because they have appetite.
The computer is the kitchen;
the cook is the microprocessor or CPU;
the appetite is the need to be satisfied i.e the problem to be solved;
the recipe is the problem that the microprocessor must execute;
the ingredients are the program's input;
the meals or dishes are the program's output.
The cook, in order to work, puts down everything, ingredients and recipe, on the work table. On one side of the table there are some carved instructions that are always useful to the cook; especially those that the cook must perform whenever the kitchen is open: cleaning the table, checking all tools (pots, skillets, knives, spoons etc.) and receiving the orders together with the recipes. Without these start up instructions, the cook wouldn't even know that he must start to receive some orders.
As discussed above, the cook is likened to the CPU; the cook's work table is the core memory (or core) that can be classified as ROM or RAM. The ROM is a part of the memory that cannot be altered (in our cook's example is like the carved instructions on the table; the RAM is the remainder of the memory that can be freely altred by the CPU (the remainder of the table).
The computer is therefore a machine composed by one or more CPU that use the core memory to transform the input (input data) to output (output data).
The computer, in order to receive the input and produce the output, requires some devices: the keyboard and the mouse are devices for input only, the display and the printer can produce output only. The disks are devices that can be used for both input and output.
The cook uses food stores to keep the nurishements (completed meals, ingredients, intermediate products) and also the recipes. This is because the work table has a limited size and one cannot leave anything on the table when the kitchen is closed, otherwise one would loose everything that has been left on the table. (with the exception of the carved instructions).
The disks are comparable to the cook's stores and are used to store data that have completely processed, data to be processed, data already partially processed and the programs.
Different kitchens can be connected in order to share or tranmit recipes, ingredients,...
The network interfaces and the cables that connect them are the physical tool to connect together various computers, with the purpose to share data and services connected to them, but also to allow the communication among users of the various connected computers.
The operating system of a computer is the most important program. It is the program which is activated when the computer is switched on; it executes the other programs. It is as if the cook executes a recipe (the operating system) that gives him instruction on executing other recipes.
The operating system determines therefore the behaviour of the computer. Changing the operating system of a computer is like changing an office manager: according to his professionality and his personal characteristics, the office will work in a more or less efficient way, compared with the previous situation, and, even if nothing else is changed, the employees might experience a brand new way to work.
Certainly there are similarities between an operating system and another, but this implies always many different details and above all the impossibility to make the same program work on two different operating systems, unless this has been planned and wanted from the operating systems developers.
As already discussed, the devices are something which is separated from the computer considered as the assemby of the CPU and central memory. According to their type and location, they can be internal devices or peripherals, but this classification has almost disappeared from the common language and most people call all of them the same. It is useful to distinguish between the following important types:
devices for the interaction between the user and the computer;
The storage devices are anything that can store data after swithing off the machine. The memory support could be an integral part of the device or could be instead removable.
The storage devices could be of many types, even if currently we deal mainly with disks(magnetic, optic or magneto-optic). In the past many different approaches have been used and the first type of memory have been punched cards.
Also the devices for the interaction with the user can take any possible and imaginable form. We shouldn't limit ourselves to the idea that they can only be a keyboard, a display and a mouse. Especially we should not suppose that the computer must only have a single display or a single workstation.
The network interfaces are devices that allow connecting different computers, so that the resources and generally the communications can be shared. Even in this case, one should not simplify and think that they should be exclusively network cards: any ``door'' towards the outside can bebome a network interface.
Se si lascia da parte il periodo delle schede perforate, si può dire che il primo tipo di strumento per l'interazione tra utente e macchina sia stato la telescrivente: una sorta di macchina da scrivere in grado di ricevere input dalla tastiera e di emettere output attraverso la stampante. In questo modo, l'input umano (da tastiera) era fatto di righe di testo terminate da un codice per il ritorno a capo (interruzione di riga, o newline) e nello stesso modo era composto l'output che appariva su carta.
The typewriter was (and is) a computer device. Nowdays the printer of the typewritewr has been replaced by a screen, that however behaves in the same way, i.e produces a text stream from the bottom to the upper side, in the same way as the paper moves through the printer. Today the printer has taken an independent role and is used as a tool to produce the final output, instead of being an interaction tool.
The workstation, composed by a keyboard and a screen, or some other unit to receive input data combined with a unit to produce output data, is normally considered a a unique object. If it is the main one, is referred to as console.
The keyboard is a board composed by a set of keys, each of which generates a particular signal. It's the computer that does the work of interprating and translating each signal of the keyboard. This system allows to assign to the keys whatever function one wishes.
This means that no general standards exist about what a keyboard should have. Usually there is availability of keys that allow to write the letters of the English alphabet, the usual separator symbols and the numbers; everything else is optional. Even more optional are the keys associated with special functions. This consideration is especially important for anyone who does not want to be linked to a particular computer architecture.
The simplest workstation is composed of a keyboard and a display unit, but this is not the only possibility. Therefore, there might be workstations with multiple displays, one for each output type.
Along the time, the usage of dispay units has evoluted, from the simple sequential output such as that produced by a printer, to a guide for the data entry by using entry-models. The display masks are these entry-models used to drive the keyboard input from one field to the other. The latest evolution of the screens is the graphic one, that includes also the use of a pointing tool, usually the mouse, as an extension of the keyboard.
The traditional printers can produce a stream of text in the same way as it was done with typewriters. More recently, with the introduction of the pins printers, it has become possible to produce graphical output.
However, when graphical printing is used, special physical characteristics of each printer become relevant. Because of this the latest evolution of the printing technology has been the introduction of printing languages, among which the most important one has been and still is PostScript, which is a tool to define the printout independently from the physical characteristics of the printer. Therefore, the output received by a printer can be always built in the same way, by leaving to each printer the work to transform it, according to its characteristics and capacity.
The storage devices can be classified in two main types: with sequential access or with direct access. The devices of the first type can be written and re-read only sequentially, without the possibility to access speedily a desired point, as it happens with magnetic tapes still used today as a convenient tool to store data. The devices of the second type are written and re-read with direct access, as it happens with magnetic disks.
The direct access devices, to manage effectively this characteristic of theirs, require the presence of a system that organizes the available space. This organization is called file system.
As an initial approximation, the file is a unit of information composed by a sequence of codes. The direct access devices, using a file system, allow to manage multiple files, whereas those with sequential access allow normally a unique file on all their dimension.
When a file is interpreted as a simple sequence of codes correspnding to normal text, it can be imagined as a typed text: the character sequence is interrupted at the end of each lined by an invisible character that cause the text to restart at the beginning of the following line. This code of line interruption, often identified with the term newline, changes according to specific platforms.
The file system is a system that organizes files within the direct access storage devices. This means that everything existing in a file system exists as a file.
The simplest way to describe a file system is a list of file names linked to the position where they can be found. This elementary system may be useful for devices with small capacity.
Generally they are structured lists, where one list refers to another more detailed list which may include references to what is searched or a link to another list. These lists are called directory (or folders in some systems) and that are files with a special function.
For this reason, the structure of a file system has almost always a star (or tree) form, with an root where from different branches extend. The branches can develop in a more or less extensive way, according to the requirements.
Because of this organization type, a special notation is used to refer to a file within a file system. It represents the path required to reach it:
a slash represents the main directory, otherwise called also root
a name in the path may represent alternatively a directory or a file;
a file or a directory that follow a previous directory, are identified after a slash used as a prefix.
/one/two/three represents the file (or the directory)
three that follows
two, that follows
one, which follows the root. (2)
The type of file system determines the rules that must be obeyed by the file names. For example there might be situations when one is allowed to use special symbols, such as a space character, and other situations when this is not allowed. Similarly, the maximum length of names has specific limits.
Moreover, the file system allows to store secondary information that allow to qualify a file, for example they can be used to distringuish between a directory and a normal data file.
Traditionally two conventional names are used to refer to the current directory (i.e. the one where one is positioned) and to the previous one (i.e. the one where the current is contained):
. a single dot represents the current directory;
.. two sequential dots represent the previous directory (i.e. that where the current one is contained).
The operating system is what controls all things. A topology can be based on three aspects as follows:
The kernel is the central part of the system. Ideally is a kind of abstraction of the machine's physical characteristrics and it is the level contacted by the programs for every operation. This means, for example, that the programs do not need to access directly the physical devices, but can use logical devices defined by the kernel. This is the foundation of the portability of an operating system on different physical platforms.
The portability is the possibility to transfer programs on different platforms, enabled by akernel which supply compatible functionality.
Of course there are also operating systems which do no have kernel with this level of sophystication and leave to the programs the direct access to the physical devices. However the are second class systems, even if their approach is caused from clear requirements due to the limited resources of the computers for which they have been developed.
Il kernel offre i suoi servizi e l'accesso ai dispositivi attraverso chiamate di funzione. Però, mentre i programmi accedono direttamente a questi, perché l'utente possa accedere ai servizi del sistema occorre un programma particolare che si ponga come intermediario tra l'utente (attraverso il terminale) e il kernel. Questo tipo di programma è detto shell. Come suggerisce il nome (conchiglia), si tratta di qualcosa che avvolge il kernel, come se questo fosse una perla.
A shell program may be anything, provided that it allows the user to start and possibly control the programs. The simplest form, which is also the oldest one, is a command line presented by a prompt. This system has the advantage of being usable with any type of terminal, including the typewriter. In its more evolved form, it can become a graphic system of icons or similar graphic objects, or even a system that recognizes voice commands. They are still a shell.
The service programs are small applications useful for system management tasks. Theoratically, all administrative tasks for the system management could be included in a shell; In practice this is not usually done. Since the traditional shell includes some common usage commands, often it is not easy to know the difference between the functions provided by the shell and those produced by service programs.
Everything has a purpose. The computer must be used for something, maybe just to play. It is important to remember that everything is born from a requirement. The application programs are those that allow to satisfy the requirements and therefore represent the motivation for the existence of computers.
Eric S. Raymond, The Unix and Internet Fundamentals HOWTO
Appunti di informatica libera 2003.06.29 --- Copyright © 2000-2003 Daniele Giacomini --
daniele @ swlibero.org
1) Translation last update on 2003.06.19 from Mario Pesce
mario @ datamission.co.uk (original chapter was 3).
2) The type of used slash depends on the operating system. The forward slash is used for traditional systems.
It should be possible to link to this page also with the name introduction_to_the_computer_usage.html
[next] [previous] [top] [last] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico]