Managing the use of hardware (inputs
and outputs) across many programs
Provides an environment
for programs to be executed
Provides communication
between user and the machines
Overlooks computer's operations
Provides
File management
stores files in hierarchical structure,storing
a record of their directories
Memory management
Memory management: Makes the most
efficient use of RAM. Each task is given a
proportion of the memory and so this allows
many tasks to be able to run at the same time
Input/Output management
Queues the requests for the use of the
I/O and executes them in that order
Processor management
OS manages which task gets
the next use of the processor
Data security
Network and multi user OS can provide
each user with an account followed by a
password, and accessibilty hierarchies
Types of OS
Batch processor
Do repetitive tasks for different data sets. Once initiated with an input, the
Batch OSs is left to procedeed until all iterations are completed. Typically
found in mainframes and typically used for processing paychecks
Real Time
Takes in inputs and produces and inputs at different
rates.Immediate updating of files and immediate
response to the user. Examples: car engines, traffic lights
Single User-Single applications
Single User - Multiple applications
Multiple users - multiple applications
Network OS
OS that can allow computers to be connected into a network.
Maintain connection
logging users on
Provide security between users
Utility Programs
Disk Defragmenter
Big files may be divided up into smaller fragments
that are stored in a noncontiguous manner,
defragmenters relocate these fragments and any
unused disk space so they can be stored
contiguously for faster accessing speed
Disk Formatter
Draws lines on hard disks to create
storage areas for the disk's initial use
Virus checker
Constantly find and remove viruses from
sent files, downloaded files and copied files
Auto backup
Files can be periodically backed-up on scheduled basis by creating
duplicates of the desired files and folders for servers,
clients, mainframes etc. and stored in alternative
media in the event of hard drive failure
Compressor
Reduces file size by removing unwanted parts of a file
which ultimately speeds up computer performance
Disk content Analyser
Generate a visual representation of the storage space on the disk
occupied by folders, files and programs, may create graphs to show this.
System software made to
analyse, maintain and
configure the computer
Utility programs are
not user-oriented
Library Programs
Collection of codes, instructions,
data and resources that can be
used by various programs
e.g. programs running on Windows 7 all use the same
transparent theme that the windows currently have,
or the system buttons (close, minimise, maximise...)
Helps the running and development
of more complex software
DLL: Dynamic Link Library: loaded dynamically into the OS
when a task is needed. It's executable and handle a wide range
of tasks like controlling messageboxes, handling graphics ...
Advantages
capable of making advanced programs
Less time consuming
Testing becomes less necessary
Disadvantages
Some tweaking might be needed for
personalisation - might be tedious
Prone to virus attacks from
the exposure to various files
Language Translators
Assembler: Assembly language
codes into binary (object code)
Compiler
Translates HLL into object code all at once
This is to create an executable program
Translates all the source code at once
Leaves the user with the source
code that is about to be executed
Advantages
No plaigiarism
from other users
Easy distribution of .exe code
Once .exe file is produced, the
compiler software is no longer needed
execution time faster
than that of interpreter
Disadvantages
Slow preparation (translation) time
If there is a mistake, program wont run or will crash or run
incorrectly therefore the program needs to be error-proof first
Uses a lot of resources
Interpreter
Translates one line
of code at a time
A translation method of
HLL into object code
Advantages
Can be executed before
the entire source code
has been translated
Less time consuming to translate
A chance to fix mistakes after the execution of a line (easier to debug)
Great for prototyping
Disadvantages
Execution time slower than compiler
Since source code is exposed - greater risk of plagiarism