Simics Interview Questions and Answers - Simics FAQs

What is the function of SIMICS?

Simics is used as an emulator that executes binary files. It is used to start the binaries of the hardware at high speed that are not being changed and provide high performance. It emulates the host environment to run the guest operating system. It is a virtualization platform that simulates to develop software for embedded hardwares.

What is the difference between emulation and virtualization?

- Emulation is a process of converting the target processor into software, whereas virtualization converts the physical processor into multiple modules that runs the processor.
- Emulation is a slow process, whereas virtualization is faster than emulation.
- Emulation can be worked around any processor, whereas virtualization requires the right processor to be virtualized.

How to load SimICS inside an operating system?

The command that is used to run SIMICS is the load-unix command and the calling command will be like this
SimICS> load-unix "/bin/ls" "/bin/ls"
SimICS> run /bin/ls
SimICS> ptime
Number of cycles executed (CPU 0): 606012
SimICS> quit

load-unix allow the terminal to read an executable file into SIMICS and then full path of the bin directory allow to pull the executable files.

How to run interactive program using SIMICS?

SIMICS can be used to run interactive program through the command line interface. The program should be passed with a parameter “-tty”, it is a flag and by doing this any program that is being executed gets its own window in which it will be running. The input that is being entered will be passed to the program for further processing.
The command is as follows:
SimICS> load-unix -tty "/bin/telnet" " 80"
SimICS> load-unix "idle"
SimICS> c

This program loads the program and executes it by using the telnet it actually used for file transfer and for communicating with other servers.

Why “simics-backend" is used in simics?

Simics-backend is a binary that is used to create a symbolic link from the front end which will be interacting with the user. Simics-backend is a stable command that allows user to debug and profile the simics. This handle the backend calls that is being made by the simic when a user enters any input that has to be displayed on the screen.

How does SimICS handle system calls?

Simics handle the system calls internally and doesn't let the user know about the inner functionalities of it. It represents the System V model that includes style data structures like page tables, inode, processes, etc. By doing so will make the simics to handle the system calls like fork (), exec (), open (), etc. As simic is used to emulate the operating system so it is not recommended to touch the binaries and the libraries that are present with the simics.

What is the command that will tell how the system calls handled?

Simics handle the system calls internally and doesn't show any error if it working correctly. But if there is any error occurs during some system call then it will print an error to show it. There is a possibility that after showing the error it may not resume the running of the program. The command that can be used to know about the simics system call is “unix-supported-syscalls”. Run the command in trace mode by using the “-tr” parameter.

What is the use of instructions and cycles in Simics?

Simics see the execution of binaries as a normal execution of instructions. Each instruction in turn takes some cycles ot complete till it doesn't give some execution or an interrupt doesn't occur. Memory instructions are the instructions that take long time to complete. If a positive value is return by the processor then the instruction gets successfully executed. So, the cycle just introduces about the instructions that is going to be executed at a time.

What are advantages of connecting simics with real network?

There are lots of advantages of connecting simics with real network. These advantages are as follows:

1. Ease to download file from the server using FTP, TFTP or any other protocol
2. Accessing of other system remotely from anywhere using telnet or test software.
3. Ease to share information between different systems at a single time
4. Let users to remain organized and allow the resources to be shared

How to access host Ethernet interface in simics?

Simics require low level access to the networking to share is resources between the host and guest system. It requires port forwarding to be used to transfer the packets. It provides a simulation of the host Ethernet’s interface to send and receive the data packets. As, operating system doesn't allow the use of simulator for Ethernet interfaces, network has to be manually configured to be used.
There are two ways it can be configured.

1. Use of openif that allows the access to the simulated host Ethernet’s interface.
2. Use of TAP or virtual Ethernet this allows permissions to be set for each user for the accessing and transferring of the files.
Parallels Workstation (for Windows and Linux) Interview Questions and Answers
Parallels Workstation Interview - Does Parallels Workstartion virtualize Mac OSX or support Mac OSX as Host OS?, What are the minimum requirements suggested for Parallels Workstation ?, What is Para-virtualization, is it supported by Parallels Workstation ?, What do u understand by VT-x and VT-d and is it a necessity for Parallels Workstation? etc.
Parallels for Desktop (for Mac) Questions and Answers
Parallels for Desktop Questions - Parallels Desktop is a Type-2 Hypervisor just like Vmware Workstation, why there is a need for special hypervisor on Mac?, Can we use any parallels virtualization solution to run Mac on a non Mac OSX host OS?, Does Legacy Mac OSX OS are supported by Parallels Desktop on Mac?, Parallels Desktop for Mac is primarily optimized for which OS and why? etc.
Microsoft Virtual PC 2007
What all OS are supported by Virtual PC 2007 as a host OS?, What was XP Mode in Windows 7?, Does Virtual PC 2007 have CLI mode?, How does Virtual PC 2007 differ from Microsoft Hyper-V?, Give some small features of Windows Virtual Pc?, Describe seamless application publishing and launching etc.
Post your comment