高级操作系统实验指导 9787121309212

配送至
$ $ USD 美元

编辑推荐

本书强调对于操作系统的动手实践能力,全文以实验为主线,在实验中验证原理,加强对操作系统原理与设计实现的理解;本书精选操作系统经典核心算法,提供了JAVA和C++两种语言在Linux和Windows平台的实现的源代码,通过一个原理,不同操作环境下实现,验证或解释原理算法;本书的代码通过严格的验证实现,先由选修操作系统课程的学生自主实现,在统一在实验平台上优化复现,严格控制代码的准确性。

媒体推荐

本书可作为高等院校计算机专业操作系统课程的实验教材,也可作为各类操作系统教学培训教材和自学参考书。

作者简介

刘宏哲,博士,副教授,北京联合大学信息学院软件工程系主任,北京市信息服务工程重点实验室副主任兼办公室主任,硕士研究生导师,软件工程学位分委会副主任,中国计算机用户学会网络应用分会副秘书长。主要研究方向为图像处理、社群媒体语义计算、数字博物馆,具有较强的科研能力和较扎实的理论基础,是北京联合大学李德毅院士智能车团队骨干成员。

目录

目录
第1章概述 1
1.1操作系统环境实验 1
实验一Linux使用环境 2
实验二Linux下C编程环境 4
实验三Windows系统管理命令 7
实验四Windows文件操作命令 10
1.2详解系统调用实现机制 12
实验一详解Linux系统添加系统调用方法 16
实验二向Linux内核增加一个系统调用 21
实验三Ubuntu 14.04 TLS内核升级和添加系统调用 24
第2章进程管理 28
2.1进程 28
2.1.1进程创建与终止 29
实验一Linux下进程的控制 29
实验二Windows下进程的管理 33
2.1.2进程调度 37
实验一设计PCB表结构 38
实验二进程调度算法 41
2.1.3进程间通信 46
实验一消息传递 47
实验二共享内存(Windows程序) 49
实验三共享内存(Linux程序) 52
实验四管道 64
实验五Socket通信原理 71
2.2线程 76
2.2.1线程创建与终止 77
实验一Pthread API线程 77
实验二Win32线程 79
实验三Java线程 80
2.2.2单线程与多线程比较 81
实验一 “累加”计算效率 82
实验二检验素数效率 85
实验三文件复制 89
实验四矩阵乘法的实现 91
实验五控制台绘画 95
2.2.3线程池 101
实验一Java线程池使用 101
实验二多线程模拟购票系统 105
2.3线程同步 108
2.3.1信号量 109
实验一PV实现信号量机制 109
实验二兔子吃草问题 111
2.3.2互斥量 115
实验一双线程打印 115
实验二银行取款 117
2.3.3生产者—消费者问题 118
实验一生产者—消费者(C++实现) 121
实验二生产者—消费者(Java实现) 124
实验三应用管程思想解决生产者和消费者问题 126
2.3.4读者-写者问题 131
实验一读者-写者(C++实现) 132
实验二读者-写者(Java实现) 139
2.3.5哲学家就餐问题 151
实验一哲学家就餐(C++实现) 151
实验二哲学家就餐(Java实现) 155
2.3.6理发师问题 158
实验一理发师问题(C++实现) 159
实验二理发师问题(Java实现) 163
2.4死锁 169
实验一A-B竞争资源 170
实验二银行家算法程序 172
实验三人脸识别中的死锁问题 181
第3章内存管理 190
3.1内存分配 190
实验—内存分配与回收 190
3.2页面置换 197
实验一页面置换算法模拟(C++实现) 198
实验二页面置换算法模拟(Java实现) 202
实验三页式地址重定位模拟 204
第4章设备管理 210
实验一设备管理 210
实验二磁盘调度算法 214
实验三Spooling假脱机技术 223
第5章文件管理与系统安全 232
实验一文件管理 232
第6章拓展实验 236
实验一GPU并行编程 236
实验二智能车虚拟交换模块C++实现方案 244
附录ALinux命令速查及疑难解答 251
附录B文件编辑器vi命令 260
附录CWindows控制台命令 263
参考文献 264

序言

前言
计算机操作系统(Operating System,OS)是计算机中最重要的系统软件,是最活跃的学科之一,也是计算机相关专业的核心课程。通过本课程的学习,使学生掌握操作系统的基本概念、技术、原理,基本具备从不同层次分析与使用操作系统功能的能力,了解计算机操作系统方面的新技术、新理论与新发展。
本书是操作系统课程的实验教材,旨在帮助学生加强对操作系统原理与设计的理解,以分析、设计、改进和实现操作系统的运行机理和各种算法及操作系统的核心功能。全书共6章,内容包括操作系统概述、进程管理、内存管理、设备管理、文件管理与系统安全、拓展实验等;分别介绍Linux和Windows操作系统的实验环境、进程和线程创建、调度算法、同步与通信、死锁处理、内存资源分配与回收、页面置换算法、GPU并行编程以及在智能驾驶中的应用等;附录给出了Linux、vi和DOS命令,以便在实践过程中作为工具速查。在某些经典算法上提供了多种语言、不同平台的实现代码。
本书强调对操作系统的动手实践能力,全文以实验为主线,在实验中验证原理,加强对操作系统原理与设计的理解;本书精选操作系统经典核心算法,提供了Java和C++两种语言在Linux和Windows平台实现的源代码,一个原理在不同操作环境下实现、验证或解释原理算法;本书的代码通过严格的验证实现,先由学生自主实现,再统一在实验平台上优化复现,严格控制代码的准确性。本书实验的代码等资源,请在华信教育资源网的本书页面下载。
本书根据《操作系统概念课程教学大纲》的要求编写,目的是让学生能够进一步了解操作系统的基本概念、原理,通过综合性、验证性和设计性等实验,熟练掌握操作系统的运行机理和各种算法思想,了解操作系统的核心功能。同时,还希望通过实验,进一步提高学生的动手能力和综合运用所学知识的能力,本书可作为高等院校计算机专业操作系统课程的实验教材,也可作为各类操作系统教学的培训教材和自学资料。
北京市信息服务工程重点实验室
ISBN9787121309212
出版社电子工业出版社
作者刘宏哲
尺寸16