计算机进程(一)

进程的创建

进程的生存期都基于进程的创建和终止。
当一个新进程被添加到那些正在被管理的进程集合中去时,操作系统需要建立用于管理该进程的数据结构,并在内存中给它分贝地址空间。这是新进程的创建过程。

  • 导致进程创建的4个事件
事件 描述
1.新的批处理作业 位于磁盘中的批处理作业控制流被提供给操作系统,当其接纳新工作时,它将读取下一个作业控制命令
2.交互登录 终端用户登录到系统
3.操作系统因提供一项服务而创建 操作系统可以创建一个进程,代表用户程序执行一个功能,使用户无需等待
4.由现有的进程派生 基于模块化考虑,或为了开发并行性。用户程序可指示创建多个进程

进程终止  

  • 导致进程终止事件
事件 描述
1.正常完成
2.超过时限
3.无可用内存
4.越界 进程试图访问不允许访问的内存单元
5.保护错误 进程试图使用不允许使用的资源或文件,或以一种不正确的方式使用(如往只读文件中写)
6.算数错误 进程试图进行被禁止的计算,除以零或存储大于硬件可接纳的数字
8.I/O失败 输入和输出期间发生错误,如找不到文件,超过最多次数仍读写失败,或无效操作(从打印机读、磁盘坏区)
9.无效指令 进程试图执行一个不存在的指令
10.特权指令 进程试图使用为操作系统保留的指令
11.数据误用 错误类型或未初始化的一块数据
12.操作员或操作系统干涉 由于某些原因(存在死锁)
13.父进程终止 终止时,操作西永可能终止该进程的所有后代进程
14.父进程请求 父进程通常有终止任何后代进程的权力

五状态进程模型

这里写图片描述
1. 新建态:刚创建的进程,操作系统还没有把它加入到可执行进程组中,通常是进程控制块已经创建但还没有加载到内存中的新进程
2. 就绪态:进程已经做好准备,只要有机会就开始执行。
3. 阻塞态:进程在某些事情发生前不能执行,如I/O操作完成。
4. 运行态:该进程正在执行,计算机只有一个处理器,那一次最多就只有一个进程处于此状态。

排队模型

这里写图片描述
阻塞队列处可有多个事件并发等待

有挂起状态的进程状态转换图

  • 挂起态: 内存中所有进程都处于阻塞状态时,操作系统可以把其中一个进程置于挂起态,并将它转移到磁盘中,内存中释放的空间可被调入的另一个进程使用。
  • 单个挂起:
    这里写图片描述
  • 两个挂起态:
    这里写图片描述
    1. 阻塞/挂起态:进程在外存中,并等待一个事件
    2. 就绪/挂起态:进程在外存中,只要被载入内存就可执行
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载哦。 https://blog.csdn.net/a464700300/article/details/53200978
上一篇链接点以及链表实现
下一篇计算机进程(二)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭