初始操作系统之进程 | 您所在的位置:网站首页 › 2021ipad运行内存 › 初始操作系统之进程 |
操作系统*(英语:Operating System,缩写:OS)*是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序。 简单来说:操作系统是一个软件,是用来管理的,操作系统是位于软件硬件用户交互的媒介。 1.对下,管理硬件设备 2.对上提供稳定的运行环境 常见的操作系统: Windows:windows98, 2000, xp, vista,win7, win10, win11(普通人使用较多的操作系统) Linux: 适合开发和部署(程序员经常使用的系统) Mac: 苹果电脑的系统,和Linux有一些相似之处 还有一些手机上的系统;Android ,IOS等 硬件设备: 我们实体看得见摸得着的就是硬件设备,更通俗易懂的就是电脑后盖打开看到的都是。 驱动程序: 我们每台电脑的硬件都不一样,系统如何去识别这些硬件设备,硬件厂商在开发硬件的同时会给电脑装上驱动程序,方便操作系统去调用硬件系统。 操作系统内核: 是操作系统最主要最核心的部位,承上启下。 系统调用: 操作系统给应用程序提供的一些API接口。 应用程序:QQ,java,英雄联盟等等都是。 大概的流程就是,应用程序通过一些系统调用指令告诉操作系统内核,内核去调用驱动程序去操作硬件设备。 二、进程进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 简单来说进程就是一个正在运行的程序。 我们操作系统内核要对进程管理(描述 + 组织) 描述: 使用C语言的结构体(PCB 进程控制块) 来描述进程属性,至于为什么不使用java的类或者其他来描述,因为我们的操作系统基本都是用(C/C++)写的。 组织: 通过双链表来将多个PCB串起来,每创建一个进程(创建一个PCB对象插入到链表中),销毁一个进程(把链表中的PCB节点删除掉) PCB里面有哪些具体的属性呢? 1.pid: 进程的唯一标识表(类似于数据库的主键) 3.文件描述符表: 硬盘上的文件等其他资源 硬件资源: 内存,硬盘,网卡等这些资源对进程来说都比较好分配。 CPU资源不太好分配: 我们电脑可能进程有几十上百个,但是我们电脑的CPU(虽然现在电脑都是多核CPU),但是远不够这些进程去分配。 我们可以通过设备管理器去查看自己的电脑是几核的。 我们肯定是希望进程都是同时运行的,原因很简单"爽",同时运行可以简单的分为(并行和并发)。 并行: 同一时刻,两个核心上的进行是同时执行的(真正的同时运行)。 并发: 同一时刻,一个核心只能够运行一个进程,但是我们能够快速的切换(感官上的同时运行)。 比如在CPU的一个核心上,我们先运行一下CSGO,在运行一下英雄联盟,只要切换速度很快(3.1GHz,每秒25亿条指令),我们感官上觉得是在同时运行。 既然我们有这么多进程,那么就需要有人来管理,操作系统里有个调度器,负责让有限的CPU调度执行这些进程。 进程状态 就绪状态: 准备就绪,随时等待CPU调度执行。 运行状态: 正在CPU上实实在在运行 阻塞状态: 简单地说就是等待状态,短时间内无法在CPU上执行. 优先级 这么多进程,操作系统进行调度的时候,并不是完全平等,而是有一定的优先级的。 上下文 操作系统并发执行时,进程与进程切换的时候,如何恢复到之前的状态,就需要我们把进程的“中间状态"保存下来。实际上就是保存CPU各个寄存器中的值到内存中。 记账信息 操作系统,统计每个进程在CPU上的占用时间以及指令数目,来决定下一阶段如何调度。 内存管理我们程序中所获取的内存地址,不是硬件上真真实实的地址,而是进行一些计算之类出来的虚拟地址。 当我们操作系统内核发现转换后的地址超过了物理地址的访问返回,就会直接向进程返回一个错误,进而引发进程崩溃,这里的崩溃不会影响到其他进程。 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |