Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
CUSTOMER_CODE SMUDE DIVISION_CODE SMUDE EVENT_CODE APR2016 ASSESSMENT_CODE MIT4023_APR2016 QUESTION_TYPE DESCRIPTIVE_QUESTION QUESTION_ID 14321 QUESTION_TEXT Explain the 2 types of Real Time Operating Systems. SCHEME OF EVALUATION 1.Centralized system (5 marks) 2.Hierarchical system (5 marks) QUESTION_TYPE DESCRIPTIVE_QUESTION QUESTION_ID 14324 QUESTION_TEXT Explain on the limitations of Multitasking. SCHEME OF EVALUATION 1.A co–routine is executed after an explicit call from another co routine. Therefore a multitasking solution based on using co routines relies on cooperation between tasks. Given that in many cases tasks within an operating system are logically independent then this is not a satisfactory solution. 2.The problem of organizing the calls between co–routines so that all co–routines have a fair share of the processor would be very complex and prone to error. Indeed in many cases tasks may not get a share of the processor at all. 3.Co routines do not contain any scheduler. This makes it difficult to determine which tasks out of those available are actually ready to run. 4.Basic memory management. (10 marks) QUESTION_TYPE DESCRIPTIVE_QUESTION QUESTION_ID 14325 QUESTION_TEXT Discuss on various Unit Level Testing Methods. SCHEME OF EVALUATION 1. Unit Level Testing: Several methods can be used to test individual modules or units. These techniques can be used by the unit author and by the independent test team to exercise each unit in the system. [1] Black Box Testing: In Black Box Testing, only inputs and outputs of the unit are considered; how the outputs are generated based on a particular set of inputs are ignored. Such a technique, being independent of the implementation of the module, can be applied to any number of modules with the same functionality. Some wifely used Black Box Testing techniques include the following: (3 marks) 2. [ a ] Exhaustive Testing: Brute-force or exhaustive testing involves each code unit with every possible input combination. Brute-force testing can work well in the case of a small number of inputs, each with a limited input range. A major problem with Brute-force testing is the combinational explosion in the number of test cases. (1 mark) 3. [ b ] Boundary-Value Testing: Boundary-value or corner-case testing solves the problem of combinational explosion by testing some very tiny subset of the input combinations identified as meaningful “boundaries” of input. For example, consider a code unit with different inputs, each of which is a 16-bit signed number. Approaching the testing of this code unit using exhaustive testing would require 216 • 216 • 216 • 216 • 216 = 280 test cases. (1 mark) 4. [ c ] Random Test-Case Generation: Random Test-Case Generation, or statistically based testing, can be used for both unit- and system-level testing. This kind of testing involves subjecting the code unit to many randomly generated test cases over some period of time. The purpose of this approach is to simulate execution of the software under realistic conditions. Randomly generated test cases are based on determining the underlying statistics of the expected inputs. The major drawback of such a technique is that the underlying probability distribution functions for the input variables may be unavailable or incorrect. (1 mark) 5. [ d ] Worst-Case Testing: Worst-Case or Pathological-Case testing deals with those test scenarios that might be considered highly unusual and unlikely. It is often the case that these exceptional cases are exactly those for which the code is likely to be poorly designed, and therefore, to fail. For example, the inertial measurement system, while it might be highly unlikely that the system will achieve the maximum accelerations that can be represented in a 16-bit scaled number, this worst case still needs to be tested. (1 mark) 6. [2] White Box Testing: One disadvantage of Black-Box Testing is that it can often bypass unreachable or dead code. In addition, it may not test all of the control paths in the module. Black Box Testing only tests what is expected to happen, not what was intended. White-Box Tests are data driven, white-box tests are logic driven, that is they are designed to exercise all paths in the code unit. White-box testing also has the advantage that it can discover those code paths that cannot be executed. This unreachable code is undesirable because it is likely a sign that the logic is incorrect, because it wastes code space memory, and because it might inadvertently be executed in the case of the corruption of the computer’s program counter. (3 marks) QUESTION_TYPE DESCRIPTIVE_QUESTION QUESTION_ID 126048 QUESTION_TEXT What are the basic requirements of RTOS? Explain. 1. 2. SCHEME OF EVALUATION 3. 4. a. b. c. Multi-tasking and pre-emptable: To support multiple tasks in real–time applications, an RTOS must be multi-tasking and pre-emptible. The scheduler should be able to preempt any task in the system and give the resource to the task that needs it most. An RTOS should also handle multiple levels of interrupts to handle multiple priority levels. Dynamic deadline identification: In order to achieve preemption, an RTOS should be able to dynamically identify the task with earliest deadline. To handle deadlines, deadline information may be converted to priority levels that are used for resource allocation. Although such an approach is error prone, nonetheless it is employed for lack of a better solution. Predictable synchronization: For multiple threads to communicate among themselves in a timely fashion, predictable inter-task communication and synchronization mechanisms are required. Semantic integrity as well as timeliness constitutes predictability. Predefined latencies: The timing of system calls must be defined using the following specifications: Task switching latency or the time to save the context of a currently executing task and switch to another. Interrupt latency or the tome elapsed between the execution of the last instruction of the Interrupted task and the first instruction of the interrupt handler. Interrupt dispatch latency or the time to switch from the last instruction in the interrupt handler to the next task scheduled to run. (2.5 marks each=10 marks) QUESTION_TYPE DESCRIPTIVE_QUESTION QUESTION_ID 126050 QUESTION_TEXT What is Practical real-time operating system? Discuss Windows CE. SCHEME OF EVALUATION Practical real time operating systems are software that run on common processors and have sizable user bases. The common capabilities of these Operating systems are: Efficiency, Non-pre-emptible sytem calls, Prioritized scheduling, Priority inversion control, Memory management support. (2 marks) Windows CE is a modular, portable real time embedded OS for small memory, mobile 32-bit devices. Windows CE slices CPU time among threads and provides to run in kernel mode. (2 marks) Windows CE kernel has the following features:* While executing non-preemptive code in the kernel, translation look-aside buffer misss are avoided by moving all kernel data into physical memory. * Kcalls, all non-pre-emptible portions of the kernel, are broken into small sections reducing the duration of non-pre-emptible code. * All kernel objects are dynamically allocated in virtual memory. * For portability, an equipment adaptation layer isolates device dependent routines. The equipment manufacturer can specify trusted modules and processes to prevent unauthorized applications from accessing system application programming interfaces. (4x1.5=6 marks) QUESTION_TYPE DESCRIPTIVE_QUESTION QUESTION_ID 126052 QUESTION_TEXT Discuss on Interrupts. 1. 2. SCHEME OF EVALUATION 3. 4. An interrupt is an asynchronous hardware-supported request for a specific task activation caused by an event external to the currently active computation. This definition of an interrupt does not include an exception, i.e., a synchronous break in the control flow caused by a condition within the task. In an Event Triggered system, the significant external event triggers are often relayed to the computer system by means of the interrupt mechanism. (2 marks) Whenever the interrupt mechanism is enabled, and an interrupt occurs, the execution of the current task is preempted, and a context switch to the interrupt handler is enforced by the hardware. To reduce the size of the hardware context, i.e. the voltage level of an external signal line is only checked at well-defined points during a hardware instruction, or at the end of the hardware instruction. After the termination of the interrupt handler, another context switch is initiated to either continue the preempted task, or to hand control over to an interrupt service task. These context switches require a worst-case administrative overhead, WACO. (3 marks) Every interrupt reduces the CPU capacity that is available to the application by an amount up to the size of the WCAO, as shown in figure below. (2 marks) The administrative overhead required even if the interrupt handler decides that the interrupt was erroneous, and no application task needs to be activated. If the interrupt frequency reaches the value 1/WCAO, then, no CPU capacity may be left over for the application tasks. It is therefore of paramount importance to limit the frequency of interrupts, particularly if the interrupts could be erroneous. This can be difficult, because the source of the interrupt is outside the sphere of control, SOC, of the considered node. Hence, it cannot be known a priori whether a pending interrupt is in error, or whether it carries relevant event information that must not be lost. (3 marks)