
Linux内核
tuhuolong
足球,NBA
展开
-
内存映射(mmap系统调用)
<br />映射虚拟内存-->物理内存/Swap/文件<br /> <br />文件映射到内存,内存访问取代IO访问 <br /> <br />可以映射同一个文件以(进程)共享内存 <br /> <br />Linux进程虚拟地址空间---(分成)-->虚拟内存区<br />虚拟内存区(VMA)表:进程所有的虚拟内存区<br />内存映射:创建一个虚拟内存区(VMA),映射文件 <br /> <br />映射文件:外部程序调用VMA的(操作函数集中)操作函数访问映射文件的VMA <br />原创 2010-09-15 08:56:00 · 3334 阅读 · 2 评论 -
select/poll原理(阻塞挂起) 正常(阻塞轮询)
遍历所有的fd, 如果没好(不就绪),加入(对应fd)等待队列,如果所有fd都没好(不就绪),挂起线程(schedule_timeout) 直到就绪唤醒或超时,再次遍历并退出static int do_poll(unsigned int nfds, struct poll_list *list, struct poll_wqueues *wait, long timeout)原创 2012-12-08 19:41:56 · 1971 阅读 · 0 评论 -
一个epoll例子
#include #include #include #include #include #include #include #include #include using namespace std; #define MAX_EVENTS 500 struct myevent_s { int fd; void (*call_back)转载 2012-11-06 19:33:51 · 557 阅读 · 0 评论 -
socket的系统调用
一、网络连接相关的系统调用 socket() 创建套接字 bind() 绑定本机端口 connect() 建立连接 listen() 监听端口 accept() 接受连接 recv(), read(), recvfrom() 数据接收 send(), write(), sendto(转载 2012-11-06 19:28:01 · 1550 阅读 · 0 评论 -
微内核和宏内核
微内核:多个进程通过(尽量小)内核转发消息.宏内核:一个进程,直接调用Linux大部分都是单内核的操作系统内核可能是微内核,也可能是单内核(后者有时称之为宏内核Macrokernel)。按照类似封装的形式,这些术语定义如下: l 微内核(Microke转载 2011-08-31 09:42:28 · 1810 阅读 · 0 评论 -
SPOOLing技术
输入:通过输入缓冲放入输入井,CPU空闲时读入内存输出:从内存放入输出井,外设空闲时通过输出缓冲输出输入/输出井:磁盘输入/输出缓冲:内存原创 2011-09-22 15:41:32 · 829 阅读 · 0 评论 -
内核对象管理:Slab,Slub
http://www.ibm.com/developerworks/cn/linux/l-cn-slub/转载 2011-08-31 10:22:10 · 624 阅读 · 0 评论 -
从open系统调用的源码看文件的打开过程
open系统调用:创建file结构体,(指针)放入进程打开文件表,返回表下标转载 2010-09-14 13:24:00 · 1326 阅读 · 0 评论 -
ELF文件的格式和加载过程
(一)ELF文件的格式 ELF文件类型(1)可重定位文件(.o目标文件): 用于链接创建可执行文件或so文件 (2)可执行文件 : 用于执行 (3)so(共享对象)文件 : 用于链接 注: 一个Program Header对应一个Segment 一个Section Header 对应一个Secti原创 2010-09-15 15:40:00 · 2995 阅读 · 0 评论 -
read 系统调用剖析
转自:http://www.ibm.com/developerworks/cn/linux/l-cn-read大部分程序员可能会有这样的疑问:当在程序中调用库函数 read 时,这个请求是经过哪些处理最终到达磁盘的呢,数据又是怎么被拷贝到用户缓存区的呢?本文介绍了从 read系统调用发出到结束处理的全过程。该过程包括两个部分:用户空间的处理、核心空间的处理。用户空间处理部分是系统调用从用户态切到核心态的过程。核心空间处理部分则是 read系统调用在 linux 内核中处理的整个过程。Read系统调用在用户空转载 2010-09-14 15:40:00 · 702 阅读 · 0 评论 -
寻址(实模式和保护模式)
1.加电自检2.BIOS/Bootloader:加载OS (实模式:段地址+偏移) (1)x86:BIOS (2)ARM:Bootloader3.OS(保护模式:分页/分段) 所有的地址访问(虚拟地址)都通过OS分页/分段, 除了中断向量任然是实地址(实模式)中断向量所指:内核态程序原创 2011-09-20 16:20:14 · 634 阅读 · 0 评论