操作系统基本概念

操作系统基本概念

文章目录

  • 操作系统基本概念
    • 一、操作系统定义
    • 二、操作系统的功能与目标
    • 三、操作系统的四个特征
    • 四、操作系统的运行机制和体系结构
      • 4.1 操作系统的运行机制
      • 4.2 操作系统的体系结构
    • 五、中断和异常
      • 5.1 中断的概念和作用
      • 5.2 中断的分类
      • 5.3 外中断的处理过程
    • 六、系统调用

一、操作系统定义

具体来说:

  现代计算机系统由一个或多个处理器、主存、磁盘、打印机、磁盘、鼠标、显示器以及其他输入输出设备组成。 要想使用者能够透明化的使用计算机设备,就必须将计算机运行细节封装起来,并且其中的各种软件和硬件的管理和整合需要特定的软件系统来完成,所以诞生计算机操作系统来对计算机底层设备进行管理,并且封装成接口,方便用户直接调用接口使用。

直接拉取书本上的概念进行总结:

  操作系统控制和管理计算机的软件和硬件,合理组织计算机的工作和资源分配,以提供用户和其他软件方便的接口和环境,是最基本的系统软件

二、操作系统的功能与目标

操作系统基本概念_第1张图片

正如前面操作系统概念所说的,操作系统的功能和目标为以下三点:

  1. 作为计算机系统资源的管理者: 管理CPU、存储、文件和设备等;
  2. 作为用户与计算机硬件系统间的接口: 提供用户对计算机硬件操作的命令接口(分联机和脱机命令)、程序接口(系统调用)和图形用户界面;
  3. 作为最接近硬件的层次: 实现对硬件机器的拓展(通常把覆盖了软件的机器成为扩充机器,又称之为虚拟机)。

三、操作系统的四个特征

  • 并发

首先区分并行并发的概念:
  并发是指两个或多个事件在同一事件间隔内发生,宏观上是同时发生的,但微观上是属于交替发生的(一个CPU交替计算多个程序);并行是指两个或者多个事件在用一时刻同时发生(多个CPU同时计算等量任务)
  在当代计算机中,即使是四核CPU,我们在计算机上同时运行的程序一般都会在4个以上,所以操作系统的并发性依然必不可少。

  • 共享

共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用
共享分为两个方式:
(1)互斥共享方式:某些资源虽然可以提供给多个进程使用,但同一时间只允许一个进程访问该资源
(2)同时共享方式:某些资源可以提供给多个进程使用,允许一个时间段内由多个进程“同时”访问该资源(同时任然是宏观上的,微观上还是进程交替执行,即分时共享)。

由并发和共享可以得到两个的关系:
  以微信和QQ同时发送文件为例,两个进程都在从磁盘读取数据进行文件的发送,可以知道两个进程是并发执行的,并且需要共享地访问硬件资源。由此并发和共享的关系,失去并发性则系统中两个进程可能无法并行,共享性失去存在的意义;失去共享性,则两个进程无法同时访问同一个资源,则并发性失去意义。

  • 虚拟

虚拟是指将物理上的实体变为若干个逻辑上的对应物。
空分复用技术时分复用技术为计算机摆脱了物理上的限制。同时,也可以感觉到没有并发性,也谈不上虚拟性。

  • 异步

异步是指,在多道程序并发执行的环境下,由于可分配资源的约束,进程的执行不是一贯到底的,而是以不可预知的速度向前推进的(可能会阻塞)。同时,也可以说到没有并发性,也谈不上异步性。

四、操作系统的运行机制和体系结构

4.1 操作系统的运行机制

  • 指令:由编译语言翻译过来的能够让处理器识别、执行的最基本命令
  • 处理器的两种状态:用户态核心态
  • 两种程序:内核程序应用程序。内核程序可以执行特权和非特权指令,运行在核心态;为保证系统的安全运行,普通应用程序只能执行非特权指令,运行在用户态。

指令分为特权指令非特权指令两种,其中特权指令不允许用户程序使用
CPU判断当前是否可以执行特权指令(由程序状态字寄存器PSW中的标志位来标识),是通过处理器的状态所决定的,在用户态CPU只能执行非特权指令。
内核程序执行在核心态,可以调用特权指令;应用程序则执行在用户态,只能调用非特权指令。

4.2 操作系统的体系结构

操作系统基本概念_第2张图片
  操作系统的体系结构按照操作系统内核划分的规则分为:大内核(包括上图全部内容的内核)和微内核(只包括时钟、中断和原语这些必不可少的功能的内核)。

大内核将操作系统的主要功能模块都作为系统内核,运行在核心态。优点在于性能高,但缺点是内核代码量大,难以维护。
微内核只将最基本的功能保留在内核。优点在于内核方便维护,但缺点在于CPU频繁在核心态和用户态间切换,影响性能。

五、中断和异常

5.1 中断的概念和作用

  • 当中断发生时,CPU立即进入核心态。
  • 当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理。
  • 针对不同的中断信号,内核会进行不同的处理。

  发生了中断,意味着操作系统需要介入开展管理工作。由于操作系统的管理工作(如进程切换、分配I/O设备等)需要使用特权指令,因此CPU要从用户态转换为核心态(中断能使CPU从用户态切换为核心态,使操作系统获得计算机的控制权)。有了中断,才能实现多道程序的并发执行。
  从上述可以得到一个重要的结论:用户态 -> 核心态的切换是通过中断实现的,并且中断是唯一途径。 而核心态 -> 用户态的切换,是通过操作系统在核心态下使用特权指令设置程序PSW状态字为用户态。

5.2 中断的分类

广义的中断分为内中断外中断

  • 内中断,也成异常,信号来源于CPU,跟当前执行的指令有关。
  • 外中断,也就是狭义的中断,信号来源于CPU外部,与当前执行的指令无关。
    操作系统基本概念_第3张图片

5.3 外中断的处理过程

(1)每条指令执行结束后,CPU检查是否有外部中断信号。
(2)若有外部中断信号,则需要保护被中断进程的CPU环境。
(3)根据中断信号的类型转入相应的中断处理程序。
(4)恢复原进程的CPU环境并退出中断,返回原进程继续向下执行。

六、系统调用

  正如前面所说的,操作系统作为用户和计算机硬件间的接口,向上提供简单易用的服务。主要包括命令接口程序接口(程序接口由一组系统调用组成,允许用户通过程序间接使用)。
  系统调用是指应用程序通过系统调用请求操作系统的服务。系统中的各种共享资源都由操作系统掌管,因此在用户程序中,凡是与资源相关的操作(都是通过特权指令完成,需要在核心态下进行),都必须通过系统调用的方式向操作系统提出服务请求,由操作系统代为完成,以此保证系统的安全性和稳定性。
  系统调用与库函数的区别则在于,高级编程语言的库函数部分是对操作系统的系统调用的封装,部分不涉及系统调用直接在用户态下完成。
  系统调用流程:
  传递系统调用参数 -> 执行陷入指令(用户态下)-> 执行系统调用相应服务程序(核心态下)-> 返回用户程序
  其中需要注意的是,陷入指令是唯一一个只能在用户态执行,而不可以在核心态执行的指令


参考:《王道考研操作系统》
地址:https://www.bilibili.com/video/BV1YE411D7nH

你可能感兴趣的:(操作系统,操作系统)