Topic 7 - Systems Software

Download Report

Transcript Topic 7 - Systems Software

Computing Higher - Unit 1 - Computer Systems: Topic 7: Computer Software
Systems Software
System software controls the actual operation of the computer
system.
The operating system is part of the system software.
The purpose of an operating system is to provide the user with a
means of operating the computer.
An operating system can be described as carrying out these main
tasks:
1. Interpreting user commands;
2. File management;
3. Memory management;
4. Input and output;
5. Managing Processes;
6. Resource Allocation.
1
Computing Higher - Unit 1 - Computer Systems: Topic 7: Computer Software
Starting Up
When a computer is powered up it carries out a series of tasks to
check that the basic hardware is operating correctly. It then tries to
load the operating system program into the main memory (RAM). A
small program called a bootstrap loader that is held in ROM carries
out checking hardware, locating and loading the operating system.
Once the operating system is loaded into main memory, it runs until
the computer is switched off.
Interpreting the user's commands
This part of the operating system accepts the commands that the
user enters into the system. It checks that the commands are valid
and then translates them into instructions that the computer system
can follow, then passes them on to the correct part of the OS to be
carried out. User commands are either typed at the keyboard or are
entered using a mouse. Systems that allow the user to use a mouse to
issue commands use a WIMP environment.
2
Computing Higher - Unit 1 - Computer Systems: Topic 7: Computer Software
File Management
The file system manages how files are stored.
In order to determine where on a disk to place a file for later
retrieval the file system must be able to distinguish which sectors are
free, and which sectors are already in use.
The simplest way of finding free space would be to search the disk
until a suitable space can be found. This would be too slow for
practical purposes.
A better approach is to use an index file to keep track of the files
and space on a disk.
The use of an index means that some of the space on the disk is used
to keep the index file, reducing the amount of space available for user
files.
3
Computing Higher - Unit 1 - Computer Systems: Topic 7: Computer Software
Hierarchical Filing Systems
A hierarchical filing system is shown
opposite. The folder icons represent
directories, while the rectangle icons
represent files.
This representation allows users to
group related data into directories.
It is possible with this structure to
have many files of the same name
existing in different directories.
The file management system holds
pathnames, providing unique identifiers
for every file and directory that is
created.
4
Computing Higher - Unit 1 - Computer Systems: Topic 7: Computer Software
Memory Management
The memory manager is the part of the operating system that
regulates the way that memory is used. Look at the memory map
below.
The lowest area of memory is used by the operating system (OS);
The second block of memory (area A) is currently unused;
Area B holds the program and data of Process 1;
Area C holds the program and data of Process 2;
Area D is currently unused;
Area E holds the program and data of Process 3;
Area F is currently unused.
In an unregulated system it is possible that Process 1 (currently
residing in area B) could require more memory, and expand upwards
into area C. Unfortunately area C is currently occupied by Process 2,
and the expansion of Process 1 would result in data loss/ corruption in
Process 2. The role of a memory manager is to prevent this sort of
occurrence, by managing the memory resource.
5
Computing Higher - Unit 1 - Computer Systems: Topic 7: Computer Software
Input/Output
The I/O system handles the interactions between the processor and
all the devices that are part of the computer system as a whole.
Among devices that are regarded as part of the computer could be
listed the keyboard, the mouse, disk drives, modems and screen (often
called a monitor).
These devices are, in general, different from one another: they work
in different ways and at different speeds. All these speeds, however,
are slower than the computer’s processor and memory. One of the I/O
system’s objectives is to make the attached devices to work at their
highest useful rates.
A device driver is a piece of software that handles one device or type
of device. For example, every printer on a computer system will need a
device driver, but that device driver might work with more than one
model of printer. The device driver converts commands originating
from the user into instructions for the device to carry out.
6
Computing Higher - Unit 1 - Computer Systems: Topic 7: Computer Software
Managing Processes:
A process is a program that is being executed as well as all the
resources which are associated with that program, (buffers, memory
locations, input and output devices, data files etc). In a singleprogram operating system it only has to choose between the
operating system itself and the package being run.
The managing processes part of the OS allocates resources to the
process such as memory, files and buffers eg keyboard buffers.
It schedules processor time, planning out the processors workload.
Maintains the integrity of a process making sure it does not become
corrupt
Terminates the process and restores all system facilities so that they
can be accessed by other processes.
7
Computing Higher - Unit 1 - Computer Systems: Topic 7: Computer Software
Resource Allocation:
This is at the heart of managing processes. This is allocating memory
and processor time to programs.
Allocating Memory: This is a matter of admitting processes to
memory if there is enough space, or delaying until there is space
available.
In a single-program OS the only processes being run are the OS and
the user’s one program that is running.
8
Computing Higher - Unit 1 - Computer Systems: Topic 7: Computer Software
Utility Programs
Utility programs are those programs that are used to enhance the
operating system, or in some other way improve the usefulness of the
system.
Most operating systems will ship with a collection of utility programs.
Examples of these include:
Disk formatting programs - used to prepare the surface of writeable
media for use.
Disk defragmentation tools - reorganises the way the files are laid out
on the disk so that the components of a file are near to each other.
This makes files must faster to load and improves systems
performance.
9
Computing Higher - Unit 1 - Computer Systems: Topic 7: Computer Software
Utility Programs
De-Fragmentation
Most modern filing systems save files where they can on a disk. Files
are stored in areas on the disk called blocks. They will try to save a
file in consecutive blocks. Below Program 1 takes 5 blocks and Program
2 takes only two blocks.
However, as time goes on, and files are saved and/or deleted, this
isn’t always possible. For example, in the above situation, Program 1 is
edited until it is only 3 blocks large. Program 3 is developed and saved
taking up 3 blocks.
10
Computing Higher - Unit 1 - Computer Systems: Topic 7: Computer Software
Utility Programs
De-Fragmentation
Program 1 is further developed and it becomes only 2 blocks large.
You can see above that soon spaces appear and programs appear
disjointed. This will obviously slow down the loading of the file as the
drive head will have to keep moving to different parts of the disc to
load the file.
A ‘defragger’ is a utility program that moves files (and parts of files)
around the disc until each file is stored in consecutive sectors with no
fragmentation.
11
Computing Higher - Unit 1 - Computer Systems: Topic 7: Computer Software
Utility Programs
File compression - File compression utilities are used to reduce the
amount of space that a file takes up on disk.
Virus checking tools - used to prevent the spread of small, usually
malignant programs which need to be executed before they can be
effective, so viruses often attach themselves to program files.
12
Computing Higher - Unit 1 - Computer Systems: Topic 7: Computer Software
Graphic File Formats
JPEG
A JPEG file is created by choosing one of the set of compression
algorithms available. For example, similar colours and minor changes in
colour, need not be coded separately.
JPEG processing makes image files small by removing detail. This is
called a lossy compression. This will reduce the number of colours
used to store the image and avoid unnecessary repetition of bit
patterns.
The highest quality results in the largest file size so a trade off has
to be made between image quality and file size.
Example
A graphic is scanned creating a bit-mapped image. To save on file size
the image is saved as a JPG file. However, software allows the file to
be saved in Low, Medium, High and Maximum quality settings. There is
a trade off between image quality and file size. The user of the
system must decide on what they want:
better quality image (closer to original) : smaller file size 13
Computing Higher - Unit 1 - Computer Systems: Topic 7: Computer Software
GIF
GIF images are based on a compression algorithm that creates a
codebook or dictionary of particular bit patterns. These in turn, are
then substituted resulting in a smaller file. When decoding, the
algorithm uncompresses the file to generate the original image.
Significantly, GIFs preserve all the precise shapes in an image i.e.
result in ‘lossless’ compression.
It uses 8 bit colour (256 colours)
It is normally used for internet graphics because files compress well
using lossless compression.
Compression saves on storage space and transmission time (bandwidth)
Can be used for internet charts, cartoons, tech drawings or screen
dumps
NOT suitable for photographic data images which lose quality if saved
in 8-bit format.
14
Computing Higher - Unit 1 - Computer Systems: Topic 7: Computer Software
TIFF
TIFF (Tag Image File Format) is a common format for encoding
bitmap images e.g. scanner images, and can be any resolution.
15