TEACH FILES Aaron Sloman July 1988
Files are used to store text, programs, images and other information on
a computer. This teach file gives a brief introduction to files and what
you can do with them.
CONTENTS - (Use <ENTER> g to access required sections)
-- Different kinds of computer memory
-- Files on magnetic disks
-- Operating systems manage file stores
-- File name formats
-- Ownership of files
-- File versions
-- File Type
-- Operating system commands concerned with files
-- Giving DCL or SHELL commands from inside Pop-11 or VED
-- Files available when you start
-- Additional reading
-- Different kinds of computer memory ---------------------------------
The computer has two main forms of memory that we could characterize as
the short term memory and the long term memory. The short term memory is
used for running programs and its contents change rapidly from moment to
moment under the control of the computer itself. The long term memory
usually remains unchanged unless users request specific changes.
On most computers the short term memory is manufactured out of solid
state electronics and the long term memory uses magnetic disks. There
may also be very long term memory on magnetic tapes, copied from the
disks for "backup" purposes. The electronic memory is very fast, disk
memory relatively slow, and tapes even slower.
--------------
-------- | computer | -------- -----
|USER's |--<--|VED|short term|--<--|magnetic|-->--|tapes|
|terminal|-->--| | memory |-->--| disks |--<--| |
-------- -------------- -------- -----
If you are using a machine that is managed by a computing service you
will not have to think about tapes - they are handled by the operator
who regularly makes copies from the disks to the tapes. This means that
if files are accidentally lost on the disks they can sometimes be
retrieved from tapes by the operator.
-- Files on magnetic disks --------------------------------------------
Information in the long term memory is organized into 'files' which
usually contain 'text', e.g. programs, teaching files, etc. They can
also contain other things that may not be readable by people, e.g. image
data and compiled programs.
Various things can be done to files. A file can be displayed for reading
on the screen of a terminal (perhaps with the help of a TEACH file); it
can be read and "obeyed" by a programming system like POP-11 or Lisp, or
Prolog (in which case the file should contain instructions), it can be
printed on paper, or it can be used to prepare a new version using an
editor (like VED the POPLOG editor which you are probably using now to
read this "teach" file).
A very common activity is to edit a file, either in order to create an
entirely new file, or to extend or modify an existing file stored on the
disk. When a file is altered using the editor there comes a point when
you "write" or "save" it. At that point it gets copied from the short
term to the long term memory on the disk, replacing the old version if
there was one. (On some systems the old version is saved in case you
have made a dreadful mistake and want to get its contents back.)
-- Operating systems manage file stores -------------------------------
The management of files and the sharing of the computer between
different users is the task of an "operating system". POPLOG and its
editor VED can be used on a variety of computers, with different
OPERATING SYSTEMS.
Operating systems have many functions - looking after files, controlling
how programs or users communicate with other local or remote computers
(the electronic mail system) and how we run different devices (printers,
robots, cameras, etc.).
Different operating systems may differ in HOW they perform these jobs.
The two main operating systems that POPLOG runs on are versions of VMS
and UNIX.
(Note: VMS is a trade mark of Digital Equipment Corporation, and UNIX
is a trade mark of ATT).
We communicate with the VMS operating system in a language called DCL
which gives the '$' prompt and with the UNIX operating system in a
language called SHELL which gives the '%' prompt. For more information
about these languages see the operating system user guides. The Poplog
User Guide and the VED User Guide also give some information.
If you are a Poplog user, most of the time you can avoid using either
DCL or the Shell, since Poplog provides many of the facilities you will
need.
-- File name formats --------------------------------------------------
The computer's disk contains your 'files' and other's files. The
organisation of these files is determined by the operating system. How
they are grouped into different collections and what their names look
like will vary from one operating system to another, though most systems
group files together into directories. A directory can contain several
files, including directories that contain more files, etc.
In principle, in order to specify a file, you may have to specify a
whole range of things, e.g.
- which machine it is on (the "host"),
- which disk it is on,
- which directory it is in,
and finally
- the name of the file.
However, it is normally possible to avoid all except the file name, by
working within a directory, known as the "current working directory" or
the "default directory". Then if you simply name a file without
specifying a directory the computer will assume you mean the current
directory.
Here are examples of file names showing directory and file names
[POP.TEACH]FILES;23 (VMS)
/pop/teach/files (UNIX)
The directory part is "[POP.TEACH]" in VMS and "/pop/teach/" in Unix.
Poplog allows you to use the Unix format whether you are using VMS or
not. OWNER, a NAME, possibly a TYPE, and a VERSION number or marker.
In the VMS version the ";23" bit means this is version 23 of the file.
-- Ownership of files -------------------------------------------------
Files have 'owners'. The file you are currently reading is called
'files' and is owned by the system administrator responsible for
managing the Poplog system. - this means that you can read it and change
its appearance on the screen, but you can not make any permanent changes
to it. You can, of course, make changes to files which you own.
The owner of a file can specify its "protection", i.e. whether other
users can read or alter it. For details consult user guides for your
operating system.
-- File versions ------------------------------------------------------
The file in the above example is called 'files' and it is the 23rd
version 'files'. In VMS the version is marked by a number.
In UNIX the version of the file, if produced by Poplog, is marked by
dashes, the more dashes the older the version of the file e.g.
/usr/fred/files is a more recent version than
/usr/fred/files- is a more recent version than
/usr/fred/files--
Unix Poplog will normally produce only two versions of a file, the most
recent and the previous version. However, you can use the variables
pop_file_versions and vedversions to control the number of backup
versions saved.
If you keep all old versions, you'll run out of disk space so later you
will have to learn how to delete old files.
If you give a file name to VMS without specifying the version it assumes
you mean the latest version.
If you want an older version then you must specify the version number
(in VMS) or add the correct number of dashes to the name (in UNIX).
-- File Type ----------------------------------------------------------
Files can also have a 'type'. E.g. if you create and edit a file file
called TEST, with type P, the 13th version, after several edits would
then have the name
TEST.P;13
on VMS, whereas on Unix the name would simply be
test.p
The file type can help to remind you (or a program) what sort of thing
the file contains. E.g. '.p' files should contain POP-11 programs,
'.txt' files might contain essays etc.
Poplog uses the following conventions for file types
Type Programming language used in file
.p POP-11
.pl PROLOG
.lsp COMMON LISP
.ml Standard ML
There are other conventions used by operating systems, e.g. to indicate
"object" files, "runnable" files, command files, etc.
The type of a program file is used by Poplog to decide which compiler to
associate with it and to indicate to the editor how to behave.
-- Operating system commands concerned with files ---------------------
One of the most frequently used commands concerned with files is the
command to print out information about files in your current directory.
On VMS the command is
$ DIRECTORY
which can be abbreviated to "DIR".
On Unix the command is
% ls
Both files have a variety of more elaborate formats described in online
documentation that comes with the operating system. To read the online
help file, do:
on VMS $ HELP DIRECTORY
on UNIX % man ls
There are many more commands for copying files, printing them, re-naming
them, moving them to another directory, joining them together, deleting
them, altering their protection, etc. etc. A subset of such commands is
described in Poplog help files:
on VMS HELP * DCL
on UNIX HELP * SHELL
-- Giving DCL or SHELL commands from inside Pop-11 or VED -------------
POP-11 and the VED editor have been modified to understand DCL and SHELL
commands provided that you type in the dollar or percent yourself.
In order to get a directory listing, you can do the following in VED:
on VMS
<ENTER> $ dir <RETURN>
on UNIX
<ENTER> % ls <RETURN>
This means that the contents of your directory will be printed out. Then
VED will tell you to press RETURN to get back to VED. Try that. Other
operating system commands can be given on the command line in the same
way.
-- Files available when you start -------------------------------------
If you are using a VMS operating system then, at this stage, you may
find that you only have one file:
LOGIN.COM;1
The name of the file is LOGIN, of type COM, and it is version 1. That
file has commands which are obeyed when you log in. Without it, various
things would not work for you, so when you later learn to delete files
you no longer need, don't delete this one!
If you are using UNIX then it may appear that you have no files -
actually you do have a "login" file which performs a similar job to the
VMS version. However your file's name is called ".login", or, on some
Unix systems ".profile". The "." makes a file invisible to a simple
"%ls" command. You may also have other "invisible" files on a unix
system, e.g.
.cshrc .plan .mailrc .rootmenu
Additional files available when you start may be
vedinit.p - setting up the editor VED
init.p - setting up Pop-11 to suit your use
init.pl - initialising Poplog Prolog
init.lsp - initialising Poplog Common Lisp
For more information on initialisation, see HELP * INITIAL
When you have finished reading this file, press the ESC key then Q to
Quit and return to whatever you were doing before.
-- Additional reading -------------------------------------------------
To read one of these files, type <ESC> n to get to the "next" asterisk,
then <ESC> h to get the relevant file. You can quit each file after
reading it by typing <ESC> q.
HELP *SHELL - a summary of SHELL commands (if you have a
UNIX operating system)
HELP *DCL - a summary of DCL commands (if you have a
VMS operating system)
TEACH *TEACHFILES - an overview of TEACH files
HELP *HELPFILES - an overview of HELP files
HELP *DOCUMENTATION - overview of means of accessing documentation
DOC *SYSSPEC - an overview of the files supplied with the
Poplog system.
--- C.all/teach/files --------------------------------------------------
--- Copyright University of Sussex 1988. All rights reserved. ----------Author: Aaron Sloman July 1988