抽象的操作系统(八) --- 进程
来源:互联网 发布:java开源流媒体服务器 编辑:程序博客网 时间:2024/06/05 12:01
进程是程序的一个运行实体,它有自己的运行时堆栈和运行时的数据值,同时也作为操作系统调度的基本单位。每个进程有自己的PCB,即进程控制块。
1). 进程的状态。作为被调度的对象,进程在不同的时期有不同的状态,诸如就绪,挂起,恢复,运行,退出。这样, 操作系统就有完成多任务这样的能力了,比如可以后台挂QQ前台手机浏览器上网,也可以来电话的时候浏览器进入进入暂停状态。不论是类似于BREW的协作式多任务,还是Android这样的真正的多进程环境,都提供了多任务机制,而大家在不同的平台上,也要能根据它们的调度机制,来进行不同的处理。
2). 进程的装载。程序文件是怎么被装入执行的呢?从软件角度上讲,有两个问题:一是平台如何调用程序里的函数,二则是程序如何调用平台的函数。如果又将程序编译成可以动态加载的,那么只要解决了上述两个问题,那么程序就能够被加载和运行了。这个也是很多中间件平台(比如MTK上的中间件, BREW的MOD,浏览器的插件)加载执行的原理。
3). 进程的互斥与协作。多任务的时候,对于临界资源的竞争,造成了进程的互斥;而进程对彼此之间运行结果的需要,则又造成了它们之间的协作。操作系统一般会提供类似于锁,信号量这样的原子接口,来让程序编写人员对多任务进行合理的调度。但是大多数情况下,进程之间是并发(多核则是并行)执行的。
4). 进程与线程。线程是更小的调度单位,它与进程不同的是:同一进程内部的所有线程共享数据空间,只是指令的执行可以向进程一样可以并发执行, 并且线程切换开销更小,它在很多场合起着非常重要的作用。
1). 进程的状态。作为被调度的对象,进程在不同的时期有不同的状态,诸如就绪,挂起,恢复,运行,退出。这样, 操作系统就有完成多任务这样的能力了,比如可以后台挂QQ前台手机浏览器上网,也可以来电话的时候浏览器进入进入暂停状态。不论是类似于BREW的协作式多任务,还是Android这样的真正的多进程环境,都提供了多任务机制,而大家在不同的平台上,也要能根据它们的调度机制,来进行不同的处理。
2). 进程的装载。程序文件是怎么被装入执行的呢?从软件角度上讲,有两个问题:一是平台如何调用程序里的函数,二则是程序如何调用平台的函数。如果又将程序编译成可以动态加载的,那么只要解决了上述两个问题,那么程序就能够被加载和运行了。这个也是很多中间件平台(比如MTK上的中间件, BREW的MOD,浏览器的插件)加载执行的原理。
3). 进程的互斥与协作。多任务的时候,对于临界资源的竞争,造成了进程的互斥;而进程对彼此之间运行结果的需要,则又造成了它们之间的协作。操作系统一般会提供类似于锁,信号量这样的原子接口,来让程序编写人员对多任务进行合理的调度。但是大多数情况下,进程之间是并发(多核则是并行)执行的。
4). 进程与线程。线程是更小的调度单位,它与进程不同的是:同一进程内部的所有线程共享数据空间,只是指令的执行可以向进程一样可以并发执行, 并且线程切换开销更小,它在很多场合起着非常重要的作用。
- 抽象的操作系统(八) --- 进程
- 操作系统(八)--------线程的引入
- 抽象的操作系统(一) --- 前言
- 抽象的操作系统(二) --- GDI
- 抽象的操作系统(四) --- 文件
- 抽象的操作系统(五) --- 内存
- 抽象的操作系统(六) --- 网络
- 抽象的操作系统(七) --- 程序
- 抽象的操作系统(九) --- 硬件系统
- 操作系统(八)
- 操作系统的三个抽象概念
- (八)抽象工厂模式
- 漫谈-----抽象类与接口的应用(八)
- 一个操作系统的实现(8):进程
- 进程间的同步(操作系统)
- 操作系统(四)-------进程的基本概念
- 操作系统(七)-----进程的一些基本概念
- 操作系统的进程管理
- C语言之strspn函数
- log4j集成syslog配置说明
- 了解MVC原理
- http://www.56ui.com/blog/article.asp?id=128
- 线程(三)---锁机制
- 抽象的操作系统(八) --- 进程
- 丛库切换主库
- RTOS最新资料大全
- j2ee项目中获取ip地址
- RTMP Server不只是FMS,还有很多其他选择
- 无法加载 DLL“oramts.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。" —— 的解决方案
- 用C语言实现Ping程序功能
- <location allowOverride="false">
- AIR 3.5 使用 GoViral 本地扩展实现 iOS 6 社交网络功能