Figure 1: design process The Redundancy Component and debugging: The redundancy component in designing a Lunar landing game is a technique whose aim is to get rid of single points of failures within the game. Single point failures refer to a condition that breaks the entire system following the failure of only one device or design element. The Tools Component: hardware required for designing include sockets, wire-wrap wire PCB’s, IC’s, capacitors, resistors, copper wire and IDE ribbon cables.
Circuit Boards for prototyping were also required. There are 4 boards that were used in this design that had display drivers, buffers for the interfaces, counter logic; Sockets for 3 IDE interface cables to external modules are visible at the bottom. There are two types of hypervisors: the microkernel and the monolithic. A monolithic hypervisor is a fairly thick layer between the hardware and the guest operating system. These usually carry their own hardware drivers which are different from the drivers found in the guest operating systems.
The hypervisors function is to control the access of the guest operating system to memory, processors, input/output (I/O) and separates guests from one another. Sine the monolithic hypervisor is considerably large and carries several drivers, it is usually inappropriate since it attacks the surface. It therefore implies that using the monolithic will compromise with the efficiency of the service. This will also compromise with the hypervisor code, other drivers that it loads, the whole physical host and the guests.
Rather than compromise with the efficiency of the system and accept unnecessary risks into the system, the processing model will apply the microkernel architecture to develop Hypervisor. This hypervisor will offer basic partitioning ability that leverages virtualization extensions towards the processor. In this case, the Guest operating systems will use their own original drivers. This eliminates the possibility of a risk from the third-party code. In addition, the micro-kernel hypervisor supports more hardware than the monolithic one and thus there’s no need of coming up with different hypervisor drivers.
The size of the TCB is significantly minimized when a guest has its own drivers since guests are not routed via the parent partitioning. Modern processors are usually equipped with virtualization extensions that normally allow the hypervisor to be a far much thin layer. Design verification Design verification carries out a number of tests such as interface, functionality and software. It will be good if the designer asks another individual or group to conduct testing of the system. Doing so, it would allow a wider scope of testing scenarios in order to assure that it is own-built.
Asking a third party to conduct the testing will make this process less impartial. As the tester, the system requirements should be checked based upon the parameters defined by set of objectives/expectations. Trial transactions should be made in order to check the validity of the system to make sure if it is working properly. Interfaces: This test will be, board-to board, chip-to-chip or subsystem-level interfaces. It is important to develop a solid interface specification early in the design cycle, since multiple designers will be dependent on the same interface.
The interface layer within a system framework is responsible for describing the control knowledge within a specific domain. Due to the fact that interfaces are defined at the knowledge level, the manner in which the inference is conducted is not important. Functionality: this type of verification tests the ability of the system to function. This ensures that it hardware is correct in operation. Any malfunction will be debugged as any hardware that is not compatible may not function. Software and software development tools: software is critical to design as they make the system work.
The software can valuable in debugging. Compiling, simulation and execution cannot be carried out without debugging.
Read More