PricewaterhouseCoopers Most Frequently Asked Latest Linux Interview Questions Answers
Why Embedded System Is Useful?
With embedded system, it is possible to replace dozens or even more of hardware logic gates, input buffers, timing circuits, output drivers, etc. with a relatively cheap microprocessor.
Explain What Are Real-time Embedded Systems?
Real-time embedded systems are computer systems that monitor, respond or control an external environment. This environment is connected to the computer system through actuators, sensors, and other input-output interfaces.
Explain What Is The Need For An Infinite Loop In Embedded Systems?
Embedded systems require infinite loops for repeatedly processing or monitoring the state of the program. For instance, the case of a program state continuously being verified for any exceptional errors that might just happen during run-time such as memory outage or divide by zero, etc.
List Out Some Of The Commonly Found Errors In Embedded Systems?
Some of the commonly found errors in embedded systems are
• Damage of memory devices static discharges and transient current
• Address line malfunctioning due to a short in circuit
• Data lines malfunctioning
• Due to garbage or errors some memory locations being inaccessible in storage
• Inappropriate insertion of memory devices into the memory slots
• Wrong control signals
What Is The Need For Dmac In Es?
•Direct memory access is mainly used to overcome the disadvantages of interrupt and progam controlled I/O.
•DMA modules usually take the control over from the processor and perform the memory operations and this is mainly because to counteract the mismatch in the processing speeds of I/O units and the procesor. This is comparatively faster.
•It is an important part of any embedded systems,and the reason for their use is that they can be used for bursty data transfers instead of single byte approaches.
•It has to wait for the systems resources such as the system bus in case it is already in control of it.
If You Buy Some Rtos, What Are The Features You Look For In?
•Deterministic operating system having guaranteed worst-case interrupt latency and context-switch times.
•Documentation providing for the minimum, average, and maximum number of clock cycles required by each system call.
•Interrupt response times should be very minute.
•Context switch time should be very low.
•Compatibility with several plugin devices.
•Overall it should be very reliable.
Why Is Java Mostly Used In Embedded Systems?
•Java was mainly designed and conceptualised for code that can work on different platforms without any hassles and also for being secure enough so as to not harm or corrupt other modules of code.
•Features like exception handling, simple syntax and Automatic Garbage collection all work in its favour as the language for use in ES's.
•Also that it is widely used in the form of Java applets makes it very popular confining it to the limits of JVM. It is Dynamic in nature.
•Its use is also being exploited in enterprise systems in the form of J2EE, J2SE, J2ME in case of mobile applications.
What Are The Commonly Found Errors In Embedded Systems?
•Damage of memory devices due to transient current and static discharges.
•Malfunctioning of address lines due to a short in the circuit.
•Malfunctioning of Data lines.
•Some memory locations being inaccessible in storage due to garbage or errors.
•Improper insertion of Memory devices into the memory slots.
•Faulty control signals.
What Is The Need For Having Multibyte Data Input And Output Buffers In Case Of Device Ports?
•It’s normally the case that some devices transfer the output either in a bursty or a sequential manner and also during input entry. If we take the example of keyboards, all the data entered is stored in a buffer and given at a time or one character at a time.
•In case of networking there may be several requests to access the same resource and all these are queued in a buffer and serviced in the order they are received. Hence to avoid the input/output units from getting overloaded with requests, we use multibyte buffers.
What Is Endianness Of A System And How Do Different Systems Communicate With Each Other?
•Endianness basically refers to the ordering of the bytes within words or larger bytes of data treated as a single entity.
•When we consider a several bytes of data say for instance 4 bytes of data,XYZQ the lower byte if stored in a Higher address and others in successively decreasing addresses, then it refers to the Big Endian and the vice versa of this refers to Little Endian architecture.
•Intel 80x86 usually follows Little Endian and others like IBM systems follow Big Endian formats.
•If the data is being transmitted care has to be taken so as to know as to which byte,whether the higher or the lower byte is being transmitted.
•Hence a common format prior to communication has to be agreed upon to avoid wrong interpretation/calculations.
•Usually layer modules are written so as to automate these conversion in Operating systems.
How Are Macros Different From Inline Functions?
•Macros are normally used whenever a set of instructions/tasks have to be repeatedly performed. They are small programs to carryout some predefined actions.
•We normally use the #define directive in case we need to define the values of some constants so in case a change is needed only the value can be changed and is reflected throughout.
#define mul(a,b) (a*b)
•The major disadvantage of macros is that they are not really functions and the usual error checking and stepping through of the code does not occur.
•Inline functions are expanded whenever it is invoked rather than the control going to the place where the function is defined and avoids all the activities such as saving the return address when a jump is performed. Saves time in case of short codes.
inline float add(float a,float b)
{
return a+b;
}
•Inline is just a request to the compiler and it is upto to the compiler whether to substitute the code at the place of invocation or perform a jump based on its performance algorithms.
What Could Be The Reasons For A System To Have Gone Blank And How Would You Debug It?
Possible reasons could be
•PC being overheated.
•Dust having being accumulated all around.
•CPU fans not working properly .
•Faulty power connections.
•Faulty circuit board from where the power is being drawn.
•Support Drivers not having being installed.
•Debugging steps which can be taken are
•Cleaning the system thoroughly and maintaining it in a dust-free environment. Environment that is cool enough and facilitates for easy passage of air should be ideal enough.
•By locating the appropriate support drivers for the system in consideration and having them installed.
Explain What Is Semaphore?
A semaphore is an abstract datatype or variable that is used for controlling access, by multiple processes to a common resource in a concurrent system such as multiprogramming operating system. Semaphores are commonly used for two purposes
• To share a common memory space
• To share access to files
When One Must Use Recursion Function? Mention What Happens When Recursion Functions Are Declared Inline?
Recursion function can be used when you are aware of the number of recursive calls is not excessive. Inline functions property says whenever it will called, it will copy the complete definition of that function. Recursive function declared as inline creates the burden on the compilers execution.
Explain Whether We Can Use Semaphore Or Mutex Or Spinlock In Interrupt Context In Linux Kernel?
Semaphore or Mutex cannot be used for interrupt context in Linux Kernel. While spinlocks can be used for locking in interrupt context.
Why Embedded System Is Useful?
With embedded system, it is possible to replace dozens or even more of hardware logic gates, input buffers, timing circuits, output drivers, etc. with a relatively cheap microprocessor.
Explain What Are Real-time Embedded Systems?
Real-time embedded systems are computer systems that monitor, respond or control an external environment. This environment is connected to the computer system through actuators, sensors, and other input-output interfaces.
Explain What Is The Need For An Infinite Loop In Embedded Systems?
Embedded systems require infinite loops for repeatedly processing or monitoring the state of the program. For instance, the case of a program state continuously being verified for any exceptional errors that might just happen during run-time such as memory outage or divide by zero, etc.
List Out Some Of The Commonly Found Errors In Embedded Systems?
Some of the commonly found errors in embedded systems are
• Damage of memory devices static discharges and transient current
• Address line malfunctioning due to a short in circuit
• Data lines malfunctioning
• Due to garbage or errors some memory locations being inaccessible in storage
• Inappropriate insertion of memory devices into the memory slots
• Wrong control signals
PricewaterhouseCoopers Most Frequently Asked Latest Linux Interview Questions Answers |
What Is The Need For Dmac In Es?
•Direct memory access is mainly used to overcome the disadvantages of interrupt and progam controlled I/O.
•DMA modules usually take the control over from the processor and perform the memory operations and this is mainly because to counteract the mismatch in the processing speeds of I/O units and the procesor. This is comparatively faster.
•It is an important part of any embedded systems,and the reason for their use is that they can be used for bursty data transfers instead of single byte approaches.
•It has to wait for the systems resources such as the system bus in case it is already in control of it.
If You Buy Some Rtos, What Are The Features You Look For In?
•Deterministic operating system having guaranteed worst-case interrupt latency and context-switch times.
•Documentation providing for the minimum, average, and maximum number of clock cycles required by each system call.
•Interrupt response times should be very minute.
•Context switch time should be very low.
•Compatibility with several plugin devices.
•Overall it should be very reliable.
Why Is Java Mostly Used In Embedded Systems?
•Java was mainly designed and conceptualised for code that can work on different platforms without any hassles and also for being secure enough so as to not harm or corrupt other modules of code.
•Features like exception handling, simple syntax and Automatic Garbage collection all work in its favour as the language for use in ES's.
•Also that it is widely used in the form of Java applets makes it very popular confining it to the limits of JVM. It is Dynamic in nature.
•Its use is also being exploited in enterprise systems in the form of J2EE, J2SE, J2ME in case of mobile applications.
What Are The Commonly Found Errors In Embedded Systems?
•Damage of memory devices due to transient current and static discharges.
•Malfunctioning of address lines due to a short in the circuit.
•Malfunctioning of Data lines.
•Some memory locations being inaccessible in storage due to garbage or errors.
•Improper insertion of Memory devices into the memory slots.
•Faulty control signals.
What Is The Need For Having Multibyte Data Input And Output Buffers In Case Of Device Ports?
•It’s normally the case that some devices transfer the output either in a bursty or a sequential manner and also during input entry. If we take the example of keyboards, all the data entered is stored in a buffer and given at a time or one character at a time.
•In case of networking there may be several requests to access the same resource and all these are queued in a buffer and serviced in the order they are received. Hence to avoid the input/output units from getting overloaded with requests, we use multibyte buffers.
What Is Endianness Of A System And How Do Different Systems Communicate With Each Other?
•Endianness basically refers to the ordering of the bytes within words or larger bytes of data treated as a single entity.
•When we consider a several bytes of data say for instance 4 bytes of data,XYZQ the lower byte if stored in a Higher address and others in successively decreasing addresses, then it refers to the Big Endian and the vice versa of this refers to Little Endian architecture.
•Intel 80x86 usually follows Little Endian and others like IBM systems follow Big Endian formats.
•If the data is being transmitted care has to be taken so as to know as to which byte,whether the higher or the lower byte is being transmitted.
•Hence a common format prior to communication has to be agreed upon to avoid wrong interpretation/calculations.
•Usually layer modules are written so as to automate these conversion in Operating systems.
How Are Macros Different From Inline Functions?
•Macros are normally used whenever a set of instructions/tasks have to be repeatedly performed. They are small programs to carryout some predefined actions.
•We normally use the #define directive in case we need to define the values of some constants so in case a change is needed only the value can be changed and is reflected throughout.
#define mul(a,b) (a*b)
•The major disadvantage of macros is that they are not really functions and the usual error checking and stepping through of the code does not occur.
•Inline functions are expanded whenever it is invoked rather than the control going to the place where the function is defined and avoids all the activities such as saving the return address when a jump is performed. Saves time in case of short codes.
inline float add(float a,float b)
{
return a+b;
}
•Inline is just a request to the compiler and it is upto to the compiler whether to substitute the code at the place of invocation or perform a jump based on its performance algorithms.
What Could Be The Reasons For A System To Have Gone Blank And How Would You Debug It?
Possible reasons could be
•PC being overheated.
•Dust having being accumulated all around.
•CPU fans not working properly .
•Faulty power connections.
•Faulty circuit board from where the power is being drawn.
•Support Drivers not having being installed.
•Debugging steps which can be taken are
•Cleaning the system thoroughly and maintaining it in a dust-free environment. Environment that is cool enough and facilitates for easy passage of air should be ideal enough.
•By locating the appropriate support drivers for the system in consideration and having them installed.
Explain What Is Semaphore?
A semaphore is an abstract datatype or variable that is used for controlling access, by multiple processes to a common resource in a concurrent system such as multiprogramming operating system. Semaphores are commonly used for two purposes
• To share a common memory space
• To share access to files
When One Must Use Recursion Function? Mention What Happens When Recursion Functions Are Declared Inline?
Recursion function can be used when you are aware of the number of recursive calls is not excessive. Inline functions property says whenever it will called, it will copy the complete definition of that function. Recursive function declared as inline creates the burden on the compilers execution.
Explain Whether We Can Use Semaphore Or Mutex Or Spinlock In Interrupt Context In Linux Kernel?
Semaphore or Mutex cannot be used for interrupt context in Linux Kernel. While spinlocks can be used for locking in interrupt context.
Post a Comment