计算机系统概述
计算机系统及其结构
计算机系统的硬件主要由中央处理器(CPU),存储器,输入输出控制系统和各种输入输出设备组成
中央处理器:对信息进行高速运算和处理的部件
存储器:分为主存储器和辅存储器,用于存放各种程序和数据,主存储器可直接被中央处理器访问
输入输出设备:计算机与用户间的交互接口部件
输入输出控制系统:管理外围设备与主存储器之间的信息传递
计算机软件可分为:系统软件,支撑软件,应用软件三类
系统软件是计算机系统中最靠近硬件层次的,不可或缺的软件
支撑软件是支撑其他软件的开发和维护的软件
应用软件是特定应用领域的专用软件
三者既有分工又相互结合,而且相互有所覆盖,交叉和变动,并不能截然分开
中央处理器
CPU必须具有
指令控制:控制程序的顺序执行
操作控制:产生完成每条指令所需的控制命令
时间控制:对各种操作加上时间上的控制
数据加工:对数据进行算术运算和逻辑运算
处理中断等功能
CPU寄存器通常设在CPU内部,分为通用寄存器(用户可见),专用寄存器(用户不可见)
状态标志寄存器PSW
存储器地址寄存器MAR
存储器数据寄存器MDR
程序计数器PC
指令寄存器IR
专用寄存器对指令执行起到重要作用
存储器
存储器的顶层是CPU内部寄存器,与CPU同材质同速度的特点,因而存取无延迟
高速缓存(Cache):CPU和内存之间的临时存储器,容量比内存小,存取速度比内存快很多
当某程序需要读取内存中的信息时,CPU首先检查所需要的信息是否存在于Cache中,如果在就成为高速缓存命中,反之称为高速缓存未命中
现代CPU设计了两级缓存
L1Cache:第一层高速缓存,分为数据缓存和指令缓存
L2Cache:只存储数据
L1和L2缓存的区别在于时序,L1缓存访问无时延,L2会延迟一或两个时钟周期
一些高端领域还会设计L3,进一步降低内存延迟,同时提升大数据量计算时处理器的性能
主存包括随机访问存储器(RAM)和只读存储器(ROM)
前者是易失性存储器
I/O系统
I/O系统由I/O软件和I/O硬件组成
I/O软件将用户编制的程序或数据输入主机,将运算结果输送到用户,期间最重要的任务是实现I/O系统与主机工作的协调
I/O硬件是多种多样的,在带有接口的I/O系统中,一般包括接口模板及I/O设备两大部分
I/O设备一般包括设备控制器和设备本身
设备控制器本身有一些缓冲区和一组专用寄存器,负责在外部设备和本地缓冲区之间转移数据
这些对设备控制器发布指令并接收其响应的软件,称为设备驱动程序
I/O设备大致分为人机交互设备,计算机信息的存储设备和机机通信设备
总线
计算机系统五大子系统之间的互连方式有分散连接和总线连接两种
早期计算机大多数采用分散连接方式
为有效实现I/O设备种类,数量增加与主机连接的效率与灵活性,出现了总线连接方式
1.采用总线连接的计算机结构是以CPU为中心的双总线结构
2.CPU,主存和I/O设备都连接到同一条总线上形成单总线结构
3.以存储为中心的双总线结构,它在单总线的CPU和主存之间增设了一组存储总线,供主存和CPU传输信息以减轻系统总线的负担
Pentium系统有八条总线
- Cache总线
- 本地总线
- 内存总线
- 外围部件互连总线
- 小型计算机系统总线
- 电子集成驱动总线
- 工业标准架构总线
- 通用串行总线
启动计算机
1.计算机加电
2.BIOS开始运行,检测硬件:cpu、内存、硬盘等
3.BIOS读取CMOS存储器中的参数,选择启动设备
4.从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64为分区信息,最后两个为标志位)
5.根据分区信息读入bootloader启动装载模块,启动操作系统
6.然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统则会要求用户按照设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内核。然后初始有关的表格(如进程表),穿件需要的进程,并在每个终端上启动登录程序或GUI
指令的执行
程序执行是由不断重复取指令和执行指令的过程组成的
取指令和执行指令
在每个指令周期开始时,处理器从主存储器中取一条指令
程序计数器保存下一次要取得指令地址,知道的指令被放在中央处理器的一个寄存器中,称为指令寄存器
I/O函数
I/O控制器对主存储器发出读命令或写命令,从而免去了处理器负责数据交换的任务,这个操作称为直接存储器存储(DMA)
中断
计算机提供了允许其他模块(I/O,存储器)中断处理器正常处理过程的机制
程序中断:由指令执行的结果产生,例如算数溢出,除数为零,执行非法的机器指令以及访问非法地址
时钟中断:由中央处理机的计时器产生,允许操作系统以一定规律执行函数
I/O中断:由I/O控制器产生,用于通知中央处理机一个操作正常完成或出现错误
硬件故障中断:由诸如掉电或主存储器奇偶错误之类的故障产生
中断与指令周期
利用中断功能,中央处理器可以在I/O操作的执行过程中执行其他指令
从用户程序的角度来看,中央处理器和操作系统负责中断用户程序,然后在同一个地方恢复执行
多个中断
处理多个中断有两种方法
第一种方法是当正在处理一个中断时,禁止再发生中断
第二种方法是定义中断优先级,允许高优先级的中断打断低优先级的中断处理程序的运行
思考与练习题
1.如何理解计算机系统的层次结构?
计算机硬件、系统软件和应用软件构成了计算机系统的三个层次结构。
(1)硬件系统是最内层的,它是整个计算机系统的基础和核心。
(2)系统软件在硬件之外,为用户提供一个基本操作界面。
(3)应用软件在最外层,为用户提供解决具体问题的应用系统界面。
通常将硬件系统之外的其余层称为虚拟机。各层次之间关系密切,上层是下层的扩展,下层是上层的基础,各层次的划分不是绝对的。
2.简述计算机硬件,软件,操作系统三者之间的关系
操作系统隐藏了硬件的复杂细节,组织和管理硬件资源实现用户需求;操作系统是最靠近硬件层次的系统软件,与具体的应用领域无关
3.冯,诺依曼计算机的特点是什么
由五大部件组成,指令和数据以同等地位存放于存储器内;
指令和数据均可用二进制表示,操作码表示操作的性质和地址码表示操作数在存储器中的位置;
指令在存储器中按顺序存放,通常以运算器为中心;
特殊情况下,可根据运算结果或指定的条件来改变运算顺序;
机器以运算器为中心。
4.试画出计算机硬件组成框图
5.计算机中哪些部件可以存储信息
寄存器,主存储器,Cache,硬盘驱动器,半导体存储器,磁表面存储器,激光存储器,只读存储器
6.什么是I/O接?其功能是什么?
IO接口(Input/Output Interface)是计算机系统中用于连接输入输出设备(如键盘、鼠标、打印机、硬盘等)与计算机主机之间的接口或通信通道。其作用是在计算机系统内部和外部设备之间传输数据和控制信息。
主要作用包括:
数据传输:IO接口用于在计算机系统和外部设备之间传输数据。这些数据可以是从外部设备输入到计算机系统,也可以是从计算机系统输出到外部设备。
控制设备:IO接口可以向外部设备发送控制信号,控制其工作状态、数据传输方向、速率等。
通信协议转换:IO接口可能会对传输的数据进行协议转换,使其符合计算机系统和外部设备之间的通信标准和规范。
数据缓冲:IO接口可能包含数据缓冲区,用于临时存储数据,以便在计算机系统和外部设备之间进行数据传输时进行调度和管理。
7.存储容量和内存容量有什么区别?
指代不同,计算方式不同,特点不同
8.CPU有哪些功能?CPU结构是怎样的?
中央处理器章节可解释
操作系统引论
从资源管理的角度来看,操作系统对计算的系统内的所有软、硬件资源进行管理和控制,优化资源的利用,协调系统内的各种活动,处理可能出现的各种问题。
资源管理的角度观点
操作系统是系统资源的管理者必须完成以下工作
- 跟踪和监控程序的运行情况,记录程序的运行状态
- 进行计算机各种资源(如处理机,内存,和输入输出设备的)分配
- 回收资源,以便再分配
因此,操作系统是控制和管理计算机的软,硬件资源,合理组织计算机的工作流程,以方便用户使用的程序集合
操作系统被划分成处理机管理,存储管理,设备管理,文件管理,用户接口
用户的角度观点
用户要求它性能稳定,可靠,使用起来简单灵活,除此之外还要提供如下功能
- 为用户创造适宜的工作环境,便于用户控制自己的程序运行
- 应配置各种子系统(编辑程序,编译程序,装配程序和调试程序)以及程序库(如服务程序库和应用程序库),便于用户编写,调试,修改和运行自己的程序,增强用户的解题能力
- 为了简化输入输出操作,统一资源的分配管理,系统提供方便的数据操作接口
- 为用户使用计算机提供灵活,方便,有好的用户界面
硬件和软件两者是相互依赖,互相促进的
操作系统的产生和发展
第一代计算机
缺点:用户完全独占计算机;计算机等待人工操作
第二代计算机
特点:程序不再用机器语言直接书写,出现了汇编语言和高级语言
单道批处理系统:其思想是将所有作业用一台相对便宜的计算机输入到磁带上,此计算机称为输入输出机,实施数值运算,速度较快的计算机称为主机
输入输出工作是在脱离主机进行的称为脱机输入输出
脱机输入输出有以下优点:
- 减少了CPU的空闲时间
- 提高了输入输出的速度
第三代计算机
产生了多道程序设计技术,其思想是把多个程序同时放入主存储器或内存储器,使他们共享系统中的资源
多道程序设计技术具有以下几个方面的特点
- 多道,即计算机内存中同时存放多道相互独立的程序
- 宏观上并行,是指同时进入系统的多道程序都处于运行过程中
- 微观上串行,是指在单处理机环境下,内存中的多道程序轮流占用CPU,交替执行
多道程序设计技术在使CPU的利用率大大提高的同时也使得内存得到了充分的利用,提高了I/O设备的利用率,也必然大幅提高系统的吞吐量,从而降低程序运行所需要的费用
假脱机技术:卡片拿到机房后能够很快地用卡片输入输出机输入到磁盘中,当CPU空闲,该作业被调度后立即从磁盘读出,装入内存运行,输出时也是如此。
分时系统:用户的程序是由自己通过练级终端直接控制的,而每个用户的程序不再是在CPU上运行完毕后退出,而是运行一段时间后让出CPU,使其他用户的程序得以执行
第一个分时系统叫做CTSS
多道批处理系统和分时系统的出现标志着操作系统的形成
第四代计算机
虚拟内存管理技术就是将作业的一部分装入到内存,该作业就可以运行的存储体系
个人计算机连接到了网络,运行在其上的网络操作系统和分布式操作系统开始崛起
在网络操作系统中,用户知道多台计算机的存在,能够登录到一台远端的个人计算机上,并可以进行文件的复制和远端资源的访问
在分布式操作系统控制之下,所有的一切都由操作系统自行高效地管理和完成,一个应用程序通常分为若干个模块,并分别在多台计算机上运行,所系需要复杂的多处理机调度算法来获得最大的并行度
操作系统的特征
操作系统是一种系统软件
并发
并发就是指两个或两个以上的事物在同一时间间隔发生
并行就是指两个或两个以上的事物在同一时刻发生
操作系统的并发性具体体现在用户程序与用户程序之间的并发执行以及用户程序和操作系统程序之间的并发执行
操作系统必须具备管理各种并发活动,建立监控并发活动的实体,分配必要资源的能力
共享性
共享是指计算机中的各种资源供在其上运行的程序共同享用,这种享用是操作系统的同一控制下实现的。共享有两种方式,即互斥共享方式和共同访问方式
并发和共享是操作系统中最基本的特征
虚拟性
在操作系统中,虚拟是指通过某种技术手段把一个物理实体变成多个逻辑上的对应物
逻辑上的CPU也称为虚处理机
操作系统的虚拟性主要是通过分时使用的方法实现的
不确定性
操作系统的运行在一个不确定的环境中进行的
操作系统的功能
操作系统的宗旨是提高系统资源的利用率和方便用户
进程管理
进程管理也称为处理机管理
可以分为以下几个方面
- 进程控制:创建进程,撤销进程以及控制进程在运行过程中的状态变换
- 进程同步:进程之间有时需要进行协调,这种协调关系有以下两种。互斥方式:系统中有些资源要求同时只能有一个进程对它们进行访问;同步方式:进程在执行时,有时需要协作,一个进程运行时需要另外一个进程的运行结果。最简单的进程互斥和同步机制就是信号灯
- 进程通信:进程通信的任务就是用来实现相互合作进程之间的信息传递,不同计算机系统中进程之间的通信也称为计算机网络通信
- 进程调度:进程调度的任务就是从若干个已经准备好运行的进程中,按照一定的算法选择一个进程,让其占用中央处理机,使之投入运行
存储管理
存储管理要管理的资源是内存,他的任务是方便用户使用内存,提高内存的利用率以及从逻辑上扩充内存。
内存管理包括内存分配、地址映射、内存保护和内存扩充
- 内存分配:操作系统为要运行的程序分配内存空间,使其能被装入内存,投入运行
- 地址映射:程序在装入内存时必须要有一个地址的变换过程,这一过程就是地址映射,也称为地址重定位
- 内存保护:为了防止某道程序干扰和破坏其他用户程序或系统程序,存储管理必须保证每个用户程序只能访问自己的存储空间。
- 内存扩充:从逻辑上扩充内存容量的方法,简单地说就是仅将用户程序的一部分装入内存就可以使之运行,当需要运行的程序不在内存中,就将那部分程序装入内存,若没有空闲内存空间,就暂时将不运行的程序先置换出去
设备管理
设备管理是操作系统在最庞杂,最繁琐的部分,这样说的原因有很多
- 设备管理中涉及很多实际物理设备,它们品种繁多,用法各异
- 各种外部设备都能与主机并行工作,有些设备还能被多个程序共享
- 主机与外部设备的速度极不匹配,相差几个数量级甚至更多
设备管理的主要任务如下
- 完成用户提出的输入输出请求,为用户分配外部设备
- 提高外部设备的利用率
- 尽可能提高输入输出的速度
- 方便用户使用外部设备
要完成以上任务,设备管理需要提供如下所述的功能
设备分配:
设备分配有独占设备和共享设备之分,对于独占设备,要考虑设备分配出去系统是否安全;对于共享设备要考虑程序在使用设备时互不干扰的问题。设备分配时有时还要使用虚拟技术,以满足输入输出设备与CPU之间速度不匹配的矛盾
设备控制:
设备控制通常是CPU与设备之间的通信。即由CPU向指定设备发出输入输出指令,要求它完成指定的I/O操作,然后等待由设备发来的中断请求,及时响应和进行处理
设备的无关性:
设备的无关性是指应用程序独立于具体的物理设备,用户的程序与实际使用的物理设备无关