当前位置:首页>Linux>复杂度提升,系统为什么会从RTOS走到Linux?

复杂度提升,系统为什么会从RTOS走到Linux?

  • 2026-07-02 22:19:50
复杂度提升,系统为什么会从RTOS走到Linux?

——RTOS解决的是运行秩序,Linux接住的是更复杂的系统生态


学完 RTOS 以后,很多人会有一个很自然的疑问:既然 RTOS 已经能多任务了,也有队列、信号量、互斥锁,还能跑协议、刷 UI、做低功耗,那为什么很多产品继续往上做,最后还是会走到嵌入式 Linux?

很多人一提 Linux,就直接扎进命令、驱动、设备树、Buildroot、Yocto,结果越学越碎。你命令会敲一些,驱动例程也能跟着改两行,但脑子里始终没有一张图:

系统为什么要从 RTOS 走到 Linux?Linux 到底接住了什么复杂度?

这里我们先把最底层的逻辑讲清楚:

RTOS 主要解决多任务运行秩序,Linux 解决的是复杂系统的资源管理、隔离、驱动生态和应用生态。

这句话听起来有点硬,下面一点点拆开。提示一下哦,这篇文章属于概念长文。


一、RTOS已经很强了,但它不是Linux

先别把 RTOS 看低了。RTOS 的价值非常明确:它让多个任务在一个 MCU 系统里有秩序地运行。谁先跑、谁等待、谁被唤醒、谁优先级更高、谁和谁通信、谁访问共享资源,这些以前靠你在裸机里手搓的运行规则,RTOS 都能帮你接住一大块。

所以很多产品用 RTOS 是完全合理的,比如电机控制器、传感器节点、小型人机界面、工业采集模块、电池管理系统。这些系统需要多任务协作,但整体资源、业务边界和外设复杂度还在一个可控范围内。

真正的问题出现在系统继续长大以后。你可能开始需要复杂文件系统、网络协议栈、安全通信、USB、摄像头、显示、音频、多进程应用、动态升级,以及一大堆成熟开源组件。到这个阶段,系统的问题就不只是“几个任务怎么调度”了,而是它开始像一个小型计算平台。

换个说法:

RTOS 更像给固件装了一个靠谱的运行秩序,Linux 更像给设备装了一套完整的平台底座。

这就是两者最大的分界。


二、复杂度到底提升在哪里

从 RTOS 到 Linux,不是简单地说任务数量变多了。任务多,RTOS 也能管。真正的变化是复杂度类型变了。

你可以先看这张表:

维度
RTOS更关注
Linux更关注
运行单元
Task / Thread
Process / Thread
内存
多任务共享地址空间
进程虚拟地址空间
驱动
面向具体芯片和外设
接入统一内核驱动模型
文件
可选的小型文件系统
完整 VFS 文件系统体系
网络
轻量协议栈
完整网络栈和工具生态
应用
固件整体编译
应用可独立构建和部署
隔离
靠规范和保护机制
用户态/内核态、进程隔离

这张表不用背,只要抓住一个感觉: RTOS 解决的是“固件内部怎么有秩序地跑”,Linux 解决的是“一个复杂设备怎么像系统一样组织起来”。

RTOS 里你通常把整个固件一起编译、一起烧录,任务之间虽然有边界,但大多还是共享同一片地址空间。

Linux 里,应用可以是一个个独立进程,驱动在内核里,应用在用户态,文件系统、网络、权限、进程管理都变成了系统级能力。

这不是“高级一点”的问题,而是系统形态已经变了。


三、第一道分水岭:内存保护

RTOS 项目里,多个任务通常共享同一片地址空间。这个模型很直接,效率也高,但代价是边界不够硬。一个任务如果指针写飞了,可能直接踩到别的任务、全局变量、堆、栈。系统不会天然拦住你。

所以你会看到很多 RTOS 里的怪问题:一个任务栈溢出,结果另一个任务异常;一个数组越界,系统不是马上死,而是过一会儿才跑飞;一个野指针,把别的模块状态悄悄改坏了。你调半天,最后发现问题根本不在出错的那个任务里。

Linux 在这件事上最大的变化,是引入了虚拟内存和进程隔离。这里不用一上来就把 MMU 页表讲得很吓人,你可以先这么理解:

每个进程都以为自己有一整套地址空间,内核在背后负责把它映射到真实物理内存。

这样做的好处是,一个普通应用进程崩了,通常不会直接把整个系统踩死。它可能会段错误退出,也就是我们常说的 Segmentation fault,但内核、其他进程、系统服务大概率还在。

这就是复杂系统很需要 Linux 的原因之一。不是 Linux 永远不会崩,而是它给了应用之间更硬的隔离边界。


四、第二道分水岭:文件系统不再只是“存几个参数”

在 MCU + RTOS 里,很多文件需求其实不重。你可能只是保存配置、记录少量日志、存几段校准数据。这种情况下,Flash 模拟 EEPROM、小型文件系统、KV 存储都能解决问题。

但设备复杂以后,文件系统就不再是“存几个参数”的工具,而会变成系统基础设施。配置文件、日志文件、数据缓存、OTA 升级包、证书密钥、Web 页面、数据库,这些东西一多,你需要的就不只是“能写 Flash”,而是路径、权限、挂载、缓存、设备文件、多进程访问、异常恢复这一整套文件系统语义。

Linux 里有个非常重要的概念叫 VFS,也就是 Virtual File System,虚拟文件系统层。它的作用不是让你多背一个名词,而是把不同类型的资源统一到类似“文件”的访问模型里。

所以你会看到 Linux 里很多东西都像文件:

  • 普通文件在文件系统里
  • 设备节点在 /dev
  • 内核信息在 /proc
  • 设备和驱动信息在 /sys
  • 网络 socket 也能被文件描述符管理

这就是“一切皆文件”背后的意思。它不是说所有东西真的都是磁盘文件,而是 Linux 尽量把很多系统资源抽象成“可以打开、读写、控制”的对象。对应用开发来说,这个统一模型非常值钱。


五、第三道分水岭:驱动不再只是寄存器封装

裸机或 RTOS 里的驱动,很多时候就是初始化外设、配置寄存器、提供 Read/Write 函数,然后给业务层调用。这种方式很直接,也很好理解。

但 Linux 驱动不是简单把寄存器封装一下。它要接入内核框架。

比如你写一个 I2C 设备驱动,它不只是把 I2C 寄存器配置好,还要接入 Linux 的 I2C 子系统。你写一个按键驱动,不是简单读 GPIO 就完事,更常见的做法是接入 input 子系统,让上层应用看到标准输入事件。摄像头、显示、网络,也都有自己的框架,比如 V4L2、DRM、network subsystem。

这就是 Linux 驱动模型的价值:

硬件细节留在驱动里,应用看到统一接口。

用生活化一点的比喻,裸机驱动像你直接去仓库找货,知道每个货架在哪里;Linux 驱动更像把货物接入一个标准物流系统,上层不关心仓库布局,只管按统一规则下单、收货。

这也是为什么 Linux 驱动刚学起来会觉得绕。它不是为了故意复杂,而是为了让硬件进入整个系统生态。


六、第四道分水岭:应用生态

RTOS 项目通常是一个固件整体。业务、驱动、协议、任务一起编译,一起烧录。你当然也可以做模块化,但整体形态还是“一个固件”。

Linux 设备就更像一台小电脑。它可以有系统服务、后台进程、命令行工具、Shell 脚本、Python/C++/Go 应用、Web 服务、数据库、网络工具。应用可以单独更新,日志可以用系统服务收集,网络问题可以抓包,进程可以单独重启,甚至远程部署和运维。

这就是 Linux 最大的吸引力之一:

它不是只给你一个内核,而是给你一整套软件生态。

所以当你的产品开始需要复杂联网、Web 配置、视频音频、数据库、远程升级、远程排查时,继续用 RTOS 硬扛就会很累。不是不能做,而是很多东西你要自己补,补到最后,你可能又在造一个很不完整的“小 Linux”。


七、那Linux是不是就比RTOS更好?

不是。这个坑一定要避开。

Linux 有 Linux 的代价,而且一点也不小:

代价
说明
启动更复杂
BootROM、Bootloader、Kernel、RootFS
资源需求更高
需要更多 RAM、Flash、CPU
实时性更难保证
普通 Linux 不是硬实时系统
系统构建更复杂
Buildroot、Yocto、驱动、设备树
调试链路更长
用户态、内核态、驱动、系统服务

所以千万别把 Linux 当成“高级版 RTOS”。一个电机控制闭环,如果要几十微秒级稳定响应,你硬上普通 Linux,未必是好主意。一个低成本传感器节点,只有几十 KB RAM,也没必要谈 Linux。

Linux 更适合资源更充足、业务更复杂、生态依赖更多、需要文件系统和网络能力、需要应用和驱动分层、需要长期维护和远程升级的设备。

一句话:RTOS适合把固件跑稳,Linux适合把复杂设备管起来。


八、从RTOS到Linux,学习重点也要变

如果你从 RTOS 过来学 Linux,建议别一开始就冲命令大全。命令当然要学,但更重要的是先建立系统全景图。

一块 Linux 板子上电以后,大概会经历这条链路:

这里面每个词后面都能展开一大篇,但刚开始你只需要知道它们分别管什么:

  • BootROM 是芯片上电后最早执行的固化代码
  • Bootloader 负责初始化关键硬件、加载内核,常见的是 U-Boot
  • Kernel 是 Linux 内核,负责进程、内存、驱动、文件系统、网络等核心能力
  • Device Tree 是设备树,用来描述板子硬件,让内核知道外设怎么连
  • RootFS 是根文件系统,里面放用户态程序、库、配置、脚本
  • init/systemd 负责把用户空间拉起来,启动各种服务

这张图先立住,后面学设备树、驱动、文件系统、Buildroot、Yocto,就不会全是散点。


九、最后总结一下

从 RTOS 到 Linux,不是因为系统突然“高级”了,而是复杂度类型变了。

RTOS 解决的是多任务、等待唤醒、任务通信、优先级和资源同步。Linux 接住的是进程隔离、虚拟内存、文件系统、驱动模型、网络能力、应用生态和系统级维护能力。

可以这么记:

RTOS让固件有运行秩序,Linux让设备具备系统平台能力。

相关文章

    RTOS里系统睡不下去,往往不是芯片不行
    RTOS里的协议解析任务到底怎么拆?
    环形缓冲区:嵌入式最有性价比的数据结构
    花3块钱,训一个自己的GPT——边缘AI的电报机MiniMind

    最新文章

    随机文章

    基本 文件 流程 错误 SQL 调试
    1. 请求信息 : 2026-07-02 23:32:38 HTTP/2.0 GET : https://f.mffb.com.cn/a/502556.html
    2. 运行时间 : 1.217660s [ 吞吐率:0.82req/s ] 内存消耗:4,759.83kb 文件加载:140
    3. 缓存信息 : 0 reads,0 writes
    4. 会话信息 : SESSION_ID=6d7cd984cdf6519dbf49a4b057b3d361
    1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
    2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
    3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
    4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
    5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
    6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
    7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
    8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
    9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
    10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
    11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
    12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
    13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
    14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
    15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
    16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
    17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
    18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
    19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
    20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
    21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
    22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
    23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
    24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
    25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
    26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
    27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
    28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
    29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
    30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
    31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
    32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
    33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
    34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
    35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
    36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
    37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
    38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
    39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
    40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
    41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
    42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
    43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
    44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
    45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
    46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
    47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
    48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
    49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
    50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
    51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
    52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
    53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
    54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
    55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
    56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
    57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
    58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
    59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
    60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
    61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
    62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
    63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
    64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
    65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
    66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
    67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
    68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
    69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
    70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
    71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
    72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
    73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
    74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
    75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
    76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
    77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
    78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
    79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
    80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
    81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
    82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
    83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
    84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
    85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
    86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
    87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
    88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
    89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
    90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
    91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
    92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
    93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
    94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
    95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
    96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
    97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
    98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
    99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
    100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
    101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
    102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
    103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
    104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
    105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
    106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
    107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
    108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
    109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
    110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
    111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
    112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
    113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
    114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
    115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
    116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
    117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
    118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
    119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
    120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
    121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
    122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
    123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
    124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
    125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
    126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
    127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
    128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
    129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
    130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
    131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
    132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
    133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
    134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
    135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
    136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
    137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
    138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
    139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
    140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
    1. CONNECT:[ UseTime:0.001054s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
    2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001616s ]
    3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.003346s ]
    4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.034865s ]
    5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001731s ]
    6. SELECT * FROM `set` [ RunTime:0.006741s ]
    7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001459s ]
    8. SELECT * FROM `article` WHERE `id` = 502556 LIMIT 1 [ RunTime:0.005241s ]
    9. UPDATE `article` SET `lasttime` = 1783006358 WHERE `id` = 502556 [ RunTime:0.014329s ]
    10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.014674s ]
    11. SELECT * FROM `article` WHERE `id` < 502556 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.019819s ]
    12. SELECT * FROM `article` WHERE `id` > 502556 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.015929s ]
    13. SELECT * FROM `article` WHERE `id` < 502556 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.378054s ]
    14. SELECT * FROM `article` WHERE `id` < 502556 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.149052s ]
    15. SELECT * FROM `article` WHERE `id` < 502556 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.365407s ]
    1.220131s