System
HAL modules related to the System framework support below features.
- Device Resource Management
- Sensor Resource Management
- Power Resource Management
Device Resource Management
At the Hardware Abstraction Layer, device resource management handles device control requests from the Tizen core framework to hal-backend and kernel. Device Resource Management is supported by process below
- User requests device control through the capi-device call.
- deviced handles that requests by calling HAL API functions.
- Through HAL API call, deviced can get results from HAL Backend processed.
Figure: Device Resource Management HAL hierarchy
 
These are supported HAL API Device modules
- Battery
- Bezel
- Board
- Display
- External connection
- Haptic
- Input
- IR
- LED
- Memory
- Power
- Thermal
- Touchscreen
Battery
The Battery HAL module provides the way to get the current battery capacity value, battery state and charging state. And it provides the power source information like name, type. It also supports the API for an application to receive the battery events from the system. To receive the battery event it should be described by the callback function.
Bezel
The Bezel HAL module provides the way to control bezel state like hardware, software, vibration. There are bezel states like turn on/off, vibration intensity.
Board
The Board HAL module provides the way to get device board information.
Display
The Display HAL module provides getter/setter properties related to display. It also supports the API for an application to receive the display event by callback function from the system.
External Connection
The External Connection HAL module provides the way to get properties related to External_connection. It also supports the API for an application to receive the external_connection event by callback function from the system.
Haptic
The Haptic HAL module provides the way to control haptic device like open/close, vibration and stop.
Input
The Input HAL module provides the way to enable/disable input events from kernel.
IR
The IR HAL module provides the way to get the information whether IR is available and transmit IR command.
LED
The LED HAL module provides the way to control the attached LED device such as the camera flash and service LED. It supports to turn on the camera flash and set the pattern to the service LED which is located to the front of a device.
Memory
The Memory HAL module provides the way to get memory information.
Power
The Power HAL module provides the way to get power wakeup reason.
Thermal
The Thermal HAL module provides the way to get the current thermal value such as Application Processor, Communication Processor and Battery.
Touchscreen
The Touchscreen HAL module provides the way to get or set touchscreen properties.
Sensor Resource Management
The Tizen supports various sensors such as accelerometers, gyroscopes, and magnetometers. These sensors are used by applications to provide a variety of services, such as motion detection, gesture recognition, and location tracking. To manage these sensors efficiently, the Tizen platform uses a sensor resource management framework. The Tizen uses HAL architecture to abstract the hardware-specific details of sensor devices. Below figure shows the sensor HAL architecture in Tizen.
Figure: Sensor HAL architecture
 
Sensor descriptions and combinations
| Sensor | Description | Sensor combinations | 
|---|---|---|
| SENSOR_ACCELEROMETER | Accelerometer | Physical Sensor | 
| SENSOR_GRAVITY | Gravitational Accelerometer | SENSOR_ACCELEROMETER + SENSOR_GYROSCOPE SENSOR_ACCELEROMETER + lowpass filter | 
| SENSOR_LINEAR_ACCELERATION | Accelerometer without Gravity | SENSOR_ACCELEROMETER - SENSOR_GRAVITY | 
| SENSOR_MAGNETIC | Geomagnetic field | Physical Sensor | 
| SENSOR_ROTATION_VECTOR | Rotation of device | SENSOR_ACCELEROMETER + SENSOR_GYROSCOPE + SENSOR_MAGNETIC | 
| SENSOR_ORIENTATION | Orientation of device(Azimuth, Pitch, Roll | SENSOR_ROTATION_VECTOR(Convert (x,y,x) to (Azimuth, Pitch, Roll)) | 
| SENSOR_GYROSCOPE | Gyroscope | Physical Sensor | 
| SENSOR_LIGHT | Light intensity | Physical Sensor | 
| SENSOR_PROXIMITY | Proximity detection | Physical Sensor | 
| SENSOR_PRESSURE | Atmospheric pressure | Physical Sensor | 
| SENSOR_ULTRAVIOLET | Ultraviolet ray | Physical Sensor | 
| SENSOR_HRM | Heart rate monitor(per minute) | Physical Sensor | 
| SENSOR_HRM_LED_GREEN | Green LED light for HRM | Physical Sensor | 
| SENSOR_GYROSCOPE_ROTATION_VECTOR | Rotation of device(x, y, z) | SENSOR_ACCELEROMETER + SENSOR_GYROSCOPE | 
| SENSOR_GEOMAGNETIC_ROTATION_VECTOR | Rotation of device(x, y, z) | SENSOR_ACCELEROMETER + SENSOR_MAGNETIC | 
| SENSOR_GYROSCOPE_ORIENTATION | Rotation of device(Azimuth, Pitch, Roll) | SENSOR_GYROSCOPE_ROTATION_VECTOR(Convert (x,y,x) to (Azimuth, Pitch, Roll)) | 
| SENSOR_GEOMAGNETIC_ORIENTATION | Rotation of device(Azimuth, Pitch, Roll) | SENSOR_GEOMAGNETIC_ROTATION_VECTOR(Convert (x,y,x) to (Azimuth, Pitch, Roll)) | 
| SENSOR_HRM_BATCH | Batch data of Heart rate monitor (provide datas saved in buffer) | Physical Sensor | 
| SENSOR_HRM_LED_GREEN_BATCH | Batch data of Green LED light for HRM (provide datas saved in buffer) | Physical Sensor | 
| SENSOR_HUMAN_PEDOMETER | Pedometer(steps) | SENSOR_ACCELEROMETER | 
Power Resource Management
It includes PASS (system daemon), hal-api-power, and hal-backend-power.
PASS (Power-Aware System Service) is a daemon that handles devices such as CPU, memory bus, GPU, memory, and battery. Hal-api-power is an interface to connect pass and hal-backend-power. Hal-backend-power requests the control of the device to Linux kernel.
Figure: Power Resource Management HAL hierarchy
 
These are supported HAL API Device modules
- CPU
- Memory Bus
- GPU
- Memory
- Battery
CPU
The CPU HAL module provides management of CPU frequency, thermal, and CPU hotplug.
Memory Bus
The memory bus module provides management of Device Frequency Scaling (devfreq) and thermal of memory bus.
GPU
The GPU module provides management of GPU frequency and thermal.
Memory
The Memory module provides management of physical memory size during a page fault.
Battery
The battery module provides management of battery such as thermal, charging status, and charging current.