基本信息

编辑推荐
这是一本实用、全面、系统的嵌入式Linux入门书籍。
围绕实时应用逐章分模块,从基本概念、原理、配置到实战案例全面解构嵌入式Linux。
以ARM单板机为平台,涵盖Linux基础、交叉编译、Linux组件和工具三大部分内容。
本书不拘泥于形式,立足实战,为读者提供详细的操作指南。
内容简介
计算机书籍
《操作系统课程设计》的实践环境基于Windows和Linux操作系统。Windows操作系统已经很普及,但是对于Linux操作系统并不是每个用户都有了解,本书对比介绍了Windows和Linux操作系统的异同,并对基本理论在两种操作系统中的具体实现进行了剖析。
此外,本书对与实践内容相关的环境搭建、程序调试等基本技能也进行了介绍,以弥补读者在程序设计学习初期在调试方法、文件及接口等内容方面的欠缺。本书涉及的所有实验均已通过调试,附录中提供了实验报告样例,并含有“知识掌握程度自我评价”,有助于读者自我评价对相关知识的掌握情况。
《操作系统课程设计》的使用对象为普通高等院校计算机及其相关专业学生,以及具有一些操作系统基本知识并想要进一步了解程序设计和操作系统实验内容的计算机相关工作人员及爱好者。
目录
前言
教学建议
第一部分 基 础 知 识
第1章 虚拟机及其使用概述2
1.1 虚拟机软件VMware概述2
1.2 搭建实践环境2
1.3 在Windows下安装VMware2
1.4 VMware下Ubuntu的安装配置6
1.5 虚拟机下的Linux与宿主机Windows的文件访问14
1.5.1 虚拟机下Ubuntu的网络配置及FTP使用14
1.5.2 Ubuntu虚拟机下开启Telnet服务15
1.5.3 Ubuntu虚拟机下开启Samba服务16
本章小结17
第2章 Linux与Windows的分析与比较18
2.1 Linux系统特性18
2.1.1 Linux内核18
2.1.2 Linux系统软硬件资源的组织19
2.1.3 Linux文件系统19
2.2 Windows下的cmd与Linux下的shell20
前言
本书的编写目的是在操作系统理论学习的基础上,通过实践加深学生对操作系统理论,尤其是对操作系统核心内容及经典算法的理解。编者在多年操作系统实验课教学实践的基础上,充分考虑教学对象的差异性和教学计划的多样性,从实验内容的深度和广度上有层次地合理安排教学内容,旨在为教授操作系统课程教师提供系统化的实践教学参考,为学习该课程的学生提供一个锻炼自我、自主学习的平台。
本书特色
翔实的基础理论。回顾操作系统中重点知识与理论,并对实践项目中需要用到的开发环境、编程语言、调试技术等进行了介绍。
经典的实验范例。精心挑选最能代表操作系统核心功能及实现的8个题目,并提供系统的实验思路、规范的实验模板。同时,以操作系统Nachos为例,深入浅出地讲解可运行操作系统的实现方式。
系统的实践教学思路。基于普通高校学生的操作系统课程学习需求,基于常见的Windows系统和Linux操作系统,通过一系列的实践题目,使学生从熟悉操作系统、动手安装/设置操作系统到熟悉操作系统的核心功能,直至能独立分析一个开源操作系统,最终透彻理解操作系统的功能和实现机制。
本书结构
本书主要包括部分:准备知识、核心实验、综合实践。各部分之间难度系数逐渐加大,以满足不同层次学生的需求。本书内容框架如下:
第一部分,准备知识。这部分中,主要介绍虚拟机的安装、Linux与Windows的分析与比较、C语言相关知识、文件I/O、系统进程编程基础、C程序调试技术简介等内容,涵盖理论课程中一般不会介绍,但将在后续实践中用到的重要知识及关键技术,让学生准备并熟悉实验所需的编程环境、编程方法和工具等,为后面的实验工作做好铺垫。
第二部分,核心实验。这个部分充分结合计算机操作系统中涉及的核心理论及算法,选择了8个核心实验:Linux编程基础、作业调度、系统调用及进程控制、同步与互斥、银行家算法、内存管理、磁盘调度和文件系统。实验以程序填空、代码解释、错误源码修改、程序编写等形式对重要知识点进行了加深和巩固,并针对实验中的重点与难点做了引导与提示,激励学生在实践中学习、在思考中进步。
第三部分,Nachos源码分析。在前两部分学习的基础上,这一部分将通过分析操作系统Nachos的源代码,再次巩固系统调用的实现、同步与互斥机制的实现、线程机制,以及文件系统五个方面的内容。通过对这个真实系统的源码分析,可以使读者更加清楚地了解理论知识是如何在实际操作系统中使用的。
此外,本书还以附录形式提供了基础实验部分的实验报告,帮助读者在操作系统实践课程的学习中获得切实的指导与启迪。
读者对象
本书是为高等院校师生和计算机相关专业人员编写的。作为教材,本书适用于计算机及相关专业操作系统实践课程的教学。此外,本书还是一本适合操作系统爱好者参考的自学用书。
课程提供的参考资料
本书为授课教师和读者提供以下资源:
PPT课件:包括核心实验部分课件,可用于课堂教学。
源代码:包括常规部分教学实验源码和修改后的Nachos系统源码。
读者可以登录华章网站(http://www.hzbook.com)下载相关资料。
致谢
序言
本书作者朱敏教授从事操作系统教学多年,她根据自己的实践课教学经验编写了本书。有幸第一时间读到教材内容,感觉要点个赞。据我看来,这本教材有以下几点值得推荐。
1)这本操作系统课程设计教材涵盖了操作系统课程的重要知识点,并围绕操作系统的主要核心功能,循序渐进地设计了八个实验:作业调度、系统调用及进程控制、同步与互斥、死锁解决方案之银行家算法、内存管理、磁盘调度、文件系统。这些实验或模拟某个操作系统功能,或基于实际操作系统Linux/Windows进行编程以实现某些核心算法或解决典型问题。最后一个实验是在Linux系统下设计实现一个简单的小型文件系统,是一个相对完整的子系统,有一定的规模和难度。
2)针对每一个实验,作者搭建出很好的框架,从实验目的、实验准备、实验涉及的基本知识及工作原理、实验说明、实验内容、实验总结到实验报告及小组任务,最后还给出参考代码,流程清晰、任务明确,使学生很容易把精力集中在实验内容上。
3)为配合实验,本教材还简要梳理了相关基础理论,同时,对实验中需要用到的开发环境、编程语言、调试技术进行了介绍。这些内容的精心准备体现了编写者的细心周到,使学生可以很快上手。
4)本教材的另一大特色是加入了一个小型操作系统Nachos的源代码分析。Nachos是美国加州大学伯克利分校开发的一个教学操作系统框架,包括了运行在MIPS虚拟机上的Nachos内核和简单应用,该框架基于C++语言(亦有Java语言版本)开发,可以更加清晰地展现操作系统的各个接口和整体结构,对学生理解操作系统有很大帮助。本教材对Nachos中的系统调用、同步与互斥、线程调度、文件系统几部分都进行了剖析。
布鲁姆的教育目标层次模型中界定了知识学习的几个层次:知道、领会、应用、分析、综合和评价。对操作系统课程而言,只有动手实践才能达到综合的层次。因此,本教材是一个非常好的选择。对学生而言,完成8个实验、阅读剖析Nachos教学操作系统并不容易,但坚持下来,一定收获多多,一曰收获对操作系统的深入理解,从而以系统观的角度去考虑计算机系统的各种问题;二曰收获自信,全面提升了动手能力,可以在保研面试、工作面试时体现自己的实力。希望本书对所有学习操作系统知识的读者带来帮助。
陈向群
北京大学教授