Module 1 Flashcards
What is an Embedded System
A task specific computer built into a larger device/instrument for the purpose of monitoring and controlling the device.
What are real-time systems?
They respond to multiple events concurrently (at the same time) where there is a high cost of failure if tasks are not met. There are then safety features built in to mitigate these effects.
Real-Time Operating Systems vs General Purpose Operating Systems and Types of Time
RTOS
- Used in ES
- Very task specific
- Must HARD UPPER LIMIT on response time
GPOS
- Used in general computing
- Has a HARD LOWER LIMIT
Hard Real Time
- System must respond in a certain amount of time otherwise high cost of failure
- e.g. flight control system
Soft Real Time
- Deadlines are important but not imperative to be met
- e.g. updating a weather station
Real Real Time
- Failure is allowed with enough time in between events
- e.g. A robot arm picking up parts to be welded can miss a part if the welding does not need to happen straight away.
What are the Types of Real Time Systems (4)
Static
- Tasks happen at regular intervals
Dynamic
- Tasks happen at unknown, irregular intervals
Periodic
- The tasks are then processed at a known rate
Aperiodic
- The tasks are processed at an irregular rate
What is the Developer Environment, Execution Environment, and the Runtime Environment?
DE
- The tools and equipment used to develop ES like the linker, compiler, debugger
Execution environment
- Refers to those components that are used together with the application’s code to make a complete computing system, Such as the processors, networks, operating systems, how the memory is laid out, how interrupts are handled etc.
Runtime environment
- Starting the program, connecting to IO, how the program accesses memory
Elaborate on the developer environment
The ES DE is not very well defined when compared to the PC DE. There are some tools and toolchains available but most of them are difficult to use and often cost a lot of money. Many toolchains are developed from what software already exists and is very rarely built from scratch.
What are GNU and ELF and what is dynamic linking
GNU is a C cross compiler which means that it can create .exe code for various platforms and processors.
ELF is the file format that allows for cross compilation and dynamic linking on Linux and Unix based machines.
Dynamic linkers are the parts of the OS that copy the content of libraries from persistent storage to RAM, filling jump tables and relocating pointers.
What is ANSI C and why is C used for ES
It is C written in a specific format that is recognised universally.
C offers just enough abstraction (access to specific parts of memory) and is very portable which makes it a suitable option from writing ES code.