摘要: 转载:https://void-star.icu/archives/601 网络栈从定义上还比较抽象。不过从功能上看,它是为了让主机之间交换数据而生的。 要实现网络栈,最原始的一个方式就是:将想发送的报文封装成帧,然后发出去就完事了。接收主机会按约定好的方式解析。不过这种存在一个问题,如果要加密怎么 阅读全文
posted @ 2024-03-21 19:10 skyycj 阅读(86) 评论(0) 推荐(0)
摘要: 转载:http://www.wowotech.net/process_management/scheduler-history.html 转载:O(n)、O(1)和CFS调度器 任务调度器是操作系统一个很重要的部件,它的主要功能就是把系统中的task调度到各个CPU上去执行满足如下的性能需求: 1、 阅读全文
posted @ 2024-03-21 19:05 skyycj 阅读(27) 评论(0) 推荐(0)
摘要: 在当前的Linux内核中发挥着重要的作用。RCU主要针对的数据对象是链表,目的是提高遍历读取数据的效率,为了达到目的使用RCU机制读取数据的时候不对链表进行耗时的加锁操作。这样在同一时间可以有多个线程同时读取该链表,并且允许一个线程对链表进行修改(修改的时候,需要加锁)。RCU适用于需要频繁的读取数 阅读全文
posted @ 2024-03-21 17:33 skyycj 阅读(95) 评论(0) 推荐(0)
摘要: 一 简介 1 并行编程的目标 并行编程(在单线程编程的目标之上)有如下三个主要目标。 1.性能。 2.生产率。 3.通用性。 线程优化:性能与扩展 通用: 需要牢记的是,并行编程只是提高性能的方案之一。其他熟知的 方案按实现难度递增的顺序罗列如下。 1.运行多个串行应用实例。 2.利用现有的并行软件 阅读全文
posted @ 2024-03-21 13:46 skyycj 阅读(104) 评论(0) 推荐(0)
摘要: 转载:https://blog.csdn.net/qq_33232152/article/details/121122599 1 zynq7000 传统方式制作系统镜像 传统方式制作系统镜像,主要是以下几个步骤: 配置zynq芯片 uboot kernel device-tree rootfs 打包 阅读全文
posted @ 2023-10-24 23:35 skyycj 阅读(345) 评论(0) 推荐(0)
摘要: 符号导出 EXPORT_SYMBOL() EXPORT_SYMBOL标签内定义的函数对全部内核代码公开,不用修改内核代码就可以在您的内核模块中直接调用。 2. 使用方法 加入B中调用A中导出函数 [1] 在模块A中c文件或者头文件中使用EXPORT_SYMBOL(xxxx) 导出函数. 有些需要添加 阅读全文
posted @ 2023-10-24 23:22 skyycj 阅读(62) 评论(0) 推荐(0)
摘要: ko文件在数据组织形式上是ELF(Excutable And Linking Format)格式,是一种普通的可重定位目标文件。 这类文件包含了代码和数据,可以被用来链接成可执行文件或共享目标文件,静态链接库也可以归为这一类。 文件开始处是一个ELF头部(ELF Header),用来描述整个文件的组 阅读全文
posted @ 2023-09-28 01:33 skyycj 阅读(362) 评论(0) 推荐(0)
摘要: 12.2. 同步I/O 在操作系统中,程序运行的空间分为内核空间和用户空间,用户空间所有对io操作的代码(如文件的读写、socket的收发等)都会通过系统调用进入内核空间完成实际的操作。 而且我们都知道CPU的速度远远快于硬盘、网络等I/O。在一个线程中,CPU执行代码的速度极快,然而,一旦遇到I/ 阅读全文
posted @ 2023-09-28 01:12 skyycj 阅读(85) 评论(0) 推荐(0)
摘要: 转载:https://doc.embedfire.com/linux/imx6/base/zh/latest/linux_debug/core_dump.html、 2.1 core文件简介 是操作系统在进程收到某些信号而终止运行时,将此时进程地址空间的内容以及有关进程状态的其他信息写入一个磁盘文件 阅读全文
posted @ 2023-09-19 00:16 skyycj 阅读(208) 评论(0) 推荐(0)