kernel
文章平均质量分 93
zhifeng687
这个作者很懒,什么都没留下…
展开
-
Windows Kernel Objects
kernel对象句柄是进程相关的。就是说,一个进程要么创建一个对象,要么打开一个已经存在的对象去获得kernel对象句柄。每个进程的kernel句柄数限制为2^24。但是,句柄是存储在paged pool里的,所以真实的可以创建的句柄数是基于可用内存。在32位windows上可以创建的句柄数是要少于2^24的。任何进程都可以创建一个新的句柄,来指向一个已经存在的kernel对象,即使这个kerne...翻译 2018-06-07 18:05:22 · 538 阅读 · 0 评论 -
windows ReadFile Function
ReadFile Function从特定的文件或者input/ouput(I/O)设备中读取数据。如果设备是受支持的,读操作将发生在文件指针指向的特定位置。这个函数同时支持同步操作和异步操作。如果想了解异步操作的一个简单的函数,可以看ReadFileEx。BOOL WINAPI ReadFile( _In_ HANDLE hFile, _Out_ LP...翻译 2018-06-08 10:47:58 · 1818 阅读 · 1 评论 -
FileDescriptor(文件描述符 )
内核(kernel)利用文件描述符(file descriptor)来访问文件。文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件。 文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。转载 2016-07-29 21:05:14 · 10219 阅读 · 0 评论 -
Java FileDescriptor总结
FileDescriptor 介绍FileDescriptor 是“文件描述符”。FileDescriptor 可以被用来表示开放文件、开放套接字等。以FileDescriptor表示文件来说:当FileDescriptor表示某文件时,我们可以通俗的将FileDescriptor看成是该文件。但是,我们不能直接通过FileDescriptor对该文件进行操作;若需要通过FileDescripto...转载 2016-08-17 23:46:59 · 1314 阅读 · 0 评论 -
Linux epoll实现io多路复用原理
开发高性能网络程序时,windows开发者们言必称iocp,linux开发者们则言必称epoll。大家都明白epoll是一种IO多路复用技术,可以非常高效的处理数以百万计的socket句柄,比起以前的select和poll效率高大发了。我们用起epoll来都感觉挺爽,确实快,那么,它到底为什么可以高速处理这么多并发连接呢?先简单回顾下如何使用C库封装的3个epoll系统调用吧。int epoll_...转载 2018-07-02 23:34:53 · 717 阅读 · 0 评论 -
pthread_cond_wait
pthread_cond_timedwait()和pthread_cond_wait()函数会阻塞在条件变量上。它们应和互斥锁(mutex lock)一起使用。pthread_cond_wait内部操作这些函数以原子方式释放互斥锁,并导致调用线程阻塞条件变量cond。这里的原子性考虑到了被其它线程获取锁并改变条件变量的情况。也就是,只有在这个线程阻塞了条件变量后,其他线程才能获取获取锁,改变条件变...原创 2018-07-16 15:22:01 · 913 阅读 · 0 评论 -
Linux HighMemory(高端内存)
目前。32位的x86架构是最受欢迎的计算机架构。在这种架构中,传统上Linux内核将4GB的虚拟内存地址空间分为3GB用户内存和1GB内核空间。在传统大小的32位系统上,这意味着内核可以将所有物理内存映射到其地址空间,这使得以下内容成为可能:直接从内核中访问任何内存,这使事情变得更加简单和快捷。使用从内核对象到另一个对象的指针。 另一种方法是跟踪物理地址,映射到物理地址,并在访问之前计算结构的虚拟...翻译 2018-07-03 17:07:11 · 3327 阅读 · 2 评论 -
Linux mmap
mmap基础概念1.mmap内存映射原理mmap是一种内存映射文件的方法,即将一个文件或者其他对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对应关系;实现这样的映射关系后,进程就可以采用指针的方式读写操作这一块内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而不必调用read,write等系统调用函数,相反,内核空间堆这段区域的修改也直接反应到...转载 2018-07-03 17:50:24 · 5637 阅读 · 0 评论 -
pthread_cond_signal
pthread_cond_broadcast, pthread_cond_signal - broadcast or signal a condition语法#include <pthread.h>int pthread_cond_broadcast(pthread_cond_t *cond);int pthread_cond_signal(pthread_cond_t ...原创 2018-07-17 11:20:11 · 8711 阅读 · 0 评论