Role-specific Simics Interview Questions & Answers:
1. Do you know what is the command that will tell the how the system calls getting 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.
2. Please tell me 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.
3. Do you know 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 represent 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.
4. Can you explain 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.
5. Tell me 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:
sh>simics
SimICS> load-unix -tty "/bin/telnet" "www.google.com 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.
6. Please tell me 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
sh>simics
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.
7. Do you know 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.
8. Can you please explain 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.
9. Do you know 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.
10. Explain some 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
https://InterviewQuestionsAnswers.ORG.