-
8/3/2019 ED01-1011-71380142---------------------Enterprise Computing
1/14
Enterprise Computing
Question 1
Hierarchy of Microprocessors
There are many levels of abstraction through which a designer passes when implementing
a microprocessor chip set or system. He usually begins by configuring the application for the
microprocessor, bus, and peripherals (memory, etc.). Section at a time, he expands the system
components into a Register Transfer level diagram, followed by a detailed chip or gate
description.
To handle the speed mismatch between processors and DRAM, these chips are likely to
associate a non-trivial memory hierarchy to each DRAM bank. In this paper, we assume a per-
bank baseline memory hierarchy as in Figure 1-(b). In the figure, the instruction memory
hierarchy includes a fast SRAM memory. The data memory hierarchy includes a cache with
hardware sequential prefetch of 1 line. The DRAM bank itself is sub-banked and has row and
data buffers. For example, Figure 1-(c) shows the DRAM organized into 8 sub-banks, with 10
row buffers, and 2 256-bit data buffers. Unlike in memory-only chips, where the DRAM
organization is often limited to standard designs, embedded systems allow many different
organizations for the DRAM array. For example, designers can change the width and length of a
-
8/3/2019 ED01-1011-71380142---------------------Enterprise Computing
2/14
DRAM sub-bank, and the number of sub-banks. These changes can affect the performance
delivered and the energy consumed by DRAM accesses, and the area utilized.
Features
Microprocessors make it possible to put a computer into thousands of items that were
traditionally not computer-related. These include large and small household appliances, cars (and
their accessory equipment units), car keys, tools and test instruments, toys, light
switches/dimmers and electrical circuit breakers, smoke alarms, battery packs, and hi-fi
audio/visual components (from DVD players to phonograph turntables.) Such products as
cellular telephones, DVD video system and ATSC HDTV broadcast system fundamentally
require consumer devices with powerful, low-cost, microprocessors. Increasingly stringent
pollution control standards effectively require automobile manufacturers to use microprocessor
engine management systems, to allow optimal control of emissions over widely varying
operating conditions of an automobile. Non-programmable controls would require complex,
bulky, or costly implementation to achieve the results possible with a microprocessor.
A microprocessor control program can be easily tailored to different needs of a product
line, allowing upgrades in performance with minimal redesign of the product. Different features
can be implemented in different models of a product line at negligible production cost.
Microprocessor control of a system can provide control strategies that would be
impractical to implement using electromechanical controls or purpose-built electronic controls.
For example, an engine control system in an automobile can adjust ignition timing based on
engine speed, load on the engine, ambient temperature, and any observed tendency for knocking
- allowing an automobile to operate on a range of fuel grades.
-
8/3/2019 ED01-1011-71380142---------------------Enterprise Computing
3/14
System Integrated With Microsofts Windows Operating System
The System i55 Servers have the ability to manage Intel-based Windows servers via the
Integrated xSeries Servers on the Integrated x Series Adapter. These systems can support up to
60 Integrated xSeries Servers. They also support the attachment of external 1-way to 8-way IBM
@server xSeries servers via the high-speed link. Using the Integrated xSeries Adapter, selected
xSeries servers running a Windows Server can extend Windows application scalability while
retaining the same storage consolidation and system management advantages of the Integrated
xSeries Server has on the System i55. The virtual storage management feature also enables the
administrator to dynamically add storage to a running Windows Server.
Cross-Site Mirroring
Cross-site mirroring (XSM) also called geographical mirroring, enables the mirroring of
data on disks at sites which can be separated by a significant geographical distance. This
technology can be used to extend the functionality of a device cluster resource group (CRG)
beyond the limits of a physical component connection.
Cross-site mirroring provides the ability for the replication of changes made to the
production copy on an independent disk pool to the mirror copy of that disk pool. As the data is
being written to the production copy, the operating system mirrors that data to its second copy on
another system. Due to this, the multiple copies of data remain identical so that if a failover or
switchover occurs through the device CDR, the backup node can seamlessly take the role of
primary. When a primary server outage occurs and a failover or switchover is initiated, the node
designated as the backup node in the recovery domain, becomes the primary access point for the
-
8/3/2019 ED01-1011-71380142---------------------Enterprise Computing
4/14
resource and then owns the production copy of the independent disk pool. In this way, protection
from single point of failure is achieved.
Question 2
Business Continuity
Business continuity is the activity performed by an organization to ensure that critical
business functions will be available to customers, suppliers, regulators, and other entities that
must have access to those functions. These activities include many daily chores such as project
management, system backups, change control, and help desk. Business continuity is not
something implemented at the time of a disaster; Business Continuity refers to those activities
performed daily to maintain service, consistency, and recoverability.
Communication and Networking
Communication and networking skills are very important in career development. Great
careers do not happen accidentally, it requires persistence, introspection, with the right people to
achieve this. Most people would benefit from knowing more about career development and the
skills that one can employ to ensure that they are developing their career at a pace that is
acceptable to them. Career development is not a one time thing that one does; it is a lengthy
process that requires one to set milestones for each stage that they are in with regards to their
career.
Effective communication skills form the heart of networking as well as career success.
Most employers look for strong communication skills in their potential employees. Being able to
communicate with clients, co-workers and upper management is of utmost importance. One has
-
8/3/2019 ED01-1011-71380142---------------------Enterprise Computing
5/14
to be able to convey their thoughts if the job is to be done properly; ideas that are stuck in your
mind are of no use to anyone even to yourself. Often, you will find that people that are promoted
in the various jobs are not usually promoted because of the technical skills that they possess but
because of the communication and networking skills that they possess.
System i5 Clustering
Clustering is about physically and logically coupling computer systems together to
accomplish one or more of three basic things: workload distribution, high availability, and
scalability. A cluster can be as simple as a topology designed to accomplish data resilience with
little consideration given to the operating system or application, or it can be as sophisticated as
an implementation that accomplishes data resilience, application resilience, and workload
distribution all within a concept called a single-system image. For years, the iSeries 400 has
supported the simple topology of high-availability clustering for data resilience, but things have
changed.
Question 3
DEBUG
Debugging is a methodical process of finding and reducing the number of bugs, or defects, in a
computer program or a piece of electronic hardware, thus making it behave as expected.
Debugging tends to be harder when various subsystems are tightly coupled, as changes in one
may cause bugs to emerge in another. Many books have been written about debugging (see
below: Further reading), as it involves numerous aspects, including: interactive debugging,
control flow, integration testing, log files, monitoring (application, system), memory dumps,
-
8/3/2019 ED01-1011-71380142---------------------Enterprise Computing
6/14
profiling, Statistical Process Control, and special design tactics to improve detection while
simplifying changes.
Breakpoint
A breakpoint tells the debugger that an application should break (pause execution) at a
certain point or when a certain condition occurs. When a break occurs, your program and the
debugger are said to be in break mode. For more information, see Breaking Execution. The
Visual Studio debugger has four types of breakpoints:
A function breakpoint causes the program to break when execution reaches a specified
location within a specified function.
A file breakpoint causes the program to break when execution reaches a specified
location within a specified file.
An address breakpoint causes the program to break when execution reaches a specified
memory address.
A data breakpoint causes the program to break when the value of a variable changes. You
can set a data breakpoint on a global variable or a local variable in the top-most scope of
a function. (C++ only)
To provide greater power and flexibility, you can modify the behavior of a breakpoint by
adding these properties:
A Hit Count property, which determines how many times a breakpoint must be hit before
execution breaks. (By default, execution breaks every time a breakpoint is hit.) For more
information, see Hit Count.
-
8/3/2019 ED01-1011-71380142---------------------Enterprise Computing
7/14
A Condition, which is an expression that determines whether the breakpoint is hit or
skipped.
Interactive Debugging
A recursive debugging REPL exposes a number of other meta-commands that inspect the
state of the computation at the time of the error. These commands allow you to
display the Scheme call stack at the point where the error occurred;
move up and down the call stack, to see in detail the expression being evaluated, or the
procedure being applied, in eachframe; and
examine the values of variables and expressions in the context of each frame.
ISBD and its Commands
ISBD is used throughout the system as a prime display format for bibliographic details.
ISBD may be explicitly invoked as part of the cataloguing process and also may be invoked from
the Aurora Explorer command panel as the summary display:
Question 4
CL Language General Capabilities
-
8/3/2019 ED01-1011-71380142---------------------Enterprise Computing
8/14
C (pronounced like the letter C) is a general-purpose computer programming language
developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use
with the Unix operating system.
C is an imperative (procedural) systems implementation language. It was designed to be
compiled using a relatively straightforward compiler, to provide low-level access to memory, to
provide language constructs that map efficiently to machine instructions, and to require minimal
run-time support. C was therefore useful for many applications that had formerly been coded in
assembly language. Despite its low-level capabilities, the language was designed to encourage
cross-platform programming. A standards-compliant and portably written C program can be
compiled for a very wide variety of computer platforms and operating systems with few changes
to its source code. The language has become available on a very wide range of platforms, from
embedded microcontrollers to supercomputers.
CL Command Construction
A command file is a text file that contains options and filenames you would otherwise
type on the command line or specify using the CL environment variable. CL accepts a compiler
command file as an argument in the CL environment variable or on the command line. Unlike
either the command line or the CL environment variable, a command file allows you to use
multiple lines of options and filenames.
Options and filenames in a command file are processed according to the location of a command
filename within the CL environment variable or on the command line. However, if the /link
option appears in the command file, all options on the rest of the line are passed to the linker.
Options in subsequent lines in the command file and options on the command line after the
-
8/3/2019 ED01-1011-71380142---------------------Enterprise Computing
9/14
command file invocation are still accepted as compiler options. For more information on how the
order of options affects their interpretation, see Order of CL Options. A command file must not
contain the CL command. Each option must begin and end on the same line; you cannot use the
backslash (\) to combine an option across two lines. A command file is specified by an at sign
(@) followed by a filename; the filename can specify an absolute or relative path.
Major CL Command Categories
Following are the major CL command categories:
Advanced Job Scheduler for iSeries commands
AFP Utilities for iSeries commands
Backup Recovery and Media Services for iSeries commands
Business Graphics Utility for AS/400 commands
CICS Transaction Server for iSeries commands
Communications Utilities for iSeries commands
Content Manager OnDemand for iSeries commands
Cryptographic Support for AS/400 commands
DB2 DataPropagator for iSeries, V8.1 commands
DB2 Query Manager and SQL Development Kit for iSeries commands
Developer Kit for Java commands
HTTP Server for iSeries commands
Infoprint Server for iSeries commands
IBM eServer iSeries Access for Web commands
-
8/3/2019 ED01-1011-71380142---------------------Enterprise Computing
10/14
i5/OS commands
Managed System Services for iSeries commands
Performance Tools for iSeries commands
Query for iSeries commands
System Manager for iSeries commands
TCP/IP Connectivity Utilities for iSeries commands
WebSphere Development Studio commands
Job Descriptions, Printing and Spooling
From the Installation Description menu, select Print Spool Description to display this
screen:
Specify the following options:
Spool printers:
-
8/3/2019 ED01-1011-71380142---------------------Enterprise Computing
11/14
Specify the number of printers serviced by the print spool. From 0-8 printers may be
specified. These printers display at the top of the Print Spool screen during operation.
The default number of Spool printers is 0, meaning the spool feature is not used. You
must define at least 1 Spool printer in order to use the print spool.
Spool printers act as filters. They route files from the spool directory to PC printers based
on preset selection criteria. On the Assign Devices menu, Spool printers are named SPOOL1
through SPOOL8. Assignment of Spool printers to destination devices is discussed in a later
step.
Performance Tuning: If you are not using the print spool function, leave the number of
Spool printers at 0. This frees memory buffers which can be used by other program features.
SPOOL directory:
A DOS directory is used as the print queue for spooling. This directory is automatically
created the first time you run the software. The spool directory name displays as SPOOL in the
list of Destination choices under Assign Devices, regardless of what name you assign the
directory.
The following screen shows what the Print Spool screen looks like if you choose Form to
control spool printing:
-
8/3/2019 ED01-1011-71380142---------------------Enterprise Computing
12/14
If you choose FCB to control spool printing, FCB displays instead of Form. Display FCB|
Form name on spool control screen?
This option allows you to display both the Form name and FCB name on the Print Spool
screen. The PC operator may find it useful to see both names. However, only the name specified
by the previous option, FCB/Form name is used to control spool, controls printing.
The display name appears on the Print Spool screen in the first column, immediately
before the file name. This location is also referred to as the display column. The heading for the
display column will match your selection.
No Default. Only the name specified with the option FCB|Form name is used to control
spool displays on the Print Spool screen.
Yes Both the Form name and FCB name display on the Print Spool screen. If you select
Form name is used to control spool, then FCB is used for the display column. If you select FCB
name is used to control spool, then Form is used for the display column.
For example, if you select Form name is used to control spool and set Display FCB name
on spool control screen? to Yes, the Print Spool screen looks like this:
The FCB name appears in the display column. When the job begins to print, the Spool
printer name displays in place of the file State. Tips for entering sort criteria
-
8/3/2019 ED01-1011-71380142---------------------Enterprise Computing
13/14
Use the RIGHT ARROW key to move between the sort variables.
Use the PLUS SIGN on the keypad to select one of the following attributes: Prty, Class,
File, Size, Form, Date, or Time.
Set any unused variables to blank.
The default Prty >, Date indicates ascending order and < indicates
descending order.
VariableName
MeansSort by Sort Order
Prty> Priority highest to lowestPrty< Priority lowest to highest
Class File class lowest to highest
File File name alphanumerically
Size> File size largest to smallest
Size< File size smallest to largest
Form Form name alphanumerically
Date< Date oldest to newest
Time< Time oldest to newest
Date> Date newest to oldest
Time> Time newest to oldest
(blank) Variable not
used
__
-
8/3/2019 ED01-1011-71380142---------------------Enterprise Computing
14/14
References
David J. Agans:Debugging: The Nine Indispensable Rules for Finding Even the Most Elusive
Software and Hardware Problems, AMACOM, 2002.
Bill Blunden: Software Exorcism: A Handbook for Debugging and Optimizing Legacy Code ,
APress, 2003.
Ann R. Ford, Toby J. Teorey:Practical Debugging in C++, Prentice Hall, 2002.
Thorsten Grtker, Ulrich Holtmann, Holger Keding, Markus Wloka, The Developer's Guide to
Debugging, Springer, 2008.
Robert C. Metzger:Debugging by Thinking : A Multidisciplinary Approach, Digital Press, 2003.
Glenford J Myers: *The Art of Software Testing, John Wiley & Sons inc, 2004.
John Robbins:Debugging Applications, Microsoft Press, 2000.
Matthew A. Telles, Yuan Hsieh: The Science of Debugging, The Coriolis Group, 2001.
Dmitry Vostokov: Memory Dump Analysis Anthology, Volume 1, OpenTask, 2008.
Andreas Zeller: Why Programs Fail: A Guide to Systematic Debugging, Morgan Kaufmann,
2005.
Artzi, Shay; Adam Kiezun, Julian Dolby, Frank Tip, Danny Dig, Amit Paradkar, Michael D.
Ernst (2008).Finding bugs in dynamic web applications. p. 261.