当前位置: 首页 > news >正文

进程(Process)和操作系统(Operation System)

操作系统

操作系统是计算机中最重要的一个软件。

市面上最常见的操作系统有:windows,Linux,MacOs,IOS,Android。

操作系统的作用

操作系统的作用通俗讲是搞管理,可以分为对上和对下:对上是要给软件提供一个稳定的运行环境(我们现在后台所运行的各种软件,都是在Windows这个操作系统之上所运行的);对下是管理所有的硬件设备。

操作系统的还一个重要工作是会让用问题的程序只影响自身,而不去影响别的程序。

操作系统如何进行管理

操作系统进行管理分为描述和组织。

描述:操作系统要进行管理硬件资源和软件资源,需要一些“结构体”进行描述硬件和软件的属性。

组织:把若干个对象通过数据结构串起来,方便后续的增删改查。

操作系统的BUG

操作系统也会遇到BUG,例如windows会出现蓝屏情况(Windows特有的情况),这就是操作系统中的驱动程序(在操作系统内部运行)出现bug,导致蓝屏。

进程(Process)

操作系统要管理的软件和硬件资源很多,但进程这一软件资源很重要。

”运行起来的程序“在计算机术语中叫进程,当运行一个程序(双击一个.exe),就会在操作系统中生成一个或多个进程,每个进程都要消耗一定的系统资源。

在操纵系统中,进程是资源分配的基本单位。

进程管理

操作系统会对进程进行管理。

描述:操作系统会通过一些结构体把一个进程的关键属性描述出来——PCB((Process Controtll Block)进程控制块)

组织:操作系统会通过一些数据结构(最典型是链表)将上面得结构体对象串起来(不可以使用数据库表示进程,数据库本质上是在操作系统上的一个软件,数据库是先有数据结构,再有数据库)。

那么所谓的创建进程:创建一个新的PCB对象,将它插入链表。

销毁进程:将链表上的PCB对象进行删除,释放。

进程使用CPU资源(进程调度)

并行:同一时刻,两个处理器核心,分别运行两个进程。

并发:一个处理器核心,通过”分时复用“的方式,运行两个进程。

CPU中的处理器在同一时刻,要处理两百个进程,所以操作系统在实际执行过程中会同时进行并行和并发。

进程PCB的关键属性

1)PID(进程的ID)

进程在系统上的身份表示,不会重复(当前计算机,同一时刻)。

2)内存指令(一组/多个)

进程在执行时,要申请一系列的内存资源,因此,操作系统就要能够知道,每个进程的整个内存空间中分成了哪几个区域,每个区域什么样的作用。而通过内存指针,操作系统就可以知道,哪里可以找到数据,哪里可以找到指令。

这里体现了进程使用”内存资源“。

3)文件操作符表

硬盘资源,也是重要的资源,操作系统通过”文件“进行管理硬盘,进程在使用某一文件时,就是在访问相应的硬盘空间。

进程进行访问文件,需要打开文件才能访问,那么如果打开成功,就会得到一个文件描述符,而一个进程在运行时会打开多个文件,就会得到多个文件描述符,这些文件描述符通过数组/顺序表就得到了文件操作符表。

体现了进程使用硬盘资源。

4)状态

有些进程不方便被CPU调度执行,有些方便。

状态有很多种,其中最重要的两个:

就绪状态:进程随时可以调度到CPU上。

阻塞状态:进程随时可以进行调度。

5)优先级

CPU给进程分配的资源不同。

6)上下文

一个进程在进行运行的时候,会有一系列的中间状态,当进程被从CPU上调度走时,就需要把这一中间结果保存,等下次进程重新回到CPU上时,就把中间状态恢复,继续执行,类似于”存档“。

7)记账信息

PCB会在记录该进程在过去在CPU上一共执行了多久/执行了多少次。

可以识别出是不是某个进程太久没在CPU上执行。

http://www.xdnf.cn/news/248527.html

相关文章:

  • ctfshow web入门 web46
  • 用spring-boot-maven-plugin打包成单个jar有哪些缺点优化方案
  • pandas读取Excel数据(.xlsx和.xls)到treeview
  • JavaScript如何实现类型判断?
  • C语言 指针(2)
  • spring-cloud-alibaba最新版本聚合项目创建
  • 机器学习Day15 LightGBM算法
  • 探秘数据结构:构建高效算法的灵魂密码
  • GD32F407单片机开发入门(二十二)红外避障传感器模块实战含源码
  • 项目经验不够被拒3次?
  • 电流测量 I/V转换
  • 前端vue3项目学习
  • python3基础
  • 数位 DP 的关键
  • ProCCD:复古CCD相机应用,重现经典胶片感
  • 2025年五一杯数学建模竞赛赛题浅析-助攻快速选题
  • 深入探讨宾馆一次性牙刷价格,市场价格区间差异大
  • esp32cam开发板的引脚使用和测试
  • 注册登录页面项目
  • dify+ollama+知识库 部署
  • 数字智慧方案6156丨智慧医联体信息化解决方案(50页PPT)(文末有下载方式)
  • 今天的python练习题
  • Spring AOP---面向切面编程由认识到使用
  • pycharm安装的插件怎么显示在右侧
  • 【无标题】四色拓扑收缩模型中环形套嵌结构的颜色保真确定方法
  • 【信息系统项目管理师-论文真题】2024上半年(第一批)论文详解(包括解题思路和写作要点)
  • C++11新特性_自动类型推导_decltype
  • Java内存对象实现聚合查询
  • Unity SpriteMask(精灵遮罩)
  • PMP-第八章 项目质量管理