
#Compiler design course software#
Map the software requirements specification to the software architectureī. What are NOT the tasks of Software architect?Ī. Quality attributes are closely related to architectural styles.į. The SDD describes the components of a system, the modules that comprise each component, and the detailed information of each module.ĭ. An architectural style encapsulates tradeoffs among many conflicting quality attributes.Ĭ. Each architectural style supports some quality features.ī. Attributes that describe the advantages and disadvantages of the chosen structureį. Elements that perform functions required by a systemĭ. Connectors that enable communication, coordination, and cooperation among elementsĬ. Constraints that define how elements can be integrated to form the systemī. Which of the followings are not the key components of an architectural style?Ī. A functional requirement specifies the qualities, constraints, and system behaviors. There are two aspects of software requirements: functional and non-functional. They differ only in price and performance, which is the essence of the family idea. All of these machines are architecturally compatible. For example, Intel makes Pentium I, II, and III, and 4 CPUS with a variety of different properties including speed and power consumption. Is this idea now dead as a doornail or does it live 4. The family of computers idea was introduced in the 1960s with the IBM System/360 mainframes.
#Compiler design course serial#
A CPU could do other work if the I/O were slow for other reasons (arriving on a serial line, for instance). This of course assumes the major delay is the wait while data are copied. No matter how much I/O a program does, the CPU will be 100% busy. If there is no DMA, the CPU is fully occu- pied doing I/O, so there is nothing to be gained (at least in terms of CPU utili- zation) by multiprogramming. What implications does this have for multiprogramming? The prime reason for multiprogramming is to give the CPU something to do while waiting for I/O to complete. 1) On early computers, every byte of data read or written was handled by the CPU (i.e., there was no DMA). Input spooling on a personal computer is not very likely, but output spooling is. Output spooling consists of first copying printable files to disk before printing them, rather than printing di- rectly as the output is generated. Input spooling is the technique of reading in jobs, for example, from cards, onto the disk, so that when the currently executing processes are finished, there will be work waiting for the CPU. What is spooling? Do you think that advanced personal computers will have spooling as a standard in the future? 2. It is commonly used to keep the CPU busy while one or more processes are doing I/O. Multiprogramming is the rapid switching of the CPU between multiple proc- esses in memory.
#Compiler design course code#
Program compiled with compilerĪssembly code is then put through assembler Assume theĬompiler produces assembly code as an intermediate step. Python : ScriptingĬ++ : Von neumann Describe the steps necessary to translate C++ source code into a running program. PHP, Python, Smalltalk, Eiffel, APL, Javascript. Scripting languages Classify each of the following languages as to type: Haskell, Lisp, Prolog, C, C++, Perl, Ada, Imperative: focus on how the computers should do it, dominate language for performance reasonsĭeclarative: focus on what the computer should do, tend to be higher level Within the declarative and imperative families, there are several subclasses, which are usually TERMS IN THIS SET (69) Explain the difference between declarative and imperative languages.
