Most systems commonly
have several programs loaded
into memory at the same
time.
The operating system will also be running
lots of background tasks just to manage the
computer itself.
A processor can only execute
one instruction at a time
(assuming it only has one
core).
The operating system has to mange all
the programs running to make sure each
one gets enough processor time.
User Interface
Operating systems need to provide
a means of communicating with
them.
This means making it
possible for the user to
issue commands.
The user interface is
the way in which
users interact with
computer hardware.
Can be either
Graphical (GUI) or
Command Line.
Memory
Management
When a program is running it must
be in the computer’s main memory
(RAM). The main memory has a finite
size.
The operating system must
manage where in memory
the programs will go.
The operating system tracks
where programs and data are at
any time to make efficient use of
the space in memory and to
make sure nothing gets
overwritten by something else.
As a program is finished it can
be removed from memory and
as as new ones are run they will
be loaded into memory.
Peripheral management
Peripherals are any computer
hardware components that are not
part of the CPU i.e. Input, Output or
Storage devices.
A function of the operating
system is to manage these
devices.
The operating system may need to find / ask
user to install suitable drivers for the device to
work.
These drivers allows an operating
system to communicate with the
device.
Security
Operating systems usually
allow the authentication of
users, i.e. they can be set up to
check that users are who they
say they are.
This normally involves
users having user ids
and password.
Operating systems also
handle file privileges, these
are right assigned to users
and group.
This control who can read /
write and execute files.