B_QuRT_User_Guide(7)
4 Processes
一个进程是一个可执行程序、一个地址空间和一个或多个线程的组合。一个进程中的每个线程都共享进程的内存区域。
一个进程不能访问另一个进程的内存,除非通过使用操作系统定义的资源共享机制。QuRT使用QDI框架在进程间共享资源。
进程在QuRT中被表示为共享对象,并具有以下属性。
- 名称 - 作为QuRT系统的一部分,已经加载在内存中的进程对象的字符串标识。
- Flags - 用于指定新创建的进程的属性的位数组。这些属性以定义的符号表示,这些符号映射到32位标志值的第0-31位。将单个属性符号放在一起,可以指定多个属性。
当一个进程被创建时,它自动开始运行指定可执行文件中的代码。一个识别进程的标识值被分配给一个新创建的进程。
进程对象支持下列QuRT操作。 - qurt_process_attr_init()
- qurt_process_attr_set_executable()
- qurt_process_attr_set_flags()
- qurt_process_cmdline_get()
- qurt_process_create()
- qurt_process_get_id()
- qurt_process_attr_set_max_threads() - qurt_process_attr_set_ceiling_prio() - qurt_process_get_thread_count()
- qurt_process_get_thread_ids()
- qurt_process_attr_get()
- qurt_process_dump_register_cb()
- qurt_process_dump_deregister_cb() - 数据类型
4.1 qurt_process_attr_init()
4.1.1 Function Documentation
4.1.1.1 static void qurt_process_attr_init ( qurt_process_attr_t ∗ attr )
当一个线程被创建时,初始化设置进程属性的结构。
在属性结构被初始化后,该结构中的各个属性可以使用进程属性操作显式设置。
表4-1列出了由初始化操作设置的默认属性值。
相关数据类型
qurt_process_attr_t
参数
返回值
None.
依赖关系
None.
4.2 qurt_process_attr_set_executable()
4.2.1 Function Documentation
4.2.1.1 void qurt_process_attr_set_executable ( qurt_process_attr_t ∗ attr, char ∗ name )
设置指定进程属性结构中的进程名称。
进程名称识别已经作为QuRT系统的一部分加载到内存中的进程对象。注意:进程对象在构建时被纳入到QuRT系统中。
返回值
qurt_process_attr_t
参数
返回值
None.
依赖关系
None.
4.3 qurt_process_attr_set_flags()
4.3.1 Function Documentation
4.3.1.1 int qurt_thread_join ( unsigned int tid, int ∗ status )
设置指定进程属性结构中的进程属性。过程属性以定义的符号表示,这些符号映射到32位标志值的第0到31位。多个属性是通过将单个属性符号OR在一起而指定的。
参数
返回值
None.
依赖关系
None.
4.4 qurt_process_cmdline_get()
4.4.1 Function Documentation
4.4.1.1 void qurt_process_cmdline_get ( char ∗ buf, unsigned buf_siz )
获取与当前进程相关的命令行字符串。只要在QuRT安装过程中进行调用,并且要求程序在仿真环境中运行,就可以使用此函数检索Hexagon仿真器命令行参数。
如果该函数修改了所提供的缓冲区,它就会将该字符串归零。该函数有可能不修改所提供的缓冲区,所以调用者在调用前必须将buf[0]设置为一个NULL字节。当命令行长于所提供的缓冲区时,将返回一个截断的命令行。
参数
返回值
None.
依赖关系
None.
4.5 qurt_process_create()
4.5.1 Function Documentation
4.5.1.1 int qurt_process_create ( qurt_process_attr_t ∗ attr )
创建一个具有指定属性的进程,并启动该进程。
该进程执行指定的可执行ELF文件中的代码。
相关数据类型
qurt_process_attr_t
参数
返回值
None.
依赖关系
None.
4.6 qurt_process_get_id()
4.6.1 Function Documentation
4.6.1.1int qurt_process_get_id ( void )
返回当前线程的进程标识符。
返回值
None.
依赖关系
None.
4.7 qurt_process_attr_set_max_threads()
4.7.1 Function Documentation
4.7.1.1 static void qurt_process_attr_set_max_threads ( qurt_process_attr_t ∗ attr, unsigned max_threads )
设置指定进程属性结构中允许的最大线程数。
相关数据类型
qurt_process_attr_t
参数
返回值
None.
依赖关系
None.