1.2.2 Flashcards
nature of applications
Applications software is designed to be used by the end-user to perform one specific task.
They require systems software in order to run.
Examples: desktop publishing, word processing, spreadsheets, web browsers.
Utilities
They’re a subcategory of system software often sitting alongside operating systems. Lots of operating systems come with utility software’s but you can buy them too.
Utilities are a key piece of system software integral to ensuring the consistent, high performance of the operating system. Each utility program has a specific function linked to the maintenance of the operating system.
- Keeps computer safe.
- Keeps it running efficiently.
- Provides you with useful tools to manage your files and applications.
types of utilities
file management
Enables user to do simple file manipulation, tasks a file management software can perform are moving files from one directory to another, copy files, rename files and list directory contents.
compression
Operating systems provide utilities that enable files to compressed and decompressed. This is used when compressing large files to be transmitted across the Internet and is commonly used to compress scanned files.
As the hard disk becomes full, read/write times slow down. This is because files become fragmented as they are stored in different parts of memory. The disk defragmenter utility rearranges the contents of the hard drive so they can be accessed faster = improving performance.
antivirus
Antivirus is responsible for detecting potential threats to the computer, alerting the user and removing these threats.
automatic update
This utility ensures the operating system is kept up to date, with any updates being automatically installed when the computer is restarted. Updates tackle bugs or security flaws so this ensures the system is less vulnerable to malware and hacking threats.
Backup
The backup utility automatically creates routine copies of specific files selected by the user. How often files are backed up is also specified by the user. This means that in the event of a power failure, malicious attack or other accident, files can be recovered.
Open source
Is a software for which the source code is freely available to download. The code can be inspected and modified to suit the specific requirements of the user. As the source code is open, users can contribute to fixing errors and vulnerabilities in the code, and can sometimes provide assistance with the product to other users. Also, any number of people could potentially contribute to the software development, and development is often a group effort. Usually free, but not all free software is open source (closed source software can also be free).
The quality of the finished product can vary: some open-source software is extremely high-quality and updated regularly, while some contains a number of bugs and quickly becomes outdated.
ADV: (users) Can share the software with others, free license, can modify the user, the finished quality of the software can vary, although some can be very high quality. Source code available for all to see. (creators) gets their software out there.
DIS: (user) support must be paid for, new versions must come with the same sharing/freedom licences.(creators) little to no financial gain.
Closed source
Is a software for which the source code is not freely available. It is developed and provided to the user as a fully compiled, executable set of files. The developer often provides support to users after purchase and ensures that the software works as expected. As the user is not provided with the source code, they cannot make changes to the software. Usually sold to end users, although sometimes it is available for free. Importantly, when purchasing software, the user does not buy the software itself, but buys a licence to use the software. Requires appropriate license.
ADV: (user) Support is normally free, although a premium can sometimes be charged. Well supported and tested. The company is obliged to provide software that is fit for purpose. (creators) receive an income from product.
DIS: Software cannot be altered, cannot be shared with others. Source code is not available
Normally developed collaboratively. (users) cost/ongoing subscription fee. (creators) constant demand from community
difference between open and closed software
Translators
A translator is a program that converts high-level source code into low-level object code, which is then ready to be executed by a computer.
High-level languages (Visual Basic, C++, and Python): used to write programs that are independent of the computer architecture they will run on.
- To move from high-level source code to executable machine code requires the source code to be translated.
- There are two main ways in which this can happen: compilation or interpretation.
Low-level language code (assembly language programs): needs to be translated.
- The translators used for assembly language programs are called assemblers.
- There are three types of translator that convert different types of code and work in different ways.
differences in operation of interpreters and compilers and assembler
hardware and software
hardware is physical parts of a computer and its related device, internal and external: motherboards, hard drives, RAM, monitors, keyboards, mice, printers
software is general term covering all computer programs, application, system and utility software.
software examples
word processor
generic application, no specific or narrow purpose. Can use out to carry put different tasks and meet multiple needs. posters, essays, letters, reports
number of stages involved in compilation
When a compiler is used, high-level code goes through four stages before it is turned into object code that is ready to be executed.
database software
A specific application highly specific and bespoke, making it essential for creating a serious database application. Creating, managing and using database, only installed for direct need.
application software examples
stage 1-lexer
Starts by converting lexemes in the source code to a series pf tokens. As the lexer reads the source code, it scans the code letter by letter.
When encountering a white space, operator symbol or special symbol, it decided a word (lexeme) is complete. Then checking the lexeme is valid using a predefined set of rules that allow every lexeme to be identified as a valid token.
tokens = keywords, constants, identifiers, strings, numbers, operators, punctuation
white space and comments removed because they are passed over by lexer.
Now we have created our token streams from lexemes in the source code, we put these tokens into a symbol table.