当前位置:首页 > > strongerHuang
[导读]关注、 星标公众号,不错过精彩内容 作者:Cyapirear 来源:华为开发者论坛 0 1 操作系统是什么 操作系统(Operation System,OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的

关注、 星标公众,不错过精彩内容

作者:Cyapirear

来源:华为开发者论坛


0 1

操作系统是什么

操作系统(Operation System,OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。操作系统也是用户与计算机硬件系统之间的接口,同时也是计算机硬件和其他软件的接口。


0 2


操作系统发展历程

  • 手工阶段

  • 单道批处理系统

  • 多道批处理系统

  • 分时操作系统

  • 实时操作系统

  • 网络操作系统和分布式操作系统,两者的不同之处在于:

  • 在分布式操作系统中,若干台计算机相互协同完成同一任务。

  • 在网络操作系统中,每台计算机都是相互独立的,它们并不能相互协同完成同一任务。


03

操作系统中的基本概念

  • CPU(Central Processing Unit,中央处理器)

是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心   (Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。
  • 进程

可以认为是程序执行时的一个实例。进程是系统进行资源分配的独立实体,且每个进程拥有独立的地址空间。比如打开一个浏览器就是启动一个浏览器进程,打开两个记事本就启动了两个记事本进程。

  • 进程控制块(ProcessControl Block,PCB

保存运行期间进程的数据,PCB是进程存在的唯一标志。进程=程序+数据+PCB。

  • 线程

    可以理解为“轻量级进程”,是CPU调度的基本单元,也是程序执行流的最小单元,由线程ID、程序计数器、寄存器集合和堆栈组成。在一个进程内部,可能要同时干多件事,这时就需要同时运行多个“子任务”,我们可以把这些“子任务”称为线程。线程属于进程,是进程的一个实体。如果把进程比喻为工厂,线程就相当于工厂里的各个流水线。

  • 线程控制块(ThreadControl Block,TCB)

保存运行期间线程的数据,TCB是线程存在的唯一标志。

  • 线程和进程的区别

进程是资源分配和调度的一个独立单元,而线程只是CPU调度的基本单元。线程自己不拥有系统资源,但它可以与同属一个进程的其他线程共享进程所拥有的全部资源(寄存器、堆栈、上下文)。一个进程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行。一个进程至少包括一个线程。进程结束后它拥有的所有线程都将销毁,而线程的结束不会影响同个进程中的其他线程的结束。

  • 多线程

指从软件或者硬件上实现多个线程并发执行的技术。
  • 并发

两个或多个事件在同一时间内发生,在单CPU系统中,这些事件分时交替执行。

  • 并行

两个或多个事件在同一时刻发生。在多处理器中,进程可以交替执行,还能重叠执行,实现并行处理。

  • 临界资源

    一次仅允许一个进程使用的资源,如 打印机。

  • 临界区

    每个进程中访问临界资源的那段代码。

  • 互斥

    进程之间访问临界资源时相互排斥的现象。

  • 同步

进程之间 存在依赖关系,一个进程结束的输出作为另一个进程的输入。具有同步关系的一组并发进程之间发送的信息称为消息。
  • 异步

    和同步相对,同步是顺序执行,而异步是彼此独立,在等待某个事件的过程中继续做自己的事,不需要等待这一事件完成后再工作。实现异步可以采用多线程技术或者交给其他进程来处理。

  • 中断

    当出现需要时,CPU暂停执行当前程序,转而执行新程序的过程。即在程序运行过程中,系统出现了一个必须由CPU立即处理的事务。此时,CPU暂时中止当前程序的执行转而处理这个事务,这个过程就叫做中断。


04

CPU的工作状态

大多数计算机系统将CPU执行状态分为管态与目态。

  • 管态

supervisor(管理者)mode,又叫特权态、系统态或者内核态。CPU在管态下可以执行指令系统的全集。如果程序处于管态,则该程序就可以访问计算机的任何资源,即它的资源访问权限不受限制。通常,操作系统在管态下运行。
  • 目态

object(目标)mode又叫常态或用户态。处于目态时,程序只能执行非特权指令,不能直接使用系统资源,也不能改变CPU的工作状态,并且只能访问这个用户程序自己的存储空间。
  • 为什么叫object mode呢?

通常CPU会执行两种不同性质的程序:一种是操作系统内核程序;另一种是用户自己写的程序或系统外层的应用程序。

对操作系统而言,这两种程序的作用不同,前者是后者的管理者,因此“管理程序”要执行一些特权指令,而“被管理程序”出于安全考虑不能执行这些指令。因为管理者需要管理它,它就是管理者的管理目标,所以就叫object mode。

  • 目态(用户态)→管态(内核态)

从用户态切换到内核态,可以通过系统调用、异常、外部设备的中断这三种方式实现。

  • 系统调用

这是用户态进程主动要求切换到内核态的一种方式,用户态进程通过系统调用申请使用操作系统提供的服务程序完成工作。系统调用机制的核心是使用了操作系统为用户开放的中断。

  • 异常

当CPU在执行用户态程序时,发生了某些事先不可知的异常,这时就会切换到处理此异常的内核程序中,也就转到了内核态。

  • 外部设备的中断

当外部设备完成用户请求操作后,会向CPU发出相应的中断信号,这时CPU会暂停执行下一条即将要执行的指令,转而去执行与中断信号对应的处理程序(该程序在内核态),如果先前执行的指令是用户态下的程序,那么这个转换的过程自然也就发生了由用户态到内核态的切换。例如,硬盘读写操作完成,系统会切换到硬盘读写的中断处理程序中,执行后续的操作。


05

操作系统的特征

  • 并发

    两个或者多个程序在同一时间内发生。

  • 共享

    系统中的资源可供内存中多个并发执行的进程共同使用。

  • 虚拟

    把一个物理上的实体变为若干个逻辑上的对应物。

  • 异步

    在多道程序环境下,允许多个进程并发执行,但因资源有限,进程的执行不是一贯到底,而是走走停停,以不可预知的速度向前推送,这就是进程的异步性。


免责声明: 本文素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。

推荐阅读:
几种常见的校验算法
微软发布更强的 Terminal 2.0路线图
分享一篇专治MCU各种 HardFault 的库

关注 微信公众号『strongerHuang』,后台回复“1024”查看更多内容,回复“加群”按规则加入技术交流群。


长按前往图中包含的公众号关注

免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭