调度程是内核的组成部分,它负责选择下一个要运行的进程。进程调度程序可看作在可运行态进程之间分配有限的处理器时间的内核子系统。Linux是一个多任务操作系统,只有通过调度程序的合理调度,系统资源才能最大限制的发挥作用,多进程才会有并发执行的效果。多任务操作系统分为..
分类:
系统相关 时间:
2014-09-07 18:40:05
阅读次数:
245
MINIX3 内核整体架构回顾及内核定 性分析 12.1 注意事项 由于本文档不对 I/O 文件系统做出分析,所以在此不对 MINIX3 整体做出一个分 析,本章主要是针对内核进程分析.并且这里的模型建立是非常理想化的。 12.2 MINIX3 架构 MINIX3 的设计理念就是设计一个比当前主流的...
分类:
其他好文 时间:
2014-08-22 16:13:39
阅读次数:
291
进程的管理与调度
进程管理
进程描述符及任务结构
进程存放在叫做任务队列(tasklist)的双向循环链表中。链表中的每一项包含一个具体进程的所有信息,类型为task_struct,称为进程描述符(process descriptor),该结构定义在文件中。
Linux通过slab分配器分配task_struct结构,这样能达到对象复用和缓存着色(cache colorin...
分类:
系统相关 时间:
2014-08-09 13:29:07
阅读次数:
993
进程:
传统上,Linux操作系统下运行的应用程序,服务器和其他程序都称为进程。当然进程不仅仅表示一段处于执行期的可执行代码,还包括其他资源,例如打开的文件,挂起的信号和内核内部数据等。其实还有个概念叫,线程或者说轻量级进程,不过在Linux中线程和进程其实是类似的。可以把线程看做和其他进程共享某些数据和资源的进程。
进程的表示:
通常进程是由一个叫task_struct的结构表示的,或者叫...
分类:
系统相关 时间:
2014-08-01 23:15:23
阅读次数:
442
1.概述 共享内存区是IPC中最快的,当内存区映射到共享它的进程的地址空间,进程间数据的传递就不再涉及内核。 但是这需要某种形式的同步,最常用的是信号量。 不再涉及内核:进程不再通过执行任何进入内核的系统调用来彼此传递数据。内核必须建立允许各个进程共享该内存区的内存映射关系,然后一值管理该内存区。 ...
分类:
其他好文 时间:
2014-08-01 22:48:02
阅读次数:
299
写在前面:
在Linux的内核的五大组成模块中,进程管理模块时非常...
分类:
系统相关 时间:
2014-07-22 14:07:57
阅读次数:
290
进程ID每一个进程都有一个唯一的进程ID。几个特殊进程:0号进程是内核进程,一般是调度进程swapper。1号进程init,是用户进程(以root权限执行/sbin/init),负责初始化。几个重要函数:getpid(进程ID)/getppid(父进程ID)/getuid(进程真有用户ID)/get...
分类:
其他好文 时间:
2014-07-07 21:08:38
阅读次数:
151
每一个进程(包括普通进程和内核进程)的地址空间都分为用户地址空间和内核地址空间两部分,在32位的x86机器上,用户地址空间的范围是0~3G,内核
地址空间的范围是3G~4G.对于不同的进程,其用户地址空间会随着进程不同而不同,但所有进程的内核地址空间则都是一样的。对于内核进程,由于其始终运 行在内核...
分类:
其他好文 时间:
2014-06-02 18:23:58
阅读次数:
330
在多任务操作系统中,每个进程都运行在属于自己的内存沙盘中。这个沙盘就是虚拟地址空间(Virtual Address
Space),在32位模式下它是一个4GB的内存地址块。在Linux系统中,
内核进程和用户进程所占的虚拟内存比例是1:3,而Windows系统为2:2(通过设置Large-Add.....
分类:
系统相关 时间:
2014-05-29 00:10:54
阅读次数:
416
SocketServer
TCPServer,UDPServer,UnixStreamServer,UnixDatagramServer...
分类:
编程语言 时间:
2014-05-24 22:03:54
阅读次数:
424