介绍

计算机体系结构与操作系统

冯诺依曼体系的结构要点:计算机数制采用二进制,程序指令和数据统一存储,计算机应按照程序顺序执行。按照冯
诺依曼结构设计的计算机由 控制器,运算器,存储器和输入设备,输出设备五部分组成。控制器和运算器 构成现代通用计算机系统的中央处理器 (CPU,central processing unit),即传统的单核 CPU。

在主存储器中实现存入要执行的程序和要处理的数据,运行时 CPU 将自动并按顺序从主存储器中取出指令一条一条执行。冯诺依曼结构的计算机系统映射现实世界的时空观,存储体系对应空间域,指令顺序执行过程对应时间域。

计算机系统的层次结构

计算机系统的层次结构:把计算机系统按功能可分为多级层次结构。

  • 第 0 层:数字逻辑层,即各种逻辑电路和连接线路,它们是组成计算机硬件的基础,电子工程师
  • 第 1 层:微体系结构层,通过微指令编写微程序实现上层机器指令的功能,架构师
  • 第 2 层:传统机器层,机器语言,计算机系统设计者
  • 第 3 层:操作系统层,使用操作系统提供的各种管理命令来完成管理功能,系统管理人员
  • 第 4 层:汇编语言层,上层语言先被翻译为汇编语言,再翻译成机器语言。完成高级语言到汇编语言翻译的程序被称为编译器(编译程序),完成汇编语言到机器语言翻译的程序是汇编器(汇编程序)
  • 第 5 层:高级语言层,各种高级语言,如C,C++,Java,Python
  • 第 6 层:应用程序层,各种app

第0-2层主要由硬件实现,第3-6层主要由软件实现。计算机系统结构设计者所关心的是(机器语言或汇编语言程序员)所看到的计算机结构

指令集

  • 指令集是一个计算机系统支持的所有机器指令的集合,它常常被看作软硬件之间的分
    界面。
  • 计算机中最普通的指令格式是:操作码+操作数(地址)。用二进制数据来表示。
  • 根据操作数的数量不同,可以将指令格式分为:零地址指令,一地址指令、二地址指
    令、三地址指令和多地址指令。
  • 寻址方式按指令的寻址空间来分,可分为立即数寻址、寄存器寻址、主存寻址和堆栈
    寻址 4 种。
  1. 指令的功能分类:
    从指令的从操用计算机的指令系统中常见的指令类型包括:数据传输指令、算术运算
    指令、逻辑运算指令、程序控制指令、输入输出指令、处理器控制和调试指令。

  2. 指 令 集 因 其 系 统 性 和 复 杂 性 , 也 被 称 为 指 令 集 体 系 结 构 ISA ( instruction set
    architecture)

  3. 按照指令系统复杂程度不同,ISA 可分为 CISC 和 RISC 两大阵营。CISC 是指复杂指令系
    统计算机 complex instruction set computer; RISC 是指精简指令系统计算机 reduced
    instruction set computer. 8. CISC 结构追求的目标是强化指令功能,减少程序的指令条数,以达到提高性能的目的。
    RISC 通过减少指令种类、规范指令格式和简化寻址方式等方法,方便处理器内部的并
    行处理,提高超大规模集成电路 VLSI 期间的使用效率,从而大幅度的提高处理器的性
    能。
    1.2.4 存储系统

  4. 现代通用计算机中存储系统的层次结构:
    第一层寄存器组,第二层高速缓冲存储器(cache),第三层主存储器,第四层辅助存
    储器,第五层脱机存储器。存储介质越往上速度越快、价格越高,越往下,容量越大。

  5. 程序访问的局部性包含时间局部性和空间局部性两方面。
    时间局部性是指最近访问过的内容很可能会在短期内被再次访问。如程序中的循环,
    循环体的指令要被反复执行。空间局部性是指某个存储单位被访问,短时间内其附近
    的存储单元也会被访问。

  6. “Cache-主存-辅存”是存储体系里最重要的三级层次,通常将其分为“Cache-主存”和“主
    存-辅存”两个两级存储系统来讨论。“主存-辅存”两级存储系统也称为虚拟存储系统。

  7. “Cache-主存”层次的理论依据是程序局部性。

  8. Cache 与主存储器间最基本的地址映射方式有三种:全相联映射、直接映射和组相联
    映射。

  9. 在采用全相联映射和组相联映射的系统中,当主存向 Cache 传送一个新块而 Cache 已
    满时,就需要使用替换算法将 Cache 中的某一块换出。常用替换算法有随机法
    (RAND),先进先出(FIFO)、最近最少使用法(LRU)。

  10. Cache 读写过程设计数据一致性的问题,一致性是指同一份数据在不同存储位置的多
    个拷贝应保持一致。Cache 的一致性体现在连个方面,一是 Cache 和主存之间的数据
    一致性,二是各个处理器内核私有的 Cache 之间的数据一致性。

  11. Cache 与主存之间的数据一致性通过 Cache 特定的写操作方式来保证:写直达(write
    through),写回(write back)

  12. 多核处理器中,处理器内核之间的缓存一致性通过缓存一致性协议类维护,MESI
    (Modified Exclusive Shared or Invalid)最为经典的缓存一致性协议

  13. MESI 协议将 Cache Line 的状态分成 修改(Modify)、独占(Exclusive)、共享(Shared)
    和失效(Invalid)。

  14. 虚拟存储系统的提出是为了满足应用程序对高速大容量主存的需求,扩大存储系统容
    量,速度慢。“主存-辅存”层次的存储管理技术称为虚拟存储管理技术。
    1.3 微处理器体系结构

  15. 微处理器,即中央处理器 CPU 是计算机系统中最重要、最核心的部件

  16. CPU 单核处理器基本逻辑结构,主要由控制器、运算器和存储单元三部分组成,这三
    部份由 CPU 内部总线相连。

  17. 目前,通用处理器芯片基本上都采用了多核处理器(Chip Multi-Processor,CMP)架
    构。
    按照计算内核的对等与否,CMP 可分为同构多核和异构多核:计算内核相同、地位对
    等的称为同构多核;计算内核不同、地位不对等的称为异构多核,多采用“主处理核+
    协处理核”的设计。P19

  18. CPU 指令执行过程基本上包含 5 个阶段:取指令、指令译码、执行指令、访存取数、
    结果写回
    1.4 操作系统的基本概念

  19. 操作系统是通用计算机系统中不可或缺的系统软件

  20. 计算机系统的资源按照其作用可大致分为四类:处理器、存储器、I/O 设备和文件。

  21. 对这四类资源的管理就是操作系统内核的主要功能。
    1.4.2 操作系统的基本特征:
    现代通用操作系统一般具有并发、共享、虚拟和异步这四个基本特征。并发是指两个
    或多个事件在同一时间间隔内发生。共享是指计算机系统中的软硬件资源可被多个并
    发执行的进程共同使用,而不是被一个进程所独占。虚拟是指把一个物理上的实体变
    为一个或多个逻辑上的对应物。异步又称随机性或不确定性,异步是指在相同的计算
    机环境和初始条件下,在同一数据集上运行的同一程序每次执行的顺序和所需时间都
    不一定相同。(避免混淆:并行是指两个或多个事件在同一时刻发生)
    1.5 操作系统的基本功能和原理

  22. 从资源管理的角度来看,操作系统具备五大基本功能:处理器管理、存储管理、设备管
    理、文件管理和作业管理。
    1.5.1 处理器管理

  23. 处理器管理的功能主要有两个:中断处理和进程管理。
    -1.1 中断处理
    1).在处理器上运行的指令,根据权限可分为两种:
    1.特权指令:只能被操作系统内核使用的指令,这些指令设计改变机器状态、修改寄存
    器内容、启动设备等敏感操作。
    2.非特权指令:所有程序都能使同的指令。
    2) 处理器的运行状态一般分为内核态和用户态,在内核态下能执行所有指令,在用
    户态下只能执行非特权指令。
    3)用户态切换到内核态 3 种方式:系统调用,异常,外围设备的中断。3 种方式都
    通过中断机制发生。
    中断概念延伸拓展 https://blog.csdn.net/weixin_36278982/article/details/113411238
    中断是指 CPU 对系统发生的某个事件做出的一种反应,它使 CPU 暂停正在执行的程序,
    保留现场后自动执行相应的处理程序,处理该事件后,如被中断进程的优先级最高,则返
    回断点继续执行被“打断”的程序。
    引起中断的事件或发出中断请求的来源称为中断源。中断源向 CPU 提出的处理请求称为
    中断请求。发生中断时,被打断程序的暂停点称为断点。
    中断概念的另一个发展是访管(即访问管理)指令(或系统调用)的使用。
    中断类型 按功能划分
    这种分类法类似于 IBM 360/370 系统的分类法,所有中断源分为 5 类。
    (1)机器故障中断。它是机器发生错误时产生的中断,用来反映硬件在执行过程中出现的
    故障,以便进入诊断程序,做出处理。例如,机器电路检验错、电源故障和内存读数错,
    等等。
    (2)I/O 中断。这是来自通道或各种外部设备的中断,用于反映通道或设备的工作情况。例
    如,打印机打印结束、磁盘传输完成、利用终端进行输入/输出等。
    (3)外部中断。它是来自计算机系统外部装置的中断,用来反映外界对本系统的要求。例
    如,计时器到时溢出,操作员操纵控制台按钮,在多机系统中它机送来信号,等等。
    (4)程序性中断。这是因错误地使用指令或数据而引起的中断,用于反映程序执行过程中
    发现的例外情况,例如,非法操作码,无效地址和运算溢出,等等。
    (5)访管中断。由于执行“访问管理程序”指令而产生的中断,用来使 CPU 的状态从用户态
    转入管理态,由操作系统根据不同的编号引进不同的处理。这样,操作系统为用户态程序
    提供对系统资源使用请求的服务。
    @ 在配置了通道的计算机系统中,用户程序需要输人/输出时,引起的中断是(访管
    -1.2 进程管理
    1)进程是计算机中的程序在某数据集合上的一次运行活动,是系统进行资源分配和调
    度的基本单位。
    2)进程和程序是两个既有联系又有区别的概念。
    进程是一个动态的概念,而程序则是一个静态的概念。进程具有并发特征,程序则没
    有;进程有生命期,它只在计算机运行期间才有可能存在,程序可以在外存上长期保
    存;进程与程序间并不总是一一对应,一个程序执行在不同的数据集上就称为不同的
    进程;进程与程序的组成不同,进程实体的组成包括程序、数据和控制块。
    3)为了描述进程的动态变化过程,采用了一个与进程相关联的进程控制块(PCB)系
    统,根据它感知进程的存在。
    4) 进程控制块 是进程存在的唯一标志。
    5)线程作为被处理器调度运行的最小单位。
    线程被包含在进程之中,一条线程就是进程中一个单一顺序的控制流,在一个进程中
    可以并发多个线程,每条线程并行执行不同的任务。
    6)进程的状态及转换
    3 种基本状态是:运行态(running),就绪态(ready),等待态(wait):又称阻塞态
    (blocked)或睡眠态(sleep)。实际系统中增加两个进程状态:新建态(new),终止态
    (exit)
    图片中的对应关系 要记住!
    7)已经获得除 CPU 以外的所有运行所需资原的进程处于就堵状态
    。。。。P30
    1.5.2 存储管理
    将用户源程序变为可在内存中执行的程序步骤:编译,链接,装入
    存储器管理主要功能:内存空间的分配与回收,地址转换,内存空间的扩充和存储保护
    1.5.3 设备管理
    设备管理模块主要负责处理器内核与外部设备间的数据交互,包括把设备分配给某个请求
    使用该设备的进程,处理 CPU 和设备间 I/O 通信,响应设备的中断请求,维护和回收设备
    等。
    1.5.4 文件管理
    将负责文件管理的部分称为文件系统。这部分功能设计文件的逻辑组织和物流组织、目录
    结构和管理等
    常用文件物理结构有顺序结构、链表结构、索引结构 。。。。P41 还有一些有时间再看
    1.5.5 作业管理
    作业时用户在一次计算过程中或一个事务处理中要求计算机系统所作工作的总和,也是用
    互相计算机系统提交任务的基本单位。
    包括作业的输入和输出,以及作业的调度和控制。
    一个作业从交给计算机系统到执行结束退出系统,一般经历提交、后备、执行和完成 4 个
    状态

Linux 系统概述

  1. Linus Torvalds 负责开发的 Linux 只是一个内核。内核指的是一个提供设备驱动、文件系统、进程管理、网络通信等功能的系统软件,内核并不是一套完整的操作系统,只是操作系统的核心。

  2. Linux 发行版本:Red Hat、Debian Linux、Fedora Core、CentOS、Ubuntu Linux、SuSE Linux、Gentoo Linux、Slackware

  3. 2019 年截止,世界超级计算机 500 强上运行的都是 Linux。安卓系统是基于 Linux 的开源系统,是 Google 公司为移动终端打造的真正开放和完整的移动软件。亚马逊云阿里云谷歌云都部署在 Linux 系统上。人工智能和区块链的底层也都是 Linux。

  4. 操作系统的概念、功能、组成和基本原理。
    ① 操作系统管理着整个计算机系统的软硬件资源,并提供用户与计算机系统交互的操作界面。
    ② 操作系统为用户提供以下服务:
    ③ 程序开发、程序运行、I/O设备访问、文件访问、系统资源的访问、错误检测和响应、日志服务
    ④ 从资源角度,操作系统五大功能:处理器管理、存储器管理、I/O设备管理、文件管理、作业管理
    ⑤ 操作系统基本特征:并发、共享、虚拟、异步
    ⑥ 并发是操作系统最重要的特征,并发指的是同一时间间隔发生的多个事件。
    ⑦ 并行指的是在同一时刻发生。
    ⑧ 共享、并发是操作系统最基本的两个特征
    ⑨ 资源共享分为:互斥共享方式和同时访问方式
    ⑩ 在同一时间内只允许一个进程访问的资源称为临界资源
    11 虚拟是指把一个物理上的实体变为一个或多个逻辑上的对应物
    12 异步 又称 随机性或不确定性。具体概念是 在相同的计算机环境和初始条件下,在同一数据集上运行的同一程序每次执行的顺序和所需时间都不一定相同。
    13 冯诺依曼结构设计的计算机由运算器、控制器、存储器、输入设备、输出设备组成
    14 指令集是一个计算机系统支持的所有机器指令的集合,常被看作软硬件的分界面。
    15 根据操作数的数量不同,可以将指令分为零地址指令、一地址指令、二地址指令、多地址指令。
    16 按指令的寻址空间来分,寻址方式可以分为立即数寻址、寄存器寻址、主存寻址、堆栈寻址
    17 按照指令系统的复杂程度:ISA可以分为RISA和CISA
    18 程序访问的局部性包含时间局部性和空间局部性
    19 Cache与主存储器间最基本的地址映射方式有三种:直接映射、全相连映射、组相连映射
    20 主存与cache之间的替换算法:随机法、先进先出、最近最少使用
    21 保证Cache与主存数据一致性的写方式为 写直达、写回
    22 MESI(缓存一致性协议)将cacheline状态分为 修改、独立、共享和失效
    23 按照冯诺依曼体系结构,传统的单核CPU由运算器和控制器组成
    24 按照计算机内核对等与否,多核处理器可分为 同构多核和异构多核
    25 处理器的运行状态一般分为 内核态和用户态
    26 进程控制块是进程存在的唯一标志
    27 冯诺依曼体系结构特点
    *计算机的数值采用二进制
    *程序指令和数据统一存储
    *计算机应该按照程序顺序执行
    *计算机由控制器、运算器、存储器、输入设备、输出设备组成
    28 计算机系统的层次结构:第0层数字逻辑层;第1层是微体系结构层;第2层是传统机器层;第3层是操作系统层;第4层汇编语言层;第5层是高级语言层;第6层是应用程序层
    29 时间局部性指的是最近访问过的内容很可能会在短期内被再次访问。空间局部性只指某个存储单元被访问,短时间内其附近的存储单元也会被访问。
    30 进程和程序的区别
    动态概念 静态概念
    具有并发特征 没有
    由生命周期,只在计算器运行期间存在 可在外存上长期保存
    进程与程序不是一一对应的,同一个程序运行在不同的数据集上成为不同进程
    组成成分不同,进程实体包括程序、数据和进程控制块

  5. Linux系统的特点、发展与应用
    ① 内核指的是一个提供设备驱动、文件系统、进程管理、网络通信等功能的系统软件。
    ② 特点:开放性、良好的可移植性、安全稳定、广泛的硬件支持、支持几乎所有的网络协议及开发语言、丰富的应用程序和开发工具、自由软件