Next: What is a file?
Up: CS1011 lecture: Files and
Previous: CS1011 lecture: Files and
An operating system is a collection of programs which manages the
resources of a computer system, and makes it usable. These resources
include:
- Processor usage: Any sensible computer system can run several
programs, and support several users, apparently at the same time,
even if it only has one processor which executes its instructions
sequentially.
This is done by a neat trick called multiprogramming, where the
processor rushes around spending a few milliseconds on each program
and then moving on to the next. This is all done under the control
of the operating system and should not be apparent to the user.
- Memory: Different programs running at the same time must be
made to use different parts of the memory, so they don't interfere
with each other. The amount of memory used by a program typically
varies over time - the operating system sorts all this out.
- Permanent storage: many operations on files must be supported,
as we will see shortly.
- Peripherals: As an example, for each printer the operating system must
maintain a queue of things to be printed so that documents are
printed one at a time, in order.
- Networks: Nowadays, computer systems consist of many separate
machines connected by networks. This gives the operating system lots
of extra things to do, for instance making all the above resources
on one machine available on others.
Operating systems are typically very large and complex, because computer
systems are large and complex. For instance, our departmental network contains
around 150 PCs, 250 Sun workstations and various other computers, 10 printers,
1000 users, and network connections to the rest of the world. The workstation
on which this was originally written had about 35 programs running (although
as I update it, I have over 80 programs running!), the majority of which are
the operating system keeping track of what's going on. If the machines
sometimes seem slow, this is why!
Note: An operating system is not to be confused with a system manager, who
is the overworked, underpaid, human who does the many tasks which the
operating system can't do unaided, such as telling it who is allowed to use
which parts of the system, setting up accounts for new users, installing new
software, etc.
Next: What is a file?
Up: CS1011 lecture: Files and
Previous: CS1011 lecture: Files and
Pete Jinks
1998-10-30