RTOS Interview Questions And Answers
Download Real-Time Operating System (RTOS) Interview Questions and Answers PDF
Enhance your Real-Time Operating System (RTOS) interview preparation with our set of 22 carefully chosen questions. Each question is crafted to challenge your understanding and proficiency in Real-Time Operating System (RTOS). Suitable for all skill levels, these questions are essential for effective preparation. Access the free PDF to get all 22 questions and give yourself the best chance of acing your Real-Time Operating System (RTOS) interview. This resource is perfect for thorough preparation and confidence building.
22 Real-Time Operating System (RTOS) Questions and Answers:
Real-Time Operating System (RTOS) Job Interview Questions Table of Contents:
1 :: IN RTOS HAVING 1OKBYTES OF MEMORY AND YOUR PROGRAMM FOR ASKING FOR 5KBYTES AND YOU GOT NULL ERROR?
WHY DOES IT BEHAVES LIKE THIS?
RTOS might be having 10k memory, might not fragmentation
problem, and the largest hole available to user might be
lesser than 5k, this condition might be one of the reason
for NULL error.
Read Moreproblem, and the largest hole available to user might be
lesser than 5k, this condition might be one of the reason
for NULL error.
2 :: What is the need of creating 4GB of pages in Linux?
Not sure what this question is. But looks like the question
is: Why 4GB addressing space available in Linux. Well, the
simple answer is it can address so much of memory with
available 32 address lines. 2 ^ 32 = 4 GB.
Read Moreis: Why 4GB addressing space available in Linux. Well, the
simple answer is it can address so much of memory with
available 32 address lines. 2 ^ 32 = 4 GB.
3 :: What are the rules you follow when you are writing critical section of code?
a) Use Atomic Instructions
b) Remember to enable interrupts
c) Make the critical section code as small as possible.
(Prefer not more than 20 instructions)
d) Prefer not to call other functions from the critical
section. if u r calling, see that there is no critical
section in the other function too. Critical section is
bounded by Disable Interrupt and Enable Interrupt.
Check the example below.
fnA()
{
/* Critical Section Start */
Disable_Interrupt();
Some Instructions A ....
Call FnB();
/* do Something B */
Some Instructions B ....
/* Critical Section End */
}
fnB()
{
/* Critical Section Start */
Disable_Interrupt();
Some Instructions ..
Enable_Interrupts();
/* Critical Section End */
}
Now the Enable_Interrupts in fnB() will enable the
interrupts and hence "Some Instructions B .." in fnA()
which should have been in critical section will no more be
in critical section because the interrupts are already
enabled!!
Please check if this condition is handled by the Enable and
Disable functions. If you want suggestions on how to solve
this problem, do revert back
Read Moreb) Remember to enable interrupts
c) Make the critical section code as small as possible.
(Prefer not more than 20 instructions)
d) Prefer not to call other functions from the critical
section. if u r calling, see that there is no critical
section in the other function too. Critical section is
bounded by Disable Interrupt and Enable Interrupt.
Check the example below.
fnA()
{
/* Critical Section Start */
Disable_Interrupt();
Some Instructions A ....
Call FnB();
/* do Something B */
Some Instructions B ....
/* Critical Section End */
}
fnB()
{
/* Critical Section Start */
Disable_Interrupt();
Some Instructions ..
Enable_Interrupts();
/* Critical Section End */
}
Now the Enable_Interrupts in fnB() will enable the
interrupts and hence "Some Instructions B .." in fnA()
which should have been in critical section will no more be
in critical section because the interrupts are already
enabled!!
Please check if this condition is handled by the Enable and
Disable functions. If you want suggestions on how to solve
this problem, do revert back
4 :: What are the advantages and disadvantages of winCE compared to GPOS?
Adv:
1) Supports various types of processor platforms
2) Possible to Customize the Kernel and can reduce its size
(upto ~300KB kernel size)
3) Especially for the embedded device platforms
Disadv:
1) Process limits, max. 32 process at a time in WinCE 5.0
2) Limited space allocation for each processes, 32MB/each
process
Read More1) Supports various types of processor platforms
2) Possible to Customize the Kernel and can reduce its size
(upto ~300KB kernel size)
3) Especially for the embedded device platforms
Disadv:
1) Process limits, max. 32 process at a time in WinCE 5.0
2) Limited space allocation for each processes, 32MB/each
process
5 :: Why MFC is not Supporting in Smartphones,This is also winCE mobile then why?
Well there is nothing to related with limited H/w I believe,
Because MFC is just a collection classes designed using the
Windows APIs , to provide ease of use.
So the proper answer may Be...
To design any application on mobile.. We have very limited
APIs which user can directly used. Generally in Embedded
system (even in Soft RTOS also ) , if application design
using less ( comfort )layer like MFC ( and other if it is
there :) ),then your aplication would be more efficient.
That's why even today's era... The application written in
Assembly is the most efficient application then others.
Read MoreBecause MFC is just a collection classes designed using the
Windows APIs , to provide ease of use.
So the proper answer may Be...
To design any application on mobile.. We have very limited
APIs which user can directly used. Generally in Embedded
system (even in Soft RTOS also ) , if application design
using less ( comfort )layer like MFC ( and other if it is
there :) ),then your aplication would be more efficient.
That's why even today's era... The application written in
Assembly is the most efficient application then others.
6 :: What is the difference between winCE4.0 and winCE5.0 Is there any specialty?
speciality in the sense ...
1) number of processes supported by wince 5.0 is more
than wince 4.0
2) memory mapping might be varying.
Read More1) number of processes supported by wince 5.0 is more
than wince 4.0
2) memory mapping might be varying.
7 :: What are the levels in winCE architecture?
there are four levels in Win CE architecture.
They are
1)Hardware layer
2)OEM layer
3)OS layer
4)Application layer
Read MoreThey are
1)Hardware layer
2)OEM layer
3)OS layer
4)Application layer
8 :: What are the SDKs developed by winCE?
MSFT standard SDK's are,
1. Windows Mobile for Smartphone = Windows Mobile Standard.
2. Windows Mobile for Pocket PC = Windows Mobile Classic.
3. Windows Mobile for Pocket PC Phone Edition = Windows
Mobile Professional.
Read More1. Windows Mobile for Smartphone = Windows Mobile Standard.
2. Windows Mobile for Pocket PC = Windows Mobile Classic.
3. Windows Mobile for Pocket PC Phone Edition = Windows
Mobile Professional.
9 :: What is the difference between normal OS and winCE OS?
Normal OS wince
drivers runs under User space(part of device manager)
kernel space
cannot be customized customized for embedded application
for embedded application like mobile phones,thin client...
(exception linux)
kernel - monolithic kernel- micro kernel
Read Moredrivers runs under User space(part of device manager)
kernel space
cannot be customized customized for embedded application
for embedded application like mobile phones,thin client...
(exception linux)
kernel - monolithic kernel- micro kernel
10 :: What is CE Stands in winCCE?
In the name "Windows CE," the letters "CE" are not an
abbreviation for anything, but rather they imply a number
of the precepts around which Windows CE is designed,
including "Compact," Connectable,"
Compatible," "Companion," and "Efficient."
Read Moreabbreviation for anything, but rather they imply a number
of the precepts around which Windows CE is designed,
including "Compact," Connectable,"
Compatible," "Companion," and "Efficient."
11 :: What is the specialty of winCE?
- Supports various processor x86, MIPS, SH, ARM
- Real TimeOS
- Preemptive
- Max 32 process supported on or previous version of wince
6.x
- XIP
- Small memory foot print.
- Suitable for small gadgets with like Portable media
players, Mobile phones
Read More- Real TimeOS
- Preemptive
- Max 32 process supported on or previous version of wince
6.x
- XIP
- Small memory foot print.
- Suitable for small gadgets with like Portable media
players, Mobile phones
12 :: What is Device driver?
A device driver is a code that performs device control
operations specific to the device being addressed.
It is software layer that lies between applications and the
actual device.
or a more formal definition would be
Device drivers are distinct black boxes that make a
particular piece of hardware respond to a well defined
internal programming interface.
Read Moreoperations specific to the device being addressed.
It is software layer that lies between applications and the
actual device.
or a more formal definition would be
Device drivers are distinct black boxes that make a
particular piece of hardware respond to a well defined
internal programming interface.
13 :: When would you choose top down methodology?
Top down methodology is one where overall picture of the
system is defined first. Then we go into the details of the
sub-systems in the next level and so on. So to brief this,
first the complex system is seen as a whole and then this
is broken down to smaller simpler pieces.
Top down approach is preferred when understanding of the
complete system is done. Sufficient knowledge of the system
is required.
Read Moresystem is defined first. Then we go into the details of the
sub-systems in the next level and so on. So to brief this,
first the complex system is seen as a whole and then this
is broken down to smaller simpler pieces.
Top down approach is preferred when understanding of the
complete system is done. Sufficient knowledge of the system
is required.
14 :: When would you choose bottom up methodology?
In Bottom Up Methodology, we build the bottom-most layer
first and then ascend onto the actual application i.e. all
the smaller chunks of code or assisting functions are build
first and then the bigger function which uses these are built.
Bottom Up methodology is followed when we are definite about
the number, type and functionality of the Bottom most
functions(Assisting Functions) to be defined. Once all these
functions are defined, we build the bigger system above it.
Top down approach is followed when we are not very sure
about the number/type of functions that need to be
implemented, so the application is started to be implemented
and as and when smaller functions are needed, they are built.
Read Morefirst and then ascend onto the actual application i.e. all
the smaller chunks of code or assisting functions are build
first and then the bigger function which uses these are built.
Bottom Up methodology is followed when we are definite about
the number, type and functionality of the Bottom most
functions(Assisting Functions) to be defined. Once all these
functions are defined, we build the bigger system above it.
Top down approach is followed when we are not very sure
about the number/type of functions that need to be
implemented, so the application is started to be implemented
and as and when smaller functions are needed, they are built.
15 :: What version of wince supports dual core processor?
only windows embedded compact 7 will support dual core
Read More16 :: Where is AD Database held what other folders are
related to AD?
NTDS.dit is a active AD data base file stores in %
systemroot%system32\NTDS\ntds.dit.
Edb.chk, Edb*.log, res1, res2 are the files related to AD
Read Moresystemroot%system32\NTDS\ntds.dit.
Edb.chk, Edb*.log, res1, res2 are the files related to AD
17 :: What is task spawn in vxworks?
Task Spawn is used to create a thread in VXworks.
Once the thread is created than only we can make all the suspended,delete,resume operations.
Syntax
taskSpawn(char *name,int priority,int option,int stacksize,FUNCPTR entrypoint,int avg1,avg2....avg10)
1. name: task name examp: task1
2. priority: 0-255 //0---high, 255---low
3.options: 0 most of the times
4.FUNCPTR: It jumps to function we are calling examp; (FUNCPTR)fun1
5.avg1--avg10: almost 0 every time
Read MoreOnce the thread is created than only we can make all the suspended,delete,resume operations.
Syntax
taskSpawn(char *name,int priority,int option,int stacksize,FUNCPTR entrypoint,int avg1,avg2....avg10)
1. name: task name examp: task1
2. priority: 0-255 //0---high, 255---low
3.options: 0 most of the times
4.FUNCPTR: It jumps to function we are calling examp; (FUNCPTR)fun1
5.avg1--avg10: almost 0 every time
18 :: Write a code to connect Hardware interrupt to ISR?
In Keil
void serial_ISR() interrupt 4 using 0
{
}
& in AVR studio
SIGNAL(Inteerupt_no)
{
}
hardware intterupt normally redirects the uC to predefined
addresses. In case of high end processors the interrupt
table will decide the interrupt vector address and whenever
intterrupt pin goes low, the table is searched for type and
source of interrupt.
Read Morevoid serial_ISR() interrupt 4 using 0
{
}
& in AVR studio
SIGNAL(Inteerupt_no)
{
}
hardware intterupt normally redirects the uC to predefined
addresses. In case of high end processors the interrupt
table will decide the interrupt vector address and whenever
intterrupt pin goes low, the table is searched for type and
source of interrupt.
19 :: What is major concerns about any RTOS selection?
Interrrupt Latency means the time taken by the processor to
pass the control to ISR after the interrupt is raised.
Certainly this is the hardware feature.
Footprint of the OS matters because with the same compiler
and same optimization techniques, Different OS's will have
different footprint.
So this is can be looked upon while selecting the RTOS.
RTOS can be chosen looking at various API support it
provides. Synchronization support, Scheduler algos, and
memory management of the OS.
Read Morepass the control to ISR after the interrupt is raised.
Certainly this is the hardware feature.
Footprint of the OS matters because with the same compiler
and same optimization techniques, Different OS's will have
different footprint.
So this is can be looked upon while selecting the RTOS.
RTOS can be chosen looking at various API support it
provides. Synchronization support, Scheduler algos, and
memory management of the OS.
20 :: What is priority inversion? And What is the solution?
When low priority thread is service and high priority theas
is keep on waiting.This situation is called priority
inversion.because even though thread have high priority it
is not executed.
solution:There are different solution one of them is
priority inheritance,It means change the priority of the
thread.make high priority thread to low and lower priority
thread to high.
In this way only the rule high priority should execute first
is follow.
Read Moreis keep on waiting.This situation is called priority
inversion.because even though thread have high priority it
is not executed.
solution:There are different solution one of them is
priority inheritance,It means change the priority of the
thread.make high priority thread to low and lower priority
thread to high.
In this way only the rule high priority should execute first
is follow.
21 :: What is difference between IRQ and FRQ?
"IRQ is serviced at a normal priority level and FIQ is
serviced at high priority level." This statement is wrong
FIQ is the fast interrupt i.e. the latency time taken is less because in the FIQ mode (in case of ARM architecture where these modes are encountered) the mode has an additional set of 8 general purpose registers which means in case of the banked registers there is no need to store these registers into stack when the interrupt occurs.
That means r0 to r7 only needs to be stored while moving from User mode to FIQ mode whereas while moving from to IRQ mode r0 to r12 needs to be stored.
Read Moreserviced at high priority level." This statement is wrong
FIQ is the fast interrupt i.e. the latency time taken is less because in the FIQ mode (in case of ARM architecture where these modes are encountered) the mode has an additional set of 8 general purpose registers which means in case of the banked registers there is no need to store these registers into stack when the interrupt occurs.
That means r0 to r7 only needs to be stored while moving from User mode to FIQ mode whereas while moving from to IRQ mode r0 to r12 needs to be stored.