首页 > 代码库 > Modern Operating Systems(Ⅰ)——2014.12.15
Modern Operating Systems(Ⅰ)——2014.12.15
进程
进程模型
进程就是一个正在执行的程序的实例
值得注意的是,若一个程序运行了两遍,则算作两个进程
创建进程
在通用系统中,有四种主要事件导致进程的创建
①系统的初始化
②执行了 正在运行的进程 所调用的 进城创建系统调用
③用户请求创建一个新进程
④一个批处理作业的初始化
进程的状态
运行态(该时刻进程实际占用CPU)
就绪态(可运行,但因为其他进程正在运行而暂时停止)
阻塞态(除非某种外部事件发生,否则进程不能运行)
在Operating Systems Concept中还提到了new,terminated两种状态
※进程的实现(PCB)
PCB(进程控制块) | |
Process state | running,waiting |
Program counter | 指示该进程将要执行的下一条指令的地址 |
CPU registers | 累加器(accumulators)、索引寄存器(index registers)、栈指针(stack pointers)、通用寄存器(general-purpose registers)等等 |
CPU scheduling information | 进程优先级(priority)、调度队列指针及其他调度参数 |
Memory-management information | base and limit registers的值, 页表或段表(page tables, or segment) |
Accounting information | CPU used, clock time elapsed since start, time limits |
I/O status information | the list of I/O devices allocated to this process, a list of open files, and so on |
线程
线程的使用
为什么在进程之下使用线程?
因为有了进程的抽象概念 我们得以不必考虑中断 定时器 上下文切换 类似的 正因为有了线程的抽象概念 我们得以加入了一个新的元素 并行实体共享同一个地址空间和所有可用数据的能力 而这是多进程模型(它们具有不同地址空间)所无法表达的
Modern Operating Systems(Ⅰ)——2014.12.15
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。