创建的命名 posix 对象无法在文件系统中找到?
Q: 为什么创建的命名 posix 对象无法在文件系统中找到.
SylixOS 使用一个独有的符号空间来管理命名的 posix 对象 (很多操作系统都是如此). 这些对象并不存在于文件系统中.
如果系统加入了 proc 文件系统的支持, 则可以通过查看 /proc/posix/pnamed 文件来查看 posix 命名对象的使用情况.
Related Articles
SylixOS 下 pthread_create 创建线程满问题
内核版本: 1.10.9客户程序应用场景中在执行完一次循环后会再次创建任务,执行数次后报了 "there is no ID to build a thread." 错误,搜索对应的代码 申请不到TCB控制块了。 查看 /proc/kernel/objects 记录的信息发现500个任务控制块已经用完了。 查看__threadDelete() 实现发现POSIX接口创建的线程需要指定相应的属性在任务执行完后才能释放任务控制块 ...
SylixOS 中的 syslog 怎么提取系统记录的用户信息
Q:SylixOS 中的 syslog 怎么读取像 Linux 系统中/var/log/message和secure文件中的信息,提取系统记录用户登录退出信息? 系统中/var/log/message 和 secure 文件中的信息是 Linux 系统下的文件,SylixOS 的 syslog 是符合 POSIX 标准的日志格式, 系统提供了相应的功能接口, 需要应用通过接口实现 syslog 服务器和对应的 syslog ...
can not find symbol:xxx
问:can not find symbol:xxx 在不使用第三方库时使用 Posix 接口进行线程创建,即调用 posix_create 函数时,程序在系统下运行时显示如 图1 错误,提醒无法找到以上函数的符号。 图 1.报错信息 在初始化函数 API_ThreadInit 中的 _TCBBuild 构建 TCP 属性块函数中有对钩子函数的使用。图2 图 2.报错函数位置 通过源码追踪,发现 Hook 函数并没有进行函数底层实现,且没有编译到 Base 工程的 symbol.ld ...
SylixOS 的 errno 是全局的么?
Q:遇到一个问题。read 函数返回 -1,紧接着打印 errno 是11。但是经过if条件分支后,打印的 errno 变成了 1503。此中间没有进行任何系统调用。如下图所示,问题是 errno 值变了,导致判断为 TCP 连接异常,于是直接把连接关闭了,搞不清 errno 值怎么会变成 1503? socket 接口 recv 函数分为阻塞与非阻塞,返回值定义是 >0 表示读到的字节数,=0 表示连接关闭,<0 表示出错,errno 根据不同情况设置不同值。没有数据了一般设置 EAGAIN ...
内存算法配置的使用
Q:内存算法配置的使用 TLSF 虽然拥有 O(1) 时间复杂度的内存管理算法,适用于实时操作系统,但是在 32 位系统上仅能保持 4 字节对齐特性,在 64 位系统上仅能保持 8 字节对齐特性,不满足 POSIX 对 malloc 具有 2 * sizeof(size_t)对齐的要求。所以有些软件可能会严重错误,例如 Qt/JavaScript 引擎,所以使用时需慎重! 只有确认应用没有 2 * sizeof(size_t) 对齐要求时, 方可使用。TLSF 由于具有 O(1) 时间复杂度, ...