符合CSXX规范的计算机系统类课程设计.doc_第1页
符合CSXX规范的计算机系统类课程设计.doc_第2页
符合CSXX规范的计算机系统类课程设计.doc_第3页
符合CSXX规范的计算机系统类课程设计.doc_第4页
符合CSXX规范的计算机系统类课程设计.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

符合CSXX规范的计算机系统类课程设计 张亮,路红,唐志强 (复旦大学计算机科学技术学院,上海xx33) 摘要:针对传统计算机系统类课程群中多门课程知识点重复、有衔接漏洞的问题,按照系统能力培养的观点,结合复旦大学计算机学院系统类课程的教学经验,提出将ACMCSxx规范中相关的知识要点分解到数字逻辑部件、计算机组成原理、操作系统、计算机体系结构的课程中去,旨在指导本科计算机系统类课程的教学。 关键词:计算机系统能力培养;课程大纲;acmcsxx :1672-5913(xx)17-0029-06 :G642 第一作者简介:张亮,男,教授,研究方向为服务计算、以数据为中心的业务流程管理、数字图书馆,Lzhangfudanedu。 1背景 应用和技术的进步驱动着计算机科学的迅猛发展。当前,计算机呈现出“人与信息世界及物理世界融合”的趋势和网络化、服务化、普适化、智能化的鲜明特征,计算机相关学科的研究重心正由算法和程序向系统层面转移。 ACM/IEEE最新公布的CSxx(ComputerScienceCurriculaxx)调整和新增的4个知识域(BodyofKnowledge,BoK)系统基础(SF)、并行和分布计算(PD)、基于平台的开发(PBD)、信息保障和安全(IAS)均涉及系统级内容;国内教育部计算机专业教学指导分委员会已经开始研究计算机专业学生能力培养和实践教学体系,重点探讨如何使学生增强系统能力,具备全局掌控一定规模系统的能力;南京大学、北京大学、北京航空航天大学、浙江大学、国防科技大学等高校进行了多年探索实践,积极效果正在逐步体现。经验表明,以系统观为指导,强化系统类课程群的建设是一种行之有效的措施。 系统类课程群是与计算机系统密切相关的若干课程的统称。以复旦大学计算机科学技术学院的教学实践为例,系统类课程群包括数字逻辑部件、计算机组成原理、操作系统、计算机体系结构、编译5门专业课程及相关配套实验。这些课程从多层次(部件、系统)、多观点(硬件、软件)介绍同一个主体对象计算机系统的核心知识,对学生理解计算机系统的内部运作机制起到至关重要的作用。 现阶段,独立建设的教学体制造成了多门课程知识点部分重叠、前导课后继课相互依赖,这一现象已为从事本领域教学管理和教学实践的大部分教师所关注,并成为历次教学研讨会、导教班力图解决的热点问题。 2核心要点及课程分解 我们以ACMCSxx为规范性蓝本,抽取与系统类课程群关系最为密切的3个知识域(BoK)-SystemsFundamentals(SF,系统基础)、ArchitectureandOrganization(AR,体系结构及组成)、OperatingSystems(OS,操作系统)为研究对象,从系统观的角度探索知识要点配置、共同知识要点在多门课程中的侧重以及多门课程在相关知识体系上的衔接问题。 所谓“系统观”,就是指对计算机系统的深刻理解。具有“系统观”的人才,能够站在系统的高度考虑和解决应用问题,具有系统层面的认知和设计能力,包括对软、硬件功能进行合理划分、对系统不同层次进行抽象和封装、对系统整体性能进行分析和调优、对系统各层面的错误进行调试和修正、对用户程序进行准确的性能评估和优化以及根据不同的应用要求合理构建系统框架等能力。 首先,我们分别列举这3个知识域的各知识要点(其顺序与ACMCSxx相同);然后,为各知识要点分配对应的课程名称,重点关注多门课程在同一个知识要点上的侧重点,探讨横跨多个知识域知识要点间的衔接问题。 为后续讨论方便,我们为每个知识要点赋予了编号,其格式如下:知识域名知识要点编号一序号。例如,操作系统知识域的并发知识要点下“中断的作用”编号为:OS/3-4。同样,4门系统类课程数字逻辑部件、计算机组成原理、操作系统、计算机体系结构也分别代以记号DL、CP、OS和AR,特殊的侧重则标注在课程名称之后)。 2.1SF/SystemFundamentals(系统基础) 系统基础域分为计算范型、跨层通信、状态及状态机、并行、评估、资源分配及调度、逼近、虚拟化及隔离、通过冗余增强可靠性、量化评估10个部分。 2.1.1SF/1计算范型 计算机的基本构造模块和部件(门,触发器,寄存器(DL,CP),互联;数据通路+控制+存储器(CP强调软件,DL仅至单周期,AR多周期,强调硬件)。 作为计算模型的硬件:基本逻辑构造模块;逻辑表达式,最小化,积之和形式(DL,CP)。 应用层序列处理:单线程(CP单个进程执行,不涉及切换,OS)。 简单应用层并行处理:请求层(网络服务客户一服务器分布式),每个服务器单线程,多服务器多线程(CP,OS应用)。 流水线的基本概念,重叠处理阶段(AR硬件实现,CP软件实现,OS原理)。 缩放基本概念:变快vs处理更大的问题(CP,OS)。 2.1.2SF/2跨层通信 抽象编程,接口,库的使用(CP两级抽象,OS)。 应用、OS服务、RPC的区别(OS)。 应用与虚拟机的交互(OS)。 可靠性(OS,AR,CP冗余,纠错,DL纠错)。 2.1.3SF/3状态及状态机 数字和模拟离散和连续系统(DL)。 简单逻辑门,逻辑表达式,布尔逻辑简化(DL,CP)。 时钟,状态,顺序(DL,CP)。 组合逻辑,时序逻辑,寄存器,存储器(DL,CP)。 状态机的计算机和网络协议样例(CP,DL定义状态机)。 2.1.4SF/4并行 串行处理与并行处理(CP介绍概念)。 并行程序设计与并发程序设计(OS)。 请求并行与任务并行(OS)。 客户服务器模型,Web服务,线程的创建和运行,管道(OS)。 多核结构和同步的硬件支持(AR原语,OS机制)。 2.1.5SF/5评估 性能图(AR)。 负载和代表性基准,以及采集和分析性能图的方法(AR)。 使用CPI(每条指令的执行周期)公式来理解指令集设计,处理器流水线和内存系统组织的权衡(CP,AR)。 阿姆达尔定律(AR,CP)。 2.1.6SF/6资源分配及调度 资源的种类(例如,处理器分享,内存,磁盘,网络带宽)(OS)。 调度的种类(例如,先来先服务,优先级调度)(OS)。 公平调度的有点,抢占式调度(OS)。 2.1.7SF/7逼近 光速和计算机(每纳秒一英尺和1G赫兹时钟)(AR)。 计算机系统中的延迟:内存vs磁盘延迟vs网络存储之间的延迟(CP,OS,AR)。 处理器和系统的缓存以及时间空间局部性在性能上的影响(CP)。 数据库、操作系统、分布式系统和计算机体系结构的缓存和缓存一致性(CP,OS)。 处理器存储层次化和平均内存访问时间公式的介绍(CP,OS提问,AR提问)。 2.1.8SF/8虚拟化及隔离 保护和可预测性能的基本原理(CP)。 间接法的级别,以虚拟内存来管理物理存储资源(CP,OS)。 虚拟内存实现方法和虚拟机实现方法(OS)。 2.1.9SF/9通过冗余增强可靠性 软件错误和故障的区别(OS)。 基于检查和重试的冗余(OS)。 基于冗余编码的冗余(错误修正码ECC,CRC,FEC)(DL)。 复制镜像多重备份(OS)。 增强容错性和可用性的其他方法(OS)。 2.1.10SF/10量化评估 导出量化评价的分析工具(AR)。 数量级分析(大O记法)(OS)。 系统快速和慢速路径分析(?)。 事件及它们对性能的影响(比如指令阻塞,(AR),缓存未命中,页错误)(CP,OS)。 理解分层系统,工作量,平台,表现隐含式,和它们对估值表示的挑战(?)。 微基准测试问题(?)。 2.2AR/ArchitectureandOrganization(体系结构及组成) 体系结构组成域分为数字逻辑和数字系统、数据的机器级表示、汇编级机器组成、存储系统组织和体系结构、接口和通信、功能性组织、多道处理及候选架构、性能提升等8个部分。 2.2.1AR/1数字逻辑和数字系统 计算机体系结构的概述及历史(AR)。 组合逻辑和时序逻辑作为基本组合+时序逻辑构造模块的现场可编程门阵列(DL,CP)。 多重表述层的解释(硬件只是另一个层)(DL,CP)。 处理硬件和结构描述的计算机辅助设计工具(DL)。 寄存器传输符号表示硬件描述语言(Verilog/vHDL)(DL,CP). 物理约束(门延时,扇入,扇出,能量功耗)(DL)。 2,2.2AR/2数据的机器级表示 比特,字节和字(CP,DL)。 数值数据表示和基数(CP,DL)。 固定和浮点系统(CP)。 有符号数和二进制补码表示(CP,DL)。 非数值数据表示(特征码,图形数据)(CP,DL)。 记录和数组表示(CP)。 2.2.3AR/3汇编级机器组成 冯诺依曼机器的基本组成(AR,CP)。 控制单元;取指,译码,执行(CP,AR)。 指令集和类型(数据操作,控制器,读写)(CP,AR强调RISC)。 汇编机器语言编程(CP)。 指令格式(CP,AR强调RISC)。 寻址方式(CP)。 子程序调用和返回机构(CP)。 读写和中断(CP,硬件机制,OS中断处理及应用)。 堆vs静态vs栈vs代码段(CP)。 共享存储多处理器多核组织(CP介绍几种形态,OS应用,AR重点)。 11介绍SIMD和MIMD以及Flynn分类法(AR)。 2.2.4AR/4存储系统组织和体系结构 存储系统和其技术(CP)。 存储层次:时间和空间局部性的重要性(CP)。 主存储器的组织和操作(CP)。 延迟、时钟周期、带宽和交叉存取(CP)。 缓存(地址映射,块大小,替换和存储规则)(CP)。 多处理器缓存一致性使用存储系统来进行核间同步原子内存操作(CP)。 虚拟内存(页表,TLB)(CP)。 错误处理和可靠性(OS)。 错误编码,数据压缩,数据完整性(?)。 2.2.5AR/5接口和通信 I/O基础:握手,缓冲,轮训,中断驱动的I/O(OS)。 中断结构:向量化和优先化,中断知识(CP,OS)。 外部存储,物理组织和驱动(CP)。 总线:总线协议,仲裁,直接内存访问(DMA)(CP)。 网络入门:通信网络作为远程访问的另一层次(CP)。 多媒体支持(CP)。 RAID(OS)。 2.2.6AR/6功能性组织 简单数据通路的实现,包括指令流水线,冒险检测及消除(DL单周期,CP)。 控制单元:硬接线和微程序实现(DL单周期,CP多周期)。 流水线介绍(CP偏软件实现,AR偏硬件实现)。 介绍指令级并行(ILP)(AR)。 2.2.7AR/7多道处理及候选架构 功耗定理(AR)。 SIMD和MIMD指令集和结构的例子(AR)。 互联网络(超立方体,洗牌交换,mesh,crossbar)(AR)。 共享存储系统和存储一致性(AR)。 多处理器cache一致性(AR)。 2.2.8AR/8性能提升 超标量结构(AR)。 分支预测,前瞻执行,乱序执行(AR)。 预取(AR)。 向量处理器和GPUs(AR)。 硬件支持多线程(AR)。 可扩展性(AR)。 其他结构,诸如VLIW/EPIC,以及加速器和其他类型的专门用途(AR)。 处理器(AR)。 2.30S/OperatingSystems(操作系统) 体系结构组成域分为操作系统概述、操作系统原理、并发、调度及分派、内存管理、安全与保护、虚拟机、设备管理、文件系统、实时和嵌入式系统、容错、系统性能评估等12个部分。 2.3.10S/1操作系统概述 操作系统的作用和目的(OS)。 典型操作系统的功能(OS)。 支持客户服务器模型和手持设备的机制(OS)。 设计问题:效率、鲁棒性、灵活性、可移植性、安全性、兼容性。 安全性、联网、多媒体、窗口系统与操作系统的关系(OS)。 2.3.20S/2操作系统原理 操作系统体系结构(单体、分层、模块、微内核)(OS)。 抽象,进程,资源(OS)。 应用程序接口API的概念(OS,CP)。 软硬件技术的发展和应用需求(OS)。 设备组织(OS,CP)。 中断:方法及实现(OS)。 用户态内核态及操作系统保护,转入内核态方式(OS)。 2.3.30S/3并发 进程的概念,状态及状态变迁图(OS)。 结构(就绪队列,进程控制块等)(OS)。 调度及上下文切换(OS)。 中断的作用(OS)。 对内核数据结构的原子性访问(OS)。 实现同步原语(OS)。 多处理器相关问题(自旋锁,重入)(OS,AR)。 2.3.40S/4调度及分派 抢占与非抢占式调度(OS)。 调度器和调度策略(OS)。 进程及线程(OS)。 时限及实施调度问题(OS)。 2.3.50S/5内存管理 物理内存和内存管理硬件回顾(OS)。 工作集和抖动(OS)。 缓存(CP)。 2.3.60S/6安全与保护 系统安全概论(OS)。 机制与策略分离(OS)。 安全方法和措施(OS)。 保护,访问控制,认证(OS)。 备份与回复(OS)。 2.3.70S/7虚拟机 虚拟机的类型(包括硬件、软件、操作系统、服务器、服务、网络)(OS)。 分页及虚拟内存(CP)。 虚拟文件系统(OS)。 虚拟机管理程序(OS)。 可移植虚拟化,仿真和隔离(OS,强调Container,Docker)。 虚拟化的代价(OS)。 2.3.80S/8设备管理 串行和并行设备的特性(OS)。 抽象设备的差异性(OS)。 缓存策略(OS)。 DMA(OS)。 失效恢复(OS)。 2.3.90S/9文件系统 文件:数据,元数据,操作,组成,缓冲,顺序文件与非顺序文件(OS)。 目录:内容及结构(OS)。 文件系统:分区、加载卸载、虚拟文件系统(OS)。 标准实现技术(OS)。 内存映像文件(OS)。 特殊文件系统(OS)。 文件的命名,搜索,访问,备份(OS)。 日志文件结构(OS)。 2.3.100S/10实时和嵌入式系统 实时进程及调度(OS)。 实时环境中的内存磁盘管理需求(OS)。 失效,风险和恢复(OS)。 实时系统的特有问题(OS)。 2.3.110S/11容错 基本概念:系统的可靠性和可用性(OS)。 时间和空间冗余方法(OS)。 冗余的实现方法(OS)。 操作系统通过检测、恢复、重启实现冗余的案例分析,包括用于操作系统自身服务的技术(OS)。 2.3.120S/12系统性能评估 系统评估的必要性(OS)。 评估的要素(OS)。 系统性能策略,如高速缓存,分页,调度,内存管理,安全等(OS)。 评估模型:确定型模型,分析性模型,仿真或特殊方法(OS)。 如何收集评估数据(分析和跟踪机制)(OS)。 2.4知识要点分配中的注意事项 在上述知识要点分配方案中,有几点值得注意。 (1)分配方案受到了课程先后次序的影响。例如,存储管理内容(AR/4,SF/7-b,SF/7-e,SF/8-b)均交由CP讲授,而OS和AR仅分别侧重于软件算法和性能评估,这是因为CP被安排在两门课之前。类似的情况还有状态机SF/3一e交由DL讲授。 (2)系统能力的培养应关注学生的能力指标(LearningOutes)。当相关知识点(如SF/l-a)被多门课程(如CP,DL,AR)分别涉及时,排在第一位的课程(CP)担负着主要职责,保证能力指标的达成,而后面各课程则根据其自我要求涉猎或补充必要的内容。 (3)各门课程在其课程大纲中,务必合理安排跨越多个知识域中的相关知识要点(如AR/3_h、AR/5-a,b、OS/2-f、OS/3-d)和对应的能力指标,负责它们在不同程度和不同场合的衔接。 (4)一些要点(如SF/lO-c、SF/lO-e,f、AR/4-i)我们尚未有深刻的理解或成熟的经验,因此留作讨论,记以符号?。 3结语 复旦大学计算机系统能力课程群建设正在逐步推进:有必要调整各门课程的知识点分布,采取系统科学的方法,使学生奠定系统理论基础,不仅能建立真实系统的模型,预测系统行为,而且通过强化系统实践,培养学生有效地

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论