本书着重讲述操作系统的原理和概念,并且以此来指导操作系统的设计和实现。 \r\n 全书共分8章。第1章概论,介绍操作系统的定义、发展、现状和它在计算机系统中的重要作用。第2章介绍操作系统用户接口,Linux的安装与使用。第3—7章主要讨论操作系统的基本原理和概念,包括进程管理、并发程序设计、存储管理、设备管理、文件管理以及磁盘管理等内容。在阐述基本原理和概念的基础上,为了使读者对操作系统有一个整体概念,将所学知识能融会贯通,每章都从问题的提出开始,进入到对具体操作系统原理的介绍,然后利用Linux相关部分有针对性地进行实例介绍。第8章介绍操作系统的较深入的内容。各章均附有一定数量的习题,并为教师免费提供习题答案和教学用讲稿PPT文件。 \r\n 本书可作为普通高等院校计算机专业的教材或教学参考书,也可作为计算机软件人员的参考书。
第1章 概论\r\n 1.1 计算机与操作系统\r\n 1.2 操作系统的基本概念\r\n 1.3 操作系统的整体框架\r\n 1.4 从不同角度刻画操作系统\r\n 1.5 安全操作系统\r\n 1.6 小结\r\n 1.7 习题\r\n第2章 操作系统接口\r\n 2.1 概述\r\n 2.2 Linux的安装\r\n 2.3 Linux的使用\r\n 2.4 系统管理\r\n 2.5 小结\r\n 2.6 习题\r\n第3章 进程机制与并发程序设计\r\n 3.1 概述\r\n 3.2 进程的基本概念\r\n 3.3 进程的状态和进程控制块\r\n 3.4 进程控制\r\n 3.5 线程的基本概念\r\n 3.6 进程调度\r\n 3.7 进程通信\r\n 3.8 死锁\r\n 3.9 Linux中的进程\r\n 3.10 并发程序设计实例\r\n 3.11 小结\r\n 3.12 习题\r\n第4章 存储管理\r\n 4.1 概述\r\n 4.2 分区式存储管理\r\n 4.3 分页式存储管理\r\n 4.4 分段存储管理\r\n 4.5 段页式存储管理\r\n 4.6 用户编程中的内存管理实例分析\r\n 4.7 Linux内存管理概述\r\n 4.8 小结\r\n 4.9 习题\r\n第5章 输入/输出系统\r\n 5.1 概述\r\n 5.2 输入/输出硬件\r\n 5.3 输入/输出软件\r\n 5.4 Linux输入/输出系统概述\r\n 5.5 小结\r\n 5.6 习题\r\n第6章 文件系统\r\n 6.1 概述\r\n 6.2 文件\r\n 6.3 目录\r\n 6.4 文件系统\r\n 6.5 文件系统的实现\r\n 6.6 文件系统的安全性和保护机制\r\n 6.7 Linux文件系统\r\n 6.8 小结\r\n 6.9 习题\r\n第7章 磁盘存储管理\r\n 7.1 概述\r\n 7.2 磁盘结构\r\n 7.3 磁盘调度\r\n 7.4 磁盘格式化\r\n 7.5 廉价冗余磁盘阵列\r\n 7.6 高速缓存管理\r\n 7.7 存储可靠性的实现\r\n 7.8 小结\r\n 7.9 习题\r\n第8章 多机系统与实时系统\r\n 8.1 多处理机系统\r\n 8.2 网络与网络操作系统\r\n 8.3 分布式操作系统\r\n 8.4 集群系统(Cluster)\r\n 8.5 实时操作系统\r\n 8.6 小结\r\n 8.7 习题\r\n附录A 实验\r\n附录B Linux常用命令\r\n附录C 实时系统、集群、网络和Agent工具简介\r\n参考文献\r\n
时光更迭,历史嬗递。中国经济以令世人惊叹的持续高速发展进入了一个新的世纪,一个新的千年。世纪之初,以微电子、计算机、软件、通信技术为主导的信息技术革命给我们生存的社会所带来的变化令人目不暇接。软件是优化我国产业结构、加速传统产业改造和用信息化带动工业化的基础产业,是体现国家竞争力的战略性产业,是从事知识的提炼、总结、深化和应用的高智型产业;软件关系到国家的安全,是保证我国政治独立、文化不受侵蚀的重要因素;软件也是促进其他学科发展和提升的基础学科;软件作为20世纪人类文明进步的最伟大成果之一,代表了先进文化的前进方向。美国政府早在1992年“国家关键技术”一文中提出“美国在软件开发和应用上所处的传统领先地位是信息技术及其他重要领域竞争能力的一个关键因素”,“一个成熟的软件制造工业的发展是满足商业与国防对复杂程序日益增长的要求所必需的”,“在很多国家关键技术中,软件是关键的、起推动作用(或阻碍作用)的因素”。在1999年1月美国总统信息技术顾问委员会的报告“21世纪的信息技术”中指出“从台式计算机、电话系统到股市,我们的经济与社会越来越依赖于软件”,“软件研究为基础研究方面最优先发展的领域”。而软件人才的缺乏和激烈竞争是当前国际的共性问题,各国、各企业都对培养、引进软件人才采取了特殊政策与措施。
为了满足社会对软件人才的需要,为了让更多的人可以更快地学到实用的软件理论、技术与方法。我们编著了《普通高等院校计算机专业(本科)实用教程系列丛书(第二版)》。本套丛书面向普通高等院校学生,以培养面向21世纪计算机专业应用人才(以软件工程师为主)为目标,以简明实用、便于自学、反映计算机技术最新发展和应用为特色。具体归纳为以下几点:
1.讲透基本理论、基本原理、方法和技术,在写法上力求叙述详细,算法具体,通俗易懂,便于自学。
2.理论结合实际。计算机是一门实践性很强的科学,丛书贯彻从实践中来到实践中去的原则,许多技术理论结合实例讲,以便于学习的理解。
3.本丛书形成完整的体系,每本教材既有相对独立性,又有相互衔接和呼应,为总的培养目标服务。
4.每本教材都配以习题和实验,在各教学阶段安排课程设计或大作业,培养学生的实战能力与创新精神。
新世纪曙光激人向上,催人奋进。江总书记在十五届五中全会上的讲话:“大力推进国民经济和社会信息化,是覆盖现代化建设全局的战略举措。以信息化带动工业化,发挥优势,实现社会生产力的跨越式发展”,指明了我国信息界前进的方向。21世纪日趋开放的国策与更加迅速发展的科技会托起祖国更加辉煌灿烂的明天。
在计算机网络迅速发展的今天,计算机技术不断地更新和完善,无论是硬件还是软件的变革都会在计算机操作系统的设计技术与使用风格上得到体现。因此,计算机操作系统的教材应该体现出这些变化,才能使教师教得方便,学生学有所得。
操作系统是计算机系统配置的所有软件中使用最广泛的基础软件,它在整个计算机系统软件中处于中心地位,也是计算机专业课教学中最重要的环节之一。从操作系统自身角度讲,它不仅很好地体现了计算机日益发展中的软件研究成果,而且也较好地体现了计算机的硬件技术发展及计算机系统结构的发展成果。从计算机用户角度讲,学习使用计算机实际上就是熟悉使用操作系统所提供的用户界面环境。每台计算机都必须安装操作系统,有的甚至不止安装一套。普通用户只需了解操作系统的外部功能,而无须了解其内部实现细节,因此,操作系统如何实现的这些功能对用户来说无关紧要。此时,操作系统被看做是一只只“黑盒子”,因为用户读不到,或读不懂操作系统的源代码,仅需要了解它的外部接口。但是,对于计算机专业的学生,掌握计算机不仅要求会操作它,还要利用计算机去开发各种软件,解决复杂的应用问题。学习操作系统的设计与实现原理,是计算机软件专业的学生全面地了解和掌握系统软件、一般软件设计方法和技术的必不可少的综合课程,也是了解计算机硬件和软件如何衔接的必经之路。然而,操作系统毕竟是所有软件中最复杂的,编制这样的系统涉及的知识面很广,程序员既要有扎实的软件基础知识,又要非常了解系统的硬件接口,难度相当大;而且目前在常用的计算机上都已经有了主流操作系统,所以大多数软件工程师参与编制实际操作系统的机会和经历并不多。为此学习该课程会有两大难处,即原理的抽象性和实验易与实际系统的开发脱节。本书针对这两大难点,从应用出发,适度地介绍操作系统的基本原理和概念,并提供了相应的实践环节。
作为计算机专业大学本科生教材,本书根据国内使用计算机的情况,在内容上力图具有一定的先进性和较大的适应性。遵循这一原则,在编写中着重讲述原理、概念和实例。
本书的特点之一是简明实用,以操作系统整体构架为指南,采用自顶向下方式的操作系统教学法,使学生尽早熟悉操作系统整体构架并建立起整体概念。这样能够使学生首先在概念上了解本课程的需求是什么,应该提供什么样的技术支持,从而带动学习原理的积极性。
本书的特点之二是提供操作系统实验用的全部C语言源程序,并以Linux为例,教练操作系统实验。
Linux的出现既是计算机网络发展的产物,也是用户对编写自己的操作系统愿望的体现。本书采用Linux作为实例,主要因为Linux是自由软件,运行在PC机上,硬件条件要求低,且无偿地提供全部的C语言源程序。
全书共分8章。第1章阐述什么是操作系统,操作系统的发展和形成过程,以及操作系统的现状和它在计算机系统中的重要作用。第2章介绍操作系统用户接口,主要介绍Linux的系统调用和shell命令解释程序的开发,并且介绍Linux的安装与使用。第3—7章主要讨论操作系统的基本原理和概念,包括进程管理、并发程序设计、存储管理、设备管理、文件管理以及磁盘管理等内容。在阐述基本原理和概念的基础上,为了使读者对操作系统建立一个整体概念,对所学知识能融会贯通,每章都有问题的提出以及对Linux相应部分的介绍。第8章介绍操作系统的较深入的内容,包括多处理机系统、计算机网络、分布式系统、嵌入式系统以及计算机机群计算。本书各章均附有一定数量的习题,帮助读者进一步理解各章内容,并为教师免费提供习题答案和教学用讲稿PPT文件。联系地址为:ljt@tup.tsinghua.edu.cn;电话号码为:(010)62795954。
本课程的参考教学时数为56学时,实验为30学时,在阅读本书之前,读者应具有程序设计、计算机组织和系统结构方面的知识。如果读者已熟悉Linux的使用,则可跳过第2章Linux命令部分。
本书的第1章、第2章、第3章、第4章由任爱华执笔,林仕鼎参与了第3章的编写。第5章由焦晖执笔,第6章由张茂林执笔,第7章由王雷执笔、第8章由杜悦冬执笔,附录B由王博编写,李鹏、石宏义、孙云峰参加了附录C的撰写工作,全书由任爱华进行统一修改、审校并统稿。限于编者水平,错误和不妥之处在所难免,恳请读者批评指正。