‣
Components of an Embedded System:
- Microcontroller or Microprocessor: The heart of an embedded system is a microcontroller or microprocessor, which is responsible for executing the software instructions and controlling the system's behavior.
- Memory: Embedded systems have both program memory (ROM or Flash) and data memory (RAM). Program memory stores the software code that the microcontroller executes, while data memory stores the variables and data used during the program's execution.
- Input/Output (I/O) Interfaces: Embedded systems interface with the external world through input and output devices such as sensors, actuators, displays, buttons, and communication ports.
- Software: Embedded systems run specialized software designed to perform their specific tasks. This software is typically developed using programming languages like C, C++, or sometimes assembly language.
- Power Supply: Embedded systems are designed to operate efficiently with specific power requirements, often with a focus on low power consumption for extended battery life in portable devices.
‣
An operating system is software that manages computer hardware and software resources and provides services for computer programs. It acts as an intermediary between the user and the computer hardware, making it easier for users to interact with the computer and for applications to access hardware resources.
Functions:
- Process Management: The OS manages processes (programs in execution) and allocates CPU time to them, ensuring smooth multitasking and resource utilization.
- Memory Management: The OS allocates and manages the computer's memory, ensuring efficient use of RAM by processes.
- File System Management: The OS organizes and manages files on the storage devices, allowing users and programs to access, create, and delete files.
- Device Management: The OS handles communication with hardware devices such as printers, keyboards, and monitors.
- User Interface: The OS provides a user-friendly interface for users to interact with the computer.
Key Concepts:
- Kernel: The core component of the operating system that manages hardware. It runs in privileged mode, interacting directly with hardware.
- Shell: The user interface to the operating system, allowing users to interact with the system through commands or graphical interfaces.
- Processes: Instances of programs running on the computer, each with its own resources and execution state.
- Threads: Lighter weight units of execution within a process, allowing for concurrent execution of parts of the same program.
- Virtual Memory: A memory management technique that allows the OS to use a portion of the storage as RAM, increasing the effective memory size.
- File System: The structure and organization of files and directories on storage devices.
- Device Drivers: Software components that allow the OS to communicate with hardware devices.
- Smart watch testing: https://blog.qasource.com/automation-testing-of-smart-watch-autocast-summer-2019. IoT testing is more about API testing, send & receiving data through network using different network protocols.