计算机系统平台
上QQ阅读APP看书,第一时间看更新

前言


FOREWORD

随着信息技术的飞速发展,计算机应用技术已经向各行各业渗透,并衍生了不少与信息技术相关的交叉学科,计算机知识与技能已经成为当代具有创新能力的复合型人才必须具备的基本素质之一。如何做好计算机专业的基础教学工作和计算机专业人才培养工作,已经成为教育部门关注的热点问题之一。

针对近年来社会对信息化技术应用型人才需求的不断提高,结合西部经济建设发展的需求与特点,以及国家西部大开发战略,青海大学在教育部对口支援政策的指导下,在教育部、青海省人民政府的支持和清华大学的帮助下,于2007年5月正式成立了计算机技术与应用系,并率先在青海省实现本科第一批次录取零的突破,成为省内高校第一个一本招生的专业。青海大学计算机系培养计划中的课程体系由清华大学专家精心设计,课程内容紧扣教育部最新制订的“信息技术与应用”培养方向,满足应用型人才的培养需求。

青海大学计算机技术与应用系(以下简称“本系”)根据青海大学的实际情况,将专业方向设定成2006年计算机专业教指委提出的“信息技术方向”,目标是培养应用型计算机人才。这一方向是计算机科学与技术教学指导委员会积极倡导和推动的新专业方向,教育部也拟就这一方向展开专业试点工作。针对此现状,本系希望能够开办一系列面向培养应用性人才的特色课程,开辟一条具有挑战性的课程探索与建设之路。

为了深入对计算机科学与技术专业信息技术方向的教学研究,促进这个新的专业方向的教学实践,需要开设一系列崭新的课程,以适应社会对人才知识结构的需求。“计算机系统平台”课程就是该方向建设规范中所提出的一门全新课程,目标是将汇编语言程序设计、计算机组成原理、体系结构、操作系统等传统课程中的内容进行有机整合,将计算机系统作为一个整体进行分析和学习并讲授给学生,同时注重学生动手实践的环节,通过理论结合实际来巩固对计算机系统平台的认识。这样的一门介绍计算机原理的综合性课程无论从教材方面还是课堂教学与实验环节都缺乏先例。本系开设这门课程,希望能够不断地探索和实践将此课程建设成特色课程,对教学内容和教学方法进行深入研究,最终目标是能把该特色课程建设成为西部地区乃至全国的示范性精品课程。

以“计算机系统平台”命名的专业课程,目前在国内高校中少有先例,也可以说这正是信息技术方向所追求教学内容的一个特色。根据该方向的定位,本课程不讨论平台构建本身,而是从不同角度或层面看“计算机系统平台”的含义,了解并掌握它们所提供的支撑功能,扼要地介绍一些典型功能实现的基本原理。本课程的主要目的是使学生掌握计算机系统结构的基本原理,理解计算机操作系统的结构和工作原理,使学生熟悉计算机的硬件系统和软件系统,建立完整的计算机系统的概念,为学生应用计算机系统解决实际问题奠定良好的基础。

课程的主要任务是介绍计算机组成原理和计算机操作系统,包括计算机系统硬件与操作系统平台,内容涉及计算机性能分析、系统体系结构、CPU、高速缓存、存储器、外部设备,以及汇编语言程序设计、BIOS和操作系统等。在课程的教学过程中,逐步培养学生独立进行实验和应用的能力。

2011年,本课程获批青海大学三类课程建设项目,并于2013年11月完成结题工作,课程建设已有初步成效。2013年底申报青海大学一类课程建设项目并再次获批,使得本门课程的建设得到了有力的后续支持。为形成一本更加适合于本课程的教材,课程组成员先从讲义撰写做起,力图梳理计算机组成原理、软硬件架构、操作系统、开发平台等多方面的知识,形成完整的文稿。

本书共12章。第1章对计算机系统进行了概述,旨在介绍计算机的发展历史和未来趋势,并对计算机组成结构及性能指标进行大致了解,形成基本概念。第2章介绍指令系统和汇编语言,从二进制转换和运算基础开始,对指令系统和指令格式进行介绍和举例,并给出一些汇编程序设计的示例。第3章介绍计算机中信息表示的方法,包括常见的数字、字符如何进行编码。第4章详细讲解了计算机五大功能部件的基本工作原理,包括总线、存储器、CPU、输入/输出系统等,并进一步通过延伸展望计算机系统结构的发展。第5章从操作平台的角度介绍计算机操作系统的目标、作用、功能和发展历程,探讨操作系统的基本特性,并介绍一些常见的操作系统及其特点。第6章对进程的管理机制进行阐述,包括进程的基本定义、状态及转换、进程控制块以及常见的进程调度算法等。第7章进一步对进程同步的经典问题展开讨论,介绍了进程和线程的联系与区别,并对死锁问题的产生和对策进行了讲解。第8章从存储管理的角度入手对内存管理的几种方法由浅入深地进行了介绍。第9章继续讲述了磁盘层面上的信息存储管理,解析文件的构成和文件系统的层次,并介绍了一些基本的磁盘调度算法。第10章对操作系统的外设管理功能进行了介绍,从I/O控制方式入手,重点讨论中断技术的原理,并讲解了设备分配的特点和驱动程序的处理过程。第11章进入上层应用的平台部分,介绍了系统初始化的过程以及Shell编程的基本语法结构,使读者接触到与底层系统和上层开发衔接较为紧密的一种特殊脚本语言。第12章介绍了几种主流的程序设计语言和开发工具,从平台的角度完成最上层应用的阐述,旨在使读者了解完整平台架构中的各个环节。本书每章后都配有相应习题,供读者对本章内容进行回顾。

本书出版受青海大学2015年度教材建设基金项目资助,由王晓英、曹腾飞、孟永伟、黄建强任主编,多名教师参与编写。其中,第1章和第4章内容主要由曹腾飞编写,第2章和第3章主要由韩亮编写,第5章主要由张玉安编写,第6章和第7章主要由刘晓静编写,第8章主要由王晓英编写,第9章和第12章主要由黄建强编写,第10章和第11章主要由孟永伟编写。此外,王璐、贾金芳、易争鸣、吴利等人均参与了本书相关内容的设计、实验的实施以及通读审核等工作。本书的编写也得到了学校和各级部门的支持,在此一并表示感谢。

由于作者水平有限,时间仓促,书稿中难免有不妥和纰漏之处,恳请读者批评指正。

编者

2016年6月