操作系统
狮子再回头
路由器、交换机硬软转发开发;协议栈开发。
目前从事NB-IOT,LTE-CAT1中LWIP开发.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
信号量优先级反转问题记录(总是遗忘)
信号量优先级反转实例分析总结原创 2022-06-22 17:34:03 · 567 阅读 · 0 评论 -
linux内核协议栈网络子系统学习
linux网络子系统学习原创 2022-05-23 20:17:22 · 225 阅读 · 0 评论 -
移动推行的oneOS开源文档链接
Molink · OneOS开发者文档 (10086.cn)https://os.iot.10086.cn/doc/api_refer/components/ar_molink.html转载 2022-03-30 10:53:00 · 178 阅读 · 0 评论 -
阿里云服务器snort+guardian防护环境搭建
下面是故障过程原始版(归纳总结版请下载附件链接)一:服务器被攻击后解决措施获取攻击程序对应的源IP地址 清空定时扫描任务 清空异常ssh key Redis设置密码访问(可选,待防御系统建立后可以不用修改密码)二:安装snort,防御检测yum install https://www.snort.org/downloads/snort/snort-2.9.16-1.centos7.x86_64.rpmyum install libdnetshell输入snort...原创 2020-05-28 10:46:08 · 3047 阅读 · 2 评论 -
iptables学习记录(命令篇)
iptables学习记录(命令篇):1.查询命令iptables -t filter --line-number -vnL INPUT-t选项:iptables的查看四张表中的一张,默认是filter表,另外还有nat表、mangle表、raw表;INPUT为iptables某个chain链,总共链有五种:PREROUTING、INPUT、FORWARDING、OUTPUT、POSTROU...原创 2019-11-16 10:40:10 · 533 阅读 · 0 评论 -
【原创】linux多线程避免信号丢失导致异常问题解决方案
被动线程1: mutex_lock AA; signal.wait();/*休眠*/ /*执行代码块读取到共享区*/ mutex_unlock AA; 主动线程2: mutex_lock AA; /*执行代码块修改共享区*/ mutex_unlock AA; signal.signal();/*唤醒*/ 线程1和线程2在系统调度时,并不能保证被动线程1先执行,且先执行到...原创 2018-07-10 10:52:38 · 847 阅读 · 1 评论 -
【原创】串口通讯基本原理(概述简析)
如图一所示,开发板串口引脚和PC机引脚相连,如果PC机没有串口,可能需要使用USB,需要有一块串口转USB的电平芯片。如图二所示,假如发送1byte的数据(无校验位总位数为10位,如果有校验位总位数为11位),数据位是8位再加上1位开始位,1位停止位,共10位。在T1时刻串口拉低电平,将第一位数据registerData[0]写入txD[0],T2时刻拉高电平。此时T2和T3之间拉高电平期间...原创 2018-08-15 16:54:26 · 557 阅读 · 0 评论 -
linux下gcc默认搜索头文件及库文件的路径
linux下gcc默认搜索头文件及库文件的路径一、头文件gcc 在编译时如何去寻找所需要的头文件:※所以header file的搜寻会从-I开始※然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH※再找内定目录/usr/include/usr/local/include/usr/lib/gcc-lib/i...转载 2018-08-28 09:14:16 · 883 阅读 · 0 评论 -
Linux中断机制(转)
本文转自博客:https://www.cnblogs.com/sky-heaven/p/5640961.html 目录为什么要有中断 中断的作用 中断的处理原则 Linux 中断机制 中断控制器 中断描述符 中断数据结构 中断的初始化 内核接口 中断处理过程 CPU 的中断处理流程 保存中断信息 处理中断 从中断中返回 编写中断处理...转载 2019-02-13 15:22:33 · 3764 阅读 · 0 评论 -
[原创+讨论]goto语句有时存在硬件效率问题吗?
个人理解。goto即jump指令,跳转速度之快。但存在硬件效率问题吗?以某个CPU架构为例:CPU---MMU--高速缓存CPU访问内存时,MMU内存管理单元加载一部分相邻的页内存放入TLB中(为了避免每次都要访问页目录和一级页表的物理内存,TLB也是一种高速缓存,这样提高效率),然后通过TLB查询到页框地址(即数据/指令存放的真正物理地址),使用该地址去访问物理内存,但为了提高访问速率,设计...原创 2018-07-02 19:10:29 · 840 阅读 · 0 评论 -
linux内核同步方法学习和总结:(如有误差或不同理解麻烦评论跟帖,十分感谢)
linux内核同步方法学习和总结:(如有误差或不同理解麻烦评论跟帖,十分感谢)1.原子操作 有原子整数、原子位操作(即对一个位或一个数操作)。原理是使用硬件lock指令,锁住和总线相连的该原子整数/位 对应的内存地址,紧接着操作该内存,譬如+1,-1或清0或取值。 对于硬件来说无论有多少个处理器,该地址只有一个引脚和总线相连。(待找硬件的同时确认是否理解正确) 另外,硬件lock指令只是...原创 2018-05-28 16:48:08 · 260 阅读 · 1 评论 -
[ecos]如何实现线程cpu占用率统计
内核中,调用switchto切换线程时,新运行的线程取当前时钟时间为线程的starttime时间。用当前时钟时间减去被切换线程的starttime即为被切换线程的cpu占用时间。该几个计算的时间保存在thread的统计结构中,用户程序需要建立一个alarm时钟告警,当特定的时间间隔到了进行函数回调,在回调函数中获取thread的统计结构中的相关数据。如图:...原创 2018-02-26 15:38:25 · 461 阅读 · 0 评论 -
操作系统学习 概述
操作系统学习<概述>1.基本框架 计算机的存储结构主要有ROM(只读内存)、DRAM(动态随机访问内存)、硬盘等。 计算机CPU的外围有很多引脚和外围设备相连,并通过这些引脚来访问外围设备。 计算机上电后,首先进行CPU、内存条、显卡的初始化,由于后期cpu访问外围设备比较麻烦,所以一种有效可行的解决方案是将部分外围设备的缓存直接映射到内存的特定地址段,然后CPU通过和内存引...原创 2018-02-12 11:11:38 · 340 阅读 · 2 评论 -
操作系统学习 (二)用户程序的加载和运行
一个编译好的用户程序,放到磁盘中,是如何被加载到内存并运行的呢。大概的流程是加载器先把磁盘中的应用程序加载到内存并把执行权移交给应用程序。分为以下几个步骤: 从磁盘读取应用程序并装入内存(加载器的作用1)。应用程序被装入内存后需要加载器对内存中的应用程序部分地址进行重定位(加载器的作用2)。加载器将执行权移交应用程序(加载器的作用3)。 前面说过,部分外围设备将自己的地址空间直接映射到内存...原创 2018-02-28 17:31:01 · 3125 阅读 · 1 评论 -
操作系统学习(三) 中断概述
中断分为外部硬件中断、内部中断和软中断。 中断也是操作系统的一种解决方案,那么为什么需要引入中断机制呢。为了分享计算能力,处理器应当为多用户多任务提供硬件一级的支持。在单处理系统中,当一个任务的执行时,还有其他多个任务等待获取处理器来执行。当一个任务等待输入输出时,应该把处理器转给另一个任务执行。但问题是,正在执行的程序进入等待输入输出时他并不知道还有其他任务在等待处理器。这种情况下,即产生一...原创 2018-03-02 17:17:03 · 811 阅读 · 0 评论 -
(转)Linux NAPI/非NAPI 网卡驱动部分
转载地址:https://blog.youkuaiyun.com/hui6075/article/details/51236203收包:NAPI:中断来了,在上半部中把net_device加入poll_list,sk_buff仍然在设备自身队列中,然后下半部软中断过程中轮询所有的设备,用设备的poll函数把自己的sk_buff交给上层。非NAPI:中断来了,在上半部中把sk_buff放到本CPU的多设备共...转载 2018-05-09 09:56:01 · 477 阅读 · 0 评论 -
(转)数据包接收系列 — NAPI的原理和实现
本文转载地址:https://blog.youkuaiyun.com/zhangskd/article/details/21627963概述 NAPI是linux新的网卡数据处理API,据说是由于找不到更好的名字,所以就叫NAPI(New API),在2.5之后引入。简单来说,NAPI是综合中断方式与轮询方式的技术。中断的好处是响应及时,如果数据量较小,则不会占用太多的CPU事件;缺点是数据量大时,会产生...转载 2018-05-09 09:58:26 · 378 阅读 · 0 评论 -
Linux内核配置选项
http://blog.youkuaiyun.com/wdsfup/article/details/52302142http://www.manew.com/blog-166674-12962.htmlGentoo LinuxGentoo内核(gentoo-sources)特有的选项Gentoo Linux supportCONFIG_GENTOO_LINUX选"Y"后,将会自动选中那些在Gentoo环境...转载 2018-04-25 16:08:37 · 7606 阅读 · 0 评论 -
(原)linux内核的编译
centos内核的下载和编译:一:第一次编译内核实验过程:1.linux下敲入命令查看系统版本号: cat /proc/version Linux version 3.10.0-327.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 ...原创 2018-05-18 10:51:44 · 322 阅读 · 0 评论 -
linux进程动态信息查看.
linux查看进程状态动态信息:[root@localhost fd]# cat /proc/3412/statusName: fbserverState: S (sleeping)Tgid: 3412Ngid: 3418Pid: 3412PPid: 3411TracerPid: 0 //正在trace该进程的进程IDUid: 0 0 ...原创 2018-05-28 15:38:13 · 1175 阅读 · 0 评论
分享