Chapter 5 System-Software
Chapter 5 System-Software
https://www.hoddereducation.co.uk/cambridgeasalevelcomputerscience
Resources:
https://www.cambridgeinternational.org/programmes-and-qualifications/cambridge-
international-as-and-a-level-computer-science-9618/published-resources/
Resources:
https://www.bbc.co.uk/bitesize
Lesson Objectives:
•Microsoft Windows
•Apple OS X
•Linux
•Android
•IOS
1-Loading a software interface for the user to interact with (usually a GUI or CLI)
2-Managing hardware resources such as memory and devices
3-User management
4-authentication & security
5-File management
When a user is using a computer they are either interacting directly with the operating system
( e.g. logging in to the computer) or via an application (e.g. saving a word processing document)
01/11/2022 By: Noureddine Tadjerout 16
5.1 Operating System
Processor management
Multitasking means to be able to run more than one program simultaneously. These
programs perform processes. In the past, computers with CLIs were unable to
multitask - the operating systems of the day only allowed one program to run at a
time.
Modern operating systems are multitasking in that they allow several programs to run
side-by-side. It is not uncommon for a user to be streaming music while entering text
into a word processor, or streaming a video while making a backup of files.
Advantages
Allows a combination of active and passive user interaction, e.g.:
Type up a word processing document while listening to music.
Editing images while burning files to an optical device (DVD / CD)
Allows rapid switching between applications which can make the use more efficient.
Disadvantages
Multiple open applications can slow down the computer, making it harder to use.
Requires more physical resources (CPU power / memory) so uses more battery.
Can offer unwanted distractions from the task at hand.
Different operating systems allocate their own size to pages. For example, memory pages in
modern operating systems are typically 4 kilobytes (KB) in size.
When a program is run, it is loaded into memory. The operating system determines how much
memory the program requires, and allocates enough pages to hold it and its documents. When
the program is closed, the allocated pages are freed up for use by other programs.
The pages a program occupies may or may not be contiguous, but this does not matter. The
operating system knows what each page occupies and fetches the data held in them when
needed.
To operate a peripheral, the operating system uses a program called a device driver.
Device drivers contain instructions on how to control a device. Each connected device
has its own driver.
any device can be used with the operating system, as long as a driver is available for it
drivers can be updated, usually to give better performance or to remove a bug
Application programs and hardware can communicate through an interface provided by the
operating system. This is known as the application programs interface (API).
The applications manager allocates memory space and determines time needed by a processor
for an application to run
A file is collection of specific information stored in the memory of computer system. File
management is defined as the process of manipulating files in computer system, it
management includes the process of creating, modifying and deleting the files.
The following are some of the tasks performed by file management of operating system of
any computer system:
- It helps to create new files in computer system and placing them at the specific locations.
- It helps in easily and quickly locating these files in computer system.
- It makes the process of sharing of the files among different users very easy and user friendly.
-
It helps to stores the files in separate folders known as directories. These directories help users
to search file quickly or to manage the files according to their types or uses.
It helps the user to modify the data of files or to modify the name of the file in the directories.
01/11/2022 By: Noureddine Tadjerout 29
5.1 Operating System
Utilities
https://www.youtube.com/watch?v=AG6Sux3zvpM
1- encryption software:
Encryption software disguises the contents of files so they can only be understood by authorized
users. The software uses a complex algorithm to scramble the content so that it appears to be
gibberish. Only authorized users can unscramble the content.
The software can encrypt specified files, or the whole of the hard disk on which the files are
stored.
You can read more about encryption by clicking the link below:
https://www.bbc.co.uk/bitesize/guides/z666pbk/revision/6
5.1 Operating System
Watch the video for Utility Software and Models
https://www.youtube.com/watch?v=Z0uVNcNKags
Smaller files are easier to transmit across a network as they require fewer packets to be sent.
Their reduced size also means more files can be stored in any given area of storage.
You can read more about compression by clicking the link below :
https://www.bbc.co.uk/bitesize/guides/zd88jty/revision/9
To prevent data loss, regular copies of the data should be made. A copy of data is known as a
backup. Backups can contain a copy of all files on a computer, or just ones specified by a user.
Network managers make regular backups of all files on a network using backup software.
The software automatically makes a backup at a scheduled time of day, usually during the
evening when the network is quiet. Backups are usually made to a high capacity secondary
storage device, or to the cloud.
A full backup involves making a copy of every file on the computer or network. They can require
a lot of storage space and can be time consuming to make.
Incremental backups take a copy of any new files created since the last backup, or of any files
that have been edited, such as user documents.
Most network managers make an initial full backup and then switch to daily incremental
backups. This way all data is backed up and daily backups are small and less time-consuming.
01/11/2022 By: Noureddine Tadjerout 39
5.1 Operating System
2)-Utility Software
4- Virus Checker:
Antivirus software, or antivirus software (abbreviated to AV software), also known as anti-
malware, is a computer program used to prevent, detect, and remove malware.
Antivirus is a kind of software used to prevent, scan, detect and delete viruses from a computer.
Once installed, most antivirus software runs automatically in the background to provide real-
time protection against virus attacks.
Comprehensive virus protection programs help protect your files and hardware from malware
such as worms, Trojan horses and spyware, and may also offer additional protection such as
customizable firewalls and website blocking.
Library programs contain code and data that provide services to other programs such as
interface (look and feel), printing, network code and even the graphic engines of computer
games. If you have ever wondered why all Microsoft Office programs have the same look and
feel, that is because they are using the same graphical user interface libraries. For computer
games a developer might not have the time and budget to write a new graphics engine so they
often buy graphical libraries to speed up development, this will allow them to quickly develop a
good looking game that runs on the desired hardware. For example Battlefield 3 and Need for
Speed both use the same Frostbite engine.
A dynamic link library (DLL) is a collection of small programs that can be loaded when needed by
larger programs and used at the same time. The small program lets the larger program
communicate with a specific device, such as a printer or scanner.
https://www.installsetupconfig.com/win32programming/dynamiclinkl
ibrarydll9_5.html
https://www.youtube.com/watch?v=Ws5AhdN0hqQ&t=4s
55
5.2 Language Translators
Watch the video for Translators (Assemblers, Compilers & Interpreters)
https://www.youtube.com/watch?v=eXu0c5vZnhU
56
5.2 Language Translators
Assembler Software:
The Assembler is a Software that converts an assembly language code to machine code. It takes
basic Computer commands and converts them into Binary Code that Computer’s Processor can
use to perform its Basic Operations. These instructions are assembler language or assembly
language.
We can also name an assembler as the compiler of assembly language. This is because a
compiler converts the high-level language to machine language. On the other hand, an
assembler is doing the same task but, for assembly language, the name compiler of assembly
language.
An assembly language is a low-level language. It gives instructions to the processors for different tasks. It is
specific for any processor. The machine language only consists of 0s and 1s therefore, it is difficult to write a
program in it. On the other hand, the assembly language is close to a machine language but has a simpler
language and code.
57
5.2 Language Translators
Assembler Software:
What is an Assembly Language?
Assembly language is used. It uses opcode for the instructions. An opcode basically gives
information about the particular instruction. The symbolic representation of the opcode
(machine level instruction) is called mnemonics. Programmers use them to remember the
operations in assembly language.
Here, ADD is the mnemonic that tells the processor that it has to perform additional function.
Moreover, A and B are the operands. Also, SUB, MUL, DIVC, etc. are other mnemonics.
58
5.2 Language Translators
Assembler Software:
Types of Assembler
Assemblers generate instruction. On the basis of a number of phases used to convert to
machine code, assemblers have two types:
1. One-Pass Assembler
These assemblers perform the whole conversion of assembly code to machine code in one go.
2. Multi-Pass/Two-Pass Assembler
These assemblers first process the assembly code and store values in the opcode
table and symbol table. And then in the second step, they generate the machine code using
these tables.
a) Pass 1
- Symbol table and opcode tables are defined.
- keep the record of the location counter.
- Also, processes the pseudo instructions.
b) Pass 2
Finally, converts the opcode into the corresponding numeric opcode.
Generates machine code according to values of literals and symbols
59
5.2 Language Translators
Assembler Software:
Some Important Terms:
Opcode table: They store the value of mnemonics and their corresponding numeric values.
Symbol table: They store the value of programming language symbols used by the programmer,
and their corresponding numeric values.
Location Counter: It stores the address of the location where the current instruction will be
stored.
60
5.2 Language Translators
Assembler Software:
Watch the video for Assembly language Symbol Table AS/A level Exam PPQ W17 QP 12
https://www.youtube.com/watch?v=NoRNhCOvuhM
61
5.2 Language Translators
Compilers and interpreters:
Watch this video below for Interpreters and Compilers
https://www.youtube.com/watch?v=_C5AHaS1mOA
62
5.2 Language Translators
Differences between Interpreter and Compiler:
63
5.2 Language Translators
Integrated Development Environment (IDE):
An integrated development environment (IDE) is a software application that provides comprehensive
facilities to computer programmers for software development. An IDE normally consists of at least a source
code editor, build automation tools and a debugger. Some IDEs, such as NetBeans and Eclipse, contain the
necessary compiler, interpreter.
1- Prettyprinting:
Prettyprint refers to the presentation of the program code typed into an editor. For example,
the Python IDLE (see Figure 8.02) automatically colour-codes keywords, built-in function
calls, comments, strings and the identifier in a function header. In addition, indentation is
automatic.
64
5.2 Language Translators
Integrated Development Environment (IDE):
Context-sensitive prompts
This feature displays hints (or a choice of keywords) and available identifiers that might be
appropriate at the current insertion point of the program code. Figure 8.03 shows an example
of the Visual Studio editor responding to text typed in by the programmer.
65
5.2 Language Translators
Integrated Development Environment (IDE):
Dynamic syntax checks
When a line has been typed, some editors perform syntax checks and alert the programmer
to errors. Figure 8.04 shows an example of the Visual Studio editor responding to a syntax error.
66
5.2 Language Translators
Integrated Development Environment (IDE):
Expanding and collapsing code blocks
The blue underline shows that there is a syntax error. As you move the mouse pointer over
different parts of the line of code, the editor will display explanations. When working on
program code consisting of many lines of code, it saves excessive scrolling if you can collapse
blocks of statements. Figure below shows the Visual Studio editor window with the procedures
collapsed, so the programmer can see the global variable declarations and the main program
body. The procedure headings are still visible to help the programmer supply the correct
arguments when calling one of these procedures from the main program.
67
5.2 Language Translators
Integrated Development Environment (IDE):
Debugging
An IDE often contains features to help with debugging.
If a Debugger feature has been switched on it is possible to select a breakpoint. When the
program starts running it will stop when it reaches the breakpoint. The program can then be
stepped through, one instruction at a time. Figure 8.05 shows the windows presented to the
user in the Python IDLE when this feature is being used.
68
AS/A Level Exam Question 1
69
AS/A Level Exam Answer 1
70
AS/A Level Exam Question 2
71
AS/A Level Exam Answer 2
72
AS/A Level Exam Question 3
73
AS/A Level Exam Answer 3
74
AS/A Level Exam Question 4
75
AS/A Level Exam Answer 4
76
AS/A Level Exam Question 5
77
AS/A Level Exam Answer 5
78
AS/A Level Exam Question 6
79
AS/A Level Exam Answer 6
80
AS/A Level Exam Question 7
81
AS/A Level Exam Question 7
82
AS/A Level Exam Answer 7
83
AS/A Level Exam Question 8
84
AS/A Level Exam Question 8
85
AS/A Level Exam Answer 8
86
AS/A Level Exam Answer 8
87
AS/A Level Exam Question 9
88
AS/A Level Exam Question 9
89
AS/A Level Exam Question 9
90
AS/A Level Exam Answer 9
91
AS/A Level Exam Answer 9
92
AS/A Level Exam Question 10
93
AS/A Level Exam Question 10
94
AS/A Level Exam Answer 10
95