- 博客(8)
- 资源 (3)
- 收藏
- 关注
原创 那么,古尔丹,读写锁的代价是什么呢
在有临界区的情况下,读写锁是有作用的但是,有临界区不属于优秀的程序设计,程序设计应该减少资源互斥,尽可能临界区足够可能是临界区的存在,读锁多线程同时访问起到了作用,读锁的开销≈(互斥锁开销+互斥锁导致的调度开销)在优秀的多线程设计中,临界区足够小的时候,读写锁确实没有优势,不如互斥锁那么简洁不易产生问题。有些锁的封装库或是新的语言有互斥锁,但没有提供读写锁,也行也是这个问题例如下面的伪代码,使用非常小的临界区对共享资源读写,优秀设计read() {{ # 临界区write() {
2024-07-23 11:04:19 348
原创 抓虫:chown失败 Couldn‘t change ownership of savefile
chown报错 Couldn't change ownership of savefile使用ftrace/bpftrace 内核跟踪
2024-06-05 16:41:29 393
原创 centos断开网线,桌面不提示依然显示链接,ip也接着显示,问题排查
属性不正常,正常时此属性为false,不正常时为true,定位到/usr/lib64/libnm.so中。通过和正常的centos情况比对,包后会默认配置忽略carrier。属性标识是否链接,此属性正常。
2024-01-11 15:23:46 495
原创 龙蜥anolis系统迁移组件ance逆向分析、追踪venv,cython生成的so库python执行
gdb的特点在cpython的调试中可以直接解释好python对象,非常直观可以追踪ance的so库函数调用bpf uprobe几乎不影响ance的执行速度可以追踪ance的so库函数调用ance进程的so库映射退出时,栈追踪不到usdt几乎不影响执行速度可以在cpython解释器中定义好,方便转换PyObject等类型极为严谨的最好不调用python的一些会导致引用加减的方法(会限制使用已经存在的打印类的函数)
2024-01-08 09:28:14 784
原创 cPython中的Type、Object结构体定义、内存布局
cPython中,一个package、一个module,甚至一个function,都是一个类,每个类都有自己的Type类表示自己的class类型内存布局PyObject 类指针(类的size存储在这里,私有成员影响size)、引用计数私有成员类.ob_base.ob_size = sizoef(类)
2024-01-08 09:25:53 1069
原创 execve 继承了什么?映射、信号、文件描述符、优先级、ptrace
execve syscall 做了什么重要参考Linux 进程启动 execve 系统调用内核源码解析sp 就绪 执行环境okmaps 映射父进程的所有maps都会消失里被替换为新的进程的mmfiles 文件描述符不变 对除了复制下来外没有额外处理(除了open时候标记为O_CLOEXEC的会被关闭)stdin stdout stderr 和其他 都不会有变化 继承父进程,bash中的管道得以实现信号除了忽略的,其他都被重置为默认信号处理。
2024-01-08 09:13:37 1000
Flask离线一键安装及依赖包.zip
2021-07-13
ksstack_V0.0.4.20210415.zip
2021-04-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人