计算机系统
计算机系统包括硬件系统与软件系统,通过计算机组成原理的学习已经完成了硬件系统的初步学习,通过java等应用编程语言的学习我们掌握了上层应用软件的实现,这个学期我们学习操作系统(系统软件)与数据库(支撑软件)等搭建底层与上层的桥梁,进一步了解计算机底层与上层之间的关系。
计算机系统的视图:
操作系统开发者面向底层硬件开发操作系统,方便编程语言设计者操作计算机开发更接近于人的编程语言,程序员使用编程语言开发应用程序供非计算机专业人员使用,提高生产效率,在此过程中,人们使用的计算机的门槛与难度逐渐降低,计算机也得以在各行各业都能发挥其强大的计算功能,计算机操作系统的诞生如windows等,指出计算机应该以人为本,能够快捷简单进行人机交互的操作系统才是好的操作系统。
计算机硬件系统
计算机硬件系统包括中央处理器,存储器、外围设备、总线系统构成,计算机组成已经对其进入深入了解,不过多赘述。
计算机软件系统
软件系统包括系统软件、支撑软件与应用软件:
软件系统扩充了计算机的功能,如果没有软件系统,程序员与使用者只能面向硬件使用计算机,过程繁琐复杂,而软件系统的诞生封装了硬件的使用流程,直接进行系统调用,使得程序员能够使用更高级的编程语言,经过语言处理程序转换为计算机语言操作硬件,更侧重于任务本身而不是操作计算机。
计算机操作系统
计算机操作技术
操作技术经历了三个阶段:手工操作、半自动控制、操作系统(自动化控制)
半自动控制解决了手工操作与计算机机械操作不匹配的问题,操作系统解决了IO机械速度和CPU电子速度不匹配的问题,使得多道程序执行实现。
操作系统分类
基于设计目标否为三种操作系统:
批处理操作系统:将程序数据打包分批送入作业队列
分时操作系统:系统把处理器时间轮流分配给各用户使用
实时操作系统:实时控制,抢占处理器的使用权
深入操作系统
1. 资源管理的角度
1.1 计算机系统的资源
- 硬件资源:包括处理器、主存和外围设备。
- 信息资源:数据和程序。
操作系统的主要任务是管理这些资源,解决如何分配、使用和回收资源的问题。关键挑战包括:
- 封装资源使用细节以提高易用性。
- 合理分配有限资源,避免不足和竞争问题。
1.2 资源管理技术
- 复用:将资源分割成多个单位供不同进程使用,包括空分复用(空间上分割资源)和时分复用(时间上分割资源)。
- 虚拟化:将物理资源转化为虚拟资源,提高资源的使用率和易用性,如虚拟存储器和打印SPOOLing。
- 抽象:简化硬件资源的操作,通过抽象接口提供更高层次的访问,如进程、虚存和文件抽象。
2. 程序控制的角度
2.1 多道程序设计
- 定义:允许多个程序在主存中同时存在,通过竞争处理器资源实现交替执行。
- 优点:
- 提高CPU和设备的利用率。
- 提高系统吞吐量和并行性。
- 注意点:过多的程序可能导致管理开销增加,从而降低效率。
2.2 实现要点
- 处理器管理:调度和分配CPU资源。
- 存储管理:确保内存保护和地址重定位。
- 资源调度:管理和调度其他硬件资源,如设备和文件。
3. 操作控制计算机的角度
3.1 计算机操作控制方式
- 脱机作业控制:通过批处理系统自动控制作业。
- 联机作业控制:用户通过交互式命令直接控制作业。
3.2 命令解释程序
- 功能:接收、解析和执行用户命令。
- 处理过程:
- 启动命令解释程序并等待输入。
- 读取和解析命令。
- 执行命令并等待下一条命令。
4. 人机交互的角度
4.1 人机交互界面
- 命令行界面:通过键盘输入命令。
- 图形用户界面(GUI):通过鼠标点击图标、按钮等进行操作。
- 触摸屏界面:通过触摸屏输入。
- 语音用户界面:通过语音指令控制计算机。
4.2 技术发展
- 从简单的行命令到全屏幕控制,再到图形用户界面和触摸屏界面。
- 虚拟现实(VR):模拟三维环境进行交互。
5. 程序接口的角度
5.1 系统调用
- 定义:程序访问操作系统服务的接口。
- 分类:
- 进程管理、文件管理、设备管理、存储管理、进程通信和信息维护。
5.2 系统调用的实现
- 系统陷阱:通过陷入指令切换到内核态,执行系统调用。
6.系统结构的角度
6.1工程特征
- 复杂性: 功能多、规模大、接口复杂。
- 开发: 长周期、难以保证正确性和可靠性。
6.2 结构设计方法
- 单体式结构: 结构紧密,但模块间依赖复杂。
- 层次式结构: 清晰的层次关系,易于维护,但通信开销大。
- 虚拟机结构: 支持多操作系统环境,但性能开销大。
- 微内核结构: 内核功能最小化,其他功能由用户态服务实现,具有良好的扩展性,但通信效率低。
6.3内核设计
- 单内核: 所有功能在内核中,性能高但复杂。
- 微内核: 内核精简,功能分离,扩展性强但通信开销大。
- 混合内核: 兼顾性能和结构性。
- 外内核: 专注硬件抽象,主要用于嵌入式系统。