
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
1. 系统调用处理底层程序,通过int 0x80进行系统调用2. 时钟,硬盘,软盘中断处理程序信号,子进程结束SIG_CHLD = 17定义了从系统调用返回时各个寄存器在堆栈中的偏移值(ret_from_sys_call)EAX = 0x00EBX = 0x04ECX = 0x08EDX = 0x0CFS = 0x10ES = 0x14DS = 0x18EIP = 0x
在Linux引导起来之后,伙伴系统分配算法是和物理内存最底层的接口。所有内存分配函数,比如vmalloc/kmalloc最后都是通过伙伴算法对内存进行分配的。接下来我们将解读一下伙伴系统的分配和回收算法。伙伴系统模块提供了两个主要的接口给上层程序,他们是:1. 页面请求函数struct page * fastcall __alloc_pages(gfp_t gfp_ma
看了看linux 2.6 kernel的源码,下面结合代码来分析一下在X86体系结构下,互斥锁的实现原理。代码分析1. 首先介绍一下互斥锁所使用的数据结构:struct mutex { 引用计数器 1: 所可以利用。 小于等于0:该锁已被获取,需要等待 atomic_t count; 自旋锁类型,保证多cpu下,对等待队列访问是安全的。 spinlock_t wait_lock;
Linux对共享内存的实现,在2.6采用了内存映射技术。对于内存共享,主要集中在三个内核函数,他们是do_shmat,sys_shmat和sys_shmdt。其中,sys_shmat调用了do_shmat最终实现了共享内存的attach。sys_shmdt实现了共享内存的detach和destroy。下面我主要对这三个函数的源码进行分析。在分析之前,首先介绍共享内存实现原理。 原理:
该程序主要定义和实现了asm.s中所引用的各个硬件异常中断处理程序#include #include #include #include #include #include #include 取给定段以及偏移处的一个字节输出寄存器eax,输入寄存器eax,内存地址addr#define get_seg_byte(seg,addr) ({ /register char __res; /__a
#include #include #include #include #include #include #include 这个文件中包含了绝大部分系统调用函数的实现,如果系统调用在该内核版本中没实现,就直接返回ENOSYSint sys_ftime(){ return -ENOSYS;}int sys_break(){ return -ENOSYS;}int sys_ptrac
1. 系统调用处理底层程序,通过int 0x80进行系统调用2. 时钟,硬盘,软盘中断处理程序信号,子进程结束SIG_CHLD = 17定义了从系统调用返回时各个寄存器在堆栈中的偏移值(ret_from_sys_call)EAX = 0x00EBX = 0x04ECX = 0x08EDX = 0x0CFS = 0x10ES = 0x14DS = 0x18EIP = 0x
源代码JavaSDK:https://github.com/gilbertwang1981/string_local_cache.gitC++ Agent:https://github.com/gilbertwang1981/binary_log_agent.gitC++公共库:https://github.com/gilbertwang1981/commonlib4...
TF-IDF算法,向量空间模型,布尔模型;







