操作系统8-进程和系统调度(I)
2015-11-15 13:49
232 查看
什么叫进程
一个进程就是程序运行的实体。程序运行实体需要他自己的资源:栈,堆,等。在一些操作系统进程叫任务(tasks).在程序执行当中,进程是有多种状态的。一个进程可以有它的优先度。一个进程有他得地址空间,例如windows
给进程4gb空间(划分给不同的用户)。
当程序执行,一个进程会由以下段(segments):
程序代码(代码段)
数据段
栈
寄存器
包括(程序计算器和CPU数据寄存器)
总体来说,进程是在运行时数据、资源和状态的信息。多线程编程要求一个进程可以在适当的时间被分配和取消分配到CPU。因此操作系统需要一个系统调度来实现这个需求。系统调度就是负责分配进程资源。
进程调度(Process Scheduling)
最大的发挥CPU的功效是多线程编程的目的。操作系统有很多组件去实现这个目的。第一个主要的组件是作业调度程序(Job
scheduler).作业调度程序就是一个程序当系统资源已经被占满时,把作业(job)塞进队列里。
进程控制块(Processcontrol blocks, PCBs)
每个进程的状态都用进程控制块来表现。进程控制块用来记录进程在生命周期中(初始化,创建,运行等)的状态信息。记录信息是比较重要,因为CPU是共享给所有任务的。当任务切换是,需要上下文切换(context
switches),PCB的作用显现出来了。
PCB的结构包括:
进程状态(process state),可以是new、ready、running、waiting或
blocked等
程序计数器(Program counter),接着要运行的指令地址。
CPU寄存器,
主要用途在于中断时暂时存储数据,以便稍后继续利用;其数量及类因电脑架构有所差异。
CPU排班法,优先级、排班队列等指针以及其他参数
存储器管理,如标签页表等。
会计信息:如CPU与实际时间之使用数量、时限、账号、工作或进程号码。
输入输出状态,打开文件,以分配的资源和其他占有的资源的列表,
(电脑的进程),
http://www.dnxxj.com/questions/2ca21a1b68943ed/%E7%94%B5%E8%84%91%E8%BF%9B%E7%A8%8B.html
(关于进程的异步性),
http://www.dnxxj.com/questions/2ca7536da29aa43/%E5%85%B3%E4%BA%8E%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%BC%82%E6%AD%A5%E6%80%A7.html
(进程调度策略),
http://www.dnxxj.com/questions/4769ac8927a741/%E8%BF%9B%E7%A8%8B%E8%B0%83%E5%BA%A6%E7%AD%96%E7%95%A5.html
(作业调度和进程调度的区别),
http://www.dnxxj.com/questions/47577be9b566cc/%E4%BD%9C%E4%B8%9A%E8%B0%83%E5%BA%A6%E5%92%8C%E8%BF%9B%E7%A8%8B%E8%B0%83%E5%BA%A6%E7%9A%84%E5%8C%BA%E5%88%AB.html
(进程控制块),
http://baike.baidu.com/link?url=DXTZN5Y0qXulym_YLOv2pl8CXT3VJGgTAzIB3EbGPKw5UxW2Grvq2D2hypsXc7emoV_fgHvtJfQF2SJ54KP9va
一个进程就是程序运行的实体。程序运行实体需要他自己的资源:栈,堆,等。在一些操作系统进程叫任务(tasks).在程序执行当中,进程是有多种状态的。一个进程可以有它的优先度。一个进程有他得地址空间,例如windows
给进程4gb空间(划分给不同的用户)。
当程序执行,一个进程会由以下段(segments):
程序代码(代码段)
数据段
栈
寄存器
包括(程序计算器和CPU数据寄存器)
总体来说,进程是在运行时数据、资源和状态的信息。多线程编程要求一个进程可以在适当的时间被分配和取消分配到CPU。因此操作系统需要一个系统调度来实现这个需求。系统调度就是负责分配进程资源。
进程调度(Process Scheduling)
最大的发挥CPU的功效是多线程编程的目的。操作系统有很多组件去实现这个目的。第一个主要的组件是作业调度程序(Job
scheduler).作业调度程序就是一个程序当系统资源已经被占满时,把作业(job)塞进队列里。
进程控制块(Processcontrol blocks, PCBs)
每个进程的状态都用进程控制块来表现。进程控制块用来记录进程在生命周期中(初始化,创建,运行等)的状态信息。记录信息是比较重要,因为CPU是共享给所有任务的。当任务切换是,需要上下文切换(context
switches),PCB的作用显现出来了。
PCB的结构包括:
进程状态(process state),可以是new、ready、running、waiting或
blocked等
程序计数器(Program counter),接着要运行的指令地址。
CPU寄存器,
主要用途在于中断时暂时存储数据,以便稍后继续利用;其数量及类因电脑架构有所差异。
CPU排班法,优先级、排班队列等指针以及其他参数
存储器管理,如标签页表等。
会计信息:如CPU与实际时间之使用数量、时限、账号、工作或进程号码。
输入输出状态,打开文件,以分配的资源和其他占有的资源的列表,
(电脑的进程),
http://www.dnxxj.com/questions/2ca21a1b68943ed/%E7%94%B5%E8%84%91%E8%BF%9B%E7%A8%8B.html
(关于进程的异步性),
http://www.dnxxj.com/questions/2ca7536da29aa43/%E5%85%B3%E4%BA%8E%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%BC%82%E6%AD%A5%E6%80%A7.html
(进程调度策略),
http://www.dnxxj.com/questions/4769ac8927a741/%E8%BF%9B%E7%A8%8B%E8%B0%83%E5%BA%A6%E7%AD%96%E7%95%A5.html
(作业调度和进程调度的区别),
http://www.dnxxj.com/questions/47577be9b566cc/%E4%BD%9C%E4%B8%9A%E8%B0%83%E5%BA%A6%E5%92%8C%E8%BF%9B%E7%A8%8B%E8%B0%83%E5%BA%A6%E7%9A%84%E5%8C%BA%E5%88%AB.html
(进程控制块),
http://baike.baidu.com/link?url=DXTZN5Y0qXulym_YLOv2pl8CXT3VJGgTAzIB3EbGPKw5UxW2Grvq2D2hypsXc7emoV_fgHvtJfQF2SJ54KP9va
相关文章推荐
- web开发启示录(不定期更新)
- Matlab功能妙用——鼠标标记
- Mesos Task Killed by OOM Killer
- 杭电acm1087
- android studio安装过程中常见错误
- 动手动脑:成绩
- 编程基础知识之语言特性
- java中多条件与不定条件查询
- 《More Effective C++ 》笔记
- 前端已不止于前端-序章
- 嵌入式软件工程师经典笔试题
- Javascript异步流程控制之Promise(3)-ES6原生Promise简介
- Missing Number
- Android 向左向右滑动销毁(finish)Activity, 随着手势的滑动而滑动的效果
- 一道js面试题引发的思考
- linux权限问题总结
- 关于在 mac上配置pytesseract的相关问题
- Angular黑科技之transclude
- 复数类的完善版
- Javascript异步流程控制之Promise(2)-Angular $q源码解读