MIS 502 Mid Term

Ace your homework & exams now with Quizwiz!

What is a CASE tool? What's the relationship between a CASE tool and a system development methodology?

A CASE tool is a collection of programs that assist in application development. Typically, they help in defining and refining system models (front-end CASE tools) and/or generating source code from these models (back-end CASE tools). A CASE tool incorporates a development methodology to the extent that it supports defining, refining, and using specific modeling constructs. CASE tools are typically designed to support some form of structured or object-oriented system development methodology.

How can a cache be used to improve performance when reading data from and writing data to a storage device?

A cache controller attempts to guess what data will be requested next and prefetch this data into the cache. If the cache controller guesses correctly, data can be supplied more quickly. A cache controller confirms a write operation as soon as data is written to the cache but before it's written to the storage device. This improves the performance of a program waiting for write confirmation by reducing the interval between the write request and the write confirmation.

Compare the execution of compiled programs with interpreted programs in terms of CPU and memory utilization.

A compiled (and linked) program consists exclusively of machine instructions. While a program is running, it has control of the hardware, and only the instructions in the program (or those executed as result of OS service calls) are actually executed. The contents of memory are limited to the running program and whatever system software might be present. Executing an interpreted program requires that the interpreter be present in memory. Statements in program source code are read, translated, and executed one at a time. Therefore, executing each program statement requires executing both its corresponding machine instructions and the instructions needed to translate it into these machine instructions. Executing an interpreted program increases CPU and memory requirements.

What functions does a device controller perform?

A device controller translates logical accesses into physical accesses and translates messages between the bus protocol and the protocols used to control attached devices. A device controller can also perform multiplexing (that is, allowing multiple devices to share a single bus port).

How does a laser printer's operation differ from that of a dot matrix printer?

A dot matrix printer moves a print head containing a matrix of pins over the paper. A pattern of pins matching the character or symbol to be printed is forced out of the print head, generating printed images and characters. A laser printer operates with an electrical charge applied to a rotating metal drum and the attraction of ink to this charge. The print driver reads pixel values from the buffer and modulates a tightly focused laser over the drum's width. The laser removes the charge wherever it shines on the drum. The drum contains an image of the page, with charged areas representing black pixels and uncharged areas representing white pixels. The drum then passes a station where fine particles of toner are attracted to the charged areas. As paper passes over the drum surface, toner on the drum is attracted to the paper because of its higher charge. The paper and attached toner are fed through heated rollers that fuse the toner to the paper surface

Why is the areal density of optical discs higher than the areal density of magnetic disks? What factors limit this areal density?

A laser can be tightly focused to a narrow beam. Magnetic charge can't be focused easily, and an attempt to charge a very small area overwrites surrounding areas. Optical bit size is limited by the read laser's wavelength and the amount of reflected light required to activate the read mechanism.

What is a multicore processor? What are its advantages compared with multiple-processor architecture? Why have multicore processors been used only since the mid-2000s?

A multicore processor is a single microchip containing two or more fully functional CPUs. The main advantage of multicore architecture compared with multi-CPU architecture with CPUs of equivalent number and power is more efficient inter-CPU communication, which increases total computational power when multiple CPUs cooperate on the same task. Multicore processors didn't become available until the mid-2000s because that's when the capabilities of modern semiconductor manufacturing methods evolved to the point that enough transistors could be placed on a single chip to implement multiple CPUs and their memory caches.

Describe the processes of reading from and writing to a phase-change optical disc. How does the performance and areal density of these discs compare with magnetic disks?

A phase-change disc is coated with a material that's amorphous or crystalline. Each state has different reflective properties. A bit area in the amorphous state is changed to a crystalline state by heating it to a precise temperature with a laser. A bit area in the crystalline state is changed to the amorphous state by heating it to the material's melting point. Phase-change discs are read in the same fashion as other optical discs. Phase-change optical discs have slower access time than magnetic disks because more time is required to heat a bit with a laser than to alter its magnetic polarity. Phase-change discs also lose their capability to change state easily after repeated use and, therefore, have shorter lives than magnetic disk platters under continuous use.

What's the difference between a real resource and a virtual resource?

A real resource exists physically in a computer system. A virtual resource is available for use by a program or user but might not exist physically or might not be available during the entire execution of the program.

How does a supercomputer differ from a mainframe computer?

A supercomputer is optimized for the fastest possible execution of mathematical computations. A mainframe is optimzed for high I/O capacity and supporting the information-processing needs of many simultaneous users and running programs. Supercomputers are generally more expensive that mainframes and often use more advanced technology, particularly for the CPU and primary storage.

How and why does a thread move from the ready state to the running state? How and why does a thread move from the running state to the blocked state? How and why does a thread move from the blocked state to the ready state?

A thread moves from the ready to running state when it's dispatched by the scheduler. Dispatching occurs when the scheduling algorithm determines that the thread is unblocked and of highest priority. A thread moves from the running to blocked state when it requests access to a resource or when it generates an error. In either case, an interrupt is generated, and the supervisor suspends the thread. A thread moves from the blocked to ready state when a requested resource is made available or when an error condition has been corrected. In either case, the scheduler makes the state change in response to interrupt processing being completed.

What components are normally part of an IDE? In what ways does an IDE improve programmer productivity?

A typical IDE includes an intelligent program editor, a compiler (or interpreter or both), a link editor, a class or subroutine library, an interactive tool for prototyping and defining user interfaces, and a symbolic debugger. It improves programmer productivity by automating repetitive tasks and streamlining others and provides a high degree of coordination and integration in component tools.

What are the differences between ASCII and Unicode?

ASCII is an old standard based on 7-bit encoding (128 table entries) that's limited to American English. Unicode is a newer standard based on 16-bit (65,536 table entries) and 32-bit (approximately 4 billion) encoding. The larger coding tables enable Unicode to encompass all the world's written language.

Why does program execution speed generally increase as the number of general-purpose registers increases?

Access to data stored in registers is immediate, but access to data stored in memory locations generally incurs some delay. Most programs requires a temporary storage area for intermediate results and frequently needed variables or constants. General-purpose registers serve this purpose. As the number of general-purpose registers increases, more of these items can be held in registers, reducing the need to access memory for these items. The memory accesses eliminated by using the additional registers reduce CPU memory acces delays and therefore, increase program execution speed.

Describe the relationships between application development methodologies, models, and tools.

An application development methodology describes a specific way of developing application software and specifies standard models, such as data flow and class diagrams, to describe software requirements and structure. Analysts, designers, and programmers can develop and manipulate models by using pencil and paper, but they typically use automated tools. A suite of tools that supports an entire application development methodology is called an integrated development environment (IDE).

How is an array stored in main memory? How is a linked list stored in main memory? What are their comparative advantages and disadvantages? Give examples of data that would be best stored as an array and as a linked list.

An array is stored in contiguous sequential memory locations, with the first element at the lowest address. A linked list is stored in memory as an unordered and noncontiguous set of list elements, each consisting of a data value and a pointer to the next data list element. Arrays are more compact and easier to read or write than linked lists. Linked lists are easier to update than arrays. Any data item that's of fixed length and seldom changes value is best stored in an array. Data items that are of variable length, are a large size, and have frequent value changes are best stored as a linked list.

What is an image description language? What are the advantages of representing images with image description languages?

An image description language (IDL) is a text description of an image's contents. Elements of the image, such as shapes, colors, and positions in the image, are described in a readable language. The advantage of IDL descriptions compared with bitmaps is the compactness of the image description. Bitmaps require large amounts of storage and data communication because each pixel is described separately. An IDL describes image components more compactly, thus requiring less storage and less data transmission capacity.

What similarities exist in mechanical, electrical, and optical methods of computation?

Electronic, magnetic, and optical principles have defined principles that form the basis of the current computer technology. All of these are based on rules of mathematics. The similarities among mechanical, electrical, and optical methods of computation are given. Electronic, magnetic, and optical methods accept numeric values as inputs. All of them are capable of performing different computational functions such as addition, subtraction, division, and multiplication. All three methods can communicate results.

How is data stored and retrieved on a magnetic mass storage device?

For writing, electrical current is routed through a read/write head, which generates a magnetic charge at its tip. A bit area of a magnetic recording surface is placed in close proximity to the read/write head, and a charge is induced in the surface material. The direction of current flow through the read/write head determines the stored charge's polarity. For reading, a bit area of the recording surface is placed in close proximity to the read/write head, and the stored charge induces current to flow through the read/write head. A switch connected to the read/write head detects the current flow's direction to interpret it as a bit value.

What additional components are added to flat panel display to enable it to accept touch input?

In the most common touchscreen type based on capacitance, a matrix of capacitors and connecting traces are placed within the display layers of the flat panel display. The traces carry current to charge the capacitors and enable attached circuitry to detect capacitance changes and to identify which capacitor(s) have been altered.

What is instruction explosion? What types of programming languages have the most instruction explosion? What types of programming languages have the least instruction explosion?

Instruction explosion is the ratio of programming instructions or statements to the CPU instructions implementing them. 4GLs, 5GLs, and object-oriented languages have the highest degree of instruction explosion. 1GLs and 2GLs have no instruction explosion.

What's the difference between lossy and lossless compression? For what types of data is lossy compression normally used?

Lossless compression compresses the data without losing any information. The original data can be recovered entirely by decompression. Lossy compression loses some data that can never be recovered. Lossy compression is most commonly used with continuous audio or video streams because the human brain doesn't detect the missing data or "fills in the missing pieces automatically. Examples of lossy compression methods include MPEG, JPEG, and MP3.

What is main memory? How does it differ from registers?

Main memory is a collection of storage locations, typically implemented with random access memory (RAM), that holds instructions and come or all of the data or currently running programs. Primary storage has more capacity than registers but is slower to access. Main memory refers to primary storage or RAM and it has numerous storage locations to hold the data and instructions of the program in execution. These instructions and data are moved between the main memory and CPU continuously while a program is under execution.

What characteristics of the CPU and primary storage should be balanced to achieve maximum system performance?

Memory access speed should be less than the CPU cycle time to eliminate wait states for CPU memory access. In addition, the number of bytes accessed by a single load operation should be greater than or equal to the CPU's word size.

Describe three types of multicomputer configurations. What are their comparative advantages and disadvantages?

Multicomputer configurations include clusters, blades, and grids. A cluster is a group of similar or identical computers, connected by a high-speed network, that cooperate to provide services or run a single application. Clusters are scalable and fault tolerant, but they're more complex to configure and administer. A blade is a circuit board containing most of a server - typically one or more CPUs, memory areas, and network interfaces. It lacks secondary storage, external IO connections, and a power supply. Blades are similar to clusters in their scalability (especially for computation-intensive tasks) and their complexity to configure and administer. They're less fault tolerant than clusters because multiple blades share a single location, including cabinet, power supply, and sometimes IO connections. However, blades concentrate more computing power is less space and with lower power requirements than a typical cluster needs. A grid is a group of dissimilar computers, connected by a high-speed network, that cooperate to provide services or run a shared application. Grids aren't as scable as clusters and blades because of their architectural differences and because system in a grid might be located farther away from each other than sytems in a cluster are. They're also complex to configure and administer. However, they offer the unique capability to collaborate on tackling large problems when needed and operate independently under local control at all other times.

What is overflow? What is underflow? How can the probability of their occurrence be minimized?

Overflow occurs when the output of an instruction execution is too large in absolute value to store in a register. Underflow occurs when the output of a floating-point instruction execution overflows the exponent field. Both conditions can be avoided by allocating enough bit positions for data storage (for example, using double-precision data types) and/or by scaling input values (that is, adjusting units of measure upward or downward in magnitude).

What are the differences between primary and secondary storage?

Primary storage is more volatile, faster, and more expensive than secondary storage. Because of its higher cost, its capacity is usually lower than in secondary storage. These differences determine differences in use - chiefly, primary storage supports ongiong CPU activity by storing instructions and data of currently running programs.

How does a RISC processor differ from a CISC processor? Is one processor type better than the other? Why or why not?

RISC processors use fixed-length instructions. Some, but not all, CISC processors use variable-length instructions. A RISC processor has few, if any, instructions that combine multiple operations. In particular, instructions combining memory access with a computation or comparison operation aren't typically implemented. A CISC processor generally makes extensive use of these instructions. Because of these differences, a RISC processor typically operates at a higher clock rate than a CISC processor of similar capability. Which type is better depends on their implementation specifics (especially clock rate) and the type of instructions being executed.

Why are real numbers more difficult to represent and process than integers?

Real numbers are stored in floating-point notation, which is a more complex two-part format than the twos complement notation normally used to store integers. The more complex format requires more complex processing circuitry. Real numbers are also subject to truncation problems that don't affect integers. Errors caused by truncation can be compounded during a series of instruction executions.

Describe the components and functions of a typical sound card. How is sound input captured? How is speech output generated? How is musical output generated?

Sound cards include an analog-to-digital converter (ADC), a digital-to-analog converter (DAC), a low-power amplifier, and connectors for a microphone, speaker, and headphones. MIDI inputs, MIDI outputs, and a music synthesizer can also be provided. A typical sound card accepts analog microphone input and converts it into a stream of digital audio data. It also accepts MIDI or digital audio from other computer components and generates sound output by digital-to-analog conversion and/or sound synthesis. Speech output is generated by converting a digital audio stream produced or retrieved by software into an analog sound wave. Musical output can be produced by digital-to-audio conversion of digital audio data or by generating audio data based on MIDI control input.

Describe the process of automated speech recognition. What types of interpretation errors are inherent to this process?

Speech recognition requires converting sound waves into a digital representation, recognizing basic speech components (phonemes), and recognizing more complex speech components, such as words and phrases. Recognizing phonemes requires matching digital sound patterns against a database of known phonemes, which is difficult to do in real time with current hardware. It's also complicated by the continuous nature of human speech and differences in the characteristics of voiced phonemes resulting from physical, geographic, and situational differences in people. Recognizing words and phrases also requires matching groups of related phonemes against a database of known words, which is also difficult to do in real time with current hardware. In addition, a computer must determine where one phoneme ends and another begins as well as where one word ends and another begins. Performing these tasks requires complex software and powerful CPUs.

Why doesn't a CPU evaluate the expression 'A' = 'a' as true?

The CPU can compare only numeric values, so each character constant is converted to its numeric value in some character coding scheme, such as ASCII, EBCDIC, or Unicode. Because all modern character coding schemes encode uppercase and lowercase letters as different numeric values, the equality comparison always returns false.

What are special-purpose registers? Give three examples of special-purpose registers and explain how each is used.

The CPU designer designates the content and use of special-purpose registers. Their content is controlled by the control unit and can't be accessed directly by programs. Three types of special-purpose registers are the instruction register, instruction pointer, and program status word. When the control unit fetches an instruction from memory, it stores it in the instruction register. The instruction pointer stores the address of the next instruction the control unit retrieves at the start of the next fetch cycle. The program status word contains data describing executing program.

What is a CPU? What are its primary components?

The CPU executes instructions and controls the data movement within the computer system. The data movement occurs to and from primary storage.

What are the goals of an OS resource allocation function? Describe the conflicts between them.

The goals of OS resource allocation are minimize system overhead while achieving acceptable levels of throughput and reliability. Allocation decisions that make more resources available to programs typically require more complex allocation procedure, and ensuring higher levels of reliability requires more extensive oversight procedures. However, increasing the complexity of both procedures consumes more hardware resources when these procedures are implemented in software.

Describe the functions of the kernel, service, and command layers of an OS.

The kernel manages hardware resources and interacts directly with hardware. It includes a resource allocation layer and interface programs called device drivers for each hardware device. The service layer is an interface to components that provide functions called from applications, ranging from file and folder manipulation to accessing I/O devices, starting and stopping programs, allocating memory, and creating, moving, and resizing GUI windows. The command layer provides a user interface to the OS for managing hardware and software resources.

What factors limit the speed of an electrically based processing device?

The most important factor is the device size and, therefore, the distance electricity must travel to enable the device to perform its function. Another factor is resistance of the internal conductive pathways, which is a function of the materials composing these pathways and the device's operating temperature. Packing density, the type of packaging, and the presence or absence of heat dissipation mechanisms influence operating temperature, which influences resistance and reliability.

Which factors do magnetic storage device manufacturers balance to ensure high capacity and performance at reasonable cost and reliability?

The primary balance is between coercivity of the media coating and the areal density because increasing areal density increases volatility thus reducing reliability. Manufacturers also balance spin rate with device life. Faster spin rates reduce rotational delay and thus improve performance. But they also cause mechanical components such as bearings to wear/fail more quickly. Both "balancing acts" can be shifted in favor of greater performance/lifetime by using more expensive components such as better bearings and higher coercivity coatings though doing so increases cost - yet another aspect of the manufacturer's balancing act.

What shortcomings of electrical computation will optical computing devices address?

The shortcomings of electronic computation addressed by the introduction of optical computing devices are. Optical signals are capable of carrying more data as compared to electrical signals. More data can be stored on an optical storage device as compared to an electronic storage device. Fabrication of optical processors is easier as compared to electronic processors. Optical data communication over large data is preferred due to less or no loss of data as compared to electronic transfer of data where loss of data is evident.

What shortcomings of mechanical computation did the introduction of electronic computing devices address?

The shortcomings of mechanical computation addressed by the introduction of electronic computing devices are: Mechanical computations had complex designs whereas electronic computations were faster due to the high speed moving electrons. Mechanical parts wear out and break down whereas electronic computations are easier to build and are more reliable. The operating speed of mechanical computations was limited whereas electronic computation could be used to perform complex calculations at a much better speed. Hence, electronic computing devices can address complex problems easily and simple problems can be solved faster.

What is the system bus? What are its primary components?

The system bus is the communication channel that connects all computer components. It physically consists of parallel transmission lines that can be grouped into those carrying memory addresses (the address bus), those carrying control and status signals (the control bus), and those carrying data (the data bus). In a logical sense, the bus also consists of the bus protocol.

How does a workstation differ from a desktop computer?

There might be no difference, but some people consider the term "workstation" to imply a more powerful system than a typical desktop computer - one that's capable of handling hardware-intensive tasks, such as complex mathematical computation, computer-aided design (CAD), and manipualtion of high-resolution video images. A workstation is a powerful computer system which is used in engineering and scientific organizations. Whereas a workstation is capable of doing tasks which require higher processing as compared to the processing required by a PC. The hardware and software requirements of a workstation are also higher than those of a PC.

Describe the operation of virtual memory management.

Virtual memory management uses a portion of secondary storage to expand primary storage's capacity. Programs and memory are divided into portions called pages, and each memory page is called a page frame. During program execution, one or more pages are allocated to page frames, and the rest are held in secondary storage. As pages in secondary storage are needed for current processing, the OS copies them into page frames. If necessary, pages currently in memory are written to secondary storage to make room for pages being loaded. Each memory reference is checked to see whether the page it refers to is currently in memory. A reference to a page held in memory is called a page hit, and a reference to a page held in secondary storage is called a page fault. The OS maintains page tables to store information about page locations, allocated page frames, status of pages, and secondary storage space.

Define "word size." What are advantages and disadvantages of increasing word size?

Word size is the number of bits the CPU processes simultaneously. It also describes the size of a single register. If the data to be processed is in larger units than thee CPU's word size, the CPU must execute multiple instructions to perform what's logically a single operation. In addition, inefficiencies are compounded as the operation's complexity increases. Therefore, increasing word size increases the capability to process larger units of data. The disadvantages of increased word size are increased CPU, bus, and memory complexity increases at a faster rate than the increase in word size.


Related study sets

chapter 13- licensing requirements

View Set

Chapter 5: Cultural Diversity [PrepU Questions]

View Set

Chapter 29 Management of Patients with Nonmalignant Hematologic Disorders

View Set

IB Computer Science - Option C Web Science

View Set

A&P 1 lecture- Ch. 1 objectives and review questions

View Set

11.2 Wellness and Nutrition; Nutrition

View Set

Basic Principles of Life and Health Insurance an Annuities

View Set

Chapter 1 Principles of Psychology

View Set

Principles of Macroeconomics (Chp 13 -16)

View Set