1.计算机系统概述

1. 计算机系统概述

1.1 操作系统的基本概念

1.1.1 操作系统的概念

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

1.1.2 操作系统的特征

  1. 并发(Concurrence)
  2. 共享(Sharing)
    1. 互斥共享方式
    2. 同时访问方式
  3. 虚拟(Virtual)
  4. 异步(Asynchronism)

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

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

操作系统就是伴随着"多道程序技术"而出现的.因此, 操作系统和程序并发是一起诞生的 .

单核CPU同一时刻只能执行一个程序,各个程序只能并发执行.
多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行.

并发性是操作系统一个最基本的特性.

共享 即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用.共享可分为两种资源共享方式.

  • 互斥共享方式 :系统中的某些资源,虽然可以提供给多个进程使用,但 一个时间段内只允许一个进程访问该资源 .
  • 同时共享方式 :系统中的某些资源, 允许一个事件段内由多个进程"同时"对它们进行访问 .所谓的"同时"往往是宏观上的,而在微观上,这些进程可能时交替地对该资源进行访问的(即分时共享).

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

异步 是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性.
只有系统拥有并发性,才有可能等导致异步性.

1.1.3 操作系统的目标和功能

  1. 操作系统作为计算机系统资源的管理者
    1. 处理机管理
    2. 处理器管理
    3. 文件管理
    4. 设备管理
  2. 操作系统作为用户与计算机硬件系统之间的接口
    1. 命令接口
    2. 程序接口
  3. 操作系统实现了对计算机资源的扩充

1.2 操作系统发展历程

1.2.1 手工操作阶段(无操作系统)

缺点:

  1. 用户独占全机,资源利用率低
  2. CPU等待手工操作,CPU利用不充分

1.2.2 批处理阶段(操作系统开始出现)

  1. 单道批处理系统
    系统对作业的处理是成批进行的,但内存中始终保持一道作业.
    引入 脱机输入/输出技术 ,并由 监督程序 负责控制作业的输入,输出.
    特征:
    1. 自动性
      在顺利的情况下,磁带上的一批作业能自动地逐个运行,而无需人工干预.
    2. 顺序性
      磁带上的各道作业顺序地进入内存,各道作业的完成顺序与它们进入内存的顺序完全相同,亦即先调入内存的作业先完成.
    3. 单道性
      内存中仅有一道程序运行,即监督程序每次从磁带上只调入一道程序进入内存运行,当程序完成或发生异常情况时,才换入其后继程序进入内存运行.
      每次主机内存中仅存放一道作业,每当它在运行期间发出输入/输出请求后,高速的CPU便处于等待低速的I/O完成的状态.
  2. 多道批处理系统
    多道程序设计允许多个程序同时进入内存并允许它们在CPU中交替运行,这些程序共享系统中的各种硬/软件资源.
    当一道程序因I/O请求而暂停运行时,CPU便立即转去运行另一道程序.
    多道程序设计的特点是多道,宏观上并行,微观上串行.
    1. 多道
      计算机内存中同时存放多道相互独立的程序.
    2. 宏观上并行
      同时进入系统的多道程序都处于运行过程中,即它们先后开始各自的运行,但都未运行完毕.
    3. 微观上串行
      内存中的多道程序轮流占有CPU,交替执行.
      缺点:
      用户响应的时间较长,不提供人机交互能力.

1.2.3 分时操作系统

计算机以 时间片 为单位 轮流为各个用户/作业服务 ,各个用户可通过终端与计算机及进行交互.
用户请求可以被即时响应,解决了人机交互问题.允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在.
不能优先处理一些紧急任务.操作系统对各个用户/作业都是完全公平的,循环地为每个用户/作业服务一个时间片,不区分任务的紧急性.

  • 硬实时系统:必须在绝对严格的规定时间内完成处理.
  • 软实时系统:能接受偶尔违反时间规定.

特征:

  1. 同时性
  2. 交互性
  3. 独立性
  4. 及时性

1.2.4 实时操作系统

能够优先响应一些紧急任务,某些紧急任务不需时间片排队.
在实时操作系统的控制下,计算机系统接受到外部信号后及时进行处理,并且 要在严格的时限内处理完事件 .实时操作系统的主要特点是 及时性和可靠性 .

1.2.5 网络操作系统和分布式计算机系统

网络操作系统:能把网络中各个计算机有机结合起来,实现数据传送等功能,实现网络中各种资源的共享和各台计算机之间的通信.

分布式操作系统:主要特点是分布性和并行性.系统中各台计算机地位相同,任何工作都可以分布在这些计算机上,由它们并行,协同完成这个任务.

1.2.6 个人计算机操作系统

1.3 操作系统运行环境

1.3.1 处理器运行模式

"指令"就是CPU能识别,执行的最基本命令.

在计算机系统中,通常CPU执行两种不同性质的程序:一种是操作系统内核程序;另一种是应用程序.前者是后者的管理者,内核程序能执行一些特权指令.

  1. 特权指令 :指不允许用户直接使用的指令,如I/O指令,置中断指令,存取用于内存保护的寄存器,送程序状态字到程序字寄存器(PSW)等的指令.
  2. 非特权指令 :指允许用户直接使用的指令,它不能直接访问系统中的软硬件资源,仅限于访问用户的地址空间,这也是为了防止用户程序对系统造成破坏.

CPU中有一个寄存器叫 程序状态字寄存器(PSW) ,其中有个二进制位,1表示"内核态",0表示"用户态".

在具体实现上,将CPU的运行模式划分为 用户态(目态)核心态(管态,内核态) .

处于 内核态时 ,说明此时正在运行的是 内核程序 ,此时可以执行 特权指令 .
处于 用户态时 ,说明此时正在运行的是 应用程序 ,此时只能执行 非特权指令 .

内核态->用户态 :执行一条 特权指令–修改PSW 的标志位为"用户态",这个动作意味着操作系统将主动让出CPU使用权.
用户态->内核态 :由 “中断”" 引发, 硬件自动完成变态过程 ,触发中断信号意味着操作系统将强行夺回CPU的使用权.

大多数操作系统的内核包括4方面内容:

  1. 时钟管理
  2. 中断机制
  3. 原语
  4. 系统控制的数据结构及处理

1.3.2 中断和异常的概念

"中断"是 让操作系统内核夺回CPU使用权 的唯一途径.

  1. 中断和异常的定义
    中断(Interruption) 也称外中断,是指来自CPU执行指令外部的事件.
    异常(Exception) 也称内中断,是指来自CPU执行指令内部的事件.
  2. 中断和异常的分类
    外中断可分为 可屏蔽中断不可屏蔽中断 .
    异常可分为 故障(fault) , 自陷(trap)终止(abort) .
  3. 中断和异常的处理过程

不同的中断信号,需要用不同的中断处理程序来处理 .当CPU检测到中断信号后,会根据中断信号的类型去查询" 中断向量表 ",以此来找到相应的中断处理程序在内存中断存放位置.

1.3.3 系统调用

按功能分类:

  1. 设备调用
  2. 文件调用
  3. 进程调用
  4. 进程通信
  5. 内存管理

系统调用过程:
传递系统调用参数->执行陷入指令(用户态)->执行相应的请求内核程序处理系统调用(核心态)->返回应用程序

  1. 陷入指令(非特权指令) 是在 用户态 执行的,执行陷入指令之后立即引发一个 内中断 ,使CPU进入 核心态 .
  2. 发出系统调用请求 是在 用户态 ,而 对系统调用的相应处理 是在 核心态 下进行.

1.4 操作系统结构

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

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

微内核 :只把最基本的功能保留在内核.
优点:内核功能少,结构清晰,方便维护
缺点:需要频繁地在核心态与用户态之间切换,性能低

随着操作系统功能的不断增多和代码规模的不断扩大,提供合理的结构,对于降低操作系统复杂度,提升操作系统安全与可靠性来说尤为重要.

  1. 分层结构
    内核分多层,每层可单向调用更低一层提供的接口.
    优点:
    1. 便于调试和验证,自底向上逐层调试验证.
    2. 易扩充和易维护,各层之间调用接口清晰固定.
      缺点:
    3. 仅可调用相邻低层,难以合理定义各层的边界.
    4. 效率低,不可跨层调用,系统调用执行时间长.
  2. 模块化
    将内核划分为多个模块,各模块之间相互协作.
    内核=主模块+可加载内核模块
    优点:
    1. 模块间逻辑清晰易于维护,确定模块接口后即可多模块同时开发.
    2. 支持动态加载新的内核模块,增强OS适应性.
    3. 任何模块都可以直接调用其它模块,无需采用消息传递进行通信,效率高.
      缺点:
    4. 模块间的接口定义未必合理,食用.
    5. 模块间相互依赖,更难调试和验证.
  3. 宏内核(大内核)
    所有的系统功能都放在内核里(大内核结构的OS通常也采用了"模块化"的设计思想)
    优点:
    性能高,内核内部各种功能都可以直接相互调用.
    缺点:
    1. 内核庞大功能复杂,难以维护.
    2. 大内核中某个功能模块出错,就可能导致整个系统崩溃.
  4. 微内核
    只把中断,原语,进程通信等最核心的功能放入内核.进程管理,文件管理,设备管理等功能以用户进程的形式运行在用户态.
    优点:
    1. 内核小功能少,易于维护,内核可靠性高.
    2. 内核外的某个功能模块出错不会导致整个系统崩溃.
      缺点:
    3. 性能低,需要频繁的切换用户态/核心态.用户态下的各功能模块不可以直接相互调用,只能通过内核的"消息传递"来间接通信.
    4. 用户态下的各功能模块不可以直接相互调用,只能通过内核的"消息传递"来间接通信.
  5. 外核
    内核负责进程调度,进程通信等功能,外核负责为用户进程分配未经抽象的硬件资源,且由外核负责资源使用安全.
    优点:
    1. 外核可直接给用户进程分配"不虚拟","不抽象"的硬件资源,使用户进程可以更灵活的使用硬件资源.
    2. 减少了虚拟硬件资源的"映射层",提升效率.
      缺点:
    3. 降低了系统的一致性.
    4. 使系统变得复杂.

1.5 操作系统引导

在这里插入图片描述

操作系统引导:

  1. CPU从一个特定主存地址开始,取指令,执行ROM中的引导程序(先进性硬件自检,再开机)
  2. 将磁盘的第一块–主引导记录,读入内存,执行磁盘引导程序,扫描分区表
  3. 从活动分区(又称主分区,即安装了操作系统的分区)读入分区引导记录,执行其中的程序
  4. 从根目录下找到完整的操作系统初始化程序(即启动管理器)并执行,完成"开机"的一系列动作

1.6 虚拟机

1.6.1 虚拟机的基本概念

虚拟机(Virtual Machine,VM) 是一台逻辑计算机,是指利用特殊的虚拟化技术,通过隐藏特定计算平台的实际物理特性,为用户提供抽象的,统一的,模拟的计算环境.

同义术语:虚拟机管理程序(Virtual Machine Monitor,VMM),虚拟机监控程序(Hypervisor).

  1. 第一类虚拟机管理程序
    直接运行在硬件上.
  2. 第二类虚拟机管理程序
    运行在宿主操作系统上.

1.6 虚拟机

1.6.1 虚拟机的基本概念

虚拟机(Virtual Machine,VM) 是一台逻辑计算机,是指利用特殊的虚拟化技术,通过隐藏特定计算平台的实际物理特性,为用户提供抽象的,统一的,模拟的计算环境.

同义术语:虚拟机管理程序(Virtual Machine Monitor,VMM),虚拟机监控程序(Hypervisor).

  1. 第一类虚拟机管理程序
    直接运行在硬件上.
  2. 第二类虚拟机管理程序
    运行在宿主操作系统上.

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值