Logical view

A network is some connection between computers that allows data interchange between them.

This connection may be slow-speed as in a telephone line or high-speed as in fibre optic cable.

It may be between a small set of machines physically close together in a Local Area Network (LAN) or a larger set physically dispersed in a Wide Area Network (WAN).

The connection may be between the same type of computers running the same O/S, or between different types.

UC Network

The Building 11 network has this physical structure on each floor

Logically, it is one single network.

On campus. the buildings are connected by optic cable

From ANU we connect to the rest of the world.

Some services

Network File System

The Suns share a network file system using NFS. This allows the disks of one machine to be exported so that another machine can mount them.

This makes them appear as though they are a local directory. Disk reads and writes are actually reads and writes across the network.

A machine states which directories it will export in the file /etc/exports. This states the access rights eg read/write.

A machine states which exported devices it will import using the file /etc/fstab. The command /etc/mount will mount these devices.

In NFS, any machine can export any of its directories, and any machine can import them if it has permission.

Microsoft LANManager is also running on the network. This exports the file system from PC file servers that can be mounted on PCs as drives. For example, drives D:, E:, F: are all network drives.

Read/write access to these drives can be specified by a password mechanism. Access to these services is available using the ``net'' command.

A machine cannot both export and import file systems.

Currently the servers are running OS2.


In a standalone environment each machine has a separate password file, and so you need a password per machine. If you change the password on one, it does not change it on the others.

This is also the default in networked machines. The NIS (Network Information Service, formerly Yellow Pages), keeps a network wide password file, so that a changed password affects all machines.

This change is not instantaneous. The local database on any machine will be out of date with respect to the master for a short time.

Remote access

Each machine has an identifier within the network. This may be a name, a number, etc. On Unix each machine has a name that you can find using ``hostname''. Your PC has a name that you can find using ``net''.

The simplest way of accessing a machine remotely is to ``ping'' it to see if it is alive

/usr/etc/ping machine-name The ``finger'' command returns information about who is logged on at that machine finger @machine-name More advanced access is given by terminal emulators that give remote logon access to a machine rlogin machine-name telnet machine-name A simpler version allows you to execute a single command remotely rsh machine command as in rsh teak hostname A file copy mechanism is possible, but not commonly used because of permissions rcp machine:file machine:file


email can be sent across the InterNet. The address is composed of the login name on a machine, and the network address of the machine elm jan@ise.canberra.edu.au

File transfer

A common file transfer program is ``ftp''. ftp machine This establishes a connection to the remote machine and allows you to login. Once logged in there are a number of commands available

Anonymous ftp

Some machines make a set of files available on the InterNet for any user to get by ftp. You logon with user-id ``anonymous''. By convention, the password is your email address

Higher level services


The machine archie.au is set up to provide two major services: The program ``xarchie'' allows you to fill in a search pattern for a file e.g. ``gcc''. It will then search the archie database and return a list of sites holding files beginning with ``gcc''.

You can then retrieve a file from a site using anonymous ftp.


CWIS (Campus Wide Information Service) is run from the machine services.canberra.edu.au here. Other Universities have similar systems.

This stores information such as handbook, telephone directory, etc. It uses a hierarchical system called Gopher to give tree-structured menu access to the information.

There is often access to other CWIS systems from one of them. so that you can get info about other Universities.


WAIS (Wide Area Information System) is a system for accessing distributed information sources. For example, the newsgroup comp.windows.x.motif is archived in Canberra, an archive of Bill Clinton's speeches are on sunsite.unc.edu, the Bible is on a machine at Thinking Machines Inc, etc. WAIS provides keyword searches of these archives.


XMosaic nad netscape allow access to graphical information such as pictures and movies, as well as hypertext documents.


Multi-User Dungeons and Dragons allow multi-player games to take place across the InterNet


The InterNet Relay Chat program allows InterNet users to talk on a variety of topics.

Distributed Systems


It is cheaper to buy lots of small machines and connect them than to buy one large machine.

It is easier to upgrade by buying additional machines than by replacing one big one.

A variety of different machines can be purchased for different uses, and be made available to all.

If one machine crashes, then it need not stop all work.


If one machine crashes then it may stop everything.

It is harder to program distributed systems.

To the ``ordinary'' h/w problems are now added network problems

Coherence of data becomes a problem.

Security may become a problem.

Hardware Topology

Bus-based multiprocessor

This type of arrangement uses multiple CPUs all on a common bus. The memory is also on this bus, and is shared between them.

Only one processor at a time can have control of the bus, which limits the amount of communication between processors and memory.

All processors share a common memory so there is a common virtual address space.

An example of this architecture is the Sequent balance, a 32-processor machine.

Bus-based multicomputer

Again, there is a single medium that connects all the machines (network, backplane, bus, cable). In this case, each processing element can have its own memory and address space.

Switched multiprocessor

In this case the communication medium is a switching system like a telephone network. This often allows multiple paths to coexist between processors/memory.

Each element is either a CPU or a memory unit.

The switching is controlled by a crossbar switch that can assume two positions

There are a number of such systems, with a variety of switching configurations. One well-known one is the BBN Butterfly machine. This had 128 processors connected in a way that looked like butterfly wings.

Switched multicomputer

This is a switched system in which each element is a computer.

Some Concepts


If the network is transparent then there is no indication that you are doing anything but running on a single machine.

The PC and Unix remote filesystems are almost transparent. You notice it when the file server crashes.

NFS file semantics are slightly different to Unix file semantics. Most of the time this is transparent, but not always.


Distributed systems experts, and knowledge about them in general, is rare. The system needs to be built in a flexible manner so that when you discover say a configuration error it can easily be fixed.


With a larger number of components, the likelihood that something somewhere has crashed will be non-zero. The system must be able to cope with this.

For example, multiple duplicated file servers can reduce the errors caused by server crashes. On the other hand, if the compiler was on one server, the linker on another, the libraries on a third, etc, the chance of a successful compile is reduced.


Network performance should not be noticeably worse than in the absence of the network.

For example, in a file server system, the compiler will be on the server. If the network is busy then transferring the compiler will be slow and so compilation will be slow.

If shared libraries are on the server and the network is slow, then every application will run slowly as it waits for pages to come across the network.


Something that works for one or ten machines may not work for 10,000. Any unique information source will become a bottleneck in a large system.


Anything that makes use of a network must be prepared for a component to crash or timeout along the way. A stateless system does to rely on the network being in any particular state.

For example, suppose a process opens a file on the server and then crashes. The server records that it is open, so the file cannot be removed even though the process that opened it has gone away. This is a system with state, and is not good for networks.


When a process makes a request of the network, it may block and wait for a reply. This may be seconds, hours or never.

A blocking system must be able to timeout if its request has not been answered.

A non-blocking system must be able to figure out what to do when a reply comes in some time later - a reply to what?


Information may come in faster than it can be processed. It the system is unbuffered then this will be lost. If it is buffered then there is less chance of this.


A connection-oriented communication assumes that there is a ``circuit'' between both ends, and that things sent from one end will arrive at the other in the same order. They will also arrive. This is similar to a telephone call.

A connectionless communication sends a small amount, and then another and another, with each part being self-contained. Each part may go by a different route, taking a different amount of time, and maybe not arriving at all. This is like the mail system.

This page is http://pandonia.canberra.edu.au/OS/l12_1.html, copyright Jan Newmarch.
It is maintained by Jan Newmarch.
email: jan@ise.canberra.edu.au
Web: http://pandonia.canberra.edu.au/
Last modified: 2 October, 1995