system software Flashcards
operating system
a software platform that provides facilities for programs to be run which benefit the user
why should an operating system be used
- hardware is unusable without an operating system
- acts as an interface and controls communication between user and hardware
- provides software platform
command line interface (CLI)
- user types in instructions to open or launch a program
- user is in direct communication with the computer system
- usually a number of instructions need to be typed in to launch the program
graphical user interface (GUI)
- user interacts with the computer system using icons
- user does not need to know where application is in the computer
- user launches app by the use of pointer
- e.g: Windows
memory management
- allocates memory to processes
- ensure fair usage of memory
- organize memory by making use of virtual memory
- keeps processes separate
- to release memory when a process stops
process management
- manages scheduling of process
- allows multitasking
- handles priorities
- enables process to share info
prevents interference between processes - manages which resource the process requires
file management
- storage space divided into file allocation unit
- space allocated for particular files
- maintains directory structure
- specifies logical method of file storage
- file naming convention
- controls file access
security management
- sets up user account
- access rights
- checks username and passwords
- auto back-up
- system restore
printer management
- installs printer driver
- sends data to the printer
- handles error messages
- sends commands to the printer
interrupt handling
- identifies priorities to the interrupt
- saves data on power outage
- loads appropriate interrupt service routine
input output management
- installation of appropriate drivers
- control access to data being sent
- control access to hardware
- manages communication between devices
utility software
analyzes and maintains a computer system and makes it functional
hard disk formatter
- makes existing data inaccessible
- position the disk into logical drives
- prepare the disk for initial use
- might search for error
- sets up specified file system
hard disk defragmenter
- re-ogranises the disk
- moves split files so they are contiguous
- creates a large area of contiguous free space
disk repair
- check for any error
- resolves any errors on the disk
- retrieves files from damaged disk
- marks bad sectors of the disk
virus checker
- scans files on a computer for malicious code
- scans files when they enter the system when the memory stick is inserted
- sets up a schedule for virus checking
- deletes virus
- regularly updates virus definition
backup software
- creates a copy of the contents of the disk
- can be set up to automatically backup
- allows user to decide what is backed up
- allows off site backup
- may encrypt backed up files
- restores the data if necessary
file compression utility
- compress and decompress files
- infrequently used files are compressed
- saves space in hard disk
library routine
- pre-existing or pre-compiled code
- can be linked to other programs
- to perform common complex tasks
library routine pros
- less code needs to be written so saves time
- pre-tested so reduces testing time
- can be written in different programming languages that enable you to use special features of that language
- there can be complex algorithms and no need to work out how to write them
- simplifies the program since just the name of the function is included
library routine cons
- compatibility issues: may not work with other code
- not guaranteed through testing : may contain unknown unexpected bugs
- the code may not meet exact needs : unexpected result
dynamic link library (DLL)
- a collection of self-contained shared library program that are already compiled
- linked to main program during execution
- program code is separated from .exe file
- library file is only loaded into memory when required at run-time
- a DLL file can be made available to several applications at the same time
- if a change is made in DLL code then the entirety of the program that uses DLL will get changed
DLL pros
- the executable file is smaller
- DLL file is only loaded into memory when required at run-time
- changes to DLL code are done independently of the main program
- no need to recompile the pain program
- a single DLL file can be made available to several applications saving space in memory
DLL cons
- executable code is not self-contained
- DLL file needs to be included at run-time
- linking software needs to be available at run-time to import the DLL file
- unexpected changes to DLL could mean the program stops working as expected
- malicious changes to DLL file could install a virus on the user’s computer
assembler
- programs written in assembly language are translated into machine code by an assembler program
- each instruction in the source code consists of an operand and opcode
- software translates low level language into machine code for the processor to execute
compiler
- translates high level language into machine code for the processor to execute
- compiler creates an executable file
- no need to give access to source code so it makes it more difficult for the user to modify the code
compiler pros
- produces an executable file
- user does not have access to source code
- it will probably be faster to run the executable file
- code does not have to be compiled each time it’s executed
- does not need to be present at run-time
compiler cons
- source code must be re-compiled every time the programmer changes the program
- finding error is difficult as error messages are given at the end
- source code must be 100% correct for executable file to be produced
interpreter
- translates high level language into machine code for the processor to execute line by line
- reads each statement and checks it before running it
- halts when it encounters an error
- analyses and checks each line before executing it
interpreter pros
- can be corrected as they occur
- can run a partially complete program when developing
- the effect of any change made to the code can be seen immediately
interpreter cons
- no executable file is produced
- user has access to source code
- need to translate the source code again and again so consumes time
- interpreter should be present in the memory at the time of execution