进程管理
来源:互联网 发布:淘宝 购物 受伤 索赔 编辑:程序博客网 时间:2024/06/15 20:08
进程就是 a program in execution。
进程的运行由OS控制,包括如何分配存储资源和cpu。存储资源的分配包括代码区、数据区、堆栈区(理论上堆栈区可以达到4G)。
进程的运行过程通过PCB控制,存放运行中的所需要的一切的一切状态,包括process state:new------ready--------------running-------waiting-------terminated。
多个进程产生的多个PCB一般由数组实现(局部性原理),再用一指针指向所有ready的进程。
process creation:典型的树结构:command---》shell process-----》kernel;
process termination:写代码的return实际是返回OS,返回的值要自我约束,没有统一规范。
进程的基本原则是彼此分离,进程和进程的cooperation通过message passing(稍好)、shared memory实现。
c程序打出来的是虚拟地址,不是实际物理地址。
线程的基本原则是共享,除了id、register、stack。出现的最大的意义是,可以使用一个线程实现耗时操作,另一个线程实现对于用户的响应(android比ios耗时的原因?)
线程的实现可以由user thread或者kernel thread级实现,user级显然自我定制程度更好,不与kernel交互因此更有效率,而当一定要与kernel交互的时候,比如io操作,由于OS看到的其实只有一个thread,因此一个user thread阻塞整个都阻塞。
一些对比: 线程 进程
ie、FF chrome
IIS apache
线程能干的事肯定进程也能干,线程更效率,不管时间和空间;进程更稳定,但开销更大。至于安全,表面上看,进程更安全,但实际因素太多了。
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 进程管理
- 二分查找
- Linux 多线程同步(信号量)
- 通过配置Windows 防火墙允许使用TCP/IP协议远程访问数据库
- java字符串比较大小
- Eclipse加载全部的Ext卡死解决方法
- 进程管理
- jqgrid点空余地方保存编辑
- 发送邮件,支持群发,非常好用
- 如何进行shell脚本正确性测试
- c++中冒号(:)和双冒号(::)的用法和c/c++ 位域结构体
- java property 配置文件用法
- request获取客户端IP地址
- 其实while(1) 和for(;;)是有区别的(在vc++6.0进行测试)
- java mail 发送多个附件