第一章 计算机操作系统概述
操作系统是计算机系统中最重要的系统软件,它统一管理计算机系统的硬件资源与信息资源,控制与调度上层软件的执行并为其提供易于使用的接口。从资源管理、程序控制、操作控制、人机交互、程序接口、系统结构6个角度深入观察操作系统。
1.1.1计算机系统概述
电子数字计算机
电子数字计算机是一种能够自行按照已设定的程序进行数据处理的电子设备,它是软件与硬件相结合的、面向系统的、侧重于应用的自动化求解工具。1946年,第一台电子数字计算机ENIAC诞生于美国。短短70余年间,计算机技术得到了快速发展,从早期的科学计算与数据处理领域迅速扩展到实时控制、辅助设计、智能模拟等诸多领域。到今天,计算机技术已无所不在,深入社会生活各个领域,深刻改变了当今人类社会的组织行为。
计算机技术的发展
计算机的诞生与发展经历了以下几个阶段。
第一代 电子管计算机(1946-1957年)
第二代 晶体管计算机(1958-1964年)
第三代 集成电路计算机(1965-1977年)
第四代 超大规模集成电路计算机(1977-至今) #电晶集超大集 4567
1945-:电子真空管、机器语言,应用于科学计算 #存储小 速度慢
1956-:晶体管、批处理控制、Fortran/COBOL,扩展到数据处理领域 #fortran/cobol 高级程序设计语言
1959-:集成电路、多道程序、操作系统/数据库/高级语言,应用领域继续扩展
1976-:大规模/超大规模集成电路,向快速化/小型化/系统化/网络化/智能化等方面发展
1980-:微机出现,廉价化促使应用领域快速膨胀
1990-:图形化人机交互技术,友善化推动了应用人群的快速扩展
2003-:移动计算的出现,计算无处不在
计算机系统的组成
现代计算机系统包括硬件和软件两个组成部分,硬件与软件共同构成一个求解计算问题的工具。硬件是软件运行的物质基础,软件能够充分发挥硬件潜能并扩充硬件功能,共同完成各种应用任务。一个计算机系统的软硬件层次结构中每层都具有一组功能并对外提供相应接口。接口对层内隐藏了实现细节,对层外提供了使用约定
计算机硬件系统是借助电、磁、光、机械等原理构造的各种物理部件的有机结合,是计算机系统工作的载体,包括处理器、存储器、I/O控制系统及外围设备。
计算机软件系统则包括各类程序和文件,用于指挥计算机系统按指定要求进行协同工作,包括系统软件、支撑软件和应用软件,其中最关键的系统软件是操作系统和语言处理程序
1.1.2 计算机硬件系统
计算机系统硬件的组成
计算机硬件系统包括中央处理器(central processing unit, CPU)、主存储器、外围设备等组件,它们通过系统总线连接。中央处理器包括运算单元和控制单元,运算单元用于计算机硬件执行具体的机器指令的运算,控制单元则解译机器指令。主存储器用系统于存储正在执行的程序和数据。外围设备则包括显示器等输出设备,键盘、鼠标等输入设备,硬盘等存储设备,以及机-机间的通信设备。 #硬件=cpu+主存+外围设备 cpu=运算单元+控制单元 控制负责解译指令
冯·诺依曼计算机体系结构
当今绝大部分计算机是基于冯·诺依曼模型设计的存储程序计算机。这一计算机模型由冯·诺伊曼等人在1946年总结并提出,明确了计算机系统包括运算器、控制器、存储器、输入设备和输出设备5个组成部分。该体系结构具有以下特点: (二进制作为计算机数制进制基础;存储程序与程序控制)
①以运算单元为中心,控制流由指令流产生。 #运算单元中心 指令流产生控制流
②采取存储程序原理,面向主存储器组织数据流。 #存储原理 面向主存储数据流
③主存储器按照地址访问,提供线性编址空间。 #主存储按地址访问 提供线性编址
④指令由操作码和地址码组成。 #指令=操作码+地址码
⑤数据以二进制编码。 #二进制编制=废话 学计算机的都知道
存储器是该模型的核心部分,运算器和控制器都面向存储器进行操作,同时,外围设备也针对存储器进行数据的输入/输出。计算机的各个部件(存储器、控制器、运算器和输入/输出设备)需要通过总线相连接,从而构成完整的计算机硬件系统。
计算机总线与网络总线
总线是计算机各种功能部件之间传送信息的公共通信干线。按照所传输的信息分类,总线可分为控制线、数据线和地址线。为了提高计算机系统通信的效率,计算机总线的设计是分级的,即计算机系统存在多类总线,具体包括以下三个类型。
①内部总线:用于CPU芯片内部各元件的连接。
②系统总线:用于连接CPU、存储器和各个I/O模块。
③通信总线:用于计算机系统之间通信
#scsi设备=采用scsi接口的硬盘 LAN=局域网设备
北桥芯片是电脑主板上的一块芯片,位于CPU插座边,起连接作用;北桥在电脑里起着主导的作用,所以又称为主桥
南桥芯片是主板芯片组的重要组成部分,一般位于主板上离CPU插槽较远的下方,PCI插槽的附近,连接I/O总线;不与CPU直接相连,而是通过一定的方式与北桥芯片相连
中央处理器(CPU)
中央处理器是计算机的运算核心和控制单元,主要包括:
运算逻辑部件:一个或多个运算器
寄存器部件:包括通用寄存器、控制与状态寄存器,以及高速缓冲存储器(Cache)
控制部件:实现各部件间联系的数据、控制及状态的内部总线;负责对指令译码、发出为完成每条指令所要执行操作的控制信号、实现数据传输等功能的部件
存储器的组织层次
外围设备及其分类
- 输入设备
- 输出设备
- 存储设备
- 机机通信设备
I/O控制方式 : #I/O=Input/Output
轮询方式:CPU忙式控制I/O,CPU执行内存数据交换 #cpu控制i/o 执行内存数据交换
中断方式:CPU启动I/O设备,设备进行I/O,设备中断CPU以善后,CPU执行内存数据交换 #cpu启动i/o设备 设备进行i/o 中断后交给cpu cpu执行内部数据交换
DMA方式(直接存储访问):CPU启动DMA,DMA独立进行I/O和内存数据交换,DMA中断CPU以善后 #cpu启动dma dma进行i/o和内存数据交换,中断后交给cpu
1.1.3 计算机软件系统
计算机软件系统的组成
系统软件:操作系统、实用程序、语言处理程序、数据库管理系统
- 操作系统实施对各种软硬件资源的管理控制
- 实用程序为方便用户所设,如文本编辑等
- 语言处理程序把用汇编语言/高级语言编写的程序,翻译成可执行的机器语言程序
支撑软件有接口软件、工具软件、环境数据库,支持用户使用计算机的环境,提供开发工具 也可认为是系统软件的一部分
应用软件是用户按其需要自行编写的专用程序 #比如:日常app
程序员的计算机系统视图
软件开发的不同层次
计算机硬件系统:机器语言
操作系统之资源管理:机器语言+广义指令(扩充了硬件资源管理)
操作系统之文件系统:机器语言+系统调用(扩充了信息资源管理)
数据库管理系统:+数据库语言(扩充了功能更强的信息资源管理)
语言处理程序:面向问题的语言
计算机程序的执行过程