sylixos 线程调度最小时间间隔、内核线程简介

TICK的作用
操作系统,Tick仿佛是人的脉搏,不停的向各个器官提供血液。 Tick在操作系统中,会进行调度,是分时调度最基础的组成部分。
每次Tick中断,进行一次调度,先将计数加一,然后进行任务切换;
在SylixOS 中,Tick以系统时钟为时钟源,采用芯片自带的Tick定时器或者通用定时器实现。

系统TICK实现
SylixOS Tick实现通常是采用通用定时器的周期性中断,一次中断表示一个tick。

系统Tick的时钟频率可以通过API_KernelStartParam函数修改内核启动参数进行配置。例如:hz=1000参数表示设置系统Tick频率为1ms。

(小于1个tick不会发生调度。tick到来后,操作系统会查看有无高优先级任务就绪。有则高优先级任务抢占执行,即使调度的时间片还没到)

base有个宏,默认是10个tick调度一次:

 

内核线程简介:

线程
功能
使用条件
是否可裁剪
裁剪宏
备注
t_idle
空闲线程
系统空闲线程
不可裁剪
t_itimer
系统普通定时器周期服务线程
应用程序使用定时器工作
可裁剪
LW_CFG_ITIMER_EN
就是应用程序使用timerfd定时
t_isrdefer
中断延时处理
中断延时处理
不可裁剪
LW_CFG_ISR_DEFER_EN
是否提供内核中断延迟处理工作队列管理(PCI的sio)
t_except
处理异常消息的线程
系统异常处理线程
不可裁剪
t_log
处理LOG 消息的线程
系统日志(应用调用)
可裁剪
LW_CFG_LOG_LIB_EN
SylixOS 日志系统(logPrintk)
t_power
资源管理线程(内核里写的是电源管理)
用于电源管理的
可裁剪
LW_CFG_POWERM_EN
t_hotplug
hotplug 事件处理线程
用于热插拔支持
可裁剪
LW_CFG_HOTPLUG_EN
t_reclaim
资源回收器系统线程
主要用于动态装载后的资源回收
可裁剪
LW_CFG_MODULELOADER_EN
这个是和模块动态
加载紧密联系的(比如进程资源)
t_ahcimsg
AHCI 监测线程
是SATA线程
可裁剪
LW_CFG_AHCI_EN
t_diskcache
磁盘高速缓冲控制器背景回写任务线程
磁盘缓存线程,提高磁盘读写速度
不可裁剪
t_dcwpipe
写管线线程
磁盘缓存线程,提高磁盘读写速度
不可裁剪
t_tpsfs
inode 回写线程
Tpsfs文件系统自带的线程
可裁剪
LW_CFG_TPSFS_EN
t_console
控制台线程
控制台使用
可裁剪
暂无专门宏控制
t_netjob
网络工作队列处理线程
网络协议栈使用
不可裁剪
如果不用网络功能LW_CFG_NET_EN
且注释Makefile整个lwip
t_netproto
TCP/IP处理线程
网络协议栈使用
不可裁剪
t_tftpd
tftp 服务器侦听服务线程
tftp服务器
可裁剪
LW_CFG_NET_TFTP_EN
t_ftpd
ftp 服务器侦听服务线程
FTP服务器
可裁剪
LW_CFG_NET_FTPD_EN
t_telnetd
telnet 侦听器线程
telnet监听线程
可裁剪
LW_CFG_NET_TELNET_EN
t_ptyserver
telnet 服务器
telnet监听线程
可裁剪
t_ptyproc
telnet 服务器半双工网络服务
telnet监听线程
可裁剪
t_tshell
ttiny shell 服务线程
shell线程
可裁剪
LW_CFG_SHELL_EN
t_xinput
xinput扫描线程
多重输入设备监听线程
可裁剪
暂无专门宏控制
只要不加载xinput.ko

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值