9691 Discussion Group
unread,Jun 5, 2011, 10:23:46 AM6/5/11Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Computing (9691 CIE Syllabus)
May/June 2011 - P3 9691/32 Q&As
Dear group members,
We could only get hold of 9691/32 below and have solved it for all
group members. If you have P31 or P33 then solve or upload that for
the group to review/check/discuss their own answer.
-Admin
1 Name three different types of bus in a processor and state what each
is used for.
Control bus: The purpose of the control bus is to transmit command,
timing and specific status information between system components.
Data bus: The data bus provides a bi-directional path for moving data
and instructions between system components.
Address bus: When the processor wish to read a word of data from
memory, it first puts the address of the desired word on the address
bus.
[6]
2(a) Explain the relationship between assembly languages and machine
code.
Assembly Language is plain text and (somewhat) human readable source
code.
Assembly has mostly 1:1 along with machine code instructions. That is
for every assembly instruction there is one machine code instruction.
This is accomplished using mnemonics for the actual instructions/
registers/other resources.
Machine code is binary (1's and 0's) code that can be executed
directly by the CPU.
[2]
(b) Describe how an assembler produces machine code from assembly
language.
An assembler is used to convert assembly code into machine code
(object code). A linker links several objects and libraries to
generate an executable code.
Typically a modern assembler creates object code by translating
assembly instruction mnemonics into opcodes, and by resolving symbolic
names for memory locations and other entities. The use of symbolic
references is a key feature of assemblers, saving tedious calculations
and manual address updates after program modifications.
[2]
(c)The address part of a low-level instruction can be the address of
the data to be used. This is a direct address.
Describe the following types of addressing:
(i)Indirect addressing:In In-direct memory addressing an instruction
has an address of memory location where the actual required address of
the memory location is placed to fetch data. Its like asking an office
boy to ask Mr. ronald to have address of the file that you require and
bring it.
OR
In Indirect addressing mode, the address field of the instruction
refers to the address of a word in memory, which in turn contains the
full length address of the operand. The advantage of this mode is that
for the word length of N, an address space of 2N can be addressed. He
disadvantage is that instruction execution requires two memory
reference to fetch the operand Multilevel or cascaded indirect
addressing can also be used.
[2]
(ii)Indexed addressing: Index addressing uses an index register that
the programmer initially sets to zero. Index addressing adds the
contents of the index register to the address part of the instruction
before using the address. After each add instruction is executed, the
programmer increments the index register (IR).
[2]
(iii) Relative addressing: Naturally PC jumps to next instruction but
sometimes programmer wants the PC to be incremented to the address +3
from current address based on a condition (like, if accumulator = 2
then jump +5) or unconditionally (like, jump +3). This new address is
relative to the current address in PC and thus this method of jumping
to next address is called relative addressing.
[2]
3 Discuss the different types of data transmission media. Include a
comparison of data transfer rates and transmission ranges in your
answer.
Medium/Data Rate Mbps/Max. Repeater spacing km/Max. Number of
Repeaters
UTP/4 or 16/0.1/72
Shielded TP/4 or 16/0.3/260
Baseband Coaxial/16/1.0/250
Optical fibre/100/2.0/240/
[8]
4 (a) State what is meant by a real-time application
A real-time system is one that can react quickly enough to data input
to affect the real world. If this is true it implies that the output
from the system must be produced quickly enough to produce the effect
on the world outside the computer before that world has enough time to
alter.
[1]
(b) An air conditioning system is a real-time application. Explain how
sensors and actuators are used to control an air conditioning system
in an apartment.
When AC is switched on, user sets the required temprature.
Sensors continenously read the apartment temprature
This sensors' red data reaches to the AC and then compared to the
required temprature levels
If found higher then the required temparture, the actuators are
invoked to turn on and run the AC cooling machinery and
If found less then the required temparture, the actuators are invoked
to turn off the AC cooling machinery
This cycle goes on untill user switches the AC off.
[4]
(c) Give one other example of a real-time application. Justify why
your choice is a real-time application.
Example: ATM transaction
Justification: As soon as a transaction (withdrawl or credit) happens
the bank account is updated to reflect the change on next same
account's transaction.
[2]
5 (a) Describe what is meant by the spooling of files.
When a number of pages are ordered to be printed by the user using any
app and printer is only able to print a few pages a minute, these
pages are dumped over computer secondary storage in the form of
file(s) and then sent from there to printer inorder to allow the user
to carry on with the ordering application, which otherwise would be
unresponsive until all pages are printed. This is calles spooling of
file(s).
[2]
(b)(i)State why files which are sent to a shared printer on a local
network will be spooled.
Because if they are not separately spooled out to different files over
a shared printer server on a LAN their queue administration and
management would not be possible as there individual identity will be
compromised.
(ii)Explain how this spooling is carried out.
The I/O phase should not hold up the processor too much which can
easily happen if the I/O devices are very slow, like a keyboard or
printer. This can be overcome by using Simultaneous Peripheral
Operations On-Line (spooling). The idea is to store all input and
output on a high-speed device such as a disk.
Suppose two jobs, in a network system, are producing output that is to
go to a single printer. The output is being produced in sections and
must be kept separate for each job. Opening two files on a disk, one
for each job, can do this. Suppose we call these files File1 and
File2. As the files are on disk, job 1 can write to File1 whenever it
wishes and job 2 can write to File2. When the output from a job is
finished, the name (and other details) of the file can be placed in a
queue. This means that the OS now can send the output to the printer
in the order in which the file details enter the queue. As the name
of a file does not enter the queue until all output from the job to
the corresponding file is complete, the output from different jobs is
kept separate.
[5]
6 Describe the purpose of the following parts of a database management
system (DBMS).
(i)Data Description Language (DDL): The DDL is used, by the database
designer, to define the tables of the database. It allows the
designer to specify the data types and structures and any constraints
on the data.
[2]
(ii) Data Manipulation Language (DML): The other language used is the
data manipulation language (DML). This language allows the user to
insert, update, delete, modify and retrieve data. SQL includes this
language.
[3]
7 Part of the information stored in the data dictionary describes the
type of data which is being stored.
A particular piece of data is 10010110.
State what the data stands for if the data dictionary describes it as:
(i) a two's complement binary number;
-106
[1]
(ii) a sign and magnitude binary number:
-22
[1]
(iii) a binary coded decimal number.
96
[2]
8 (a)(i) Explain the difference between static and dynamic
implementation of data structures.
Dynamic data structures like Linked lists can grow and shrink in size
during the execution of program.
While static data structures like array remains same in size that is
set at the start of execution.
[2]
(ii) Give one advantage and one disadvantage of storing a queue in an
array rather than in a linked list.
Advantage: Queue data manipulation is easy in an array as in array
every node of array can be accessed as when when required, thus Queue
start and end pointers can easily be set and accessed.
Disadvantage: Queue data is limited by the size of array that could
have grown as much as required and can only be limited by the size of
available RAM if it was in Linked List.
[2]
(b) (i) Draw a diagram to show how the following members of a
Computing class can be stored in a linked list in alphabetic order:
FRO, TSI, DON, ROS, BEV
Start*--->BEV*--->DON*--->FRO*--->ROS*--->TSI/
WHere:
*=address of next node
/=Null pointer
(ii) Describe an algorithm to insert a new member of the class into
the correct position in the list.
1.Check that the free list is not empty.
2.If it is empty report an error and stop.
3.Set NEW to equal FREE.
4.Remove the node from the stack by setting FREE to pointer in cell
pointed to by FREE.
5.Copy data into cell pointed to by NEW.
6.Check for an empty list by seeing if HEAD is NULL
7.If HEAD is NULL then
a.Pointer in cell pointed to by NEW is set to NULL
b.Set HEAD to NEW and stop.
8.If data is less than data in first cell THEN
a.Set pointer in cell pointed to by NEW to HEAD.
b.Set HEAD to NEW and stop
9.Search list sequentially until the cell found is the one immediately
before the new cell that is to be inserted. Call this cell PREVIOUS.
10.Copy the pointer in PREVIOUS into TEMP.
11.Make the pointer in PREVIOUS equal to NEW
12.Make the pointer in the cell pointed to by NEW equal to TEMP and
stop.
[5]
9 (a) Explain the need for reverse Polish notation.
Reverse polish notation is used by computers to read the human
mathematical expression and execute them
It is way by computer to read bracket less expression in its own way
It allows the use of stack for processing
[2]
(b) Show, with the aid of diagrams, how a stack is used to turn the
reverse Polish expression
ab+cde-*-
into an expression in infix notation.
----> + -----> - ---------> * --------------> -
| | | e | | | | |
| |
| | | d | | d-e | | |
| |
| a | | c | | c | | c*(d-e) |
| |
| b | | a+b | | a+b | | a+b | | (a+b)-c*(d-e) |
----- ---------- ---------- -------------
-----------------------
operands a and b will be pushed to the stack
operator + is encountered
operand a and b will be poped and operator + is applied to them
a+b is pushed to the stack
operands c d and e are pushed to the stack
operator - is encountered
operand e and d are poped and operator - is applied
d-e is pushed to the stack
operator * is encountered
operand d-e and c are poped and operator * is applied
c*(d-e) is pushed to the stack
operator - is encountered
operand c*(d-e) and a+b are poped and operator - is applied
infix (a+b)-c*(d-e) is achieved
10 A country has a national football competition based on leagues.
Each LEAGUE has a number of TEAMs but each TEAM is only in one LEAGUE.
Each TEAM plays at a number of GROUNDs during the season and each
GROUND will host a number of TEAMs during the season
(i) State the relationship between LEAGUE and TEAM
1 to many
Draw the entity-relationship (E-R) diagram to show this relationship.
----------------- ------------
| LEAGUE |-------/ | TEAM |
| | \ | |
----------------- ------------
[2]
(ii) State the relationship between TEAM and GROUND.
Many to Many
Draw the E-R diagram to show this relationship.
--------------- -----------------
| TEAM | \-------/ | GROUND |
| | / \ | |
--------------- ------------------
[2]
(iii) Explain how the relationship between TEAM and GROUND can be
designed in third normal form.
A third entity/table TEAMGROIUND is introduced between TEAM and GROUND
This table/entity would have a composite primary key made up of
primary keys of TEAM and GROUND
Relationship between TEAM and TEAMGROIUND will be one to many
Relationship between GROUND and TEAMGROIUND will be one to many
[4]
11 (a) Describe the differences between interpretation and compilation
of a high-level language program.
In a high level language both interpreter and compiler can be used
When editing/coding the program interpreter as soon as a statement is
written checks it
When the program is run/executed, it is first compiled by the compiler
and then executed fully
This helps to write efficient programs by eliminating most of the
errors at editor level and run smooth program with less compiler
errors
[3]
(b) When a program is run the processor uses special purpose
registers.
Describe how the contents of each of the following registers changes
during the fetch-execute cycle:
(i)Memory Address Register (MAR): Address of the current instruction
being executed; transfered from PC/SCR
[2]
(ii)Memory Data Register (MDR): Contents at the address in MAR or the
in the address part of the current instruction
[2]
12 A business uses the Internet to communicate with suppliers and to
pay bills electronically.
Discuss the problems of maintaining confidentiality of data on the
Internet and techniques that can be used to address these problems.
When information is read or copied by someone not authorized to do so,
the result is known as loss of confidentiality. For some types of
information, confidentiality is a very important attribute. Examples
include research data, medical and insurance records, new product
specifications, and corporate investment strategies.
In some locations, there may be a legal obligation to protect the
privacy of individuals. This is particularly true for banks and loan
companies; debt collectors; businesses that extend credit to their
customers or issue credit cards; hospitals, doctors' offices, and
medical testing laboratories; individuals or agencies that offer
services such as psychological counseling or drug treatment; and
agencies that collect taxes. Information can be corrupted when it is
available on an insecure network. When information is modified in
unexpected ways, the result is known as loss of integrity. This means
that unauthorized changes are made to information, whether by human
error or intentional tampering.
Authentication and access control techniques are used to achieve
Confidentiality and are mentioned in the section security practices.
Improving Security: In the face of the vulnerabilities and incident
trends discussed above, a robust defense requires a flexible strategy
that allows adaptation to the changing environment, well-defined
policies and procedures, the use of robust tools, and constant
vigilance. It is helpful to begin a security improvement program by
determining the current state of security at the site. Methods for
making this determination in a reliable way are becoming available.
Integral to a security program are documented policies and procedures,
and technology that supports their implementation.
CRYPTOGRAPHY:The purpose of cryptography is to secure the
confidentiality, integrity, and authenticity of data resources. One of
the primary reasons that intruders can be successful is that most of
the information they acquire from a system is in a form that they can
read and comprehend.
Security Policy: A security policy is concerned with the the following
Issues:
high-level description of the technical environment of the site, the
legal environment (governing laws), the authority of the policy, and
the basic philosophy to be used when interpreting the policy risk
analysis that identifies the site's assets, the threats that exist
against those assets, and the costs of asset loss guidelines for
system administrators on how to manage systems definition of
acceptable use for usersguidelines for reacting to a site compromise
(e.g., how to deal with the media and law enforcement, and whether to
trace the intruder or shutdown and rebuild the system)
[6]