博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《现代操作系统》2.1、进程
阅读量:5879 次
发布时间:2019-06-19

本文共 793 字,大约阅读时间需要 2 分钟。

进程:一个正在执行程序的实例(程序计数器、寄存器、变量当前值)


 

2.1.1、进程模型

一台多道程序计算机的内存中有4道程序

4道程序被抽象为4个各自拥有自己的控制流程

实际上只有一个物理计数器,所以每个程序运行时,它的逻辑程序计数器被装入实际的程序计数器中

在观察足够长的一段时间后,所有程序都运行了,但是在任意给定的瞬间仅有一个进程真正在运行

(一个CPU只能真正一次运行一个进程)


2.1.2、创建进程

4种主要事件导致进程的创建

1)系统初始化 2)执行了正在运行的进程所调用的进程创建系统调用 3)用户请求创建一个新的进程 4)一个批处理作业的初始化

新进程都是由一个已存在的进程执行了一个用于创建进程的系统调用而创建

fork:创建一个与调用进程相同的副本,有不同的地址空间。在调用fork之后,这两个进程拥有相同的存储映像,同样的环境字符串和同样的打开文件


 

2.1.3、进程终止

引起进程终止的条件

1)正常退出 2)出错退出 3)严重错误 4)被其他进程杀死


 

2.1.4、进程的层次结构

1)进程只有一个父进程(但是可以有0、1、多个子进程)

2)UNIX中,进程和它所有子女及后裔组成一个进程组(当前进程接收到的信号会传入进程组中的所有成员)


 

2.1.5、进程的状态

1)操作系统发现进程不能继续运行下去

2)系统认为一个运行进程占用处理器的时间已经过长,决定让其他进程使用CPU时间时

3)系统已经让所有其他进程享有了它们应有得公平待遇而重新轮到一个进程再次占用CPU运行时

4)当进程等待的一个外部事件发生时


2.1.6、进程的实现

操作系统维护着一个进程表


2.1.7、多道程序设计模型

p:一个进程等待I/O操作的时间与其停留在内存中的时间比

n:多道程序的道数

 

转载于:https://www.cnblogs.com/emrick/p/5747828.html

你可能感兴趣的文章
安装gulp及相关插件
查看>>
如何在Linux用chmod来修改所有子目录中的文件属性?
查看>>
Applet
查看>>
高并发环境下,Redisson实现redis分布式锁
查看>>
关于浏览器的cookie
查看>>
Hyper-V 2016 系列教程30 机房温度远程监控方案
查看>>
.Net 通过MySQLDriverCS操作MySQL
查看>>
JS Cookie
查看>>
ubuntu Unable to locate package sysv-rc-conf
查看>>
笔记:认识.NET平台
查看>>
cocos2d中CCAnimation的使用(cocos2d 1.0以上版本)
查看>>
【吉光片羽】短信验证
查看>>
MacBook如何用Parallels Desktop安装windows7/8
查看>>
gitlab 完整部署实例
查看>>
GNS关于IPS&ASA&PIX&Junos的配置
查看>>
七天学会ASP.NET MVC (四)——用户授权认证问题
查看>>
upgrade to iOS7,how to remove stroyboard?
查看>>
影响企业信息化成败的几点因素
查看>>
SCCM 2016 配置管理系列(Part8)
查看>>
zabbix监控部署
查看>>