# RT-Thread Layers

<figure><img src="https://2179313969-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4cbrznEv1DwPp6m0FjGI%2Fuploads%2F0NryH7qUmZlovDvV1p10%2FRT-Thread_layers.png?alt=media&#x26;token=53e3a1c0-cdde-490f-922a-8c66cc372c0b" alt=""><figcaption></figcaption></figure>

## RT-Thread software layers

* Kernel layer: the implementation of objects in kernel system including multi- threading and its scheduling, semaphore, memory management, timer, etc.
* Components and Service Layer: modular design components, such as virtual file systems, FinSH command-line interfaces, network frameworks, etc.
* RT-Thread software package: general-purpose software components running on the RT-Thread IoT operating system platform for different application areas.&#x20;

## Software components

* FinSH Console is the command line component of RT-Thread.
* Device File System (DFS) is a device virtual file system using a style similar to UNIX files and folders.
* Socket Abstraction Layer (SAL) abstracts different network protocol stacks or network implementations using a set of standard BSD Socket APIs.
* Dynamic module (dlmodule) provides a mechanism for dynamically loading program modules for RT-Thread. At runtime, the compiled dynamic modules are loaded into the kernel through the module loader in the kernel.

## &#x20;Software development tools

* RT-Thread Studio has the features of project creation and management, code editing, SDK management, RT-Thread configuration, build configuration, debugging configuration, program download and debug.
* ENV provides a build environment, graphical system configuration, and package management capabilities for RT-Thread project.
