【计算机系统概述】

操作系统的概念、功能

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

大致划分如下:
在这里插入图片描述

目标和功能

1、是系统资源的管理者

  • 提供的功能
    • 处理机管理
      • 在多道程序环境下,处理机的分配和运行都以进程(或线程)为基本单位
      • 处理机管理,可归结为对进程的管理
    • 存储器管理
      • 内存分配与回收、地址映射、内存保护与共享和内存扩充等
    • 文件管理
      • 文件存储空间的管理、目录管理及文件读写管理和保护
    • 设备管理
      • 主要任务:完成用户的I/O请求
      • 缓冲管理、设备分配、设备处理和虚拟设备

2、向上层提供方便易用的服务

  • 直接给用户使用的

    • GUI:图形化用户接口。用户可以使用形象的图形界面进行操作,而不再需要记忆复杂的命令、参数。
    • 命令接口
      • 联机命令接口(交互式命令接口)eg:命令解释器(win键+R;输入cmd,enter),适用于分时或实时系统的接口
      • 脱机命令接口(批处理命令接口)
  • 给软件/程序员使用的

    • 程序接口:由一组系统调用(广义指令)组成。可以在程序中进行系统调用来使用程序接口。普通用户只能通过程序代码间接使用。
      • 系统调用类似于函数调用,是应用程序请求操作系统服务的唯一方式。

3、最接近硬件的一层软件

裸机:没有任何软件支持的计算机

虚拟机(扩充机器):覆盖了软件的机器

操作系统的特征

两个最基本的特征,二者互为存在条件:并发、共享

  • 并发:指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。
    • 并行:指两个或多个事件在同一时刻同时发生。

单核CPU:同一时刻只能执行一个程序,各个程序只能并发地执行

多核CPU:同一时刻可以同时执行多个程序,多个程序可以并发地执行

  • 共享:即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用
    • 互斥共享方式:一个时间段内只允许一个进程访问资源
      • 临界资源:一段时间内只允许一个进程访问的资源
    • 同时共享方式:允许一个时间段内由多个进程“同时”进行资源访问。
      • “同时”往往是指宏观,在微观上,进程可能是交替地对资源进行访问(分时共享)
  • 虚拟:是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体是实际存在的,而逻辑上对应物是用户感受到的。
    • 空分复用技术(虚拟存储器技术)虚拟内存:将物理内存抽象为地址空间,每个进程都有各自的地址空间。地址空间的页被映射到物理内存,地址空间的页并不需要全部在物理内存中,当使用到一个没有在物理内存的页时,执行页面置换算法,将该页置换到内存中。
    • 时分复用技术(虚拟处理器)
      • 微观上处理机在各个微小的时间段内交替着为各个进程服务(所以可见,没有并发性,虚拟性就失去了意义)
  • 异步:是指在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。
    • 所以可见,失去了并发性,则系统只能串行地运行各个程序,那么每个程序的执行会一贯到底。所以只有系统拥有并发性,才有可能导致异步性。
操作系统的发展和分类
  • 手工操作阶段(无操作系统)
    • 用户独占全机
    • CPU等待手工操作
  • 批处理阶段
    • 单道批处理系统:引入脱机输入/输出技术,并由监督程序负责控制作业输入、输出
      • 缺点:内存中仅能有一道程序运行,只有该程序运行结束之后才能调用下一道程序。CPU有大量的时间是在空闲等待I/O完成。
      • 特征:自动型、顺序性、单道性
    • 多道批处理系统(操作系统开始出现):多道程序并发执行,共享计算机资源。资源利用率大幅提升,系统吞吐量大
      • 特征:多道,宏观上并行,微观上串行(内存中的多道程序轮流占有CPU)
      • 缺点:用户响应时间长,没有人机交互功能(用户提交作业之后只能等待计算机处理完成,中间不能控制作业执行)
  • 分时操作系统:计算机以时间片为单位轮流为各个用户/作业服务,各个用户可通过终端与计算机进行交互。
    • 特征:同时性(多路性)、交互性、独立性、及时性
    • 优点:用户请求可以被即时响应,解决了人机交互问题。允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在
    • 缺点:不能优先处理一些紧急任务。操作系统对各个用户/作业都是完全公平的,循环地为每个用户/作业服务一个时间片,不区分任务的紧急性。
  • 实时操作系统(计算机系统接收到外部信号后及时处理,并且要在严格的时限内处理完事件)
    • 硬实时系统:必须在绝对严格的规定时间完成处理
    • 软实时系统:能够接受偶尔违反时间规定
    • 能够优先响应一些紧急任务;主要特点:及时性、可靠性
  • 网络操作系统:能把网络中各个计算机有机地结合起来,实现数据传送等功能,实现网络中各种资源的共享(如文件共享)和各台计算机之间的通信。
  • 分布式操作系统:主要特点是:分布性、并行性。系统中各台计算机地位相同,任何工作都可以分布在这些计算机上,由它们并行、协同完成这个任务
  • 个人计算机操作系统
操作系统的运行机制

指令:处理器(CPU)能识别、执行的最基本命令(二进制机器指令)

  • 程序运行原理
    • 高级语言编写代码—>机器指令
    • 程序运行的过程:就是CPU执行一条一条机器指令的过程
  • 内核
    • 内核(Kernel):是操作系统最重要最核心的部分,也是最接近硬件的部分
      • 状态判断:CPU中有一个寄存器叫“程序状态字寄存器(PSW)”,其中有个二进制位,1表示“内核态”,0表示“用户态”。
  • 内核组成:
    • 时钟管理
      • 计时
      • 进程切换
    • 中断机制
    • 原语
    • 系统控制的数据结构及处理
      • 进程、存储器、设备管理
  • 两种指令
    • 特权指令(如内存清零指令):只允许”管理者“–操作系统内核来使用
    • 非特权指令:应用程序只能使用非特权指令,允许用户直接使用的指令
  • 两种处理器状态
    • 核心态(管态、内核态)
    • 用户态(目态)
    • 内核态—>用户态:执行一条特权指令——修改PSW的标志位为“用户态”,意味着操作系统将主动让出CPU使用权
    • 用户态—>内核态:由“中断”引发,硬件自动完成变态过程,触发中断信号意味着操作系统将强行夺回CPU的使用权。
    • 触发中断信号:非法使用特权指令;需要操作系统介入的地方
  • 两种程序
    • 内核程序:处于内核态,说明此时正在运行的是内核程序,此时可以执行特权指令
    • 应用程序:处于用户态:说明此时正在运行的是应用程序,此时只能执行非特权指令
中断和异常
  • 中断的作用:
    • 中断是让操作系统内核夺回CPU使用权的唯一途径
    • “中断”会使CPU由用户态变为内核态
  • 中断的类型
    • 内中断(异常):与当前执行的指令有关,中断信号来源于CPU内部
      • 终止:指出现了使得CPU无法继续执行的硬件故障。试图在用户态下执行特权指令;执行指令非法,则会引发一个中断信号;无法修复,直接终止应用程序
      • 故障:通常是由指令执行引起的异常如缺页故障;可能会被修复,之后再将使用权还给应用程序
      • 陷入指令:一种事先安排的事件,“系统调用”就是通过陷入指令完成的,非特权指令
    • 外中断(中断):与当前执行的指令无关,中断信号来源于CPU外部
      • 可屏蔽中断:指通过INTR线发出的中断请求,通过改变屏蔽字可以实现多重中断
      • 不可屏蔽中断:通过NMI线发出的中断请求,通常是紧急的硬件故障
      • 时钟中断:每隔一段时间给CPU发送一个时钟中断信号
      • 处理I/O中断的内核程序,当输入输出完成时,向CPU发送中断信号
  • 中断机制的基本原理
    • 检查中断信号
      • 内中断:CPU在执行指令时会检查是否有异常发生
      • 外中断:每个指令周期末尾,CPU都会检查是否有外中断信号需要处理
    • 找到相应的中断处理程序
      • 通过“中断向量表”实现
    • 不同的中断信号,需要用不同的中断处理程序来处理;中断处理程序一定是内核程序,需要运行在“内核态”
系统调用
  • 什么是系统调用 :是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务。
  • 系统调用与库函数的区别
    • 有的库函数是对系统调用的进一步封装
    • 有的库函数没有使用系统调用

在这里插入图片描述

  • 为什么系统调用是必需的

    • 例子(打印):由操作系统内核对共享资源进行统一的管理,并向上提供“系统调用”,用户进程想要使用打印机这种共享资源,只能通过系统调用向操作系统内核发出请求。内核会对各个请求进行协调处理。
  • 系统调用按功能分类

    • 设备管理:完成设备的请求/释放/启动等功能
    • 文件管理:完成文件的读/写/创建/删除等功能
    • 进程管理:完成进程的创建/撤销/阻塞/唤醒等功能
    • 进程通信:完成进程之间的消息传递/信号传递等功能
    • 内存管理:完成内存的分配/回收等功能
  • 什么功能要用系统调用实现

    • 应用程序通过系统调用请求操作系统的服务。
    • 而系统中的各种共享都由操作系统内核统一管理,因此凡是与共享资源有关的操作(如存储分配、I/O操作、文件管理等),都必须通过系统调用的方式向操作系统内核提出服务请求,由操作系统内核代为完成。
    • 这样可以保证系统的稳定性和安全性,防止用户进行非法操作。
  • 系统调用的过程

    • 传参
    • 陷入指令/trap/访管
    • 由操作系统内核程序处理系统调用请求
    • 返回应用程序
      在这里插入图片描述
操作系统体系结构

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 大内核(宏/单内核)

    • 将操作系统的主要功能模块都作为系统内核,运行在核心态
    • 优点:高性能
    • 缺点:内核代码庞大,结构混乱,难以维护
  • 微内核

    • 只把最基本的功能保留在内核
      • 进程线程管理(最基本功能)
      • 低级存储器管理
      • 中断和陷入指令
    • 优点:内核功能少,结构清晰,方便维护
    • 缺点:需要频繁地在核心态与用户态之间切换,性能低
      在这里插入图片描述
  • 分层结构:内核分多层,每层可单向调用更低一层提供的接口

    • 最底层是硬件,最高层是用户接口
  • 模块化:将内核分为多个模块,各模块之间相互协作

    • 内核=主模块+可加载内核模块
    • 主模块:只负责核心功能,如进程调度、内存管理
    • 可加载内核模块:可以动态加载新模块到内核,而无需重新编译整个内核
  • 模块化操作系统结构

    • 进程管理
      • 进程控制
      • 进程调度
    • 文件管理
      • 内存分配
      • 内存保护
    • 存储器管理
      • 磁盘管理
      • 目录管理
  • 外核:负责为用户进程分配未经抽象的硬件资源,且由外核负责保证资源使用安全

  • 衡量模块的独立性标准:

    • 内聚性:模块内部各部分间联系的紧密程度。内聚性越高,模块独立性越好
    • 耦合度:模块间相互联系和相互影响的程度。耦合度越低,模块独立性越好
操作系统引导
  • 什么是操作系统引导:指计算机利用CPU运行特定程序,通过程序识别硬盘、硬盘分区、硬盘上的操作系统,最后通过程序启动操作系统
  • 主存:
    • RAM
    • ROM(BIOS)包含:ROM引导程序,即自举程序
  • 磁盘里边的相关数据
    • 主引导记录(MBR)包含:磁盘引导程序和分区表;C/D盘
    • 引导记录PBR(负责找到启动管理器);根目录
  • 操作系统引导的过程
    • 激活CPU。激活的CPU读取ROM中的boot程序,将指令寄存器置为BIOS(基本输入输出系统)的第一条指令,即开始执行BIOS的指令。
    • 硬件自检。检查硬件是否出现故障。
    • 加载带有操作系统的硬盘。BIOS开始读取Boot Sequence,把控制权交给启动顺序排在第一位的存储设备,然后CPU将该存储设备引导扇区的内容加载到内存中。
    • 加载主引导记录MBR。硬盘以特定的标识符区分引导硬盘和非引导硬盘。主引导记录MBR的作用是告诉CPU去硬盘的哪个主分区去找操作系统
    • 扫描硬盘分区表,并加载硬盘活动分区。MBR包含硬盘分区表,硬盘分区表以特定的标识符区分活动分区和非活动分区。主引导记录扫描硬盘分区表,进而识别含有操作系统的硬盘分区。找到硬盘活动分区后,加载并将控制权交给活动分区。
    • 加载分区引导记录PBR。读取活动分区的第一个扇区,称为分区引导记录PBR,寻找并激活分区根目录下用于引导操作系统的程序。
    • 加载启动管理器。分区引导记录搜索活动分区中的启动管理器,加载启动管理器。
    • 加载操作系统
虚拟机

使用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器(VM),每个虚拟机器都可以独立运行一个操作系统

同义:虚拟机管理程序(VMM)/虚拟机监控程序
在这里插入图片描述

  • 19
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值