会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
sgqmax
博客园
首页
新随笔
联系
订阅
管理
2025年1月22日
linux文件IO:select
摘要: select 电平触发 #include<sys/time.h> #include<sys/types.h> #include<unistd.h> int select(int n, fd_set* readfds, fd_set* writefds, fd_set* exceptfds, stru
阅读全文
posted @ 2025-01-22 14:37 sgqmax
阅读(10)
评论(0)
推荐(0)
2024年12月15日
linux文件IO:epoll
摘要: poll和select的改进版,在一个程序需要处理数百个文件描述符时很有用 2.6内核引入epoll机制,解决了poll和select的性能问题,并加入了一些新特性 poll和select每次调用都需要所有被监听的文件描述符,内核需要遍历所有的文件描述符,当数量变大时,性能消耗巨大 epoll将监听
阅读全文
posted @ 2024-12-15 16:39 sgqmax
阅读(68)
评论(0)
推荐(0)
2024年12月5日
汇编
摘要: 汇编 存储程序计算机 图灵机 冯诺依曼机 运算器、控制器、存储器、输入和输出设备 CPU由运算器(算术逻辑单元ALU),控制器和寄存器组成 寄存器程序计数器PC,在IA32(x86-32)中是EIP,指示要执行的下一条指令在存储器中的地址 x86-32汇编 通用寄存器 4个数据寄存器EAX,EBX,
阅读全文
posted @ 2024-12-05 13:10 sgqmax
阅读(40)
评论(0)
推荐(0)
系统调用三层机制
摘要: 用户态和内核态 intel x86 CPU有4种不同的执行级别,分别为0,1,2,3 按照intel的设想,内核运行在Ring0级别,驱动运行在Ring1和Ring2级别,应用运行在Ring3级别 linux系统中,只使用了0和3两个级别,分别对应内核态和用户态,使用寄存器CS:EIP的指向范围区分
阅读全文
posted @ 2024-12-05 13:08 sgqmax
阅读(65)
评论(0)
推荐(0)
进程描述和创建
摘要: 进程描述 操作系统通过进程控制块PCB来描述进程,对应Linux内核数据结构struct task_struct 在Linux3.18.6内核中,定义于include/linux/sched.h#1235 pid和tgid标识进程 state进程状态 stack进程堆栈 CONFIG_SMP在多处理
阅读全文
posted @ 2024-12-05 13:07 sgqmax
阅读(26)
评论(0)
推荐(0)
进程调度的时机
摘要: 硬中断和软中断 中断有很多种,但都是程序执行过程中的强制性转移,转移到操作系统内核相应的处理程序 除了主动让出CPU外,进程的调度都需要在进程外(内核)进行,这就需要从进程的指令流里切换出来 中断处理程序是与进程无关的内核指令流,起到切出进程指令流的作用 运行完内核代码后,CPU会检测是否需要进程调
阅读全文
posted @ 2024-12-05 13:06 sgqmax
阅读(109)
评论(0)
推荐(0)
2024年11月6日
C++调试
摘要: 查看目标文件信息 查看目标文件段信息 readelf -S test | grep debug 查看文件信息,是否有调试信息等 file test 移除调试信息 strip test gdb调试 1. 可执行文件 gcc -g test.c -o test gdb test (gdb)set arg
阅读全文
posted @ 2024-11-06 15:36 sgqmax
阅读(52)
评论(0)
推荐(0)
cmake使用
摘要: 可见性修饰符和目标 cmake中有三种可见性修饰符:PRIVATE、PUBLIC和INTERFACE 这些修饰符随着命令一起使用,如target_include_directories和target_link_libraries等 这些修饰符是在目标targets的上下文中指定的 目标targets
阅读全文
posted @ 2024-11-06 15:23 sgqmax
阅读(72)
评论(0)
推荐(0)
Spacemacs使用
摘要: Spacemacs快捷键 光标行位置 | zt | evil-scroll-line-to-top | 顶部 | | zz | evil-scroll-line-to-center | 居中 | | zb | evil-scroll-line-to-bottom | 底部 | 折叠快捷键 快捷键 函
阅读全文
posted @ 2024-11-06 11:39 sgqmax
阅读(172)
评论(0)
推荐(0)
Python socket传输图像文件
摘要: 客户端发送图像文件 import socket data= numpy.frombuffer(stringData, numpy.uint8) # 将获取到的字符流数据转换成1维数组 # decimg= cv2.imdecode(data, cv2.COLOR_BGR2GRAY) # 将数组解码成图
阅读全文
posted @ 2024-11-06 11:25 sgqmax
阅读(122)
评论(0)
推荐(0)
下一页
公告