From 7233f5d9a1c3f3c01d615d038b646baf41b17006 Mon Sep 17 00:00:00 2001 From: eee <719747958@qq.com> Date: Sat, 9 Dec 2023 23:01:17 +0800 Subject: [PATCH] 123 --- doc/SKIMREADING.md | 60 ++++++++++++++++++ doc/image.png | Bin 0 -> 9081 bytes .../kernel/base/core/los_bitmap.c | 2 + 3 files changed, 62 insertions(+) create mode 100644 doc/SKIMREADING.md create mode 100644 doc/image.png diff --git a/doc/SKIMREADING.md b/doc/SKIMREADING.md new file mode 100644 index 00000000..f53598c6 --- /dev/null +++ b/doc/SKIMREADING.md @@ -0,0 +1,60 @@ +# 以下主要是关于kernel/base/core部分代码的阅读 + +![Alt text](image.png) + +根据这个项目的README文件介绍,kernel部分的代码是有关内核实现的。而其中base文件下的内容主要是有关基础内核部分的内容。 + +## 一、 los_bitmap.c + +基本概念 +位操作是指对二进制数的bit位进行操作。程序可以设置某一变量为状态字状态中的每一bit位(标志位)可以具有自定义的含义。 + +使用场景 +系统提供标志位的置1和清0操作,可以改变标志位的内容,同时还提供状态字中标志位 +为1的最高位和最低位的功能。用户也可以对系统的寄存器进行位操作。 +## 二、 los_process.c + +基本概念 这段代码主要是用于处理进程的,包括子进程父进程等。 + +## 三、 los_smp.c + +这段代码主要用于处理代码初始化 + +## 四、 los_sys.c + +基本概念 +软件定时器,是基于系统Tick时钟中断且由软件来模拟的定时器。当经过设定的Tick数后,会触发用户自定义的回调函数。 +硬件定时器受硬件的限制,数量上不足以满足用户的实际需求。因此为了满足用户需求,提供更多的定时器, +软件定时器功能,支持如下特性: +创建软件定时器。 +启动软件定时器。 +停止软件定时器。 +删除软件定时器。 +获取软件定时器剩余Tick数。 +可配置支持的软件定时器个数。 + +运作机制 +软件定时器是系统资源,在模块初始化的时候已经分配了一块连续内存。 +软件定时器使用了系统的一个队列和一个任务资源,软件定时器的触发遵循队列则, +先进先出。定时时间短的定时器总是比定时时间长的靠近队列头,满足优先触发准则。 +软件定时器以Tick为基本计时单位,当创建并启动一个软件定时器时,HuaweiLiteOS会根据 +当前系统Tick时间及设置的定时时长确定该定时器的到期Tick时间,并将该定器控制结构挂入计时全局链表。 +当Tick中断到来时,在Tick中断处理函数中扫描软件定时器的计时全局链表,查是否有定时器超时, +若有则将超时的定时器记录下来。Tick中断处理函数结束后,软件定时器任务(先级为最高) +被唤醒,在该任务中调用已经记录下来的定时器的回调函数。 + +## 五、 los_task.c + + 基本概念 +从系统角度看,任务是竞争系统资源的最小运行单元。任务可以使用或等待CPU、 + 使用内存空间等系统资源,并独立于其它任务运行。 +任务模块可以给用户提供多个任务,实现任务间的切换,帮助用户管理业务程序流程。具有如下特性: +支持多任务。 + 一个任务表示一个线程。 + 抢占式调度机制,高优先级的任务可打断低优先级任务,低优先级任务必须在高优先级任务阻塞或结束后才能得到调度。 + 相同优先级任务支持时间片轮转调度方式。 + 共有32个优先级[0-31],最高优先级为0,最低优先级为31。 + +## 六、 los_tick.c + +系统时钟,是绝大部分部件工作的时钟源,也是其他所有外设的时钟的来源 diff --git a/doc/image.png b/doc/image.png new file mode 100644 index 0000000000000000000000000000000000000000..f6dffa101619929112e4115ab19295756884e85e GIT binary patch literal 9081 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

    x03<2z>(A1nSs5 z3vt0DuTXvgW9vY9mR#8AvY6t6F|Nz;cYTX3e=K`Dn|x;+ynv+z%!sZ3HU%UC6uwRO zD&GB1_o8&MwUCE_(Xge8ccjEzAN29;LZW3A3Rk|r$X>*^%Vwfa`pBK{zhmg16fKY= zgpiV?8bqFq|IKp@9Gr~&HMCkU$CZ}-tp(+tSycaGFEu$qEkOc8p1A#`Q?UnvXKJG< z5qZr;n;!*>OpL+!aq@WJ(uXaUfm{l=AJX`B+qw|zz6?rI{jbe3^qOTuwbb|c_27w7 zk+_Ew?kU$&c-~ z#J1=UGD1ufZ2}U#2USHeQZp?tlE;Vr<)4AqCI$)q83l(=+)px-kOzZa5eytP-GYB- z#^HmoPxrqT7XNnNT+#&bA#%v*lV_b=rs~4b#=~7ZK8Zl8ZMDZbHvP(C@(l0H*RWsR?-fehZun5HA`0KKfQh;XviClfG*uaCy z66^7a?sT9T>`Jvn2(HY9`gCiI8ru`KZ-aJcT? zn1iDfuqbHiB77!0>J~&~QS)t-G^Z_4+h)sciD~Nbpz_|d`=9>N?#y9OVTS;9Kal$V z+T9P~-X8yWXFH+5I^l{vJP%?gSgEfgP=YTS16zXY1=s!UnU3+En_SLHF0umO%UT$? zm_*!iJMAhz>qyy}KSF&xVc%2Z%Ud1aFnPnGgK=Gl)4Q1wYT3*cF#Quqsxn< zqt;|p4gLKid0D*Es5H&#*S|0zDr