图书前言

前言

计算机操作系统是当今最复杂的系统软件之一,是所有复杂应用软件的基础。操作系统已经深度融入所有与信息处理相关的系统中,小到各种传感器、智能手机、掌上计算机,大到超级计算机、云计算平台,甚至整个互联网。

操作系统的种类多样,运行的硬件平台、应用目标和行为特征各不相同,对于计算机操作系统这门课程的教学而言,不可能一一穷尽所有这些种类的操作系统。这门课在回顾计算机和操作系统发展历史的基础上,重点讲解操作系统的基本概念、原理和方法。为了让教学内容易于落到实处,本书选择openEuler操作系统作为主要目标系统。每当碰到一个较为抽象的概念或原理时,我们总是以它作为案例进行分析。由于openEuler以Linux为内核,因此以它作为案例仍然具有一定的普适性和通用性。

作者曾于2017年出版教材《计算机操作系统》,并在西安科技大学计算机学院软件工程、信息与计算科学、网络工程等专业得到了试用。通过试用,作者认为有必要对书中的知识体系进一步落实,以某个主流系统为例开展教学活动。恰逢得到了华为技术有限公司产学协同育人项目的支持,作者萌生了以国产操作系统为案例,重新编写教材的意愿,这本《计算机操作系统教程——基于华为openEuler操作系统》强调了概念和原理的具体化。通过分析openEuler内核源码,读者能够明确抽象概念的实现方式和原理的工作过程;通过运用操作系统自带的分析工具,读者能够探索操作系统内部复杂的工作过程;通过编写并调试通过若干程序案例,读者能够了解操作系统为用户提供的编程接口。

在编写本书时,作者参考了多部国内外经典教材,并根据教学活动中学生的反馈意见进行了内容的合理选材和组织。本书具有以下主要特色: 第一,注重基本概念、方法和原理的讲解,力求做到概念准确、原理透彻,能够满足教学及工程开发的基本要求;第二,加强操作系统不同知识模块间的联系,使学生对操作系统形成系统化认识;第三,以openEuler系统为案例,将抽象的概念和原理具体化,使之变得更容易理解和操作;第四,增加了硬件基础知识的介绍,有利于形成软硬件一体化的思维方式,同时便于不具备计算机硬件基础的学生学习。〖1〗〖2〗计算机操作系统教程——基于华为openEuler操作系统前言〖2〗〖2〗全书共分7章。第1章为计算机操作系统概论,介绍了操作系统的基本功能,总结了操作系统的结构,回顾了操作系统的发展历史,并展示了操作系统的全貌;第2章为操作系统的硬件基础,从宏观角度介绍了计算机的基本模块、指令集、指令循环和处理器模式,为后续操作系统的学习建立了硬件基础;第3章是进程管理,介绍了进程的概念、结构和状态迁移模型,进程的控制和调度策略,以及线程的概念;第4章是进程的并发和死锁,主要介绍了实现并发控制的基本机制,分析了典型并发设计问题的解决方案,深入讨论了死锁及处理死锁的各种策略;第5章是内存管理,介绍了虚拟内存的概念,讲解了分页式、分段式内存管理方法及采取的管理策略;第6章介绍了文件管理,包括文件的属性、结构、存储空间管理、文件目录、文件保护及文件的共享等;第7章是输出/输出系统,介绍了I/O硬件结构和组织、软件组织,缓冲处理技术,磁盘驱动调度和I/O进程控制等。

本书适合作为高等学校计算机相关专业本科教材。各个学校可以根据教学时数安排,对本书内容进行选裁。

限于作者水平,错误与不妥之处在所难免,恳请读者批评指正。

本书出版得到了华为技术有限公司产学协同育人项目的支持,以及清华大学出版社的大力支持,在此表示衷心的感谢。

本书的PPT课件、源码、教学大纲可扫描下方二维码下载。本书配有实验指导书,含6个实验,教师读者可与本书责任编辑联系(xueyang@tup.tsinghua.edu.cn)获取。

教学课件

源码

教学大纲

刘晓建2023年2月