A hard real-time system guarantees that critical tasks complete within a strict deadline. Missing the deadline can cause system failure or serious consequences.
Click to reveal answer
beginner
What defines a soft real-time system?
A soft real-time system aims to meet deadlines but can tolerate occasional delays without catastrophic failure. Performance degrades gracefully if deadlines are missed.
Click to reveal answer
intermediate
In FreeRTOS, which type of real-time system requires strict task prioritization and deterministic scheduling?
Hard real-time systems require strict task prioritization and deterministic scheduling to ensure deadlines are always met.
Click to reveal answer
beginner
Give an example of an application that typically uses a hard real-time system.
Examples include medical devices, automotive airbag controllers, and industrial robot controllers where missing deadlines can cause harm or damage.
Click to reveal answer
intermediate
How does FreeRTOS handle soft real-time requirements?
FreeRTOS can handle soft real-time by using priority-based preemptive scheduling but allows some flexibility in meeting deadlines, suitable for multimedia or user interface tasks.
Click to reveal answer
Which statement best describes a hard real-time system?
ADeadlines must always be met without exception.
BDeadlines are goals but can be missed occasionally.
CTasks run only when the CPU is idle.
DTasks have no timing constraints.
✗ Incorrect
Hard real-time systems require that deadlines are always met to avoid failure.
What happens if a soft real-time system misses a deadline?
APerformance degrades but system continues running.
BCPU shuts down.
CTask is terminated permanently.
DSystem crashes immediately.
✗ Incorrect
Soft real-time systems tolerate missed deadlines with reduced performance.
In FreeRTOS, what feature helps meet hard real-time deadlines?
ARandom task execution.
BRound-robin scheduling only.
CNo scheduling, tasks run sequentially.
DPriority-based preemptive scheduling.
✗ Incorrect
Priority-based preemptive scheduling allows critical tasks to run immediately, helping meet deadlines.
Which application is most likely to use a soft real-time system?
AAirbag deployment controller.
BPacemaker device.
CVideo streaming player.
DIndustrial robot arm.
✗ Incorrect
Video streaming can tolerate some delays, so it uses soft real-time systems.
What is a key difference between hard and soft real-time systems?
ABoth always miss deadlines.
BHard real-time systems never miss deadlines; soft real-time systems can.
CSoft real-time systems never miss deadlines; hard real-time systems can.
DNeither has deadlines.
✗ Incorrect
Hard real-time systems require strict deadline adherence; soft real-time systems allow occasional misses.
Explain the difference between hard real-time and soft real-time systems in your own words.
Think about how serious it is if a task finishes late.
You got /3 concepts.
Describe how FreeRTOS supports hard real-time requirements.
Consider how FreeRTOS decides which task runs first.
You got /3 concepts.
Practice
(1/5)
1. Which statement best describes a hard real-time system in FreeRTOS?
easy
A. Tasks can miss deadlines occasionally without major issues.
B. Tasks run only when the CPU is idle.
C. Tasks must meet deadlines strictly without any misses.
D. Tasks have no timing constraints.
Solution
Step 1: Understand hard real-time definition
Hard real-time means deadlines are strict and must never be missed.
Step 2: Compare options with definition
The statement 'Tasks must meet deadlines strictly without any misses' matches the definition of hard real-time.
Final Answer:
Tasks must meet deadlines strictly without any misses. -> Option C
Quick Check:
Hard real-time = strict deadlines [OK]
Hint: Hard real-time means no deadline misses allowed [OK]
Common Mistakes:
Confusing hard real-time with soft real-time
Thinking tasks run only when CPU is idle
Ignoring timing constraints
2. Which FreeRTOS API function is used to delay a task for a specific time period?
easy
A. vTaskDelay()
B. xTaskCreate()
C. vTaskStartScheduler()
D. xQueueSend()
Solution
Step 1: Identify delay function in FreeRTOS
vTaskDelay() pauses a task for a given tick count, controlling timing.
Step 2: Check other options
xTaskCreate() creates tasks, vTaskStartScheduler() starts the OS, xQueueSend() sends to queues.
Final Answer:
vTaskDelay() -> Option A
Quick Check:
Delay task = vTaskDelay() [OK]
Hint: Delay tasks with vTaskDelay() in FreeRTOS [OK]
Common Mistakes:
Confusing task creation with delay
Using scheduler start as delay
Mixing queue functions with delays
3. Consider this FreeRTOS task priority setup:
Task A priority = 3
Task B priority = 2
Task C priority = 1
If Task A blocks for 100ms using vTaskDelay(), which task runs next?
medium
A. Task A again immediately
B. Task B
C. Task C
D. No task runs until Task A finishes delay
Solution
Step 1: Understand task priorities and blocking
Task A has highest priority (3) but blocks for 100ms, so it is not ready.
Step 2: Identify next highest priority ready task
Task B has priority 2 and is ready, so it runs next.
Final Answer:
Task B -> Option B
Quick Check:
Next task after blocking = highest ready priority [OK]
Hint: Next runs highest priority ready task after delay [OK]
Common Mistakes:
Assuming blocked task runs immediately
Ignoring task priorities
Thinking no task runs during delay
4. Identify the error in this FreeRTOS code snippet for a hard real-time task:
A. vTaskDelay should be replaced with vTaskDelete.
B. The task function lacks a return statement.
C. The infinite loop will crash FreeRTOS.
D. Using vTaskDelay causes deadline misses in hard real-time tasks.
Solution
Step 1: Analyze vTaskDelay in hard real-time context
vTaskDelay pauses the task, which can cause missing strict deadlines in hard real-time.
Step 2: Check other options for correctness
Return statement is not needed in infinite loop, infinite loops are normal, vTaskDelete deletes task, not delay.
Final Answer:
Using vTaskDelay causes deadline misses in hard real-time tasks. -> Option D
Quick Check:
Hard real-time tasks avoid vTaskDelay [OK]
Hint: Hard real-time tasks avoid delays that cause misses [OK]
Common Mistakes:
Thinking infinite loops crash FreeRTOS
Confusing vTaskDelay with task deletion
Expecting return in infinite loops
5. You need to design a FreeRTOS system where some tasks must never miss deadlines (hard real-time), and others can miss occasionally (soft real-time). Which approach best achieves this?
hard
A. Assign highest priorities to hard real-time tasks and use vTaskDelay carefully for soft real-time tasks.
B. Use vTaskDelay for all tasks to simplify timing.
C. Assign equal priorities to all tasks and rely on round-robin scheduling.
D. Run hard real-time tasks only when soft real-time tasks are idle.
Solution
Step 1: Understand priority and delay roles in FreeRTOS
Hard real-time tasks need highest priority to avoid preemption and deadline misses.
Step 2: Use vTaskDelay carefully for soft real-time tasks
Soft real-time tasks can tolerate delays, so vTaskDelay helps manage their timing without affecting hard real-time tasks.
Step 3: Evaluate other options
Equal priorities or running hard real-time tasks only when soft are idle do not guarantee deadlines.
Final Answer:
Assign highest priorities to hard real-time tasks and use vTaskDelay carefully for soft real-time tasks. -> Option A
Quick Check:
Priority + careful delay = mixed real-time system [OK]
Hint: Prioritize hard real-time tasks highest, delay soft tasks [OK]
Common Mistakes:
Giving equal priority to all tasks
Using delays in hard real-time tasks
Running hard real-time tasks only after soft tasks
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.