# RT-Thread Layers

<figure><img src="/files/5bUTRzMkUN1b21q75Ckx" 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://dev.tesa.or.th/tesa-developer/tesa-university-program/rt-thread-iot-os/university-program/rt-thread-architecture/rt-thread-layers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
