码迷,mamicode.com
首页 >  
搜索关键字:用户态 内核态    ( 1022个结果
操作系统: 用户级线程和内核级线程
1.内核级线程:切换由内核控制,当线程进行切换的时候,由用户态转化为内核态。切换完毕要从内核态返回用户态;可以很好的利用smp,即利用多核cpu。windows线程就是这样的。2. 用户级线程内核的切换由用户态程序自己控制内核切换,不需要内核干涉,少了进出内核态的消耗,但不能很好的利用多核Cpu,目...
分类:编程语言   时间:2015-08-25 23:04:21    阅读次数:156
深入理解Linux内核-回收页框
Linux 系统在为用户态进程和内核分配动态内存的时候,所作的检查是马马虎虎的对内核使用的许多磁盘高速缓存和内存高速缓存大小也同样不作限制。页框回收算法(PFRA):1、在所有内存使用完之前,就必须执行页框回收算法2、选择目标页,它获取页框,并且使之空闲3、候选回收页:任何属于磁盘和内存高速缓存的页...
分类:系统相关   时间:2015-08-21 17:04:40    阅读次数:177
深入理解Linux内核-信号
信号:1、最初被引入作为用户态进程间通信2、内核也使用信号通知进程系统所发生的事件3、信号很短,发送给进程的唯一信息通常是一个数。4、名称通常以SIG为前缀5、信号时可消费资源,每个信号只能被传递一次使用信号的目标:1、让进程知道已经发送了一个特定的事件2、强迫进程执行它自己代码中的信号处理程序。信...
分类:系统相关   时间:2015-08-17 17:17:06    阅读次数:162
深入理解Linux内核-系统调用
系统调用:用户态进程向内核发出的,实现用户态进程调用硬件设备的函数或者中断;优点:使编程更容易,将用户从学习硬件设备的低级编程特性中解放;提高系统到安全性,内核在满足请求之前可以做正确性检查;提高可移植性;系统调用与API调用的区别:1、API调用是一个函数定义;系统调用是通过软中断向内核发出的明确...
分类:系统相关   时间:2015-08-13 11:24:27    阅读次数:131
linux系统读磁盘文件过程发生的事。
read过程 :磁盘数据——>内核态缓冲区(内核态数据可能写回磁盘)——>用户态缓冲区(用户态数据可能被交换到交换区或写回到内核态缓冲区) 一个用户态进程 会有一个文件描述符数组,进程每次open一个文件就会在数...
分类:系统相关   时间:2015-08-12 19:56:10    阅读次数:160
windows 下一个进程能开多少个线程
进程里面创建线程数收到总线的限制,32位最多只能访问4G内存,其中2G为用户态使用;而每个线程都有自己的栈大小;测试发现使用createthread创建线程;当栈设置为1M时,只能开大约1426个线程;当设置为512k时,可以开2244个线程,设置为256k时,可以开3122个线程,所以在我们做sock通信服务器时,需要注意,如果一个客户端 connect进来,就用一个线程对它进程处理的话,服务端...
分类:编程语言   时间:2015-08-12 19:30:04    阅读次数:138
进程03
每个进程都有一组相关的资源限制来指定进程能使用的系统资源数量 对当前进程的资源限制存放在current->signal->rlim字段 rlim_cur字段是资源的当前资源限制 进程恢复执行前必须装入寄存器的一组数据称为硬件上下文 进程切换只发生在内核态,在执行进程切换之前,用户态进程使用的所有寄存器内容都意已保存在内核态堆栈上 每个进程切换由两部分组成: 切换页全局目录以安装一个新的...
分类:系统相关   时间:2015-07-31 18:40:52    阅读次数:142
linux内核之accept实现
用户态对accept的标准用法: if ((client_fd = accept(sockfd, (struct sockaddr *)&remote_addr, &sin_size)) == -1) { //accept()函数让服务器接收客户的连接请求 perror("accept Error\...
分类:系统相关   时间:2015-07-30 12:56:35    阅读次数:450
epoll对poll(select)的改进
select的几大缺点:每次调用select,都需要把fd集合从用户态拷贝到内核态,这个开销在fd很多时会很大;每次调用select,内核需要遍历传递进来的所有fd(判断检测文件是否可用)。有时只有部分连接是“活跃”的,但是select/poll每次调用都会线性扫描全部的集合;select支持的文件...
分类:其他好文   时间:2015-07-30 12:44:57    阅读次数:117
【linux高级程序设计】(第十一章)System V进程间通信 4
共享内存共享内存主要用于实现进程间大量数据传输。共享内存的数据结构定义:系统对共享内存的限制:共享内存与管道的对比:可以看到,共享内存的优势:1.共享内存只需复制2次,而管道需要4次2.共享内存不需要切换内核态与用户态,而管道需要。共享内存效率高!int shmget (key_t __key, s...
分类:系统相关   时间:2015-07-30 00:21:13    阅读次数:284
1022条   上一页 1 ... 76 77 78 79 80 ... 103 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!