RTOS Flashcards
(32 cards)
what is a system?
Something that solves a problem
What is a task?
Group of instructions that execute on a micro-controller to solve a portion of the problem. System may have multiple tasks running at one time.
multitasking?
doing multiple things at once
Deadline
Most essential aspect.
tasks has to perform their function within a prescribed deadline.
What types of deadlines are there?
Absolute deadlines(hard real time system) Relaxed(soft real time system)-tasks don't have rigid time constraints.
What is Priority?
Determines the importance of a task in a system. Important tasks have higher priority
What is Preemption?
Higher priority tasks perform their tasks before low priority tasks
What is a Scheduler?
Decides which tasks runs at what time.
What are the two types of RTOS?
Even Driven Systems and Time Sharing Systems
What is an event driven system?
Its a system which swiches between tasks based on priorities
What is a time sharing system?
A system that switches tasks based on clock interrupts
What is Jitter?
the variability in time that it takes to accept and complete a task
what does it mean to switch tasks?
Also called context switching. Its when you restore the state of a process so that execution can be resumed from the same point at a later time.
What is preemptive priority
Also called priority scheduling. Act of temporarily interrupting a task being carried out with the intention of resuming the task later.
What 3 states does a task have?
Running(being executed on CPU)
Ready(Ready to be executed)
Blocked(Waiting for an event)
It is unsafe for two tasks to access the same specific data or hardware resource simultaneously. What are the three common approaches to solving this problem?
Temporarily Masking/Disabling Interrupts
Binary Semaphores
Message Passing
What are binary semaphores
variable or abstract data type that is used to control access to a common resource
kernel?
computer program that has complete control over everything that occurs in the computers operating system
What is a process?
A program that has sole control over some system resources
Processes can’t directly share its resources and so are protected from each other.
e.g. main()
what is a thread of execution?
smallest sequence of programmed instructions that can be managed independently by a scheduler.
Threads are inside the process.
Threads are created from within a process
What does it mean when we say processes are hostile to each other?
Each process has a different owner.
Has its own address space, global variables, open files and signals and semaphores
What does it mean when we say processes are hostile to each other?
Each process has a different owner.
Has its own address space, global variables, open files and signals and semaphores
Difference between processes and threads
Threads cooperate with each other
has the sam eowner
What are the different structures for multitasking?
- Sequential execution (superloop)
- Timed super loop
- Backround/foreground-interrupts
- Schedulers of various types