4.6 Computer systems Flashcards
What is application software? Give 3 examples
Application software is designed to perform tasks a user wants to complete (user-oriented tasks), e.g. ⌨️word processors, 📊spreadsheet software, 🎥movie editing etc.
What is systems software?
Systems software is software used in the management of a computer system.
This comprises layers of software that abstract the user from how the computer works.
What is the operating system?
A collection of programs that control the operation of computer hardware and provide an interface between the user and the computer
What are utility programs? (2*)
Utility programs are systems software that is used to perform a non-core/ancillary/specific management function for a computer.
They help to manage or maintain a computer system but are not critical to the system.
2 ways utility programs can be installed
Utility programs can either be supplied with the operating system or installed at a later time.
4 types of system software
💻Operating System
🔧Utility Programs
📚Libraries
🈳Translators
3 examples of utility programs
antivirus software, defragmentation, compression
What are libraries? (2*)
- Libraries are precompiled, pretested routines (sets of code) that other programs can link to and use
- As long as the programmer includes a reference to the library in their code, they can access all the functions of the library
How do libraries save developers time?
- Common tasks can be written as libraries for repeated use
- This saves time for developers as it saves them from having to rewrite the instructions
What are translators?
Translators are systems software tools that are used to convert program code from one format into another, without adjusting the logical operation of the original program code
Name three types of translator
Compilers, Assemblers, Interpreters
What is the purpose of compilers?
To turn program source code into a target language version (eg machine code / bytecode) that can be executed by the computer
What is the purpose of assemblers?
- To turn low-level assembly language code into executable machine code
- They are very fast to run
How do interpreters work?
Interpreters run instructions from a high-level language by determining what actions should occur line-by-line and executing equivalent prewritten executable code.
Why is the operating system classified as systems software?
It is required for the functioning/maintenance of the system itself, and performs tasks that are machine oriented
2 main roles of OS
- To hide the complexities of the hardware from the user
- To manage the resources which processes compete for
Give a concrete example, e.g. “To allocate I/O devices to processes”
How does the OS hide the complexities of the hardware from the user?
By presenting the user with a virtual machine to interact with.
e.g.
- 🖼️Graphical User Interfaces (GUIs)
- 👨💻Command Line Interfaces (CLIs)
- Application Programing Interfaces (APIs)
What is a virtual machine?
A virtual machine is the apparent machine or interface that the OS presents to the user
What is an API (in the context of the operating system)?
- An application programming interface
- APIs are layers of software that allow the application programmers use the functions the OS provides
What is a process?
A process is an instance of a program being executed
4 resources processes compete for
- (Secondary) Storage
- I/O Devices
- Memory
- Processor time
4 ways OS manages storage
- Allocating space on storage devices to files
- Organising files into directories
- Determining where on the device to save a file
- Manages which process/user can access (read/write/modify) different files and directories