inet_csk_accept函数实现了tcp协议accept操作,其主要完成的功能是,从已经完成三次握手的队列中取控制块,如果没有已经完成的连接,则需要根据阻塞标记来来区分对待,若非阻塞则直接返回,若阻塞则需要在一定时间范围内阻塞等待; 如果请求队列中没有已完成握手的连接,并且套接字已经设置了阻塞 ...
分类:
其他好文 时间:
2019-10-28 10:31:33
阅读次数:
86
recvmsg系统调用允许用户指定msghdr结构来接收数据,可以将数据接收到多个缓冲区中,并且可以接收控制信息;接收信息过程与其他接收系统调用核心一致,都是调用传输层的接收函数进行数据接收; TCP层的recvmsg系统调用的实现函数为tcp_recvmsg,具体分析请移步<TCP层recvmsg ...
分类:
其他好文 时间:
2019-10-27 22:47:44
阅读次数:
93
其中介绍了虚拟内存的机制以及mmap系统调用的实现。mmap允许直接将设备内存映射到用户进程的地址空间中。物理内存的管理,包括缓存的分配及回收,请页机制,交换空间等。 1)交换模块(swap) 这个模块负责控制内存内容的换入换出,它通过替换机制,使得物理内存的页框(RAM页)中保留有效的逻辑页,即从 ...
分类:
其他好文 时间:
2018-02-22 21:27:10
阅读次数:
214
其中介绍了虚拟内存的机制以及mmap系统调用的实现。mmap允许直接将设备内存映射到用户进程的地址空间中。物理内存的管理,包括缓存的分配及回收,请页机制,交换空间等。 1)交换模块(swap) 这个模块负责控制内存内容的换入换出,它通过替换机制,使得物理内存的页框(RAM页)中保留有效的逻辑页,即从 ...
分类:
系统相关 时间:
2018-02-13 17:52:30
阅读次数:
224
简单介绍 很多类型的驱动程序编程都须要了解一些虚拟内存子系统怎样工作的知识当遇到更为复杂、性能要求更为苛刻的子系统时,本章所讨论的内容迟早都要用到本章的内容分成三个部分 讲述mmap系统调用的实现过程讲述怎样跨越边界直接訪问用户空间的内存页讲述了直接内存訪问(DMA)I/O操作,它使得外设具有直接訪 ...
分类:
系统相关 时间:
2017-04-13 16:46:27
阅读次数:
283
Socket数据结构网络协议CC++ Socket数据结构网络协议CC++ 用户使用socket系统调用编写应用程序时,通过一个数字来表示一个socket,所有的操作都在该数字上进行,这个数字称为套接字描述符。在系统调用 的实现函数里,这个数字就会被映射成一个表示socket的结构体,该结构体保存了 ...
分类:
其他好文 时间:
2016-08-20 15:58:52
阅读次数:
135
阅读内核源码中sys_rename系统调用实现过程中的一些简单的笔记。 ...
分类:
其他好文 时间:
2016-08-06 16:00:06
阅读次数:
145
这篇文章是《读薄「Linux 内核设计与实现」》系列文章的第 III 篇,本文主要讲了以下问题:系统调用的概念、系统调用的实现原理与过程以及如何在 Linux 中增加一个系统调用。
0x00 系统调用的概念系统调用是为了和用户空间上的进程进行交互,内核提供的一组界面。
应用程序通过这组界面访问硬件和其他操作系统资源
完成对硬件和资源的访问控制
硬件设备的抽象(提供设备的独立性)
0x01 系统调用简...
分类:
系统相关 时间:
2016-06-25 11:04:07
阅读次数:
183
(五):系统调用的实现 1:实现系统调用 实现一个系统调用就是考虑他的用途,每个系统调用都有一个确定的用途,在Linux中不提倡採用多用途的系统调用(一个系统调用通过传递不同的參数值来选择完毕不同的工作)。 2:參数验证 系统调用必须细致检查他们全部的參数是否合法有效。最重要的一项检查就是检查用户提
分类:
其他好文 时间:
2016-02-08 17:25:32
阅读次数:
204
实现一个whoami 系统调用 系统调用的直观实现 问题+直观想法…用户程序调用whoami, 一个字符串"systemcall "放在操作系统中(系统引导时载入) ,取出来打印,有什么问题?不能随意的调用数据,不能随意的jmp 。 可以看到root 密码,可以修改它… 可以通过显存看到别人word...
分类:
其他好文 时间:
2015-10-28 12:18:25
阅读次数:
260