操作系统的概念

操作系统(Operating System, OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境;它是计算机系统中最基本的系统软件

特征

操作系统的4个特征:

  1. 并发
  2. 共享
  3. 虚拟
  4. 异步
    其中,并发、共享是操作系统最基本的特征,并且二者相互依存

并发

并发是指两个或多个事件在同一时间间隔内发生,在宏观看来是同时发生的,但是微观上是交替运行的;
操作系统的并发指的是可以同时存在多个运行的程序
并行:指多个事件在同一时刻同时发生
单核 cpu 同一时刻只能运行一个进程,只能并发
多核 cpu 同一时刻可以运行多个进程,既存在并发、也存在并行

共享

共享:指系统中的资源可以被多个并发执行的进程使用
互斥共享:系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源,例如摄像头等资源
同时共享:系统中的某些资源,允许一个时间段内由多个进程“同时”对它们进行访问,例如磁盘的读写
从共享的定义就可以看出来,若操作系统没有并发性,共享就没有意义;没有共享性,并发也没有意义

虚拟

虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的
有空分复用技术(如虚拟存储器)和时分复用技术(虚拟处理器)等

异步

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

操作系统的运行机制

计算机程序可大致分为应用程序、内核程序两类,很多内核程序共同组成了操作系统的内核,而例如GUI等程序,并不一定在内核中

特权指令与内核态

特权指令可理解为只能由内核执行的cpu指令,cpu为了分辨特权指令的发起者,设计了内核态和用户态,只有当cpu处于内核态,才可执行特权指令
内核态->用户态:执行一条特权指令——修改PSW的标志位为“用户态”,这个动作意味着操作系统将主动让出CPU使用权(PSW就是cpu中存储状态的寄存器)
用户态->内核态:由“中断”引发,硬件自动完成变态过程,触发中断信号意味着操作系统将强行夺回CPU的使用权
image
image

中断和异常

中断会使CPU由用户态变为内核态,使操作系统重新夺回对CPU的控制权
中断分为:

  1. 内中断:与当前执行的指令有关,中断信号来源于CPU内部,应用程序想请求操作系统内核时,会发出陷入指令,也会引起内中断
  2. 外中断:与当前执行的指令无关,中断信号来源于CPU外部,每一条指令执行结束时,CPU都会例行检查是否有外中断信号
    内中断也叫异常
    当遇到中断时,操作系统根据不同的中断信号,去运行不同的中断处理程序
    image

系统调用

操作系统提供给上层的调用接口,与共享资源有关的操作(如存储分配、I/O操作、文件管理等),都必须通过系统调用的方式向操作系统内核提出服务请求,由操作系统内核代为完成

操作系统的体系结构

大内核和微内核的区别:
image