5 - system software Flashcards
User system interface
- allows the user to get the hardware/ software to do something useful
GUI
graphical user interface
- uses WIMP - windows icons menus and pointers
+ simple to use (intuitive)
+ looks nice
- limits what you can do
- needs OS
for general population
CLI
- is text based - through a keyboard
+ can debug
+ directly manipulate functionality of computer
+ can alter comp settings
+ don’t need OS - harder to use
- need to learn complex commands
more advanced users
program hardware management
- OS ensures hardware does what the software wants
- Program development tools allow the programmer to write a program without knowing how the hardware actually works
- OS provides a mechanism to run the program
BIOS
- Basic Input/Output System
- Stored in CMOS memory - so can be altered or deleted as required
OS - management
- memory
- security
- processor
- hardware
- file
security management
- Ensures integrity confidentiality and availability of data
- Updates system when available
- Ensures anti virus is up to date
- Communicates with firewalls to check traffic
- Makes use of privileges
- Maintains access rights
- Offers recovery of data
- Prevents illegal intrusion
processor management
- Allocation of recourses
- Permits exchange of data
- Allows processors to be synchronised (schedules resources, resolves conflicts, use of queues)
hardware management
- Communicates with I/O devices - using drivers
- Translates data from a file into formats I/O devices understand
- Ensures hardware has a priority so can be used as required
file management
- Defines file naming conversions
- Creates, opens, closes, deletes, renames, copies and moves files
- Maintains directory structures
- Ensures access rights, passwords, locking files are maintained
- Specifies the file storage format (FAT, NTFS)
- Ensures memory allocation for a file by reading from HDD/ SSD and loads into memory
memory management
- made up of memory optimisation, organisation, protection
memory optimisation
- how memory is allocated and where programs are stored
- keeps track of all allocated and free memory
- swaps data to/from HDD/SSD
memory organisation
- how much memory is allocated and how its split up approrpriately
- single contiguous allocation, partitioned, paged memory allocation, segmented memory
single contiguous allocation
- all memory is made avaiable to a single application
partitioned allocation
- memory is split into contiguous partitions and memory management allocates a section to an application
paged memory
- each partition is a fixed size - used by virtual memory
segmented memory
- memory blocks arent contiguous each segment is allocated to a logical group of data (eg data that makes up an array)
memory protection
- ensures competing applications cant use the same memory locations at once
- if not data could be lost, security issues or comp can crash
error
- Can be because the program was badxly written or supplied with inappropriate data
- System needs to be able to interrupt processing and provide error diagnostics or shut down the system if extreme errors
utility programs
- hard disk formatter
- hard disk repair
- hard disk defragmenter
- backup
- file compression
- virus checker
- disk content analysis/repair software
hard disk formatter
- Organises storage space by assigning it in data blocks/partitions
- After partitions are created they are formatted - writes files to hold directory data and table of contents
- NTFS - full formatting for windows - fills with zeros then reads them back to test the sector
- If bad sector is found its flagged and reorganises by replacing bad sectors with new unused sectors
hard disk repair
If bad sector is found its flagged and reorganises by replacing bad sectors with new unused sectors
hard disk defragmenter
- When disk becomes full sections of files will be scattered - read/write is slower as arm has to move more
- Defragmenter arranges files to store in contiguous sectors + faster read/write - can also carry out clean up operations
backup
- Allows a schedule for backing up e.g. every week
- Only backs up if changes are made
- For security should be 3 versions of any file
- current version on comp e.g. hard drive
- locally backed up e.g. portable SSD
remotely backed up e.g. cloud storage
file compression
- Compresses data before writing to hard disk
+ Saves storage space - makes upload/download quicker
virus checker
- Checks software or files before they are loaded on a comp
- Compares possible viruses against a database of known viruses
- Carries out heuristic checking - checks for types of behaviour that could indicate a virus
- Puts infected files into quarantine - deleted the files or allows the user to decide whether to open
- Update software to keep virus database up to date
disks content analysis / repair software
Checks for empty space by reviewing files - can remove unwanted files/downloads
program libraries
- used when software is being developed can use pre-written subroutines and save time
- used to help developers who want to use DLL in their programs
+ saves time as removes the need to rewrite the subroutines
+ several programmers can be working at the same time (modular programming)
+ allows continuity in games
+ can maintain a corporate image
+ saves testing. times
static vs dynamic libraries
static libraries - software is linked to executable code in the library - routines would be embedded directly into the new program
dynamic libraries - not linked to the library routines until run time – the routines will be available to several applications at the same time
assemblers
- Converts an assembly language program into machine code
- can be a two-pass assembler
- First - removing comments, symbol table creation, expansion of macros, identification of system calls
- second - replaces symbolic addresses with absolute addresses and creates object code
compilers
- translated into machine code
- output object code
- can be executed many times without being translated again
interpreter
- executed line by line
- shows errors when it sees them
- every line is interpreted each time the program is run
compiler +/-
+ no need to have a translator
+ source code can’t be changed by end user of object code
+ quicker to execute
+ no syntax or semantic errors once compiled
+ can be translated on one comp then executed on another type
- list of errors at the end
- untested errors may cause a crash
-end users done have access to source code
interpreter +/-
+ easier to debug
+ can see partial results during development
+ if purchased end users have source code
- end user needs interpreter
- end users can use source code - copywright
- can contain syntax errors
- can’t be run on diff comp typed
IDE
integrated development environment
- used by programmers to aid the writing and development of programs
IDEs usually have
- a source code editor
- a compiler, an interpreter, or both
- a run-time environment with a debugger
- an auto-documenter
source code editor
- Allows program to be written without separate text editor- can edit without changing software
- Layout with prettyprinting - colour coded
-context sensitive prompts eg text completion - Flags syntax errors - logic errors can only be found at run time
run time environment with debugger
- Flags errors
- can step through the program line by line - single stepping
- set a breakpoint - stops the execution of the program
- Report window - shows contents of variables/expressions at that point in the program - can check for logical errors
auto documenter
- explains the function of the code and each built in function
partial compiling and interpreting
- Source code is checked and translated by a compiler to object code
- This is known as intermediate code, p-code or bytecode
- To execute the object code can be interpreted by an interpreter
- Eg Java and python