Unit 6 - Software Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

Name some items of software?

A
  • Linux, disk defragmenter, word processor
  • Windows, disk cleanup, spreadsheet software
  • MacOs, backup software, desktop publishing software
  • iOS, compression tools, social media apps
  • Android, antivirus, photo app
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the two categories software can be categorised into?

A
  • system software
  • application software
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What can system software be further categorised into?

A
  • operating systems
  • utility software
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is system software and what are some examples?

A

System software provides the services that the computer requires. This software enables the computer or device to work, or helps to maintain the good working order of the computer

examples: operating systems (OS) like macOS, Linux, Android and Microsoft Windows

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is operating software?

A

An operating system is responsible for important functions such as how a file is written to a hard drive or a program is loaded into RAM

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is utility software?
What are some examples?

A

Utility software helps in configuring and maintaining the computer or device

Examples:
- Compression tools
- Backup software
- Disk clean-up
- Disk defragmentation
- Antivirus

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is application software?
What are some examples?

A

Application software provides services that the user requires. Apps on smartphones and tablets get their name from application software

  • Traditional computer software such as word-processors and spreadsheets
  • More modern apps such as social media apps or video players
  • Business software such as accountancy programs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is a disk defragmenter?

A

When files are saved to a magnetic hard disk they are stored in the next available space
This can lead to files being split into fragments which take longer to access as the drive head has to move more
Defragmentation software puts each file back into one contiguous location

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a disk clean up?

A

Disk drives do not need actual cleaning as they are sealed. However disk clean-up tools help to improve free space and system performance by:
- Deleting temporary files
- Clearing cached files for a web browser
- Removing unnecessary program files

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Why is it important for a computer to have a backup software?

A

Hard drives sometimes fail and may also be stolen. Regular backups are made to external drives or cloud backup services

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Why is it important for ant virus to be installed?

A

Antivirus software scans computers to make sure that they don’t contain viruses. It also scans files as they are downloaded

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is an operating system?

A

An operating system is responsible for managing the hardware and software in a computer including:
- Managing files
- Providing an interface
- Managing peripherals and drivers
- Managing memory
- Managing multitasking
- Providing a platform for running applications
- Providing system security
- Managing user accounts

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Why is a user interface important?

A

Without a user interface we would have no way of communicating with a computer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is a user interface?

A

The user interface is the point of human-computer interaction and communication in a device. This can include display screens, keyboards, a mouse and the appearance of a desktop. It is also the way through which a user interacts with an application or a website.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Name the different types of user interface:

A

GUI: Graphical User Interface
- WIMP: Windows, Icons, Menus and Pointers

Menu-driven interface

CLI: Command Line Interface
- Text is used. Commands are typed and all output is in textThis type of interface is used in Windows command prompt

Voice activated
- This is used by assistants such as Siri and Amazon Alexa

Real-time
- sensors detect inputs, actuators output actions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What interface does windows make use of?

A

Windows makes use of a WIMP user interface. This is because it uses: Windows, Icons, Menus and Pointers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is the WIMP interface?

A
  • Windows are used to show each different program that is currently open
  • The user can click on icons using a pointer or cursor
    Icons represent key functions rather than having to type instructions
  • Icons are also used to launch programs
  • Menus are used within programs and also as context-sensitive menus when you right-click
  • Different shaped pointers indicate the current function of the pointer or state of the computer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is a menu driven interface?

A

Menu-driven interfaces make use of menus where the user selects options that lead to further sub-menus. Some music players still make use of menus. Menus are often used for settings on televisions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What is a command line interface?

A

Command line interfaces are also known as text-based user interfaces. They allow the user to enter commands by typing
- Only text is displayed
- Command line interfaces are faster to use for some tasks if the user knows how to use them
- They also take less diskspace and RAM

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What does the operating system do when you open a program?

A
  • When you open a program the operating system loads the program into RAM
  • The operating system provides a platform for each program that is running on the computer
  • The operating system deals with where the program and data goes in memory (memory management), the saving of files and how much time each program has to use the CPU (task management)
  • This is why software is released for a particular operating system as well as a particular computer architecture
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

How is the memory managed?

A

To run a program, the computer must copy each program from storage into main memory:
- Data used by the program is also copied into main memory
- The operating system keeps a record of where each program and its data are located
- The operating system also makes sure that programs do not overwrite existing programs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

How does the operating system help a computer multi task?

A

People use their computers to run several programs at the same time
- Each program is given a short time on the CPU before it is paused by the operating system
- The operating system then allows the next program to make use of the CPU for a short time
- By switching quickly between different programs (tasks), it appears to the user that all of them are happening at the same time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What are some examples of peripheral devices?

A
  • Keyboard
  • mice
  • printers
  • Digital cameras and webcams
  • Graphics tablets
    -Microphones
  • Solid state media (USB sticks and SD cards)
  • Magnetic tape drives
  • Bar code reader
  • RFID reader
  • Optical drives (CD, Blu-ray and DVD drives)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

How does the operating system manage peripherals?

A
  • Each peripheral device requires a device driver to operate
  • The device driver allows the operating system (and therefore programs) to access the device
  • The device driver must be installed before the device may be used
  • Device drivers will be written in assembly language or a language that can access low level instructions – this is because they have to precisely control the hardware devices
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

How does the operating system manage files?

A
  • Operating systems contain a file system
  • This allows both users and programs the ability to copy, save and rename files
  • Files may also be placed in folder which are also known as directories in text-based systems
  • Saving files is often a complicated process, but for the programmer it is easy as they just ask the operating system to do it
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

How does the operating system help with disk and file management?

A

The operating system must manage the following
- Which platter to save to
- Which track to send the drive head to
- Which sector needs to be accessed
-Make sure that files don’t write over existing ones

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

How does the operating system help to manage security?

A

The operating system is responsible for the security of the computer system:
- Authorised users are checked with a username and password combination, PIN, fingerprint or facial recognition
- Access to certain programs maybe restricted
Individual files may be protected
- Other rights may be restricted, such as the ability to install software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

What are access right?

A

Access rights:
- If a computer is used by more than one person, users need to be restricted as to which files they may see
- A user may be given access to just the files they have made, whilst a system administrator may have access to all files
- Some users may be allowed to read files but not edit them

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Name eight functions that operating systems are responsible for:

A
  • Managing files
  • Providing an interface
  • Managing peripherals and drivers
  • Managing memory
  • Managing multitasking
  • Providing a platform for running applications
  • Providing system security
  • Managing user accounts
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

What is hardware?

A

Hardware is named after the fact it is physically hard. The term is used for all physical components of a computer or peripherals.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

What is software?

A

Software isn’t a physical object, so it is given the opposite name (soft rather than hard)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

What is firmware?

A

Firmware (between hard and soft) contains programs that are stored permanently in hardware
- The BIOS stored on a computer is stored on a flash ROM
- It can only be updated by flashing the ROM
Other peripherals may have their own firmware

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

What is a bootloader?

A
  • When you first turn on a computer it starts running firmware stored in the ROM
  • These instructions then load thefirst instructions from the hard disk telling the computer what tasks to do
  • The part of the hard disk that stores these instructions is the boot sector
  • Turning on a computer is known as ‘booting’ after “pulling yourself up by your bootstraps”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

How are applications run?

A

Applications run on the computer’s operating system. If they need to access hardware, they do this via ‘calls’ to the operating system or device drivers
- The operating system itself runs on top of the firmware
- The bootloader and other firmware runs on the physical hardware itself

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

What is an interrupt?

A

In the same way, peripheral devices also need to get the attention of the CPU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

How do peripheral devices get the attention of the cpu?

A

They do this by sending an interruptwhich leads to the relevant interrupt service routine (ISR) being run

37
Q

What happens to the current processthat is running on the processor when an interrupt is sent?

A
  • The current process will need to pause, but it will need to be restarted later
  • The value stored in the program counter (PC) is saved in a location in RAM
  • No more instructions of the following task are performed (they will be later)
38
Q

What is an ISR?

A

An interrupt sevice routine:
- Once the CPU has been interrupted, it needs to process the interrupt
- It runs the interrupts program code known as an Interrupt Service Routine (ISR)
- This is also known as an interrupt handler
- The ISR needs to execute as quickly as possible as it has interrupted the CPU from the task it was working on
- For instance, if a key is pressed, the ISR may save the key that was pressed. Later, a word-processor task can process it further

39
Q

Where are interrupts sent using hardware devices?

A

Hardware devices send interrupt signals to the CPU. The interrupts are sent via Interrupt Request Lines (IRQ).
- For instance, if a key on a keyboard is pressed, an interrupt will be sent (actually an interrupt is sent when the key is pressed and another is sent when it is released)
- When a mouse is moved, constant interrupts are sent to the computer so that it is able to update the location of the pointer

40
Q

How do software interrupts?

A

Software interrupts are generated by programs that are running. For instance, if a program tries to divide by zero, a ‘division by zero’ interrupt will needto be handled In this case, an exception is handled by the OS

41
Q

What are two different types of software interrupts that deal with faults?

A

Page faults and segmentation faults

42
Q

What is a page fault?

A

Page faults – this is when the data isn’t in RAM, but in virtual memory and needs to be loaded back into RAM

43
Q

What is a segmentation fault?

A

Segmentation faults – this is when the one program tries to make an illegal memory location, such as the memory used by another program

44
Q

Define the following:
- Bootloader
- Firmware
- Interrupt
- Interrupt service routine (ISR)
- software interrupt
- hardware interrupt

A

Bootloader – the first instructions a computer runs that tell it where to find the boot sector on the hard drive. The bootloader is stored in the ROM’s firmware

Firmware – programs stored in ROM

Interrupt – A signal sent to a processor causing it to pause the current task and handle the interrupt

Interrupt service routine – a short set of instructions that is executed when an interrupt occurs – also known as an interrupt handler

Hardware interrupt – interrupts generated by hardware, such as a key press or mouse movement

Software interrupt – interrupts generated by software, such as an attempted division by zero or an attempt to access a memory location currently being used by another program

45
Q

When a program is run, it is first loaded into RAM
If you looked inside the program file rather than running it, what would it contain?

A
  • Program files (executable files) contain machine code
  • This is the instructions and data that are executed by the CPU
  • If you view a program file, it will onlycontain binary
  • All instructions and data will be stored as binary
  • When a file is run, the binary data is loaded into RAM and the run by the CPU
46
Q

What are program intrusions called when they are converted into binary?

A

Machine code

47
Q

What is a high level code?

A

Instructions written in a language such as Python, Delphi or Java are known as high level code

Some suggestions of other high-level languages are:
JavaScript, C#, Visual Basic, PHP, Pascal, C, C++

48
Q

Why is high level code easier to read and write then machine code and low level languages?

A

Typical instructions in high level code read in a similar way to English and Maths

49
Q

Why is high level code easier to read and write then machine code and low level languages?

A

Typical instructions in high level code read in a similar way to English and Maths

50
Q

Do all processors have the same type or its own set of machine code instructions?

A

Each different type of processor has its own set of machine code instructions

51
Q

How is a simple machine code instruction formatted?

A

A typical machine code instruction in a simple processor might occupy two bytes:
It has an opcode, register and operand

52
Q

What is the opcode?

A

The opcode is the instruction to be processed, e.g. ADD, SUBTRACT, LOAD, STORE

53
Q

What is an operand?

A

The operand is either a value to be operated on or the address of the value to be operated on

54
Q

What is the register?

A

The processor carries out operations on values that are stored in registers

54
Q

What is the ‘first generation language’ and why?

A

Machine code is sometimes called a ‘first generation language’ - In the early days of computers, the binary itself was entered through a set of switches on the computer

55
Q

What is the ‘second generation language’?

A

The ‘second generation’ of programming languages was assembly code, which used mnemonics to represent each opcode, and a denary number or identifier for the operand

56
Q

What type of instruction sets are available in assembly code?

A

Only very simple instructions are available in assembly languages

57
Q

Can a computer process assembly language?

A

The computer cannot process assembly language instructions directly as it only processes binary machine code

58
Q

How can you translate assembly code to machine language?

A

The assembler is a program which translates assembly code into machine language

59
Q

Why is it hard to translate a high-level language into machine code?

A

High level languages have complex statements and program structures which makes them harder to translate into machine code. Each statement in a high level language represents several machine code statements

60
Q

How can you translate a high level language program (the source code) into machine code?

A

Using a complier

61
Q

What is a complier? What happens when a syntax error is encountered?

A

A compiler is a program which translates a high level language program (the source code) into machine code
- The compiler produces an executable file which means the file can be executed (run)
- The machine code created by a compiler is also known as object code
- If the compiler encounters a syntax error, it cannot translate the statement so no object code is produced
- It provides an error report for all errors that are detected inthe code

62
Q

How does a complier work (compilation process)?

A

The compiler translates the entire program at once
It produces an executable file which can be run
This is the file that is usually distributed to the customer
The compiled file will be created for a specific computer architecture and operating system

63
Q

What is an interpreter? What happens when a syntax error is encountered?

A

An interpreter is a type of program which translates a high level language program into machine code
- It translates a line and then, if it has no syntax errors, executes it
- It continues like this, translating and executing the code line-by-line

If a syntax error is encountered, it displays an error message and stops executing the program

64
Q

What is the difference in the speed between a interpreter and complier?

A

Interpreter - slower executions as every line is translated before it is executed

complier - faster execution as the whole program is already ready to execute

65
Q

Does a user have to have the interpreter and compiler on their computer so that the program can run?

A

Interpreter - A user has to have the interpreter on their computer in order to run the program

Complier - The program runs on the computer without the need for an interpreter or complier as it is already an executable file

66
Q

When someone purchases your program can they see and edit the original program (interpreter and complier)?

A

Interpreter - A user who purchases your program can make changes and see how it works

Complier - A user who has purchases your program cannot see the source code

67
Q

In what stage is better to use an interpreter and complier?

A

Interpreter - An interpreter is faster when developing a program as there is no need to compile the whole program

complier - A complier is used to translate the final program. This may take some time if carried out during development

68
Q

Why use assembly code?

A

Assembly code allows the direct manipulation of hardware
- As the programmer has complete control of the hardware when they use assembly, they are able to make key parts of programs more efficient in processing speed and the use of memory

69
Q

What are some common examples of where hardware is written in assembly code?

A
  • Device drivers need to control specific parts of hardware so are usually written in assembly
  • Other common uses for assembly are the bootstrap stored in ROM, control programs in embedded systems such as a dishwasher, washing machine or car
70
Q

What are some disadvantages and advantages of writing a programming code in assembly?

A

Disadvantages: Difficult for people to understand, learn, read and write

Advantages: Direct manipulation of hardware such as needed in device drivers; Used to make efficient code

71
Q

What are some disadvantages and advantages of translating high level code using a complier?

A

Disadvantages:
- The complied code will only work on a particular platform/ CPU architecture meaning it isn’t machine independent.

Advantages:
- Easier for programmers to understand as it’s a high-level language
- Code only needs to be complied once
- The user doesn’t need an interpreter

72
Q

What are some disadvantages and advantages of translating a code using an interpreter?

A

Disadvantages
- Slower than complied code as the translation occurs line by line every time the program is run

Advantages
- Easier for programmers to understand as its a high-level language
- Machine independent code can be created

73
Q

What does IDEs stand for?

A

Integrated Development Environments

74
Q

What are IDEs?

A

They have a number of tools and features that help programmers when they are programming.
Commonly used IDEs include Visual Studio (for C#, VB and other languages), Eclipse (for Java and many more) and IDLE (for Python)

75
Q

What are some of the features that IDE has?

A
  • Code editors
  • A translator
  • A debugger
  • error diagnostics
  • Line numbers
  • Syntax highlighting
  • Prettyprint
  • Auto-completion
  • Auto-correction
76
Q

Explain line numbers (IDEs):

A

Line numbers allow a programmer to clearly see each new line of code
- When errors are found, the line number that they occur on will also be stated
- In some IDEs, parts of the program that the programmer doesn’t need to see can be folded

77
Q

Explain the use of syntax highlighting (IDEs):

A

Syntax highlighting is where the colour of the text changes to show different parts of the program

78
Q

Explain what prettyprint is (IDEs):

A

Prettyprint applies indentation and formatting to code
- This makes it easier for other programmers to read
- It also makes code consistent across different programmers

79
Q

Explain error diagnostics (IDEs):

A

Error diagnostics help a programmer to find where they have made a mistake
- Errors are identified along with the line number that they occur on
- The code may be underlined or highlighted to show the error

80
Q

What are breakpoints?

A

Breakpoints are set by the programmer so that the IDE stops the program mid-way through running
The programmer can the step through code line by line

81
Q

What is the run time environment?

A

-The run-time environment allows a programmer to test their program while it is running
- If the program crashes the run-time environment can see what happened and give useful information to the programmer
- The run-time environment also means the libraries that come with the programming language will be available to the programmer to use

82
Q

Do IDEs contain translators?

A

IDEs will contain the necessary translators to run and test the code
The IDE may compile the code or interpret it by running it line by line – this is very helpful when debugging the code

83
Q

If the language is a compiled program, what actually happens when the ‘run’ program is pressed in the IDE?

A

For compiled languages, when the ‘run’ button is pressed the IDE will:
- Compile the code in a temporary folder
- Run the code

84
Q

What is auto-completion? What are some advantages?

A

Auto-completion gives the programmer suggestions for variable names and keywords as they type

Advantages:
- This may improve the speed that a programmer writes code
- Tabs, brackets and braces may also be added automatically to the code to save the programmer time

85
Q

What is auto-correction?

A

Some IDEs have auto-correction which fixes mistakes such as those made in keywords

86
Q

What is code editor?

A

Use to write and edit programming code

86
Q

What is run-time environment?

A

The facility of the IDE that allows programs to be run

87
Q

What is error diagnostics?

A

A list of errors along with the line number in which they were detected