版本:V3.2Betarm命令功能rm命令用来删除文件或文件夹。命令格式rm[fv]FILEorrm[rv][PATHfilename]…参数说明表1参数说明参数参数说明r删除空目录或非空目录。f强制删除:不需要确认,删除不存的文件在也不报错。v显示删除的过程。PATHfilename要删除文件或文件夹的名称,支持输入路径。使用指南rm命令能同时删除多个文件或文件夹。rmr命令可以删除非空目录。删除不存在的文件会报错。特殊说明fv参数shell端暂不支持。切换mksh...
版本:V3.2Betantpdate命令功能命令用于从服务器同步系统时间。命令格式ntpdate[SERVERIP1][SERVERIP2]…参数说明表1参数说明参数参数说明取值范围SERVERIPNTP服务器IP。NA使用指南直接执行ntpdate[SERVERIP1][SERVERIP2]…ntpdate会获取第一个有效服务器IP的时间并显示。使用实例举例:使用ntpdate命令更新系统时间:ntpdate192.168.1.3。输出说明OHOSntpdate192.168.1.3timeserver192.168.1.3:MonJun1309:24:252016因为板子和...
版本:V3.2Betals命令功能ls命令用来显示当前目录的内容。命令格式ls[ACHLSZacdfhiklmnopqrstux1][–color[auto]][directory…]说明:系统启动过程中已经通过alias为lstoyboxlscolorauto、lllsalF、lalsA和llsCF赋能,使这几个命令的初始行为就和linux相同(详细效果见输出说明)。所以若要查看help列表,请输入’toyboxlshelp’。参数说明表1展示功能参数说明参数参数说明取值范围–help查看ls命令支持的参数列表,使用方式。N...
版本:V3.2Betavmm命令功能查看进程的虚拟内存使用情况。命令格式vmm[ahhelp]vmm[pid]参数说明表1参数说明参数参数说明取值范围a输出所有进程的虚拟内存使用情况。NAhhelp命令格式说明。NApid进程ID,说明指定进程的虚拟内存使用情况。[0,63]使用指南命令缺省输出所有进程的虚拟内存使用情况。使用实例举例:输入vmm3输出说明示例PID为3的进程虚拟内存使用信息OHOSvmm3PIDaspacenamebasesizepages30x408c0118foundation0x010000...
版本:V3.2Betastack命令功能查看系统各堆栈使用情况。命令格式stack参数说明无使用指南无使用实例输入:stack输出说明示例系统堆栈使用情况OHOSstackstacknamecpuidstackaddrtotalsizeusedsizesvcstack10x405c40000x20000x484svcstack00x405c60000x20000xae4excstack10x405c80000x10000x0excstack00x405c90000x10000x0表1输出说明输出说明stackname系统堆栈名cpuidcpu号stackaddr栈地址totalsize堆栈大小usedsize堆栈实际使用...
版本:V3.2Betakill命令功能kill命令用于发送特定信号给指定进程,让它去终结不正常的应用。命令格式kill[l[signo]ssignosigno]pid…参数说明表1参数说明参数参数说明取值范围–help查看kill命令支持的参数列表NAl列出信号名称和编号。NAs发送信号NAsigno信号ID。[1,30]pid进程ID。[1,MAXINT]须知:signo有效范围为[0,64],建议取值范围为[1,30],其余为保留内容。使用指南必须指定发送的信号编号及进程号。进程编号取值范围根...
版本:V3.2Betacpup命令功能cpup命令用于查询系统CPU的占用率。命令格式cpup[mode][taskID]参数说明表1参数说明参数参数说明取值范围mode缺省:显示系统最近10s内的CPU占用率。0:显示系统最近10s内的CPU占用率。1:显示系统最近1s内的CPU占用率。其他数字:显示系统启动至今总的CPU占用率。[0,0xFFFFFFFF]taskID任务ID号[0,0xFFFFFFFF]使用指南参数缺省时,显示系统10s前的CPU占用率。只有一个参数时,该参数为mode,显示系统...
版本:V3.2BetaShell介绍OpenHarmony内核提供的Shell支持调试常用的基本功能,包含系统、文件、网络和动态加载相关命令。同时OpenHarmony内核的Shell支持添加新的命令,可以根据需求来进行定制。系统相关命令:提供查询系统任务、内核信号量、系统软件定时器、CPU占用率、当前中断等相关信息的能力。文件相关命令:支持基本的ls、cd等功能。网络相关命令:支持查询接到开发板的其他设备的IP、查询本机IP、测试网络连接、设置开...
版本:V3.2BetaTrace调测基本概念Trace调测旨在帮助开发者获取内核的运行流程,各个模块、任务的执行顺序,从而可以辅助开发者定位一些时序问题或者了解内核的代码运行过程。运行机制内核提供一套Hook框架,将Hook点预埋在各个模块的主要流程中,在内核启动初期完成Trace功能的初始化,并注册Trace的处理函数到Hook中。当系统触发到一个Hook点时,Trace模块会对输入信息进行封装,添加Trace帧头信息,包含事件类型、运行的cpuid...
版本:V3.2Beta时间管理基本概念时间管理以系统时钟为基础。时间管理提供给应用程序所有和时间有关的服务。系统时钟是由定时计数器产生的输出脉冲触发中断而产生的,一般定义为整数或长整数。输出脉冲的周期叫做一个“时钟滴答”。系统时钟也称为时标或者Tick。一个Tick的时长可以静态配置。用户是以秒、毫秒为单位计时,而操作系统时钟计时是以Tick为单位的,当用户需要对系统操作时,例如任务挂起、延时等,输入秒为单位的数...
版本:V3.2Beta魔法键使用方法使用场景在系统运行出现无响应等情况时,可以通过魔法键功能确定系统是否被锁中断(魔法键也无响应)或者查看系统任务运行状态等信息。在中断有响应的情况下,可以通过魔法键查看task信息中cpup(CPU占用率)看是哪个任务长时间占用CPU导致系统其他任务无响应(一般为比较高优先级任务一直抢占CPU,导致低优先级任务无响应)。使用配置魔法键依赖于宏LOSCFGENABLEMAGICKEY,在kernelliteosa中输入m...
版本:V3.2Betacat命令功能cat用于显示文本文件的内容。命令格式cat[pathname]参数说明表1参数说明参数参数说明取值范围pathname文件路径。已存在的文件。使用指南cat用于显示文本文件的内容。使用实例举例:cathelloopenharmony.txt输出说明示例查看helloopenharmony.txt文件的信息OHOScathelloopenharmony.txtOHOSHelloopenharmony;)cd命令功能cd命令用来改变当前目录。命令格式cd[path]参数说明表1参数说明参数参数说明取值...
版本:V3.2Beta消息队列基本概念队列又称消息队列,是一种常用于任务间通信的数据结构。队列接收来自任务或中断的不固定长度消息,并根据不同的接口确定传递的消息是否存放在队列空间中。任务能够从队列里面读取消息,当队列中的消息为空时,挂起读取任务;当队列中有新消息时,挂起的读取任务被唤醒并处理新消息。任务也能够往队列里写入消息,当队列已经写满消息时,挂起写入任务;当队列中有空闲消息节点时,挂起的写入任务...
版本:V3.2Beta事件基本概念事件(Event)是一种任务间通信的机制,可用于任务间的同步。多任务环境下,任务之间往往需要同步操作,一个等待即是一个同步。事件可以提供一对多、多对多的同步操作。一对多同步模型:一个任务等待多个事件的触发。可以是任意一个事件发生时唤醒任务处理事件,也可以是几个事件都发生后才唤醒任务处理事件。多对多同步模型:多个任务等待多个事件的触发。OpenHarmonyLiteOSA的事件模块提供的事件,...
版本:V3.2Beta内核编码规范此规范基于业界通用的编程规范整理而成,请内核的开发人员遵守这样的编程风格。总体原则总体原则:清晰:代码应当易于理解、易于维护、易于重构,避免晦涩语法简洁:命名简短,函数紧凑高效:通过使用算法、编译器优化选项或硬件资源提高程序效率美观:代码风格合理、一致在大部分情况下,开发人员应当遵从以下规范,但也有一些例外场景。如修改第三方开源代码或大量使用开源代码接口下,应当与开源代...
LMS调测基本概念LMS(LiteMemorySanitizer)是一种实时检测内存操作合法性的调测工具。LMS能够实时检测缓冲区溢出(bufferoverflow),释放后使用(useafterfree)和重复释放(doublefree),在异常发生的第一时间通知操作系统,结合backtrace等定位手段,能准确定位到产生内存问题的代码行,极大提升内存问题定位效率。OpenHarmonyLiteOSM内核的LMS模块提供下面几种功能:支持多内存池检测。支持LOSMemAlloc、LOSMemAllocAlign、L...
版本:V3.2Beta适配新的文件系统基本概念所谓对接VFS层,其实就是指实现VFS层定义的若干接口函数,可根据文件系统的特点和需要适配其中部分接口。一般情况下,支持文件读写,最小的文件系统适配看起来是这样的:structMountOpsgyourFsMountOps{.MountYourMountMethod,};structfileoperationsvfsgyourFsFileOps{.readYourReadMethod,.writeYourWriteMethod,}structVnodeOpsgyourFsVnodeOps{.CreateYourCreateMethod;.LookupYourL...
版本:V3.2Beta虚拟文件系统基本概念VFS(VirtualFileSystem)是文件系统的虚拟层,它不是一个实际的文件系统,而是一个异构文件系统之上的软件粘合层,为用户提供统一的类Unix文件操作接口。由于不同类型的文件系统接口不统一,若系统中有多个文件系统类型,访问不同的文件系统就需要使用不同的非标准接口。而通过在系统中添加VFS层,提供统一的抽象接口,屏蔽了底层异构类型的文件系统的差异,使得访问文件系统的系统调用不用...
版本:V3.2Beta系统调用基本概念OpenHarmonyLiteOSA实现了用户态与内核态的区分隔离,用户态程序不能直接访问内核资源,而系统调用则为用户态程序提供了一种访问内核资源、与内核进行交互的通道。运行机制如图1所示,用户程序通过调用SystemAPI(系统API,通常是系统提供的POSIX接口)进行内核资源访问与交互请求,POSIX接口内部会触发SVCSWI异常,完成系统从用户态到内核态的切换,然后对接到内核的SyscallHandler(系统调用统...
内存调测内存调测方法旨在辅助定位动态内存相关问题,提供了基础的动态内存池信息统计手段,向用户呈现内存池水线、碎片率等信息;提供了内存泄漏检测手段,方便用户准确定位存在内存泄漏的代码行,也可以辅助分析系统各个模块内存的使用情况;提供了踩内存检测手段,可以辅助定位越界踩内存的场景。内存信息统计基础概念内存信息包括内存池大小、内存使用量、剩余内存大小、最大空闲内存、内存水线、内存节点数统计、碎片率等...