操作系统-预习笔记-Chap02-0203

2.2进程的描述
2.2.4进程管理中的数据结构

1、进程控制块的作用
存放进程管理和控制信息的数据结构称为进程控制块。
它是进程管理和控制的最重要的数据结构,在创建时,建立PCB,并伴随进程运行的全过程,直到进程撤销而撤销。类似于我们的户口一样。所以,PCB是进程存在的唯一标志。
在内存中有一块区域,称作PCB区,系统的所有PCB组织成链表或队列驻存在哪里。
2、进程控制块中的信息
1)进程标识符【每个进程都必须有一个唯一的标识符】
标识符又分为:内部标识符 和 外部标识符
2)处理机状态
处理机状态信息主要由处理机的各种寄存器中的内容组成。处理机运行时的信息存放在寄存器中,当被中断时这些信息要存放在PCB中。
包括:通用寄存器 ;指令计数器 ;程序状态字PSW ;用户栈指针
3)进程调度信息
包括:进程状态 ;进程优先级 ;进程调度所需的其他信息 ;事件
4)进程控制信息
包括:进程和数据的地址 ;进程通信和同步机制 ;资源清单 ;连接指针
3、进程控制块的组织方式
1)线性方式
2)链接方式
把具有同一状态的PCB用其中的链接字链接成一个对列
在这里插入图片描述
3)索引方式
系统根据所有进程的状态建立几张索引表,把各表的内存首地址记录在内存的专用欧冠单元中。索引表的表目中记录了相应的某个PCB在PCB表中的地址。
在这里插入图片描述

2.3进程控制
2.3.1 操作系统的内核

下述概念来自百度百科:

内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。
“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。一套基于Linux内核的完整操作系统叫作Linux操作系统,或是GNU/Linux。
内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。直接对硬件操作是非常复杂的,所以内核通常提供一种硬件抽象的方法来完成这些操作。硬件抽象隐藏了复杂性,为应用软件和硬件提供了一套简洁,统一的接口,使程序设计更为简单。
严格地说,内核并不是计算机系统中必要的组成部分。程序可以直接地被调入计算机中执行,这样的设计说明了设计者不希望提供任何硬件抽象和操作系统的支持,它常见于早期计算机系统的设计中。最终,一些辅助性程序,例如程序加载器和调试器,被设计到机器核心当中,或者固化在只读存储器里。这些变化发生时,操作系统内核的概念就渐渐明晰起来了。

可以将操作系统的内核大致理解为操作系统的管家,恩,应该可以这么理解~~~~再听老师讲吧

2.3.2 进程的创建

在躲到程序环境中,只有进程才能在系统中运行,例如:用户登录;作业调度;提供服务;应用请求等事件都可以引起创建进程。操作系统发现要求创建新进程的事件后,调用进程创建原语Creat()创建进程。

进程创建的过程
申请空白进程控制块 -> 为新进程分配资源 -> 初始化进程控制块 -> 将新进程插入就绪队列

2.3.3 进程的终止

有进程的创建就有进程的终止,常引起进程终止的事件有:
1)正常结束
2)异常结束 例如:越界错误;非法指令 等。
3)外界干预 例如:操作员或操作系统干预;父进程请求;父进程终止

进程终止的过程
找出被终止进程的进程控制块 ->若进程状态为运行态,置CPU调度标志为真->若其有子孙进程,终止其子孙进程并回收其资源->回收终止进程的资源->回收终止进程的PCB

2.3.4 进程的阻塞与唤醒

引发进程阻塞和唤醒的事件:
1)请求系统服务 2)启动某种操作
3)新数据尚未到达4)无新工作可做

进程阻塞过程:
调用阻塞原语阻塞自己->将PCB中的状态改为阻塞,并加入阻塞队列->转进程调度

当阻塞进程等待的时间发生,有关进程调用唤醒原语唤醒等待该事件的进程。
进程唤醒过程:
把阻塞进程从等待该事件的阻塞队列中移出-> 置进程状态为就绪态,将PCB插入到就绪队列中

2.3.5 进程的挂起与激活

进程的挂起过程:
检查被挂起进程的状态:
若 处于活动就绪,则改为静止就绪;
若 处于活动阻塞,则改为静止阻塞;
若 挂起的进程正在执行,则重新进行进程调度

进程的激活过程:
激活原语先将进程从外存调入内存;
检查该进程的状态:
若 为静止就绪,则改为活动就绪;
若 处于静止阻塞,则改为活动阻塞。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值